@material/web 1.0.0-pre.8 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -75
- package/all.d.ts +95 -0
- package/all.js +104 -0
- package/all.js.map +1 -0
- package/button/_elevated-button.scss +1 -1
- package/button/_filled-button.scss +1 -1
- package/button/_filled-tonal-button.scss +6 -0
- package/button/_outlined-button.scss +1 -1
- package/button/_text-button.scss +1 -1
- package/button/elevated-button.d.ts +1 -1
- package/button/elevated-button.js +5 -6
- package/button/elevated-button.js.map +1 -1
- package/button/filled-button.d.ts +1 -1
- package/button/filled-button.js +5 -6
- package/button/filled-button.js.map +1 -1
- package/button/filled-tonal-button.d.ts +35 -0
- package/button/filled-tonal-button.js +39 -0
- package/button/filled-tonal-button.js.map +1 -0
- package/button/harness.d.ts +1 -1
- package/button/harness.js +1 -1
- package/button/harness.js.map +1 -1
- package/button/internal/_elevated-button.scss +62 -0
- package/button/internal/_elevation.scss +69 -0
- package/button/internal/_filled-button.scss +61 -0
- package/button/internal/_filled-tonal-button.scss +61 -0
- package/button/internal/_icon.scss +39 -0
- package/button/internal/_outlined-button.scss +110 -0
- package/button/internal/_shared.scss +169 -0
- package/button/internal/_text-button.scss +65 -0
- package/button/internal/_touch-target.scss +19 -0
- package/button/internal/button.d.ts +68 -0
- package/button/internal/button.js +159 -0
- package/button/internal/button.js.map +1 -0
- package/button/internal/elevated-button.d.ts +13 -0
- package/button/internal/elevated-button.js +17 -0
- package/button/internal/elevated-button.js.map +1 -0
- package/button/internal/elevated-styles.css.js +9 -0
- package/button/internal/elevated-styles.css.js.map +1 -0
- package/button/internal/filled-button.d.ts +13 -0
- package/button/internal/filled-button.js +17 -0
- package/button/internal/filled-button.js.map +1 -0
- package/button/internal/filled-styles.css.js +9 -0
- package/button/internal/filled-styles.css.js.map +1 -0
- package/button/internal/filled-tonal-button.d.ts +13 -0
- package/button/internal/filled-tonal-button.js +17 -0
- package/button/internal/filled-tonal-button.js.map +1 -0
- package/button/internal/filled-tonal-styles.css.js +9 -0
- package/button/internal/filled-tonal-styles.css.js.map +1 -0
- package/button/internal/filled-tonal-styles.scss +10 -0
- package/button/internal/outlined-button.d.ts +12 -0
- package/button/internal/outlined-button.js +16 -0
- package/button/internal/outlined-button.js.map +1 -0
- package/button/internal/outlined-styles.css.js +9 -0
- package/button/internal/outlined-styles.css.js.map +1 -0
- package/button/internal/shared-elevation-styles.css.js +9 -0
- package/button/internal/shared-elevation-styles.css.js.map +1 -0
- package/button/internal/shared-styles.css.js +9 -0
- package/button/internal/shared-styles.css.js.map +1 -0
- package/button/internal/text-button.d.ts +11 -0
- package/button/internal/text-button.js +12 -0
- package/button/internal/text-button.js.map +1 -0
- package/button/internal/text-styles.css.js +9 -0
- package/button/internal/text-styles.css.js.map +1 -0
- package/button/outlined-button.d.ts +1 -1
- package/button/outlined-button.js +4 -5
- package/button/outlined-button.js.map +1 -1
- package/button/text-button.d.ts +1 -1
- package/button/text-button.js +4 -5
- package/button/text-button.js.map +1 -1
- package/checkbox/_checkbox.scss +1 -1
- package/checkbox/checkbox.d.ts +1 -1
- package/checkbox/checkbox.js +4 -6
- package/checkbox/checkbox.js.map +1 -1
- package/checkbox/harness.d.ts +1 -1
- package/checkbox/harness.js.map +1 -1
- package/checkbox/internal/_checkbox.scss +416 -0
- package/checkbox/internal/checkbox-styles.css.js +9 -0
- package/checkbox/internal/checkbox-styles.css.js.map +1 -0
- package/checkbox/internal/checkbox.d.ts +138 -0
- package/checkbox/internal/checkbox.js +307 -0
- package/checkbox/internal/checkbox.js.map +1 -0
- package/chips/_assist-chip.scss +1 -1
- package/chips/_filter-chip.scss +1 -1
- package/chips/_input-chip.scss +6 -0
- package/chips/_suggestion-chip.scss +1 -1
- package/chips/assist-chip.d.ts +1 -1
- package/chips/assist-chip.js +5 -6
- package/chips/assist-chip.js.map +1 -1
- package/chips/chip-set.d.ts +20 -0
- package/chips/chip-set.js +22 -0
- package/chips/chip-set.js.map +1 -0
- package/chips/filter-chip.d.ts +1 -1
- package/chips/filter-chip.js +10 -7
- package/chips/filter-chip.js.map +1 -1
- package/chips/harness.d.ts +14 -0
- package/chips/harness.js +37 -0
- package/chips/harness.js.map +1 -0
- package/chips/input-chip.d.ts +20 -0
- package/chips/input-chip.js +25 -0
- package/chips/input-chip.js.map +1 -0
- package/chips/internal/_assist-chip.scss +67 -0
- package/chips/internal/_chip-set.scss +12 -0
- package/chips/internal/_elevated.scss +70 -0
- package/chips/internal/_filter-chip.scss +80 -0
- package/chips/internal/_input-chip.scss +107 -0
- package/chips/internal/_selectable.scss +78 -0
- package/chips/internal/_shared.scss +216 -0
- package/chips/internal/_suggestion-chip.scss +67 -0
- package/chips/internal/_trailing-icon.scss +80 -0
- package/chips/internal/assist-chip.d.ts +24 -0
- package/chips/internal/assist-chip.js +74 -0
- package/chips/internal/assist-chip.js.map +1 -0
- package/chips/internal/assist-styles.css.js +9 -0
- package/chips/internal/assist-styles.css.js.map +1 -0
- package/chips/internal/chip-set-styles.css.js +9 -0
- package/chips/internal/chip-set-styles.css.js.map +1 -0
- package/chips/internal/chip-set-styles.scss +10 -0
- package/chips/internal/chip-set.d.ts +19 -0
- package/chips/internal/chip-set.js +130 -0
- package/chips/internal/chip-set.js.map +1 -0
- package/chips/internal/chip.d.ts +56 -0
- package/chips/internal/chip.js +111 -0
- package/chips/internal/chip.js.map +1 -0
- package/chips/internal/elevated-styles.css.js +9 -0
- package/chips/internal/elevated-styles.css.js.map +1 -0
- package/chips/internal/filter-chip.d.ts +29 -0
- package/chips/internal/filter-chip.js +98 -0
- package/chips/internal/filter-chip.js.map +1 -0
- package/chips/internal/filter-styles.css.js +9 -0
- package/chips/internal/filter-styles.css.js.map +1 -0
- package/chips/internal/input-chip.d.ts +29 -0
- package/chips/internal/input-chip.js +110 -0
- package/chips/internal/input-chip.js.map +1 -0
- package/chips/internal/input-styles.css.js +9 -0
- package/chips/internal/input-styles.css.js.map +1 -0
- package/chips/internal/input-styles.scss +10 -0
- package/chips/internal/multi-action-chip.d.ts +23 -0
- package/chips/internal/multi-action-chip.js +95 -0
- package/chips/internal/multi-action-chip.js.map +1 -0
- package/chips/internal/selectable-styles.css.js +9 -0
- package/chips/internal/selectable-styles.css.js.map +1 -0
- package/chips/internal/selectable-styles.scss +10 -0
- package/chips/internal/shared-styles.css.js +9 -0
- package/chips/internal/shared-styles.css.js.map +1 -0
- package/chips/internal/suggestion-styles.css.js +9 -0
- package/chips/internal/suggestion-styles.css.js.map +1 -0
- package/chips/internal/trailing-icon-styles.css.js +9 -0
- package/chips/internal/trailing-icon-styles.css.js.map +1 -0
- package/chips/internal/trailing-icon-styles.scss +10 -0
- package/chips/internal/trailing-icons.d.ts +16 -0
- package/chips/internal/trailing-icons.js +38 -0
- package/chips/internal/trailing-icons.js.map +1 -0
- package/chips/suggestion-chip.d.ts +1 -1
- package/chips/suggestion-chip.js +5 -6
- package/chips/suggestion-chip.js.map +1 -1
- package/color/_color.scss +197 -0
- package/common.d.ts +57 -0
- package/common.js +66 -0
- package/common.js.map +1 -0
- package/dialog/_dialog.scss +1 -1
- package/dialog/dialog.d.ts +1 -1
- package/dialog/dialog.js +3 -4
- package/dialog/dialog.js.map +1 -1
- package/dialog/harness.d.ts +2 -7
- package/dialog/harness.js +2 -43
- package/dialog/harness.js.map +1 -1
- package/dialog/internal/_dialog.scss +278 -0
- package/dialog/internal/animations.d.ts +47 -0
- package/dialog/internal/animations.js +117 -0
- package/dialog/internal/animations.js.map +1 -0
- package/dialog/internal/dialog-styles.css.js +9 -0
- package/dialog/internal/dialog-styles.css.js.map +1 -0
- package/dialog/internal/dialog.d.ts +110 -0
- package/dialog/internal/dialog.js +371 -0
- package/dialog/internal/dialog.js.map +1 -0
- package/divider/_divider.scss +1 -1
- package/divider/divider.d.ts +1 -1
- package/divider/divider.js +3 -4
- package/divider/divider.js.map +1 -1
- package/divider/internal/_divider.scss +64 -0
- package/docs/theming/README.md +129 -0
- package/elevation/_elevation.scss +1 -1
- package/elevation/elevation.d.ts +1 -1
- package/elevation/elevation.js +3 -4
- package/elevation/elevation.js.map +1 -1
- package/elevation/internal/_elevation.scss +172 -0
- package/elevation/internal/elevation-styles.css.js +9 -0
- package/elevation/internal/elevation-styles.css.js.map +1 -0
- package/elevation/internal/elevation.d.ts +13 -0
- package/elevation/internal/elevation.js +21 -0
- package/elevation/internal/elevation.js.map +1 -0
- package/fab/_fab.scss +2 -2
- package/fab/branded-fab.d.ts +3 -3
- package/fab/branded-fab.js +5 -6
- package/fab/branded-fab.js.map +1 -1
- package/fab/fab.d.ts +3 -3
- package/fab/fab.js +5 -6
- package/fab/fab.js.map +1 -1
- package/fab/harness.d.ts +1 -1
- package/fab/harness.js.map +1 -1
- package/fab/internal/_fab.scss +261 -0
- package/fab/internal/_shared.scss +245 -0
- package/fab/internal/fab-branded-styles.css.js +9 -0
- package/fab/internal/fab-branded-styles.css.js.map +1 -0
- package/fab/internal/fab-styles.css.js +9 -0
- package/fab/internal/fab-styles.css.js.map +1 -0
- package/fab/internal/fab.d.ts +25 -0
- package/fab/internal/fab.js.map +1 -0
- package/fab/internal/forced-colors-styles.css.js +9 -0
- package/fab/internal/forced-colors-styles.css.js.map +1 -0
- package/fab/internal/forced-colors-styles.scss +29 -0
- package/fab/internal/shared-styles.css.js +9 -0
- package/fab/internal/shared-styles.css.js.map +1 -0
- package/fab/internal/shared.d.ts +42 -0
- package/fab/internal/shared.js +94 -0
- package/fab/internal/shared.js.map +1 -0
- package/field/_filled-field.scss +1 -1
- package/field/_outlined-field.scss +1 -1
- package/field/filled-field.d.ts +1 -1
- package/field/filled-field.js +4 -5
- package/field/filled-field.js.map +1 -1
- package/field/harness.d.ts +1 -1
- package/field/harness.js.map +1 -1
- package/field/internal/_content.scss +199 -0
- package/field/internal/_filled-field.scss +215 -0
- package/field/internal/_label.scss +94 -0
- package/field/internal/_outlined-field.scss +356 -0
- package/field/internal/_shared.scss +78 -0
- package/field/internal/_supporting-text.scss +50 -0
- package/field/internal/field.d.ts +65 -0
- package/field/internal/field.js +337 -0
- package/field/internal/field.js.map +1 -0
- package/field/internal/filled-styles.css.js +9 -0
- package/field/internal/filled-styles.css.js.map +1 -0
- package/field/internal/outlined-field.d.ts +12 -0
- package/field/internal/outlined-field.js.map +1 -0
- package/field/internal/outlined-styles.css.js +9 -0
- package/field/internal/outlined-styles.css.js.map +1 -0
- package/field/internal/shared-styles.css.js +9 -0
- package/field/internal/shared-styles.css.js.map +1 -0
- package/field/outlined-field.d.ts +1 -1
- package/field/outlined-field.js +4 -5
- package/field/outlined-field.js.map +1 -1
- package/focus/_focus-ring.scss +1 -1
- package/focus/internal/_focus-ring.scss +139 -0
- package/focus/internal/focus-ring-styles.css.js +9 -0
- package/focus/internal/focus-ring-styles.css.js.map +1 -0
- package/focus/internal/focus-ring.d.ts +37 -0
- package/focus/internal/focus-ring.js +100 -0
- package/focus/internal/focus-ring.js.map +1 -0
- package/focus/md-focus-ring.d.ts +20 -0
- package/focus/md-focus-ring.js +22 -0
- package/focus/md-focus-ring.js.map +1 -0
- package/icon/_icon.scss +1 -1
- package/icon/icon.d.ts +2 -1
- package/icon/icon.js +4 -4
- package/icon/icon.js.map +1 -1
- package/icon/internal/_icon.scss +66 -0
- package/icon/internal/icon-styles.css.js +9 -0
- package/icon/internal/icon-styles.css.js.map +1 -0
- package/icon/internal/icon.d.ts +13 -0
- package/icon/internal/icon.js +28 -0
- package/icon/internal/icon.js.map +1 -0
- package/iconbutton/_filled-icon-button.scss +1 -1
- package/iconbutton/_filled-tonal-icon-button.scss +1 -1
- package/iconbutton/_icon-button.scss +6 -0
- package/iconbutton/_outlined-icon-button.scss +1 -1
- package/iconbutton/filled-icon-button.d.ts +5 -5
- package/iconbutton/filled-icon-button.js +6 -7
- package/iconbutton/filled-icon-button.js.map +1 -1
- package/iconbutton/filled-tonal-icon-button.d.ts +5 -5
- package/iconbutton/filled-tonal-icon-button.js +6 -7
- package/iconbutton/filled-tonal-icon-button.js.map +1 -1
- package/iconbutton/harness.d.ts +1 -1
- package/iconbutton/harness.js.map +1 -1
- package/iconbutton/icon-button.d.ts +34 -0
- package/iconbutton/icon-button.js +38 -0
- package/iconbutton/icon-button.js.map +1 -0
- package/iconbutton/internal/_filled-icon-button.scss +171 -0
- package/iconbutton/internal/_filled-tonal-icon-button.scss +173 -0
- package/iconbutton/internal/_icon-button.scss +131 -0
- package/iconbutton/internal/_outlined-icon-button.scss +182 -0
- package/iconbutton/internal/_shared.scss +116 -0
- package/iconbutton/internal/filled-styles.css.js +9 -0
- package/iconbutton/internal/filled-styles.css.js.map +1 -0
- package/iconbutton/internal/filled-tonal-styles.css.js +9 -0
- package/iconbutton/internal/filled-tonal-styles.css.js.map +1 -0
- package/iconbutton/internal/icon-button.d.ts +81 -0
- package/iconbutton/internal/icon-button.js +207 -0
- package/iconbutton/internal/icon-button.js.map +1 -0
- package/iconbutton/internal/outlined-styles.css.js +9 -0
- package/iconbutton/internal/outlined-styles.css.js.map +1 -0
- package/iconbutton/internal/shared-styles.css.js +9 -0
- package/iconbutton/internal/shared-styles.css.js.map +1 -0
- package/iconbutton/internal/standard-styles.css.js +9 -0
- package/iconbutton/internal/standard-styles.css.js.map +1 -0
- package/iconbutton/internal/standard-styles.scss +10 -0
- package/iconbutton/outlined-icon-button.d.ts +4 -4
- package/iconbutton/outlined-icon-button.js +5 -6
- package/iconbutton/outlined-icon-button.js.map +1 -1
- package/internal/README.md +6 -0
- package/internal/aria/aria.d.ts +154 -0
- package/internal/aria/aria.js +239 -0
- package/internal/aria/aria.js.map +1 -0
- package/internal/aria/delegate.d.ts +37 -0
- package/internal/aria/delegate.js +53 -0
- package/internal/aria/delegate.js.map +1 -0
- package/internal/controller/attachable-controller.d.ts +114 -0
- package/internal/controller/attachable-controller.js +123 -0
- package/internal/controller/attachable-controller.js.map +1 -0
- package/internal/controller/element-internals.d.ts +35 -0
- package/internal/controller/element-internals.js +24 -0
- package/internal/controller/element-internals.js.map +1 -0
- package/internal/controller/form-submitter.d.ts +72 -0
- package/internal/controller/form-submitter.js +71 -0
- package/internal/controller/form-submitter.js.map +1 -0
- package/internal/motion/animation.d.ts +80 -0
- package/internal/motion/animation.js +101 -0
- package/internal/motion/animation.js.map +1 -0
- package/internal/sass/_var.scss +237 -0
- package/labs/README.md +6 -0
- package/labs/badge/_badge.scss +6 -0
- package/labs/badge/badge.d.ts +18 -0
- package/labs/badge/badge.js +20 -0
- package/labs/badge/badge.js.map +1 -0
- package/labs/badge/internal/_badge.scss +76 -0
- package/labs/badge/internal/badge-styles.css.js +9 -0
- package/labs/badge/internal/badge-styles.css.js.map +1 -0
- package/labs/item/internal/_item.scss +99 -0
- package/labs/item/internal/item-styles.css.js +9 -0
- package/labs/item/internal/item-styles.css.js.map +1 -0
- package/labs/item/internal/item-styles.scss +10 -0
- package/labs/item/internal/item.d.ts +22 -0
- package/labs/item/internal/item.js +78 -0
- package/labs/item/internal/item.js.map +1 -0
- package/labs/item/item.d.ts +70 -0
- package/labs/item/item.js +72 -0
- package/labs/item/item.js.map +1 -0
- package/labs/navigationbar/_navigation-bar.scss +6 -0
- package/labs/navigationbar/harness.d.ts +19 -0
- package/labs/navigationbar/harness.js +29 -0
- package/labs/navigationbar/harness.js.map +1 -0
- package/labs/navigationbar/internal/_navigation-bar.scss +70 -0
- package/labs/navigationbar/internal/constants.d.ts +17 -0
- package/labs/navigationbar/internal/constants.js.map +1 -0
- package/labs/navigationbar/internal/navigation-bar-styles.css.js +9 -0
- package/labs/navigationbar/internal/navigation-bar-styles.css.js.map +1 -0
- package/labs/navigationbar/internal/navigation-bar.d.ts +27 -0
- package/labs/navigationbar/internal/navigation-bar.js +138 -0
- package/labs/navigationbar/internal/navigation-bar.js.map +1 -0
- package/labs/navigationbar/internal/state.d.ts +23 -0
- package/labs/navigationbar/internal/state.js.map +1 -0
- package/labs/navigationbar/navigation-bar.d.ts +18 -0
- package/labs/navigationbar/navigation-bar.js +20 -0
- package/labs/navigationbar/navigation-bar.js.map +1 -0
- package/labs/navigationdrawer/_navigation-drawer-modal.scss +6 -0
- package/labs/navigationdrawer/_navigation-drawer.scss +6 -0
- package/labs/navigationdrawer/internal/_navigation-drawer-modal.scss +110 -0
- package/labs/navigationdrawer/internal/_navigation-drawer.scss +97 -0
- package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js +9 -0
- package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js.map +1 -0
- package/labs/navigationdrawer/internal/navigation-drawer-modal.js +81 -0
- package/labs/navigationdrawer/internal/navigation-drawer-modal.js.map +1 -0
- package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js +9 -0
- package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js.map +1 -0
- package/labs/navigationdrawer/internal/navigation-drawer.d.ts +17 -0
- package/labs/navigationdrawer/internal/navigation-drawer.js +64 -0
- package/labs/navigationdrawer/internal/navigation-drawer.js.map +1 -0
- package/labs/navigationdrawer/navigation-drawer-modal.d.ts +18 -0
- package/labs/navigationdrawer/navigation-drawer-modal.js +21 -0
- package/labs/navigationdrawer/navigation-drawer-modal.js.map +1 -0
- package/labs/navigationdrawer/navigation-drawer.d.ts +18 -0
- package/labs/navigationdrawer/navigation-drawer.js +21 -0
- package/labs/navigationdrawer/navigation-drawer.js.map +1 -0
- package/labs/navigationtab/_navigation-tab.scss +6 -0
- package/labs/navigationtab/harness.d.ts +13 -0
- package/labs/navigationtab/harness.js +16 -0
- package/labs/navigationtab/harness.js.map +1 -0
- package/labs/navigationtab/internal/_navigation-tab.scss +262 -0
- package/labs/navigationtab/internal/navigation-tab-styles.css.js +9 -0
- package/labs/navigationtab/internal/navigation-tab-styles.css.js.map +1 -0
- package/labs/navigationtab/internal/navigation-tab.d.ts +30 -0
- package/labs/navigationtab/internal/navigation-tab.js +117 -0
- package/labs/navigationtab/internal/navigation-tab.js.map +1 -0
- package/labs/navigationtab/navigation-tab.d.ts +18 -0
- package/labs/navigationtab/navigation-tab.js +20 -0
- package/labs/navigationtab/navigation-tab.js.map +1 -0
- package/labs/segmentedbutton/internal/_outlined-segmented-button.scss +42 -0
- package/labs/segmentedbutton/internal/_shared.scss +358 -0
- package/labs/segmentedbutton/internal/outlined-styles.css.js +9 -0
- package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -0
- package/labs/segmentedbutton/internal/segmented-button.d.ts +44 -0
- package/labs/segmentedbutton/internal/segmented-button.js +157 -0
- package/labs/segmentedbutton/internal/segmented-button.js.map +1 -0
- package/labs/segmentedbutton/internal/shared-styles.css.js +9 -0
- package/labs/segmentedbutton/internal/shared-styles.css.js.map +1 -0
- package/labs/segmentedbutton/outlined-segmented-button.d.ts +20 -0
- package/labs/segmentedbutton/outlined-segmented-button.js +23 -0
- package/labs/segmentedbutton/outlined-segmented-button.js.map +1 -0
- package/labs/segmentedbuttonset/internal/_outlined-segmented-button-set.scss +53 -0
- package/labs/segmentedbuttonset/internal/outlined-styles.css.js +9 -0
- package/labs/segmentedbuttonset/internal/outlined-styles.css.js.map +1 -0
- package/labs/segmentedbuttonset/internal/segmented-button-set.d.ts +26 -0
- package/labs/segmentedbuttonset/internal/segmented-button-set.js +108 -0
- package/labs/segmentedbuttonset/internal/segmented-button-set.js.map +1 -0
- package/labs/segmentedbuttonset/outlined-segmented-button-set.d.ts +20 -0
- package/labs/segmentedbuttonset/outlined-segmented-button-set.js +23 -0
- package/labs/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -0
- package/list/_list-item.scss +1 -1
- package/list/_list.scss +1 -1
- package/list/harness.d.ts +28 -4
- package/list/harness.js +27 -3
- package/list/harness.js.map +1 -1
- package/list/internal/_list.scss +46 -0
- package/list/internal/list-controller.d.ts +108 -0
- package/list/internal/list-controller.js +176 -0
- package/list/internal/list-controller.js.map +1 -0
- package/list/internal/list-navigation-helpers.d.ts +132 -0
- package/list/internal/list-navigation-helpers.js +218 -0
- package/list/internal/list-navigation-helpers.js.map +1 -0
- package/list/internal/list-styles.css.js +9 -0
- package/list/internal/list-styles.css.js.map +1 -0
- package/list/internal/list.d.ts +44 -0
- package/list/internal/list.js +73 -0
- package/list/internal/list.js.map +1 -0
- package/list/internal/listitem/_list-item.scss +146 -0
- package/list/internal/listitem/forced-colors-styles.css.js +9 -0
- package/list/internal/listitem/forced-colors-styles.css.js.map +1 -0
- package/list/internal/listitem/forced-colors-styles.scss +19 -0
- package/list/internal/listitem/harness.d.ts +27 -0
- package/list/internal/listitem/harness.js +25 -0
- package/list/internal/listitem/harness.js.map +1 -0
- package/list/internal/listitem/list-item-styles.css.js +9 -0
- package/list/internal/listitem/list-item-styles.css.js.map +1 -0
- package/list/internal/listitem/list-item.d.ts +77 -0
- package/list/internal/listitem/list-item.js +194 -0
- package/list/internal/listitem/list-item.js.map +1 -0
- package/list/list-item.d.ts +15 -8
- package/list/list-item.js +17 -12
- package/list/list-item.js.map +1 -1
- package/list/list.d.ts +1 -1
- package/list/list.js +3 -4
- package/list/list.js.map +1 -1
- package/menu/_menu-item.scss +1 -1
- package/menu/_menu.scss +1 -1
- package/menu/harness.d.ts +5 -5
- package/menu/harness.js +4 -6
- package/menu/harness.js.map +1 -1
- package/menu/internal/_menu.scss +124 -0
- package/menu/internal/controllers/menuItemController.d.ts +107 -0
- package/menu/internal/controllers/menuItemController.js +99 -0
- package/menu/internal/controllers/menuItemController.js.map +1 -0
- package/menu/internal/controllers/shared.d.ts +221 -0
- package/menu/internal/controllers/shared.js +137 -0
- package/menu/internal/controllers/shared.js.map +1 -0
- package/menu/internal/controllers/surfacePositionController.d.ts +152 -0
- package/menu/internal/controllers/surfacePositionController.js +316 -0
- package/menu/internal/controllers/surfacePositionController.js.map +1 -0
- package/menu/internal/controllers/typeaheadController.d.ts +157 -0
- package/menu/internal/controllers/typeaheadController.js +254 -0
- package/menu/internal/controllers/typeaheadController.js.map +1 -0
- package/menu/internal/menu-styles.css.js +9 -0
- package/menu/internal/menu-styles.css.js.map +1 -0
- package/menu/internal/menu.d.ts +259 -0
- package/menu/internal/menu.js +788 -0
- package/menu/internal/menu.js.map +1 -0
- package/menu/internal/menuitem/_menu-item.scss +180 -0
- package/menu/internal/menuitem/forced-colors-styles.css.js +9 -0
- package/menu/internal/menuitem/forced-colors-styles.css.js.map +1 -0
- package/menu/internal/menuitem/forced-colors-styles.scss +26 -0
- package/menu/internal/menuitem/harness.d.ts +11 -0
- package/menu/internal/menuitem/harness.js +12 -0
- package/menu/internal/menuitem/harness.js.map +1 -0
- package/menu/internal/menuitem/menu-item-styles.css.js +9 -0
- package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -0
- package/menu/internal/menuitem/menu-item.d.ts +80 -0
- package/menu/internal/menuitem/menu-item.js +200 -0
- package/menu/internal/menuitem/menu-item.js.map +1 -0
- package/menu/internal/submenu/_sub-menu.scss +12 -0
- package/menu/internal/submenu/sub-menu-styles.css.js +9 -0
- package/menu/internal/submenu/sub-menu-styles.css.js.map +1 -0
- package/menu/internal/submenu/sub-menu-styles.scss +10 -0
- package/menu/internal/submenu/sub-menu.d.ts +101 -0
- package/menu/internal/submenu/sub-menu.js +351 -0
- package/menu/internal/submenu/sub-menu.js.map +1 -0
- package/menu/menu-item.d.ts +3 -3
- package/menu/menu-item.js +5 -9
- package/menu/menu-item.js.map +1 -1
- package/menu/menu.d.ts +21 -13
- package/menu/menu.js +22 -15
- package/menu/menu.js.map +1 -1
- package/menu/sub-menu.d.ts +62 -0
- package/menu/sub-menu.js +64 -0
- package/menu/sub-menu.js.map +1 -0
- package/package.json +85 -16
- package/progress/_circular-progress.scss +6 -0
- package/progress/_linear-progress.scss +6 -0
- package/progress/circular-progress.d.ts +24 -0
- package/progress/circular-progress.js +26 -0
- package/progress/circular-progress.js.map +1 -0
- package/progress/harness.d.ts +20 -0
- package/progress/harness.js +25 -0
- package/progress/harness.js.map +1 -0
- package/progress/internal/_circular-progress.scss +287 -0
- package/progress/internal/_linear-progress.scss +340 -0
- package/progress/internal/circular-progress-styles.css.js +9 -0
- package/progress/internal/circular-progress-styles.css.js.map +1 -0
- package/progress/internal/circular-progress.d.ts +14 -0
- package/progress/internal/circular-progress.js +49 -0
- package/progress/internal/circular-progress.js.map +1 -0
- package/progress/internal/linear-progress-styles.css.js +9 -0
- package/progress/internal/linear-progress-styles.css.js.map +1 -0
- package/progress/internal/linear-progress.d.ts +16 -0
- package/progress/internal/linear-progress.js +47 -0
- package/progress/internal/linear-progress.js.map +1 -0
- package/progress/internal/progress.d.ts +34 -0
- package/progress/internal/progress.js +70 -0
- package/progress/internal/progress.js.map +1 -0
- package/progress/linear-progress.d.ts +23 -0
- package/progress/linear-progress.js +25 -0
- package/progress/linear-progress.js.map +1 -0
- package/radio/_radio.scss +1 -1
- package/radio/harness.d.ts +2 -2
- package/radio/harness.js +1 -1
- package/radio/harness.js.map +1 -1
- package/radio/internal/_radio.scss +185 -0
- package/radio/internal/forced-colors-styles.css.js +9 -0
- package/radio/internal/forced-colors-styles.css.js.map +1 -0
- package/radio/internal/forced-colors-styles.scss +29 -0
- package/radio/internal/radio-styles.css.js +9 -0
- package/radio/internal/radio-styles.css.js.map +1 -0
- package/radio/internal/radio.d.ts +56 -0
- package/radio/internal/radio.js +165 -0
- package/radio/internal/radio.js.map +1 -0
- package/radio/internal/single-selection-controller.js +197 -0
- package/radio/internal/single-selection-controller.js.map +1 -0
- package/radio/radio.d.ts +1 -1
- package/radio/radio.js +4 -5
- package/radio/radio.js.map +1 -1
- package/ripple/_ripple.scss +1 -1
- package/ripple/internal/_ripple.scss +96 -0
- package/ripple/internal/ripple-styles.css.js +9 -0
- package/ripple/internal/ripple-styles.css.js.map +1 -0
- package/ripple/internal/ripple.d.ts +76 -0
- package/ripple/internal/ripple.js +408 -0
- package/ripple/internal/ripple.js.map +1 -0
- package/ripple/ripple.d.ts +1 -1
- package/ripple/ripple.js +3 -4
- package/ripple/ripple.js.map +1 -1
- package/select/_filled-select.scss +1 -1
- package/select/_outlined-select.scss +1 -1
- package/select/filled-select.d.ts +1 -1
- package/select/filled-select.js +5 -6
- package/select/filled-select.js.map +1 -1
- package/select/harness.d.ts +4 -4
- package/select/harness.js +3 -5
- package/select/harness.js.map +1 -1
- package/select/internal/_filled-select.scss +231 -0
- package/select/internal/_outlined-select.scss +189 -0
- package/select/internal/_shared.scss +84 -0
- package/select/internal/filled-select-styles.css.js +9 -0
- package/select/internal/filled-select-styles.css.js.map +1 -0
- package/select/internal/outlined-select-styles.css.js +9 -0
- package/select/internal/outlined-select-styles.css.js.map +1 -0
- package/select/internal/select.d.ts +313 -0
- package/select/internal/select.js +773 -0
- package/select/internal/select.js.map +1 -0
- package/select/internal/selectoption/harness.d.ts +11 -0
- package/select/internal/selectoption/harness.js +12 -0
- package/select/internal/selectoption/harness.js.map +1 -0
- package/select/internal/selectoption/select-option.d.ts +82 -0
- package/select/internal/selectoption/select-option.js +183 -0
- package/select/internal/selectoption/select-option.js.map +1 -0
- package/select/internal/selectoption/selectOptionController.d.ts +91 -0
- package/select/internal/selectoption/selectOptionController.js +118 -0
- package/select/internal/selectoption/selectOptionController.js.map +1 -0
- package/select/internal/shared-styles.css.js +9 -0
- package/select/internal/shared-styles.css.js.map +1 -0
- package/select/internal/shared.d.ts +18 -0
- package/select/internal/shared.js +23 -0
- package/select/internal/shared.js.map +1 -0
- package/select/outlined-select.d.ts +1 -1
- package/select/outlined-select.js +5 -6
- package/select/outlined-select.js.map +1 -1
- package/select/select-option.d.ts +1 -1
- package/select/select-option.js +5 -8
- package/select/select-option.js.map +1 -1
- package/slider/_slider.scss +1 -1
- package/slider/harness.d.ts +1 -1
- package/slider/harness.js +7 -5
- package/slider/harness.js.map +1 -1
- package/slider/internal/_slider.scss +508 -0
- package/slider/internal/forced-colors-styles.css.js +9 -0
- package/slider/internal/forced-colors-styles.css.js.map +1 -0
- package/slider/internal/forced-colors-styles.scss +88 -0
- package/slider/internal/slider-styles.css.js +9 -0
- package/slider/internal/slider-styles.css.js.map +1 -0
- package/slider/internal/slider.d.ts +187 -0
- package/slider/internal/slider.js +718 -0
- package/slider/internal/slider.js.map +1 -0
- package/slider/slider.d.ts +1 -1
- package/slider/slider.js +4 -5
- package/slider/slider.js.map +1 -1
- package/switch/_switch.scss +1 -1
- package/switch/harness.d.ts +2 -2
- package/switch/harness.js +1 -1
- package/switch/harness.js.map +1 -1
- package/switch/internal/README.md +55 -0
- package/switch/internal/_handle.scss +160 -0
- package/switch/internal/_icon.scss +92 -0
- package/switch/internal/_switch.scss +154 -0
- package/switch/internal/_track.scss +91 -0
- package/switch/internal/forced-colors-styles.css.js +9 -0
- package/switch/internal/forced-colors-styles.css.js.map +1 -0
- package/switch/internal/forced-colors-styles.scss +42 -0
- package/switch/internal/switch-styles.css.js +9 -0
- package/switch/internal/switch-styles.css.js.map +1 -0
- package/switch/internal/switch.d.ts +150 -0
- package/switch/internal/switch.js +326 -0
- package/switch/internal/switch.js.map +1 -0
- package/switch/switch.d.ts +1 -1
- package/switch/switch.js +5 -5
- package/switch/switch.js.map +1 -1
- package/tabs/_primary-tab.scss +6 -0
- package/tabs/_secondary-tab.scss +6 -0
- package/tabs/harness.d.ts +23 -0
- package/tabs/harness.js +51 -0
- package/tabs/harness.js.map +1 -0
- package/tabs/internal/_primary-tab.scss +70 -0
- package/tabs/internal/_secondary-tab.scss +61 -0
- package/tabs/internal/_tab.scss +205 -0
- package/tabs/internal/_tabs.scss +45 -0
- package/tabs/internal/primary-tab-styles.css.js +9 -0
- package/tabs/internal/primary-tab-styles.css.js.map +1 -0
- package/tabs/internal/primary-tab-styles.scss +10 -0
- package/tabs/internal/primary-tab.d.ts +20 -0
- package/tabs/internal/primary-tab.js +30 -0
- package/tabs/internal/primary-tab.js.map +1 -0
- package/tabs/internal/secondary-tab-styles.css.d.ts +1 -0
- package/tabs/internal/secondary-tab-styles.css.js +9 -0
- package/tabs/internal/secondary-tab-styles.css.js.map +1 -0
- package/tabs/internal/secondary-tab-styles.scss +10 -0
- package/tabs/internal/secondary-tab.d.ts +12 -0
- package/tabs/internal/secondary-tab.js +16 -0
- package/tabs/internal/secondary-tab.js.map +1 -0
- package/tabs/internal/tab-styles.css.d.ts +1 -0
- package/tabs/internal/tab-styles.css.js +9 -0
- package/tabs/internal/tab-styles.css.js.map +1 -0
- package/tabs/internal/tab-styles.scss +10 -0
- package/tabs/internal/tab.d.ts +61 -0
- package/tabs/internal/tab.js +188 -0
- package/tabs/internal/tab.js.map +1 -0
- package/tabs/internal/tabs-styles.css.d.ts +1 -0
- package/tabs/internal/tabs-styles.css.js +9 -0
- package/tabs/internal/tabs-styles.css.js.map +1 -0
- package/tabs/internal/tabs-styles.scss +10 -0
- package/tabs/internal/tabs.d.ts +74 -0
- package/tabs/internal/tabs.js +283 -0
- package/tabs/internal/tabs.js.map +1 -0
- package/tabs/primary-tab.d.ts +18 -0
- package/tabs/primary-tab.js +22 -0
- package/tabs/primary-tab.js.map +1 -0
- package/tabs/secondary-tab.d.ts +18 -0
- package/tabs/secondary-tab.js +22 -0
- package/tabs/secondary-tab.js.map +1 -0
- package/tabs/tabs.d.ts +18 -0
- package/tabs/tabs.js +21 -0
- package/tabs/tabs.js.map +1 -0
- package/textfield/_filled-text-field.scss +1 -1
- package/textfield/_outlined-text-field.scss +1 -1
- package/textfield/filled-text-field.d.ts +2 -2
- package/textfield/filled-text-field.js +5 -6
- package/textfield/filled-text-field.js.map +1 -1
- package/textfield/harness.d.ts +5 -5
- package/textfield/harness.js +5 -12
- package/textfield/harness.js.map +1 -1
- package/textfield/internal/_filled-text-field.scss +203 -0
- package/textfield/internal/_input.scss +79 -0
- package/textfield/internal/_outlined-text-field.scss +176 -0
- package/textfield/internal/_shared.scss +47 -0
- package/textfield/internal/filled-forced-colors-styles.css.d.ts +1 -0
- package/textfield/internal/filled-styles.css.d.ts +1 -0
- package/textfield/internal/filled-styles.css.js +9 -0
- package/textfield/internal/filled-styles.css.js.map +1 -0
- package/textfield/internal/outlined-forced-colors-styles.css.d.ts +1 -0
- package/textfield/internal/outlined-styles.css.d.ts +1 -0
- package/textfield/internal/outlined-styles.css.js +9 -0
- package/textfield/internal/outlined-styles.css.js.map +1 -0
- package/textfield/internal/shared-styles.css.d.ts +1 -0
- package/textfield/internal/shared-styles.css.js +9 -0
- package/textfield/internal/shared-styles.css.js.map +1 -0
- package/textfield/internal/text-field.d.ts +350 -0
- package/textfield/internal/text-field.js +754 -0
- package/textfield/internal/text-field.js.map +1 -0
- package/textfield/outlined-text-field.d.ts +2 -2
- package/textfield/outlined-text-field.js +5 -6
- package/textfield/outlined-text-field.js.map +1 -1
- package/tokens/_index.scss +9 -40
- package/tokens/_md-comp-assist-chip.scss +9 -17
- package/tokens/_md-comp-badge.scss +2 -15
- package/tokens/_md-comp-checkbox.scss +72 -46
- package/tokens/_md-comp-circular-progress.scss +65 -0
- package/tokens/_md-comp-dialog.scss +55 -19
- package/tokens/_md-comp-divider.scss +13 -2
- package/tokens/_md-comp-elevated-button.scss +39 -35
- package/tokens/_md-comp-elevation.scss +11 -2
- package/tokens/_md-comp-fab-branded.scss +20 -15
- package/tokens/_md-comp-fab.scss +27 -31
- package/tokens/_md-comp-filled-button.scss +39 -35
- package/tokens/_md-comp-filled-field.scss +46 -20
- package/tokens/_md-comp-filled-icon-button.scss +35 -13
- package/tokens/_md-comp-filled-select.scss +38 -17
- package/tokens/_md-comp-filled-text-field.scss +20 -21
- package/tokens/_md-comp-filled-tonal-button.scss +39 -35
- package/tokens/_md-comp-filled-tonal-icon-button.scss +35 -13
- package/tokens/_md-comp-filter-chip.scss +10 -18
- package/tokens/_md-comp-focus-ring.scss +4 -2
- package/tokens/_md-comp-full-screen-dialog.scss +1 -1
- package/tokens/_md-comp-icon-button.scss +35 -15
- package/tokens/_md-comp-icon.scss +32 -0
- package/tokens/_md-comp-input-chip.scss +15 -16
- package/tokens/_md-comp-item.scss +87 -0
- package/tokens/_md-comp-linear-progress.scss +50 -0
- package/tokens/_md-comp-list-item.scss +125 -139
- package/tokens/_md-comp-list.scss +11 -109
- package/tokens/_md-comp-menu-item.scss +15 -10
- package/tokens/_md-comp-menu-list-item.scss +162 -0
- package/tokens/_md-comp-menu.scss +15 -12
- package/tokens/_md-comp-navigation-bar.scss +1 -1
- package/tokens/_md-comp-navigation-drawer.scss +1 -1
- package/tokens/_md-comp-outlined-button.scss +41 -37
- package/tokens/_md-comp-outlined-field.scss +42 -16
- package/tokens/_md-comp-outlined-icon-button.scss +37 -16
- package/tokens/_md-comp-outlined-segmented-button.scss +22 -24
- package/tokens/_md-comp-outlined-select.scss +24 -16
- package/tokens/_md-comp-outlined-text-field.scss +19 -20
- package/tokens/_md-comp-primary-tab.scss +131 -0
- package/tokens/_md-comp-radio.scss +73 -0
- package/tokens/_md-comp-ripple.scss +40 -0
- package/tokens/_md-comp-secondary-tab.scss +131 -0
- package/tokens/_md-comp-slider.scss +71 -23
- package/tokens/_md-comp-suggestion-chip.scss +9 -16
- package/tokens/_md-comp-switch.scss +75 -35
- package/tokens/_md-comp-test-table.scss +14 -3
- package/tokens/_md-comp-text-button.scss +39 -35
- package/tokens/_md-ref-palette.scss +102 -2
- package/tokens/_md-ref-typeface.scss +24 -12
- package/tokens/_md-sys-color.scss +99 -5
- package/tokens/_md-sys-elevation.scss +1 -1
- package/tokens/_md-sys-motion.scss +1 -1
- package/tokens/_md-sys-shape.scss +1 -1
- package/tokens/_md-sys-state.scss +1 -1
- package/tokens/_md-sys-typescale.scss +115 -17
- package/tokens/_values.scss +1 -1
- package/tokens/v0_192/_md-comp-assist-chip.scss +111 -0
- package/tokens/v0_192/_md-comp-badge.scss +61 -0
- package/tokens/v0_192/_md-comp-banner.scss +76 -0
- package/tokens/v0_192/_md-comp-bottom-app-bar.scss +36 -0
- package/tokens/v0_192/_md-comp-carousel-item.scss +66 -0
- package/tokens/v0_192/_md-comp-checkbox.scss +129 -0
- package/tokens/v0_192/_md-comp-circular-progress-indicator.scss +41 -0
- package/tokens/v0_192/_md-comp-data-table.scss +99 -0
- package/tokens/v0_192/_md-comp-date-input-modal.scss +90 -0
- package/tokens/v0_192/_md-comp-date-picker-docked.scss +247 -0
- package/tokens/v0_192/_md-comp-date-picker-modal.scss +306 -0
- package/tokens/v0_192/_md-comp-dialog.scss +124 -0
- package/tokens/v0_192/_md-comp-divider.scss +28 -0
- package/tokens/v0_192/_md-comp-elevated-button.scss +92 -0
- package/tokens/v0_192/_md-comp-elevated-card.scss +60 -0
- package/tokens/v0_192/_md-comp-extended-fab-branded.scss +89 -0
- package/tokens/v0_192/_md-comp-extended-fab-primary.scss +97 -0
- package/tokens/v0_192/_md-comp-extended-fab-secondary.scss +98 -0
- package/tokens/v0_192/_md-comp-extended-fab-surface.scss +93 -0
- package/tokens/v0_192/_md-comp-extended-fab-tertiary.scss +98 -0
- package/tokens/v0_192/_md-comp-fab-branded-large.scss +63 -0
- package/tokens/v0_192/_md-comp-fab-branded.scss +63 -0
- package/tokens/v0_192/_md-comp-fab-primary-large.scss +68 -0
- package/tokens/v0_192/_md-comp-fab-primary-small.scss +68 -0
- package/tokens/v0_192/_md-comp-fab-primary.scss +68 -0
- package/tokens/v0_192/_md-comp-fab-secondary-large.scss +69 -0
- package/tokens/v0_192/_md-comp-fab-secondary-small.scss +69 -0
- package/tokens/v0_192/_md-comp-fab-secondary.scss +69 -0
- package/tokens/v0_192/_md-comp-fab-surface-large.scss +67 -0
- package/tokens/v0_192/_md-comp-fab-surface-small.scss +67 -0
- package/tokens/v0_192/_md-comp-fab-surface.scss +67 -0
- package/tokens/v0_192/_md-comp-fab-tertiary-large.scss +69 -0
- package/tokens/v0_192/_md-comp-fab-tertiary-small.scss +69 -0
- package/tokens/v0_192/_md-comp-fab-tertiary.scss +69 -0
- package/tokens/v0_192/_md-comp-filled-autocomplete.scss +239 -0
- package/tokens/v0_192/_md-comp-filled-button.scss +92 -0
- package/tokens/v0_192/_md-comp-filled-card.scss +62 -0
- package/tokens/v0_192/_md-comp-filled-icon-button.scss +83 -0
- package/tokens/v0_192/_md-comp-filled-menu-button.scss +101 -0
- package/tokens/v0_192/_md-comp-filled-select.scss +273 -0
- package/tokens/v0_192/_md-comp-filled-text-field.scss +193 -0
- package/tokens/v0_192/_md-comp-filled-tonal-button.scss +102 -0
- package/tokens/v0_192/_md-comp-filled-tonal-icon-button.scss +90 -0
- package/tokens/v0_192/_md-comp-filter-chip.scss +210 -0
- package/tokens/v0_192/_md-comp-full-screen-dialog.scss +114 -0
- package/tokens/v0_192/_md-comp-icon-button.scss +74 -0
- package/tokens/v0_192/_md-comp-input-chip.scss +187 -0
- package/tokens/v0_192/_md-comp-linear-progress-indicator.scss +43 -0
- package/tokens/v0_192/_md-comp-list.scss +255 -0
- package/tokens/v0_192/_md-comp-menu.scss +44 -0
- package/tokens/v0_192/_md-comp-navigation-bar.scss +115 -0
- package/tokens/v0_192/_md-comp-navigation-drawer.scss +165 -0
- package/tokens/v0_192/_md-comp-navigation-rail.scss +119 -0
- package/tokens/v0_192/_md-comp-outlined-autocomplete.scss +229 -0
- package/tokens/v0_192/_md-comp-outlined-button.scss +87 -0
- package/tokens/v0_192/_md-comp-outlined-card.scss +66 -0
- package/tokens/v0_192/_md-comp-outlined-icon-button.scss +83 -0
- package/tokens/v0_192/_md-comp-outlined-menu-button.scss +97 -0
- package/tokens/v0_192/_md-comp-outlined-segmented-button.scss +115 -0
- package/tokens/v0_192/_md-comp-outlined-select.scss +263 -0
- package/tokens/v0_192/_md-comp-outlined-text-field.scss +174 -0
- package/tokens/v0_192/_md-comp-plain-tooltip.scss +58 -0
- package/tokens/v0_192/_md-comp-primary-navigation-tab.scss +124 -0
- package/tokens/v0_192/_md-comp-radio-button.scss +71 -0
- package/tokens/v0_192/_md-comp-rich-tooltip.scss +122 -0
- package/tokens/v0_192/_md-comp-scrim.scss +28 -0
- package/tokens/v0_192/_md-comp-search-bar.scss +100 -0
- package/tokens/v0_192/_md-comp-search-view.scss +94 -0
- package/tokens/v0_192/_md-comp-secondary-navigation-tab.scss +87 -0
- package/tokens/v0_192/_md-comp-sheet-bottom.scss +46 -0
- package/tokens/v0_192/_md-comp-sheet-floating.scss +35 -0
- package/tokens/v0_192/_md-comp-sheet-side.scss +94 -0
- package/tokens/v0_192/_md-comp-slider.scss +118 -0
- package/tokens/v0_192/_md-comp-snackbar.scss +130 -0
- package/tokens/v0_192/_md-comp-standard-menu-button.scss +101 -0
- package/tokens/v0_192/_md-comp-suggestion-chip.scss +127 -0
- package/tokens/v0_192/_md-comp-switch.scss +141 -0
- package/tokens/v0_192/_md-comp-text-button.scss +80 -0
- package/tokens/v0_192/_md-comp-time-input.scss +220 -0
- package/tokens/v0_192/_md-comp-time-picker.scss +267 -0
- package/tokens/v0_192/_md-comp-top-app-bar-large.scss +64 -0
- package/tokens/v0_192/_md-comp-top-app-bar-medium.scss +64 -0
- package/tokens/v0_192/_md-comp-top-app-bar-small-centered.scss +71 -0
- package/tokens/v0_192/_md-comp-top-app-bar-small.scss +67 -0
- package/tokens/v0_192/_md-ref-palette.scss +109 -0
- package/tokens/v0_192/_md-ref-typeface.scss +23 -0
- package/tokens/v0_192/_md-sys-color.scss +135 -0
- package/tokens/v0_192/_md-sys-elevation.scss +24 -0
- package/tokens/v0_192/_md-sys-motion.scss +55 -0
- package/tokens/v0_192/_md-sys-shape.scss +33 -0
- package/tokens/v0_192/_md-sys-state.scss +22 -0
- package/tokens/v0_192/_md-sys-typescale.scss +286 -0
- package/tokens/v0_192/index.test.css.d.ts +1 -0
- package/tokens/v0_192/lib.test.css.d.ts +1 -0
- package/typography/_typeface.scss +49 -0
- package/typography/_typescale.scss +50 -0
- package/aria/aria.d.ts +0 -43
- package/aria/aria.js +0 -80
- package/aria/aria.js.map +0 -1
- package/aria/delegate.d.ts +0 -37
- package/aria/delegate.js +0 -53
- package/aria/delegate.js.map +0 -1
- package/badge/_badge.scss +0 -6
- package/badge/badge.d.ts +0 -18
- package/badge/badge.js +0 -21
- package/badge/badge.js.map +0 -1
- package/badge/lib/_badge.scss +0 -69
- package/badge/lib/badge-styles.css.js +0 -9
- package/badge/lib/badge-styles.css.js.map +0 -1
- package/button/_tonal-button.scss +0 -6
- package/button/lib/_elevated-button.scss +0 -62
- package/button/lib/_elevation.scss +0 -68
- package/button/lib/_filled-button.scss +0 -62
- package/button/lib/_icon.scss +0 -42
- package/button/lib/_outlined-button.scss +0 -103
- package/button/lib/_shared.scss +0 -159
- package/button/lib/_text-button.scss +0 -65
- package/button/lib/_tonal-button.scss +0 -61
- package/button/lib/_touch-target.scss +0 -18
- package/button/lib/button.d.ts +0 -69
- package/button/lib/button.js +0 -174
- package/button/lib/button.js.map +0 -1
- package/button/lib/elevated-button.d.ts +0 -18
- package/button/lib/elevated-button.js +0 -23
- package/button/lib/elevated-button.js.map +0 -1
- package/button/lib/elevated-styles.css.js +0 -9
- package/button/lib/elevated-styles.css.js.map +0 -1
- package/button/lib/filled-button.d.ts +0 -18
- package/button/lib/filled-button.js +0 -23
- package/button/lib/filled-button.js.map +0 -1
- package/button/lib/filled-styles.css.js +0 -9
- package/button/lib/filled-styles.css.js.map +0 -1
- package/button/lib/outlined-button.d.ts +0 -17
- package/button/lib/outlined-button.js +0 -22
- package/button/lib/outlined-button.js.map +0 -1
- package/button/lib/outlined-styles.css.js +0 -9
- package/button/lib/outlined-styles.css.js.map +0 -1
- package/button/lib/shared-elevation-styles.css.js +0 -9
- package/button/lib/shared-elevation-styles.css.js.map +0 -1
- package/button/lib/shared-styles.css.js +0 -9
- package/button/lib/shared-styles.css.js.map +0 -1
- package/button/lib/text-button.d.ts +0 -16
- package/button/lib/text-button.js +0 -18
- package/button/lib/text-button.js.map +0 -1
- package/button/lib/text-styles.css.js +0 -9
- package/button/lib/text-styles.css.js.map +0 -1
- package/button/lib/tonal-button.d.ts +0 -18
- package/button/lib/tonal-button.js +0 -23
- package/button/lib/tonal-button.js.map +0 -1
- package/button/lib/tonal-styles.css.js +0 -9
- package/button/lib/tonal-styles.css.js.map +0 -1
- package/button/lib/tonal-styles.scss +0 -10
- package/button/tonal-button.d.ts +0 -35
- package/button/tonal-button.js +0 -40
- package/button/tonal-button.js.map +0 -1
- package/checkbox/lib/_checkbox.scss +0 -457
- package/checkbox/lib/checkbox-styles.css.js +0 -9
- package/checkbox/lib/checkbox-styles.css.js.map +0 -1
- package/checkbox/lib/checkbox.d.ts +0 -64
- package/checkbox/lib/checkbox.js +0 -190
- package/checkbox/lib/checkbox.js.map +0 -1
- package/checkbox/lib/forced-colors-styles.css.js +0 -9
- package/checkbox/lib/forced-colors-styles.css.js.map +0 -1
- package/checkbox/lib/forced-colors-styles.scss +0 -49
- package/chips/lib/_assist-chip.scss +0 -61
- package/chips/lib/_elevated.scss +0 -60
- package/chips/lib/_filter-chip.scss +0 -175
- package/chips/lib/_shared.scss +0 -177
- package/chips/lib/_suggestion-chip.scss +0 -61
- package/chips/lib/assist-chip.d.ts +0 -23
- package/chips/lib/assist-chip.js +0 -76
- package/chips/lib/assist-chip.js.map +0 -1
- package/chips/lib/assist-styles.css.js +0 -9
- package/chips/lib/assist-styles.css.js.map +0 -1
- package/chips/lib/chip.d.ts +0 -37
- package/chips/lib/chip.js +0 -89
- package/chips/lib/chip.js.map +0 -1
- package/chips/lib/elevated-styles.css.js +0 -9
- package/chips/lib/elevated-styles.css.js.map +0 -1
- package/chips/lib/filter-chip.d.ts +0 -26
- package/chips/lib/filter-chip.js +0 -80
- package/chips/lib/filter-chip.js.map +0 -1
- package/chips/lib/filter-styles.css.js +0 -9
- package/chips/lib/filter-styles.css.js.map +0 -1
- package/chips/lib/shared-styles.css.js +0 -9
- package/chips/lib/shared-styles.css.js.map +0 -1
- package/chips/lib/suggestion-styles.css.js +0 -9
- package/chips/lib/suggestion-styles.css.js.map +0 -1
- package/circularprogress/_circular-progress.scss +0 -6
- package/circularprogress/circular-progress.d.ts +0 -24
- package/circularprogress/circular-progress.js +0 -27
- package/circularprogress/circular-progress.js.map +0 -1
- package/circularprogress/harness.d.ts +0 -13
- package/circularprogress/harness.js +0 -16
- package/circularprogress/harness.js.map +0 -1
- package/circularprogress/lib/_circular-progress.scss +0 -288
- package/circularprogress/lib/circular-progress-styles.css.js +0 -9
- package/circularprogress/lib/circular-progress-styles.css.js.map +0 -1
- package/circularprogress/lib/circular-progress.d.ts +0 -27
- package/circularprogress/lib/circular-progress.js +0 -94
- package/circularprogress/lib/circular-progress.js.map +0 -1
- package/controller/form-associated.d.ts +0 -14
- package/controller/form-associated.js +0 -12
- package/controller/form-associated.js.map +0 -1
- package/controller/form-controller.d.ts +0 -66
- package/controller/form-controller.js +0 -74
- package/controller/form-controller.js.map +0 -1
- package/controller/shim-label-activation.d.ts +0 -18
- package/controller/shim-label-activation.js +0 -72
- package/controller/shim-label-activation.js.map +0 -1
- package/dialog/lib/_dialog.scss +0 -378
- package/dialog/lib/_tokens.scss +0 -87
- package/dialog/lib/dialog-styles.css.js +0 -9
- package/dialog/lib/dialog-styles.css.js.map +0 -1
- package/dialog/lib/dialog.d.ts +0 -190
- package/dialog/lib/dialog.js +0 -545
- package/dialog/lib/dialog.js.map +0 -1
- package/divider/lib/_divider.scss +0 -56
- package/elevation/lib/_elevation.scss +0 -165
- package/elevation/lib/elevation-styles.css.js +0 -9
- package/elevation/lib/elevation-styles.css.js.map +0 -1
- package/elevation/lib/elevation.d.ts +0 -12
- package/elevation/lib/elevation.js +0 -15
- package/elevation/lib/elevation.js.map +0 -1
- package/fab/lib/_fab.scss +0 -245
- package/fab/lib/_shared.scss +0 -224
- package/fab/lib/fab-branded-styles.css.js +0 -9
- package/fab/lib/fab-branded-styles.css.js.map +0 -1
- package/fab/lib/fab-styles.css.js +0 -9
- package/fab/lib/fab-styles.css.js.map +0 -1
- package/fab/lib/fab.d.ts +0 -25
- package/fab/lib/fab.js.map +0 -1
- package/fab/lib/forced-colors-styles.css.js +0 -9
- package/fab/lib/forced-colors-styles.css.js.map +0 -1
- package/fab/lib/forced-colors-styles.scss +0 -26
- package/fab/lib/shared-styles.css.js +0 -9
- package/fab/lib/shared-styles.css.js.map +0 -1
- package/fab/lib/shared.d.ts +0 -49
- package/fab/lib/shared.js +0 -113
- package/fab/lib/shared.js.map +0 -1
- package/field/lib/_content.scss +0 -175
- package/field/lib/_filled-field.scss +0 -189
- package/field/lib/_label.scss +0 -74
- package/field/lib/_outlined-field.scss +0 -313
- package/field/lib/_shared.scss +0 -65
- package/field/lib/_supporting-text.scss +0 -56
- package/field/lib/field.d.ts +0 -41
- package/field/lib/field.js +0 -236
- package/field/lib/field.js.map +0 -1
- package/field/lib/filled-styles.css.js +0 -9
- package/field/lib/filled-styles.css.js.map +0 -1
- package/field/lib/outlined-field.d.ts +0 -13
- package/field/lib/outlined-field.js.map +0 -1
- package/field/lib/outlined-styles.css.js +0 -9
- package/field/lib/outlined-styles.css.js.map +0 -1
- package/field/lib/shared-styles.css.js +0 -9
- package/field/lib/shared-styles.css.js.map +0 -1
- package/focus/focus-ring.d.ts +0 -20
- package/focus/focus-ring.js +0 -23
- package/focus/focus-ring.js.map +0 -1
- package/focus/lib/_focus-ring.scss +0 -86
- package/focus/lib/focus-ring-styles.css.js +0 -9
- package/focus/lib/focus-ring-styles.css.js.map +0 -1
- package/focus/lib/focus-ring.d.ts +0 -72
- package/focus/lib/focus-ring.js +0 -139
- package/focus/lib/focus-ring.js.map +0 -1
- package/icon/lib/_icon.scss +0 -61
- package/icon/lib/_md-comp-icon.scss +0 -18
- package/icon/lib/icon-styles.css.js +0 -9
- package/icon/lib/icon-styles.css.js.map +0 -1
- package/icon/lib/icon.d.ts +0 -12
- package/icon/lib/icon.js +0 -15
- package/icon/lib/icon.js.map +0 -1
- package/iconbutton/_standard-icon-button.scss +0 -6
- package/iconbutton/lib/_filled-icon-button.scss +0 -157
- package/iconbutton/lib/_filled-tonal-icon-button.scss +0 -159
- package/iconbutton/lib/_outlined-icon-button.scss +0 -180
- package/iconbutton/lib/_shared.scss +0 -163
- package/iconbutton/lib/_standard-icon-button.scss +0 -115
- package/iconbutton/lib/filled-styles.css.js +0 -9
- package/iconbutton/lib/filled-styles.css.js.map +0 -1
- package/iconbutton/lib/filled-tonal-styles.css.js +0 -9
- package/iconbutton/lib/filled-tonal-styles.css.js.map +0 -1
- package/iconbutton/lib/icon-button.d.ts +0 -63
- package/iconbutton/lib/icon-button.js +0 -179
- package/iconbutton/lib/icon-button.js.map +0 -1
- package/iconbutton/lib/outlined-styles.css.js +0 -9
- package/iconbutton/lib/outlined-styles.css.js.map +0 -1
- package/iconbutton/lib/shared-styles.css.js +0 -9
- package/iconbutton/lib/shared-styles.css.js.map +0 -1
- package/iconbutton/lib/standard-styles.css.js +0 -9
- package/iconbutton/lib/standard-styles.css.js.map +0 -1
- package/iconbutton/lib/standard-styles.scss +0 -10
- package/iconbutton/standard-icon-button.d.ts +0 -34
- package/iconbutton/standard-icon-button.js +0 -39
- package/iconbutton/standard-icon-button.js.map +0 -1
- package/linearprogress/_linear-progress.scss +0 -6
- package/linearprogress/harness.d.ts +0 -13
- package/linearprogress/harness.js +0 -18
- package/linearprogress/harness.js.map +0 -1
- package/linearprogress/lib/_linear-progress.scss +0 -386
- package/linearprogress/lib/linear-progress-styles.css.js +0 -9
- package/linearprogress/lib/linear-progress-styles.css.js.map +0 -1
- package/linearprogress/lib/linear-progress.d.ts +0 -35
- package/linearprogress/lib/linear-progress.js +0 -127
- package/linearprogress/lib/linear-progress.js.map +0 -1
- package/linearprogress/linear-progress.d.ts +0 -23
- package/linearprogress/linear-progress.js +0 -26
- package/linearprogress/linear-progress.js.map +0 -1
- package/list/lib/_list.scss +0 -55
- package/list/lib/list-styles.css.js +0 -9
- package/list/lib/list-styles.css.js.map +0 -1
- package/list/lib/list.d.ts +0 -110
- package/list/lib/list.js +0 -260
- package/list/lib/list.js.map +0 -1
- package/list/lib/listitem/_list-item.scss +0 -425
- package/list/lib/listitem/forced-colors-styles.css.js +0 -9
- package/list/lib/listitem/forced-colors-styles.css.js.map +0 -1
- package/list/lib/listitem/forced-colors-styles.scss +0 -23
- package/list/lib/listitem/harness.d.ts +0 -13
- package/list/lib/listitem/harness.js +0 -17
- package/list/lib/listitem/harness.js.map +0 -1
- package/list/lib/listitem/list-item-styles.css.js +0 -9
- package/list/lib/listitem/list-item-styles.css.js.map +0 -1
- package/list/lib/listitem/list-item.d.ts +0 -129
- package/list/lib/listitem/list-item.js +0 -236
- package/list/lib/listitem/list-item.js.map +0 -1
- package/list/lib/listitemlink/list-item-link.d.ts +0 -17
- package/list/lib/listitemlink/list-item-link.js +0 -38
- package/list/lib/listitemlink/list-item-link.js.map +0 -1
- package/list/list-item-link.d.ts +0 -53
- package/list/list-item-link.js +0 -57
- package/list/list-item-link.js.map +0 -1
- package/localization/localize.d.ts +0 -15
- package/localization/localize.js +0 -18
- package/localization/localize.js.map +0 -1
- package/menu/lib/_menu.scss +0 -103
- package/menu/lib/menu-styles.css.js +0 -9
- package/menu/lib/menu-styles.css.js.map +0 -1
- package/menu/lib/menu.d.ts +0 -211
- package/menu/lib/menu.js +0 -650
- package/menu/lib/menu.js.map +0 -1
- package/menu/lib/menuitem/_menu-item.scss +0 -60
- package/menu/lib/menuitem/forced-colors-styles.css.js +0 -9
- package/menu/lib/menuitem/forced-colors-styles.css.js.map +0 -1
- package/menu/lib/menuitem/forced-colors-styles.scss +0 -22
- package/menu/lib/menuitem/harness.d.ts +0 -11
- package/menu/lib/menuitem/harness.js +0 -12
- package/menu/lib/menuitem/harness.js.map +0 -1
- package/menu/lib/menuitem/menu-item-styles.css.js +0 -9
- package/menu/lib/menuitem/menu-item-styles.css.js.map +0 -1
- package/menu/lib/menuitem/menu-item.d.ts +0 -28
- package/menu/lib/menuitem/menu-item.js +0 -51
- package/menu/lib/menuitem/menu-item.js.map +0 -1
- package/menu/lib/menuitemlink/menu-item-link.d.ts +0 -23
- package/menu/lib/menuitemlink/menu-item-link.js +0 -49
- package/menu/lib/menuitemlink/menu-item-link.js.map +0 -1
- package/menu/lib/shared.d.ts +0 -178
- package/menu/lib/shared.js +0 -142
- package/menu/lib/shared.js.map +0 -1
- package/menu/lib/submenuitem/harness.d.ts +0 -11
- package/menu/lib/submenuitem/harness.js +0 -12
- package/menu/lib/submenuitem/harness.js.map +0 -1
- package/menu/lib/submenuitem/sub-menu-item.d.ts +0 -99
- package/menu/lib/submenuitem/sub-menu-item.js +0 -293
- package/menu/lib/submenuitem/sub-menu-item.js.map +0 -1
- package/menu/lib/surfacePositionController.d.ts +0 -125
- package/menu/lib/surfacePositionController.js +0 -200
- package/menu/lib/surfacePositionController.js.map +0 -1
- package/menu/lib/typeaheadController.d.ts +0 -157
- package/menu/lib/typeaheadController.js +0 -252
- package/menu/lib/typeaheadController.js.map +0 -1
- package/menu/menu-item-link.d.ts +0 -33
- package/menu/menu-item-link.js +0 -38
- package/menu/menu-item-link.js.map +0 -1
- package/menu/sub-menu-item.d.ts +0 -60
- package/menu/sub-menu-item.js +0 -65
- package/menu/sub-menu-item.js.map +0 -1
- package/motion/animation.d.ts +0 -80
- package/motion/animation.js +0 -101
- package/motion/animation.js.map +0 -1
- package/navigationbar/_navigation-bar.scss +0 -6
- package/navigationbar/harness.d.ts +0 -19
- package/navigationbar/harness.js +0 -29
- package/navigationbar/harness.js.map +0 -1
- package/navigationbar/lib/_navigation-bar.scss +0 -68
- package/navigationbar/lib/constants.d.ts +0 -17
- package/navigationbar/lib/constants.js.map +0 -1
- package/navigationbar/lib/navigation-bar-styles.css.js +0 -9
- package/navigationbar/lib/navigation-bar-styles.css.js.map +0 -1
- package/navigationbar/lib/navigation-bar.d.ts +0 -27
- package/navigationbar/lib/navigation-bar.js +0 -140
- package/navigationbar/lib/navigation-bar.js.map +0 -1
- package/navigationbar/lib/state.d.ts +0 -23
- package/navigationbar/lib/state.js.map +0 -1
- package/navigationbar/navigation-bar.d.ts +0 -18
- package/navigationbar/navigation-bar.js +0 -21
- package/navigationbar/navigation-bar.js.map +0 -1
- package/navigationdrawer/_navigation-drawer-modal.scss +0 -6
- package/navigationdrawer/_navigation-drawer.scss +0 -6
- package/navigationdrawer/lib/_navigation-drawer-modal.scss +0 -107
- package/navigationdrawer/lib/_navigation-drawer.scss +0 -94
- package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js +0 -9
- package/navigationdrawer/lib/navigation-drawer-modal-styles.css.js.map +0 -1
- package/navigationdrawer/lib/navigation-drawer-modal.js +0 -83
- package/navigationdrawer/lib/navigation-drawer-modal.js.map +0 -1
- package/navigationdrawer/lib/navigation-drawer-styles.css.js +0 -9
- package/navigationdrawer/lib/navigation-drawer-styles.css.js.map +0 -1
- package/navigationdrawer/lib/navigation-drawer.d.ts +0 -17
- package/navigationdrawer/lib/navigation-drawer.js +0 -66
- package/navigationdrawer/lib/navigation-drawer.js.map +0 -1
- package/navigationdrawer/navigation-drawer-modal.d.ts +0 -18
- package/navigationdrawer/navigation-drawer-modal.js +0 -22
- package/navigationdrawer/navigation-drawer-modal.js.map +0 -1
- package/navigationdrawer/navigation-drawer.d.ts +0 -18
- package/navigationdrawer/navigation-drawer.js +0 -22
- package/navigationdrawer/navigation-drawer.js.map +0 -1
- package/navigationtab/_navigation-tab.scss +0 -6
- package/navigationtab/harness.d.ts +0 -13
- package/navigationtab/harness.js +0 -16
- package/navigationtab/harness.js.map +0 -1
- package/navigationtab/lib/_navigation-tab.scss +0 -261
- package/navigationtab/lib/navigation-tab-styles.css.js +0 -9
- package/navigationtab/lib/navigation-tab-styles.css.js.map +0 -1
- package/navigationtab/lib/navigation-tab.d.ts +0 -35
- package/navigationtab/lib/navigation-tab.js +0 -135
- package/navigationtab/lib/navigation-tab.js.map +0 -1
- package/navigationtab/navigation-tab.d.ts +0 -18
- package/navigationtab/navigation-tab.js +0 -21
- package/navigationtab/navigation-tab.js.map +0 -1
- package/radio/lib/_radio.scss +0 -167
- package/radio/lib/forced-colors-styles.css.js +0 -9
- package/radio/lib/forced-colors-styles.css.js.map +0 -1
- package/radio/lib/forced-colors-styles.scss +0 -29
- package/radio/lib/radio-styles.css.js +0 -9
- package/radio/lib/radio-styles.css.js.map +0 -1
- package/radio/lib/radio.d.ts +0 -54
- package/radio/lib/radio.js +0 -152
- package/radio/lib/radio.js.map +0 -1
- package/radio/lib/single-selection-controller.js +0 -193
- package/radio/lib/single-selection-controller.js.map +0 -1
- package/ripple/directive.d.ts +0 -31
- package/ripple/directive.js +0 -79
- package/ripple/directive.js.map +0 -1
- package/ripple/lib/_md-comp-ripple.scss +0 -30
- package/ripple/lib/_ripple.scss +0 -114
- package/ripple/lib/ripple-styles.css.js +0 -9
- package/ripple/lib/ripple-styles.css.js.map +0 -1
- package/ripple/lib/ripple.d.ts +0 -64
- package/ripple/lib/ripple.js +0 -354
- package/ripple/lib/ripple.js.map +0 -1
- package/sass/_assert.scss +0 -23
- package/sass/_color-scheme.scss +0 -92
- package/sass/_color.scss +0 -170
- package/sass/_dom.scss +0 -52
- package/sass/_feature-flags.scss +0 -119
- package/sass/_map-ext.scss +0 -51
- package/sass/_theme.scss +0 -249
- package/sass/_touch-target.scss +0 -22
- package/sass/_var.scss +0 -245
- package/segmentedbutton/lib/_outlined-segmented-button.scss +0 -46
- package/segmentedbutton/lib/_shared.scss +0 -382
- package/segmentedbutton/lib/outlined-styles.css.js +0 -9
- package/segmentedbutton/lib/outlined-styles.css.js.map +0 -1
- package/segmentedbutton/lib/segmented-button.d.ts +0 -48
- package/segmentedbutton/lib/segmented-button.js +0 -175
- package/segmentedbutton/lib/segmented-button.js.map +0 -1
- package/segmentedbutton/lib/shared-styles.css.js +0 -9
- package/segmentedbutton/lib/shared-styles.css.js.map +0 -1
- package/segmentedbutton/outlined-segmented-button.d.ts +0 -20
- package/segmentedbutton/outlined-segmented-button.js +0 -24
- package/segmentedbutton/outlined-segmented-button.js.map +0 -1
- package/segmentedbuttonset/lib/_outlined-segmented-button-set.scss +0 -53
- package/segmentedbuttonset/lib/outlined-styles.css.js +0 -9
- package/segmentedbuttonset/lib/outlined-styles.css.js.map +0 -1
- package/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -26
- package/segmentedbuttonset/lib/segmented-button-set.js +0 -110
- package/segmentedbuttonset/lib/segmented-button-set.js.map +0 -1
- package/segmentedbuttonset/outlined-segmented-button-set.d.ts +0 -20
- package/segmentedbuttonset/outlined-segmented-button-set.js +0 -24
- package/segmentedbuttonset/outlined-segmented-button-set.js.map +0 -1
- package/select/lib/_filled-select.scss +0 -222
- package/select/lib/_outlined-select.scss +0 -180
- package/select/lib/_shared.scss +0 -48
- package/select/lib/filled-select-styles.css.js +0 -9
- package/select/lib/filled-select-styles.css.js.map +0 -1
- package/select/lib/outlined-select-styles.css.js +0 -9
- package/select/lib/outlined-select-styles.css.js.map +0 -1
- package/select/lib/select.d.ts +0 -216
- package/select/lib/select.js +0 -589
- package/select/lib/select.js.map +0 -1
- package/select/lib/selectoption/harness.d.ts +0 -11
- package/select/lib/selectoption/harness.js +0 -12
- package/select/lib/selectoption/harness.js.map +0 -1
- package/select/lib/selectoption/select-option.d.ts +0 -30
- package/select/lib/selectoption/select-option.js +0 -71
- package/select/lib/selectoption/select-option.js.map +0 -1
- package/select/lib/shared-styles.css.js +0 -9
- package/select/lib/shared-styles.css.js.map +0 -1
- package/select/lib/shared.d.ts +0 -52
- package/select/lib/shared.js +0 -41
- package/select/lib/shared.js.map +0 -1
- package/slider/lib/_slider.scss +0 -476
- package/slider/lib/forced-colors-styles.css.js +0 -9
- package/slider/lib/forced-colors-styles.css.js.map +0 -1
- package/slider/lib/forced-colors-styles.scss +0 -53
- package/slider/lib/slider-styles.css.js +0 -9
- package/slider/lib/slider-styles.css.js.map +0 -1
- package/slider/lib/slider.d.ts +0 -124
- package/slider/lib/slider.js +0 -485
- package/slider/lib/slider.js.map +0 -1
- package/switch/lib/README.md +0 -55
- package/switch/lib/_handle.scss +0 -168
- package/switch/lib/_icon.scss +0 -73
- package/switch/lib/_switch.scss +0 -226
- package/switch/lib/_track.scss +0 -98
- package/switch/lib/switch-styles.css.js +0 -9
- package/switch/lib/switch-styles.css.js.map +0 -1
- package/switch/lib/switch.d.ts +0 -75
- package/switch/lib/switch.js +0 -215
- package/switch/lib/switch.js.map +0 -1
- package/textfield/lib/_filled-text-field.scss +0 -205
- package/textfield/lib/_input.scss +0 -61
- package/textfield/lib/_outlined-text-field.scss +0 -161
- package/textfield/lib/_shared.scss +0 -41
- package/textfield/lib/filled-styles.css.js +0 -9
- package/textfield/lib/filled-styles.css.js.map +0 -1
- package/textfield/lib/outlined-styles.css.js +0 -9
- package/textfield/lib/outlined-styles.css.js.map +0 -1
- package/textfield/lib/shared-styles.css.js +0 -9
- package/textfield/lib/shared-styles.css.js.map +0 -1
- package/textfield/lib/text-field.d.ts +0 -338
- package/textfield/lib/text-field.js +0 -720
- package/textfield/lib/text-field.js.map +0 -1
- package/tokens/_md-comp-banner.scss +0 -23
- package/tokens/_md-comp-bottom-app-bar.scss +0 -21
- package/tokens/_md-comp-carousel-item.scss +0 -23
- package/tokens/_md-comp-circular-progress-indicator.scss +0 -63
- package/tokens/_md-comp-data-table.scss +0 -23
- package/tokens/_md-comp-date-input-modal.scss +0 -23
- package/tokens/_md-comp-date-picker-docked.scss +0 -25
- package/tokens/_md-comp-date-picker-modal.scss +0 -25
- package/tokens/_md-comp-elevated-card.scss +0 -23
- package/tokens/_md-comp-filled-autocomplete.scss +0 -25
- package/tokens/_md-comp-filled-card.scss +0 -23
- package/tokens/_md-comp-filled-menu-button.scss +0 -25
- package/tokens/_md-comp-linear-progress-indicator.scss +0 -50
- package/tokens/_md-comp-navigation-rail.scss +0 -25
- package/tokens/_md-comp-outlined-autocomplete.scss +0 -28
- package/tokens/_md-comp-outlined-card.scss +0 -23
- package/tokens/_md-comp-outlined-menu-button.scss +0 -23
- package/tokens/_md-comp-plain-tooltip.scss +0 -21
- package/tokens/_md-comp-primary-navigation-tab.scss +0 -50
- package/tokens/_md-comp-radio-button.scss +0 -19
- package/tokens/_md-comp-rich-tooltip.scss +0 -25
- package/tokens/_md-comp-scrim.scss +0 -17
- package/tokens/_md-comp-search-bar.scss +0 -25
- package/tokens/_md-comp-search-view.scss +0 -23
- package/tokens/_md-comp-secondary-navigation-tab.scss +0 -49
- package/tokens/_md-comp-sheet-bottom.scss +0 -21
- package/tokens/_md-comp-sheet-floating.scss +0 -21
- package/tokens/_md-comp-sheet-side.scss +0 -25
- package/tokens/_md-comp-snackbar.scss +0 -25
- package/tokens/_md-comp-standard-menu-button.scss +0 -23
- package/tokens/_md-comp-time-input.scss +0 -25
- package/tokens/_md-comp-time-picker.scss +0 -25
- package/tokens/_md-comp-top-app-bar-large.scss +0 -23
- package/tokens/_md-comp-top-app-bar-medium.scss +0 -23
- package/tokens/_md-comp-top-app-bar-small-centered.scss +0 -26
- package/tokens/_md-comp-top-app-bar-small.scss +0 -23
- package/tokens/v0_172/_md-comp-assist-chip.scss +0 -108
- package/tokens/v0_172/_md-comp-badge.scss +0 -58
- package/tokens/v0_172/_md-comp-banner.scss +0 -73
- package/tokens/v0_172/_md-comp-bottom-app-bar.scss +0 -33
- package/tokens/v0_172/_md-comp-carousel-item.scss +0 -63
- package/tokens/v0_172/_md-comp-checkbox.scss +0 -126
- package/tokens/v0_172/_md-comp-circular-progress-indicator.scss +0 -39
- package/tokens/v0_172/_md-comp-data-table.scss +0 -96
- package/tokens/v0_172/_md-comp-date-input-modal.scss +0 -87
- package/tokens/v0_172/_md-comp-date-picker-docked.scss +0 -244
- package/tokens/v0_172/_md-comp-date-picker-modal.scss +0 -303
- package/tokens/v0_172/_md-comp-dialog.scss +0 -121
- package/tokens/v0_172/_md-comp-divider.scss +0 -25
- package/tokens/v0_172/_md-comp-elevated-button.scss +0 -89
- package/tokens/v0_172/_md-comp-elevated-card.scss +0 -57
- package/tokens/v0_172/_md-comp-extended-fab-branded.scss +0 -86
- package/tokens/v0_172/_md-comp-extended-fab-primary.scss +0 -94
- package/tokens/v0_172/_md-comp-extended-fab-secondary.scss +0 -95
- package/tokens/v0_172/_md-comp-extended-fab-surface.scss +0 -90
- package/tokens/v0_172/_md-comp-extended-fab-tertiary.scss +0 -95
- package/tokens/v0_172/_md-comp-fab-branded-large.scss +0 -60
- package/tokens/v0_172/_md-comp-fab-branded.scss +0 -60
- package/tokens/v0_172/_md-comp-fab-primary-large.scss +0 -65
- package/tokens/v0_172/_md-comp-fab-primary-small.scss +0 -65
- package/tokens/v0_172/_md-comp-fab-primary.scss +0 -65
- package/tokens/v0_172/_md-comp-fab-secondary-large.scss +0 -66
- package/tokens/v0_172/_md-comp-fab-secondary-small.scss +0 -66
- package/tokens/v0_172/_md-comp-fab-secondary.scss +0 -66
- package/tokens/v0_172/_md-comp-fab-surface-large.scss +0 -64
- package/tokens/v0_172/_md-comp-fab-surface-small.scss +0 -64
- package/tokens/v0_172/_md-comp-fab-surface.scss +0 -64
- package/tokens/v0_172/_md-comp-fab-tertiary-large.scss +0 -66
- package/tokens/v0_172/_md-comp-fab-tertiary-small.scss +0 -66
- package/tokens/v0_172/_md-comp-fab-tertiary.scss +0 -66
- package/tokens/v0_172/_md-comp-filled-autocomplete.scss +0 -265
- package/tokens/v0_172/_md-comp-filled-button.scss +0 -89
- package/tokens/v0_172/_md-comp-filled-card.scss +0 -59
- package/tokens/v0_172/_md-comp-filled-icon-button.scss +0 -79
- package/tokens/v0_172/_md-comp-filled-menu-button.scss +0 -98
- package/tokens/v0_172/_md-comp-filled-select.scss +0 -270
- package/tokens/v0_172/_md-comp-filled-text-field.scss +0 -190
- package/tokens/v0_172/_md-comp-filled-tonal-button.scss +0 -99
- package/tokens/v0_172/_md-comp-filled-tonal-icon-button.scss +0 -86
- package/tokens/v0_172/_md-comp-filter-chip.scss +0 -207
- package/tokens/v0_172/_md-comp-full-screen-dialog.scss +0 -111
- package/tokens/v0_172/_md-comp-icon-button.scss +0 -70
- package/tokens/v0_172/_md-comp-input-chip.scss +0 -184
- package/tokens/v0_172/_md-comp-linear-progress-indicator.scss +0 -41
- package/tokens/v0_172/_md-comp-list.scss +0 -248
- package/tokens/v0_172/_md-comp-menu.scss +0 -35
- package/tokens/v0_172/_md-comp-navigation-bar.scss +0 -112
- package/tokens/v0_172/_md-comp-navigation-drawer.scss +0 -162
- package/tokens/v0_172/_md-comp-navigation-rail.scss +0 -116
- package/tokens/v0_172/_md-comp-outlined-autocomplete.scss +0 -255
- package/tokens/v0_172/_md-comp-outlined-button.scss +0 -84
- package/tokens/v0_172/_md-comp-outlined-card.scss +0 -63
- package/tokens/v0_172/_md-comp-outlined-icon-button.scss +0 -79
- package/tokens/v0_172/_md-comp-outlined-menu-button.scss +0 -94
- package/tokens/v0_172/_md-comp-outlined-segmented-button.scss +0 -112
- package/tokens/v0_172/_md-comp-outlined-select.scss +0 -260
- package/tokens/v0_172/_md-comp-outlined-text-field.scss +0 -171
- package/tokens/v0_172/_md-comp-plain-tooltip.scss +0 -55
- package/tokens/v0_172/_md-comp-primary-navigation-tab.scss +0 -121
- package/tokens/v0_172/_md-comp-radio-button.scss +0 -68
- package/tokens/v0_172/_md-comp-rich-tooltip.scss +0 -119
- package/tokens/v0_172/_md-comp-scrim.scss +0 -25
- package/tokens/v0_172/_md-comp-search-bar.scss +0 -97
- package/tokens/v0_172/_md-comp-search-view.scss +0 -91
- package/tokens/v0_172/_md-comp-secondary-navigation-tab.scss +0 -84
- package/tokens/v0_172/_md-comp-sheet-bottom.scss +0 -44
- package/tokens/v0_172/_md-comp-sheet-floating.scss +0 -32
- package/tokens/v0_172/_md-comp-sheet-side.scss +0 -91
- package/tokens/v0_172/_md-comp-slider.scss +0 -115
- package/tokens/v0_172/_md-comp-snackbar.scss +0 -127
- package/tokens/v0_172/_md-comp-standard-menu-button.scss +0 -98
- package/tokens/v0_172/_md-comp-suggestion-chip.scss +0 -124
- package/tokens/v0_172/_md-comp-switch.scss +0 -138
- package/tokens/v0_172/_md-comp-text-button.scss +0 -77
- package/tokens/v0_172/_md-comp-time-input.scss +0 -217
- package/tokens/v0_172/_md-comp-time-picker.scss +0 -264
- package/tokens/v0_172/_md-comp-top-app-bar-large.scss +0 -61
- package/tokens/v0_172/_md-comp-top-app-bar-medium.scss +0 -61
- package/tokens/v0_172/_md-comp-top-app-bar-small-centered.scss +0 -68
- package/tokens/v0_172/_md-comp-top-app-bar-small.scss +0 -64
- package/tokens/v0_172/_md-ref-palette.scss +0 -107
- package/tokens/v0_172/_md-ref-typeface.scss +0 -21
- package/tokens/v0_172/_md-sys-color.scss +0 -904
- package/tokens/v0_172/_md-sys-elevation.scss +0 -21
- package/tokens/v0_172/_md-sys-motion.scss +0 -53
- package/tokens/v0_172/_md-sys-shape.scss +0 -30
- package/tokens/v0_172/_md-sys-state.scss +0 -19
- package/tokens/v0_172/_md-sys-typescale.scss +0 -284
- package/types/aria.d.ts +0 -106
- package/types/keys.d.ts +0 -57
- /package/button/{lib → internal}/elevated-styles.css.d.ts +0 -0
- /package/button/{lib → internal}/elevated-styles.scss +0 -0
- /package/button/{lib → internal}/filled-styles.css.d.ts +0 -0
- /package/button/{lib → internal}/filled-styles.scss +0 -0
- /package/{iconbutton/lib → button/internal}/filled-tonal-styles.css.d.ts +0 -0
- /package/button/{lib → internal}/outlined-styles.css.d.ts +0 -0
- /package/button/{lib → internal}/outlined-styles.scss +0 -0
- /package/button/{lib → internal}/shared-elevation-styles.css.d.ts +0 -0
- /package/button/{lib → internal}/shared-elevation-styles.scss +0 -0
- /package/button/{lib → internal}/shared-styles.css.d.ts +0 -0
- /package/button/{lib → internal}/shared-styles.scss +0 -0
- /package/button/{lib → internal}/text-styles.css.d.ts +0 -0
- /package/button/{lib → internal}/text-styles.scss +0 -0
- /package/checkbox/{lib → internal}/checkbox-styles.css.d.ts +0 -0
- /package/checkbox/{lib → internal}/checkbox-styles.scss +0 -0
- /package/chips/{lib → internal}/assist-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/assist-styles.scss +0 -0
- /package/{badge/lib/badge-styles.css.d.ts → chips/internal/chip-set-styles.css.d.ts} +0 -0
- /package/chips/{lib → internal}/elevated-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/elevated-styles.scss +0 -0
- /package/chips/{lib → internal}/filter-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/filter-styles.scss +0 -0
- /package/{button/lib/tonal-styles.css.d.ts → chips/internal/input-styles.css.d.ts} +0 -0
- /package/{checkbox/lib/forced-colors-styles.css.d.ts → chips/internal/selectable-styles.css.d.ts} +0 -0
- /package/chips/{lib → internal}/shared-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/shared-styles.scss +0 -0
- /package/chips/{lib → internal}/suggestion-chip.d.ts +0 -0
- /package/chips/{lib → internal}/suggestion-chip.js +0 -0
- /package/chips/{lib → internal}/suggestion-chip.js.map +0 -0
- /package/chips/{lib → internal}/suggestion-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/suggestion-styles.scss +0 -0
- /package/{circularprogress/lib/circular-progress-styles.css.d.ts → chips/internal/trailing-icon-styles.css.d.ts} +0 -0
- /package/dialog/{lib → internal}/dialog-styles.css.d.ts +0 -0
- /package/dialog/{lib → internal}/dialog-styles.scss +0 -0
- /package/divider/{lib → internal}/divider-styles.css.d.ts +0 -0
- /package/divider/{lib → internal}/divider-styles.css.js +0 -0
- /package/divider/{lib → internal}/divider-styles.css.js.map +0 -0
- /package/divider/{lib → internal}/divider-styles.scss +0 -0
- /package/divider/{lib → internal}/divider.d.ts +0 -0
- /package/divider/{lib → internal}/divider.js +0 -0
- /package/divider/{lib → internal}/divider.js.map +0 -0
- /package/elevation/{lib → internal}/elevation-styles.css.d.ts +0 -0
- /package/elevation/{lib → internal}/elevation-styles.scss +0 -0
- /package/fab/{lib → internal}/_fab-branded.scss +0 -0
- /package/fab/{lib → internal}/fab-branded-styles.css.d.ts +0 -0
- /package/fab/{lib → internal}/fab-branded-styles.scss +0 -0
- /package/fab/{lib → internal}/fab-styles.css.d.ts +0 -0
- /package/fab/{lib → internal}/fab-styles.scss +0 -0
- /package/fab/{lib → internal}/fab.js +0 -0
- /package/fab/{lib → internal}/forced-colors-styles.css.d.ts +0 -0
- /package/fab/{lib → internal}/shared-styles.css.d.ts +0 -0
- /package/fab/{lib → internal}/shared-styles.scss +0 -0
- /package/field/{lib → internal}/filled-field.d.ts +0 -0
- /package/field/{lib → internal}/filled-field.js +0 -0
- /package/field/{lib → internal}/filled-field.js.map +0 -0
- /package/field/{lib → internal}/filled-styles.css.d.ts +0 -0
- /package/field/{lib → internal}/filled-styles.scss +0 -0
- /package/field/{lib → internal}/outlined-field.js +0 -0
- /package/field/{lib → internal}/outlined-styles.css.d.ts +0 -0
- /package/field/{lib → internal}/outlined-styles.scss +0 -0
- /package/field/{lib → internal}/shared-styles.css.d.ts +0 -0
- /package/field/{lib → internal}/shared-styles.scss +0 -0
- /package/focus/{lib → internal}/focus-ring-styles.css.d.ts +0 -0
- /package/focus/{lib → internal}/focus-ring-styles.scss +0 -0
- /package/icon/{lib → internal}/icon-styles.css.d.ts +0 -0
- /package/icon/{lib → internal}/icon-styles.scss +0 -0
- /package/iconbutton/{lib → internal}/filled-styles.css.d.ts +0 -0
- /package/iconbutton/{lib → internal}/filled-styles.scss +0 -0
- /package/iconbutton/{lib/outlined-styles.css.d.ts → internal/filled-tonal-styles.css.d.ts} +0 -0
- /package/iconbutton/{lib → internal}/filled-tonal-styles.scss +0 -0
- /package/{segmentedbutton/lib → iconbutton/internal}/outlined-styles.css.d.ts +0 -0
- /package/iconbutton/{lib → internal}/outlined-styles.scss +0 -0
- /package/iconbutton/{lib → internal}/shared-styles.css.d.ts +0 -0
- /package/iconbutton/{lib → internal}/shared-styles.scss +0 -0
- /package/iconbutton/{lib → internal}/standard-styles.css.d.ts +0 -0
- /package/{controller → internal/controller}/events.d.ts +0 -0
- /package/{controller → internal/controller}/events.js +0 -0
- /package/{controller → internal/controller}/events.js.map +0 -0
- /package/{controller → internal/controller}/is-rtl.d.ts +0 -0
- /package/{controller → internal/controller}/is-rtl.js +0 -0
- /package/{controller → internal/controller}/is-rtl.js.map +0 -0
- /package/{controller → internal/controller}/string-converter.d.ts +0 -0
- /package/{controller → internal/controller}/string-converter.js +0 -0
- /package/{controller → internal/controller}/string-converter.js.map +0 -0
- /package/{motion → internal/motion}/_animation.scss +0 -0
- /package/{sass → internal/sass}/_string-ext.scss +0 -0
- /package/{linearprogress/lib/linear-progress-styles.css.d.ts → labs/badge/internal/badge-styles.css.d.ts} +0 -0
- /package/{badge/lib → labs/badge/internal}/badge-styles.scss +0 -0
- /package/{badge/lib → labs/badge/internal}/badge.d.ts +0 -0
- /package/{badge/lib → labs/badge/internal}/badge.js +0 -0
- /package/{badge/lib → labs/badge/internal}/badge.js.map +0 -0
- /package/{list/lib/list-styles.css.d.ts → labs/item/internal/item-styles.css.d.ts} +0 -0
- /package/{navigationbar/lib → labs/navigationbar/internal}/constants.js +0 -0
- /package/{navigationbar/lib → labs/navigationbar/internal}/navigation-bar-styles.css.d.ts +0 -0
- /package/{navigationbar/lib → labs/navigationbar/internal}/navigation-bar-styles.scss +0 -0
- /package/{navigationbar/lib → labs/navigationbar/internal}/state.js +0 -0
- /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/_shared.scss +0 -0
- /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-modal-styles.css.d.ts +0 -0
- /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-modal-styles.scss +0 -0
- /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-modal.d.ts +0 -0
- /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-styles.css.d.ts +0 -0
- /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/navigation-drawer-styles.scss +0 -0
- /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.css.d.ts +0 -0
- /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.css.js +0 -0
- /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.css.js.map +0 -0
- /package/{navigationdrawer/lib → labs/navigationdrawer/internal}/shared-styles.scss +0 -0
- /package/{navigationtab/lib → labs/navigationtab/internal}/navigation-tab-styles.css.d.ts +0 -0
- /package/{navigationtab/lib → labs/navigationtab/internal}/navigation-tab-styles.scss +0 -0
- /package/{navigationtab/lib → labs/navigationtab/internal}/state.d.ts +0 -0
- /package/{navigationtab/lib → labs/navigationtab/internal}/state.js +0 -0
- /package/{navigationtab/lib → labs/navigationtab/internal}/state.js.map +0 -0
- /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-segmented-button.d.ts +0 -0
- /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-segmented-button.js +0 -0
- /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-segmented-button.js.map +0 -0
- /package/{segmentedbuttonset/lib → labs/segmentedbutton/internal}/outlined-styles.css.d.ts +0 -0
- /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/outlined-styles.scss +0 -0
- /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/shared-styles.css.d.ts +0 -0
- /package/{segmentedbutton/lib → labs/segmentedbutton/internal}/shared-styles.scss +0 -0
- /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/_shared.scss +0 -0
- /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-segmented-button-set.d.ts +0 -0
- /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-segmented-button-set.js +0 -0
- /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-segmented-button-set.js.map +0 -0
- /package/{textfield/lib → labs/segmentedbuttonset/internal}/outlined-styles.css.d.ts +0 -0
- /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/outlined-styles.scss +0 -0
- /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.css.d.ts +0 -0
- /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.css.js +0 -0
- /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.css.js.map +0 -0
- /package/{segmentedbuttonset/lib → labs/segmentedbuttonset/internal}/shared-styles.scss +0 -0
- /package/list/{lib/listitem/forced-colors-styles.css.d.ts → internal/list-styles.css.d.ts} +0 -0
- /package/list/{lib → internal}/list-styles.scss +0 -0
- /package/{menu/lib → list/internal/listitem}/forced-colors-styles.css.d.ts +0 -0
- /package/list/{lib → internal}/listitem/list-item-styles.css.d.ts +0 -0
- /package/list/{lib → internal}/listitem/list-item-styles.scss +0 -0
- /package/menu/{lib/menuitem → internal}/forced-colors-styles.css.d.ts +0 -0
- /package/menu/{lib → internal}/forced-colors-styles.css.js +0 -0
- /package/menu/{lib → internal}/forced-colors-styles.css.js.map +0 -0
- /package/menu/{lib → internal}/forced-colors-styles.scss +0 -0
- /package/menu/{lib → internal}/menu-styles.css.d.ts +0 -0
- /package/menu/{lib → internal}/menu-styles.scss +0 -0
- /package/{radio/lib → menu/internal/menuitem}/forced-colors-styles.css.d.ts +0 -0
- /package/menu/{lib → internal}/menuitem/menu-item-styles.css.d.ts +0 -0
- /package/menu/{lib → internal}/menuitem/menu-item-styles.scss +0 -0
- /package/{radio/lib/radio-styles.css.d.ts → menu/internal/submenu/sub-menu-styles.css.d.ts} +0 -0
- /package/menu/{lib → internal}/types.d.ts +0 -0
- /package/menu/{lib → internal}/types.js +0 -0
- /package/menu/{lib → internal}/types.js.map +0 -0
- /package/{ripple/lib/ripple-styles.css.d.ts → progress/internal/circular-progress-styles.css.d.ts} +0 -0
- /package/{circularprogress/lib → progress/internal}/circular-progress-styles.scss +0 -0
- /package/{select/lib/filled-forced-colors-styles.css.d.ts → progress/internal/linear-progress-styles.css.d.ts} +0 -0
- /package/{linearprogress/lib → progress/internal}/linear-progress-styles.scss +0 -0
- /package/{slider/lib → radio/internal}/forced-colors-styles.css.d.ts +0 -0
- /package/{select/lib/filled-select-styles.css.d.ts → radio/internal/radio-styles.css.d.ts} +0 -0
- /package/radio/{lib → internal}/radio-styles.scss +0 -0
- /package/radio/{lib → internal}/single-selection-controller.d.ts +0 -0
- /package/{select/lib/outlined-forced-colors-styles.css.d.ts → ripple/internal/ripple-styles.css.d.ts} +0 -0
- /package/ripple/{lib → internal}/ripple-styles.scss +0 -0
- /package/{textfield/lib → select/internal}/filled-forced-colors-styles.css.d.ts +0 -0
- /package/select/{lib → internal}/filled-forced-colors-styles.css.js +0 -0
- /package/select/{lib → internal}/filled-forced-colors-styles.css.js.map +0 -0
- /package/select/{lib → internal}/filled-forced-colors-styles.scss +0 -0
- /package/select/{lib/outlined-select-styles.css.d.ts → internal/filled-select-styles.css.d.ts} +0 -0
- /package/select/{lib → internal}/filled-select-styles.scss +0 -0
- /package/select/{lib → internal}/filled-select.d.ts +0 -0
- /package/select/{lib → internal}/filled-select.js +0 -0
- /package/select/{lib → internal}/filled-select.js.map +0 -0
- /package/{textfield/lib → select/internal}/outlined-forced-colors-styles.css.d.ts +0 -0
- /package/select/{lib → internal}/outlined-forced-colors-styles.css.js +0 -0
- /package/select/{lib → internal}/outlined-forced-colors-styles.css.js.map +0 -0
- /package/select/{lib → internal}/outlined-forced-colors-styles.scss +0 -0
- /package/select/{lib/shared-styles.css.d.ts → internal/outlined-select-styles.css.d.ts} +0 -0
- /package/select/{lib → internal}/outlined-select-styles.scss +0 -0
- /package/select/{lib → internal}/outlined-select.d.ts +0 -0
- /package/select/{lib → internal}/outlined-select.js +0 -0
- /package/select/{lib → internal}/outlined-select.js.map +0 -0
- /package/{textfield/lib → select/internal}/shared-styles.css.d.ts +0 -0
- /package/select/{lib → internal}/shared-styles.scss +0 -0
- /package/slider/{lib/slider-styles.css.d.ts → internal/forced-colors-styles.css.d.ts} +0 -0
- /package/{switch/lib/switch-styles.css.d.ts → slider/internal/slider-styles.css.d.ts} +0 -0
- /package/slider/{lib → internal}/slider-styles.scss +0 -0
- /package/{textfield/lib/filled-styles.css.d.ts → switch/internal/forced-colors-styles.css.d.ts} +0 -0
- /package/{tokens/v0_172/index.test.css.d.ts → switch/internal/switch-styles.css.d.ts} +0 -0
- /package/switch/{lib → internal}/switch-styles.scss +0 -0
- /package/{tokens/v0_172/lib.test.css.d.ts → tabs/internal/primary-tab-styles.css.d.ts} +0 -0
- /package/textfield/{lib → internal}/_icon.scss +0 -0
- /package/textfield/{lib → internal}/filled-forced-colors-styles.css.js +0 -0
- /package/textfield/{lib → internal}/filled-forced-colors-styles.css.js.map +0 -0
- /package/textfield/{lib → internal}/filled-forced-colors-styles.scss +0 -0
- /package/textfield/{lib → internal}/filled-styles.scss +0 -0
- /package/textfield/{lib → internal}/filled-text-field.d.ts +0 -0
- /package/textfield/{lib → internal}/filled-text-field.js +0 -0
- /package/textfield/{lib → internal}/filled-text-field.js.map +0 -0
- /package/textfield/{lib → internal}/outlined-forced-colors-styles.css.js +0 -0
- /package/textfield/{lib → internal}/outlined-forced-colors-styles.css.js.map +0 -0
- /package/textfield/{lib → internal}/outlined-forced-colors-styles.scss +0 -0
- /package/textfield/{lib → internal}/outlined-styles.scss +0 -0
- /package/textfield/{lib → internal}/outlined-text-field.d.ts +0 -0
- /package/textfield/{lib → internal}/outlined-text-field.js +0 -0
- /package/textfield/{lib → internal}/outlined-text-field.js.map +0 -0
- /package/textfield/{lib → internal}/shared-styles.scss +0 -0
- /package/tokens/{v0_172 → v0_192}/_index.scss +0 -0
- /package/tokens/{v0_172 → v0_192}/index.test.css.js +0 -0
- /package/tokens/{v0_172 → v0_192}/index.test.css.js.map +0 -0
- /package/tokens/{v0_172 → v0_192}/index.test.scss +0 -0
- /package/tokens/{v0_172 → v0_192}/lib.test.css.js +0 -0
- /package/tokens/{v0_172 → v0_192}/lib.test.css.js.map +0 -0
- /package/tokens/{v0_172 → v0_192}/lib.test.scss +0 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { activateFirstItem, activateLastItem, activateNextItem, activatePreviousItem, getActiveItem, getFirstActivatableItem } from './list-navigation-helpers.js';
|
|
7
|
+
// TODO: move this file to List and make List use this
|
|
8
|
+
/**
|
|
9
|
+
* Default keys that trigger navigation.
|
|
10
|
+
*/
|
|
11
|
+
// tslint:disable:enforce-name-casing Following Enum style
|
|
12
|
+
export const NavigableKeys = {
|
|
13
|
+
ArrowDown: 'ArrowDown',
|
|
14
|
+
ArrowLeft: 'ArrowLeft',
|
|
15
|
+
ArrowUp: 'ArrowUp',
|
|
16
|
+
ArrowRight: 'ArrowRight',
|
|
17
|
+
Home: 'Home',
|
|
18
|
+
End: 'End',
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* A controller that handles list keyboard navigation and item management.
|
|
22
|
+
*/
|
|
23
|
+
export class ListController {
|
|
24
|
+
constructor(config) {
|
|
25
|
+
/**
|
|
26
|
+
* Handles keyboard navigation. Should be bound to the node that will act as
|
|
27
|
+
* the List.
|
|
28
|
+
*/
|
|
29
|
+
this.handleKeydown = (event) => {
|
|
30
|
+
const key = event.key;
|
|
31
|
+
if (event.defaultPrevented || !this.isNavigableKey(key)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// do not use this.items directly in upcoming calculations so we don't
|
|
35
|
+
// re-query the DOM unnecessarily
|
|
36
|
+
const items = this.items;
|
|
37
|
+
if (!items.length) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const activeItemRecord = getActiveItem(items, this.isActivatable);
|
|
41
|
+
if (activeItemRecord) {
|
|
42
|
+
activeItemRecord.item.tabIndex = -1;
|
|
43
|
+
}
|
|
44
|
+
event.preventDefault();
|
|
45
|
+
const isRtl = this.isRtl();
|
|
46
|
+
const inlinePrevious = isRtl ? NavigableKeys.ArrowRight : NavigableKeys.ArrowLeft;
|
|
47
|
+
const inlineNext = isRtl ? NavigableKeys.ArrowLeft : NavigableKeys.ArrowRight;
|
|
48
|
+
switch (key) {
|
|
49
|
+
// Activate the next item
|
|
50
|
+
case NavigableKeys.ArrowDown:
|
|
51
|
+
case inlineNext:
|
|
52
|
+
activateNextItem(items, activeItemRecord, this.isActivatable);
|
|
53
|
+
break;
|
|
54
|
+
// Activate the previous item
|
|
55
|
+
case NavigableKeys.ArrowUp:
|
|
56
|
+
case inlinePrevious:
|
|
57
|
+
activatePreviousItem(items, activeItemRecord, this.isActivatable);
|
|
58
|
+
break;
|
|
59
|
+
// Activate the first item
|
|
60
|
+
case NavigableKeys.Home:
|
|
61
|
+
activateFirstItem(items, this.isActivatable);
|
|
62
|
+
break;
|
|
63
|
+
// Activate the last item
|
|
64
|
+
case NavigableKeys.End:
|
|
65
|
+
activateLastItem(items, this.isActivatable);
|
|
66
|
+
break;
|
|
67
|
+
default:
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Listener to be bound to the `deactivate-items` item event.
|
|
73
|
+
*/
|
|
74
|
+
this.onDeactivateItems = () => {
|
|
75
|
+
const items = this.items;
|
|
76
|
+
for (const item of items) {
|
|
77
|
+
this.deactivateItem(item);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Listener to be bound to the `request-activation` item event..
|
|
82
|
+
*/
|
|
83
|
+
this.onRequestActivation = (event) => {
|
|
84
|
+
this.onDeactivateItems();
|
|
85
|
+
const target = event.target;
|
|
86
|
+
this.activateItem(target);
|
|
87
|
+
target.focus();
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Listener to be bound to the `slotchange` event for the slot that renders
|
|
91
|
+
* the items.
|
|
92
|
+
*/
|
|
93
|
+
this.onSlotchange = () => {
|
|
94
|
+
const items = this.items;
|
|
95
|
+
// Whether we have encountered an item that has been activated
|
|
96
|
+
let encounteredActivated = false;
|
|
97
|
+
for (const item of items) {
|
|
98
|
+
const isActivated = !item.disabled && item.tabIndex > -1;
|
|
99
|
+
if (isActivated && !encounteredActivated) {
|
|
100
|
+
encounteredActivated = true;
|
|
101
|
+
item.tabIndex = 0;
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
// Deactivate the rest including disabled
|
|
105
|
+
item.tabIndex = -1;
|
|
106
|
+
}
|
|
107
|
+
if (encounteredActivated) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const firstActivatableItem = getFirstActivatableItem(items, this.isActivatable);
|
|
111
|
+
if (!firstActivatableItem) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
firstActivatableItem.tabIndex = 0;
|
|
115
|
+
};
|
|
116
|
+
const { isItem, getPossibleItems, isRtl, deactivateItem, activateItem, isNavigableKey, isActivatable, } = config;
|
|
117
|
+
this.isItem = isItem;
|
|
118
|
+
this.getPossibleItems = getPossibleItems;
|
|
119
|
+
this.isRtl = isRtl;
|
|
120
|
+
this.deactivateItem = deactivateItem;
|
|
121
|
+
this.activateItem = activateItem;
|
|
122
|
+
this.isNavigableKey = isNavigableKey;
|
|
123
|
+
this.isActivatable = isActivatable;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* The items being managed by the list. Additionally, attempts to see if the
|
|
127
|
+
* object has a sub-item in the `.item` property.
|
|
128
|
+
*/
|
|
129
|
+
get items() {
|
|
130
|
+
const maybeItems = this.getPossibleItems();
|
|
131
|
+
const items = [];
|
|
132
|
+
for (const itemOrParent of maybeItems) {
|
|
133
|
+
const isItem = this.isItem(itemOrParent);
|
|
134
|
+
// if the item is a list item, add it to the list of items
|
|
135
|
+
if (isItem) {
|
|
136
|
+
items.push(itemOrParent);
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
// If the item exposes an `item` property check if it is a list item.
|
|
140
|
+
const subItem = itemOrParent.item;
|
|
141
|
+
if (subItem && this.isItem(subItem)) {
|
|
142
|
+
items.push(subItem);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return items;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Activates the next item in the list. If at the end of the list, the first
|
|
149
|
+
* item will be activated.
|
|
150
|
+
*
|
|
151
|
+
* @return The activated list item or `null` if there are no items.
|
|
152
|
+
*/
|
|
153
|
+
activateNextItem() {
|
|
154
|
+
const items = this.items;
|
|
155
|
+
const activeItemRecord = getActiveItem(items, this.isActivatable);
|
|
156
|
+
if (activeItemRecord) {
|
|
157
|
+
activeItemRecord.item.tabIndex = -1;
|
|
158
|
+
}
|
|
159
|
+
return activateNextItem(items, activeItemRecord, this.isActivatable);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Activates the previous item in the list. If at the start of the list, the
|
|
163
|
+
* last item will be activated.
|
|
164
|
+
*
|
|
165
|
+
* @return The activated list item or `null` if there are no items.
|
|
166
|
+
*/
|
|
167
|
+
activatePreviousItem() {
|
|
168
|
+
const items = this.items;
|
|
169
|
+
const activeItemRecord = getActiveItem(items, this.isActivatable);
|
|
170
|
+
if (activeItemRecord) {
|
|
171
|
+
activeItemRecord.item.tabIndex = -1;
|
|
172
|
+
}
|
|
173
|
+
return activatePreviousItem(items, activeItemRecord, this.isActivatable);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=list-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-controller.js","sourceRoot":"","sources":["list-controller.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {activateFirstItem, activateLastItem, activateNextItem, activatePreviousItem, getActiveItem, getFirstActivatableItem, ListItem} from './list-navigation-helpers.js';\n\n// TODO: move this file to List and make List use this\n\n/**\n * Default keys that trigger navigation.\n */\n// tslint:disable:enforce-name-casing Following Enum style\nexport const NavigableKeys = {\n ArrowDown: 'ArrowDown',\n ArrowLeft: 'ArrowLeft',\n ArrowUp: 'ArrowUp',\n ArrowRight: 'ArrowRight',\n Home: 'Home',\n End: 'End',\n} as const;\n// tslint:enable:enforce-name-casing\n\n/**\n * Default set of navigable keys.\n */\nexport type NavigableKeys = typeof NavigableKeys[keyof typeof NavigableKeys];\n\n/**\n * The configuration object to customize the behavior of the List Controller\n */\nexport interface ListControllerConfig<Item extends ListItem> {\n /**\n * A function that determines whether or not the given element is an Item\n */\n isItem: (item: HTMLElement) => item is Item;\n /**\n * A function that returns an array of elements to consider as items. For\n * example, all the slotted elements.\n */\n getPossibleItems: () => HTMLElement[];\n /**\n * A function that returns whether or not the list is in an RTL context.\n */\n isRtl: () => boolean;\n /**\n * Deactivates an item such as setting the tabindex to -1 and or sets selected\n * to false.\n */\n deactivateItem: (item: Item) => void;\n /**\n * Activates an item such as setting the tabindex to 1 and or sets selected to\n * true (but does not focus).\n */\n activateItem: (item: Item) => void;\n /**\n * Whether or not the key should be handled by the list for navigation.\n */\n isNavigableKey: (key: string) => boolean;\n /**\n * Whether or not the item can be activated. Defaults to items that are not\n * disabled.\n */\n isActivatable?: (item: Item) => boolean;\n}\n\n/**\n * A controller that handles list keyboard navigation and item management.\n */\nexport class ListController<Item extends ListItem> {\n isItem: (item: HTMLElement) => item is Item;\n private readonly getPossibleItems: () => HTMLElement[];\n private readonly isRtl: () => boolean;\n private readonly deactivateItem: (item: Item) => void;\n private readonly activateItem: (item: Item) => void;\n private readonly isNavigableKey: (key: string) => boolean;\n private readonly isActivatable?: (item: Item) => boolean;\n\n constructor(config: ListControllerConfig<Item>) {\n const {\n isItem,\n getPossibleItems,\n isRtl,\n deactivateItem,\n activateItem,\n isNavigableKey,\n isActivatable,\n } = config;\n this.isItem = isItem;\n this.getPossibleItems = getPossibleItems;\n this.isRtl = isRtl;\n this.deactivateItem = deactivateItem;\n this.activateItem = activateItem;\n this.isNavigableKey = isNavigableKey;\n this.isActivatable = isActivatable;\n }\n\n /**\n * The items being managed by the list. Additionally, attempts to see if the\n * object has a sub-item in the `.item` property.\n */\n get items(): Item[] {\n const maybeItems = this.getPossibleItems();\n const items: Item[] = [];\n\n for (const itemOrParent of maybeItems) {\n const isItem = this.isItem(itemOrParent);\n // if the item is a list item, add it to the list of items\n if (isItem) {\n items.push(itemOrParent);\n continue;\n }\n\n // If the item exposes an `item` property check if it is a list item.\n const subItem = (itemOrParent as HTMLElement & {item?: Item}).item;\n if (subItem && this.isItem(subItem)) {\n items.push(subItem);\n }\n }\n\n return items;\n }\n\n /**\n * Handles keyboard navigation. Should be bound to the node that will act as\n * the List.\n */\n handleKeydown = (event: KeyboardEvent) => {\n const key = event.key;\n if (event.defaultPrevented || !this.isNavigableKey(key)) {\n return;\n }\n // do not use this.items directly in upcoming calculations so we don't\n // re-query the DOM unnecessarily\n const items = this.items;\n\n if (!items.length) {\n return;\n }\n\n const activeItemRecord = getActiveItem(items, this.isActivatable);\n\n if (activeItemRecord) {\n activeItemRecord.item.tabIndex = -1;\n }\n\n event.preventDefault();\n\n const isRtl = this.isRtl();\n const inlinePrevious =\n isRtl ? NavigableKeys.ArrowRight : NavigableKeys.ArrowLeft;\n const inlineNext =\n isRtl ? NavigableKeys.ArrowLeft : NavigableKeys.ArrowRight;\n\n switch (key) {\n // Activate the next item\n case NavigableKeys.ArrowDown:\n case inlineNext:\n activateNextItem(items, activeItemRecord, this.isActivatable);\n break;\n\n // Activate the previous item\n case NavigableKeys.ArrowUp:\n case inlinePrevious:\n activatePreviousItem(items, activeItemRecord, this.isActivatable);\n break;\n\n // Activate the first item\n case NavigableKeys.Home:\n activateFirstItem(items, this.isActivatable);\n break;\n\n // Activate the last item\n case NavigableKeys.End:\n activateLastItem(items, this.isActivatable);\n break;\n\n default:\n break;\n }\n };\n\n /**\n * Activates the next item in the list. If at the end of the list, the first\n * item will be activated.\n *\n * @return The activated list item or `null` if there are no items.\n */\n activateNextItem(): Item|null {\n const items = this.items;\n const activeItemRecord = getActiveItem(items, this.isActivatable);\n if (activeItemRecord) {\n activeItemRecord.item.tabIndex = -1;\n }\n return activateNextItem(items, activeItemRecord, this.isActivatable);\n }\n\n /**\n * Activates the previous item in the list. If at the start of the list, the\n * last item will be activated.\n *\n * @return The activated list item or `null` if there are no items.\n */\n activatePreviousItem(): Item|null {\n const items = this.items;\n const activeItemRecord = getActiveItem(items, this.isActivatable);\n if (activeItemRecord) {\n activeItemRecord.item.tabIndex = -1;\n }\n return activatePreviousItem(items, activeItemRecord, this.isActivatable);\n }\n\n /**\n * Listener to be bound to the `deactivate-items` item event.\n */\n onDeactivateItems = () => {\n const items = this.items;\n\n for (const item of items) {\n this.deactivateItem(item);\n }\n };\n\n /**\n * Listener to be bound to the `request-activation` item event..\n */\n onRequestActivation = (event: Event) => {\n this.onDeactivateItems();\n const target = event.target as Item;\n this.activateItem(target);\n target.focus();\n };\n\n /**\n * Listener to be bound to the `slotchange` event for the slot that renders\n * the items.\n */\n onSlotchange = () => {\n const items = this.items;\n // Whether we have encountered an item that has been activated\n let encounteredActivated = false;\n\n for (const item of items) {\n const isActivated = !item.disabled && item.tabIndex > -1;\n\n if (isActivated && !encounteredActivated) {\n encounteredActivated = true;\n item.tabIndex = 0;\n continue;\n }\n\n // Deactivate the rest including disabled\n item.tabIndex = -1;\n }\n\n if (encounteredActivated) {\n return;\n }\n\n const firstActivatableItem =\n getFirstActivatableItem(items, this.isActivatable);\n\n if (!firstActivatableItem) {\n return;\n }\n\n firstActivatableItem.tabIndex = 0;\n };\n}\n"]}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export interface ListItem extends HTMLElement {
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A record that describes a list item in a list with metadata such a reference
|
|
11
|
+
* to the item and its index in the list.
|
|
12
|
+
*/
|
|
13
|
+
export interface ItemRecord<Item extends ListItem> {
|
|
14
|
+
item: Item;
|
|
15
|
+
index: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Activates the first non-disabled item of a given array of items.
|
|
19
|
+
*
|
|
20
|
+
* @param items {Array<ListItem>} The items from which to activate the
|
|
21
|
+
* first item.
|
|
22
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
23
|
+
* Defaults to non-disabled items.
|
|
24
|
+
*/
|
|
25
|
+
export declare function activateFirstItem<Item extends ListItem>(items: Item[], isActivatable?: (item: Item) => boolean): Item;
|
|
26
|
+
/**
|
|
27
|
+
* Activates the last non-disabled item of a given array of items.
|
|
28
|
+
*
|
|
29
|
+
* @param items {Array<ListItem>} The items from which to activate the
|
|
30
|
+
* last item.
|
|
31
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
32
|
+
* Defaults to non-disabled items.
|
|
33
|
+
* @nocollapse
|
|
34
|
+
*/
|
|
35
|
+
export declare function activateLastItem<Item extends ListItem>(items: Item[], isActivatable?: (item: Item) => boolean): Item;
|
|
36
|
+
/**
|
|
37
|
+
* Deactivates the currently active item of a given array of items.
|
|
38
|
+
*
|
|
39
|
+
* @param items {Array<ListItem>} The items from which to deactivate the
|
|
40
|
+
* active item.
|
|
41
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
42
|
+
* Defaults to non-disabled items.
|
|
43
|
+
* @return A record of the deleselcted activated item including the item and
|
|
44
|
+
* the index of the item or `null` if none are deactivated.
|
|
45
|
+
* @nocollapse
|
|
46
|
+
*/
|
|
47
|
+
export declare function deactivateActiveItem<Item extends ListItem>(items: Item[], isActivatable?: (item: Item) => boolean): ItemRecord<Item>;
|
|
48
|
+
/**
|
|
49
|
+
* Retrieves the first activated item of a given array of items.
|
|
50
|
+
*
|
|
51
|
+
* @param items {Array<ListItem>} The items to search.
|
|
52
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
53
|
+
* Defaults to non-disabled items.
|
|
54
|
+
* @return A record of the first activated item including the item and the
|
|
55
|
+
* index of the item or `null` if none are activated.
|
|
56
|
+
* @nocollapse
|
|
57
|
+
*/
|
|
58
|
+
export declare function getActiveItem<Item extends ListItem>(items: Item[], isActivatable?: (item: Item) => boolean): ItemRecord<Item>;
|
|
59
|
+
/**
|
|
60
|
+
* Retrieves the first non-disabled item of a given array of items. This
|
|
61
|
+
* the first item that is not disabled.
|
|
62
|
+
*
|
|
63
|
+
* @param items {Array<ListItem>} The items to search.
|
|
64
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
65
|
+
* Defaults to non-disabled items.
|
|
66
|
+
* @return The first activatable item or `null` if none are activatable.
|
|
67
|
+
* @nocollapse
|
|
68
|
+
*/
|
|
69
|
+
export declare function getFirstActivatableItem<Item extends ListItem>(items: Item[], isActivatable?: (item: Item) => boolean): Item;
|
|
70
|
+
/**
|
|
71
|
+
* Retrieves the last non-disabled item of a given array of items.
|
|
72
|
+
*
|
|
73
|
+
* @param items {Array<ListItem>} The items to search.
|
|
74
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
75
|
+
* Defaults to non-disabled items.
|
|
76
|
+
* @return The last activatable item or `null` if none are activatable.
|
|
77
|
+
* @nocollapse
|
|
78
|
+
*/
|
|
79
|
+
export declare function getLastActivatableItem<Item extends ListItem>(items: Item[], isActivatable?: (item: Item) => boolean): Item;
|
|
80
|
+
/**
|
|
81
|
+
* Retrieves the next non-disabled item of a given array of items.
|
|
82
|
+
*
|
|
83
|
+
* @param items {Array<ListItem>} The items to search.
|
|
84
|
+
* @param index {{index: number}} The index to search from.
|
|
85
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
86
|
+
* Defaults to non-disabled items.
|
|
87
|
+
* @return The next activatable item or `null` if none are activatable.
|
|
88
|
+
*/
|
|
89
|
+
export declare function getNextItem<Item extends ListItem>(items: Item[], index: number, isActivatable?: (item: Item) => boolean): Item;
|
|
90
|
+
/**
|
|
91
|
+
* Retrieves the previous non-disabled item of a given array of items.
|
|
92
|
+
*
|
|
93
|
+
* @param items {Array<ListItem>} The items to search.
|
|
94
|
+
* @param index {{index: number}} The index to search from.
|
|
95
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
96
|
+
* Defaults to non-disabled items.
|
|
97
|
+
* @return The previous activatable item or `null` if none are activatable.
|
|
98
|
+
*/
|
|
99
|
+
export declare function getPrevItem<Item extends ListItem>(items: Item[], index: number, isActivatable?: (item: Item) => boolean): Item;
|
|
100
|
+
/**
|
|
101
|
+
* Activates the next item and focuses it. If nothing is currently activated,
|
|
102
|
+
* activates the first item.
|
|
103
|
+
*/
|
|
104
|
+
export declare function activateNextItem<Item extends ListItem>(items: Item[], activeItemRecord: null | ItemRecord<Item>, isActivatable?: (item: Item) => boolean): Item | null;
|
|
105
|
+
/**
|
|
106
|
+
* Activates the previous item and focuses it. If nothing is currently
|
|
107
|
+
* activated, activates the last item.
|
|
108
|
+
*/
|
|
109
|
+
export declare function activatePreviousItem<Item extends ListItem>(items: Item[], activeItemRecord: null | ItemRecord<Item>, isActivatable?: (item: Item) => boolean): Item | null;
|
|
110
|
+
/**
|
|
111
|
+
* Creates an event that requests the parent md-list to deactivate all other
|
|
112
|
+
* items.
|
|
113
|
+
*/
|
|
114
|
+
export declare function createDeactivateItemsEvent(): Event;
|
|
115
|
+
/**
|
|
116
|
+
* The type of the event that requests the parent md-list to deactivate all
|
|
117
|
+
* other items.
|
|
118
|
+
*/
|
|
119
|
+
export type DeactivateItemsEvent = ReturnType<typeof createDeactivateItemsEvent>;
|
|
120
|
+
/**
|
|
121
|
+
* Creates an event that requests the menu to set `tabindex=0` on the item and
|
|
122
|
+
* focus it. We use this pattern because List keeps track of what element is
|
|
123
|
+
* active in the List by maintaining tabindex. We do not want list items
|
|
124
|
+
* to set tabindex on themselves or focus themselves so that we can organize all
|
|
125
|
+
* that logic in the parent List and Menus, and list item stays as dumb as
|
|
126
|
+
* possible.
|
|
127
|
+
*/
|
|
128
|
+
export declare function createRequestActivationEvent(): Event;
|
|
129
|
+
/**
|
|
130
|
+
* The type of the event that requests the list activates and focuses the item.
|
|
131
|
+
*/
|
|
132
|
+
export type RequestActivationEvent = ReturnType<typeof createRequestActivationEvent>;
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Activates the first non-disabled item of a given array of items.
|
|
8
|
+
*
|
|
9
|
+
* @param items {Array<ListItem>} The items from which to activate the
|
|
10
|
+
* first item.
|
|
11
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
12
|
+
* Defaults to non-disabled items.
|
|
13
|
+
*/
|
|
14
|
+
export function activateFirstItem(items, isActivatable = (isItemNotDisabled)) {
|
|
15
|
+
// NOTE: These selector functions are static and not on the instance such
|
|
16
|
+
// that multiple operations can be chained and we do not have to re-query
|
|
17
|
+
// the DOM
|
|
18
|
+
const firstItem = getFirstActivatableItem(items, isActivatable);
|
|
19
|
+
if (firstItem) {
|
|
20
|
+
firstItem.tabIndex = 0;
|
|
21
|
+
firstItem.focus();
|
|
22
|
+
}
|
|
23
|
+
return firstItem;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Activates the last non-disabled item of a given array of items.
|
|
27
|
+
*
|
|
28
|
+
* @param items {Array<ListItem>} The items from which to activate the
|
|
29
|
+
* last item.
|
|
30
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
31
|
+
* Defaults to non-disabled items.
|
|
32
|
+
* @nocollapse
|
|
33
|
+
*/
|
|
34
|
+
export function activateLastItem(items, isActivatable = (isItemNotDisabled)) {
|
|
35
|
+
const lastItem = getLastActivatableItem(items, isActivatable);
|
|
36
|
+
if (lastItem) {
|
|
37
|
+
lastItem.tabIndex = 0;
|
|
38
|
+
lastItem.focus();
|
|
39
|
+
}
|
|
40
|
+
return lastItem;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Deactivates the currently active item of a given array of items.
|
|
44
|
+
*
|
|
45
|
+
* @param items {Array<ListItem>} The items from which to deactivate the
|
|
46
|
+
* active item.
|
|
47
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
48
|
+
* Defaults to non-disabled items.
|
|
49
|
+
* @return A record of the deleselcted activated item including the item and
|
|
50
|
+
* the index of the item or `null` if none are deactivated.
|
|
51
|
+
* @nocollapse
|
|
52
|
+
*/
|
|
53
|
+
export function deactivateActiveItem(items, isActivatable = (isItemNotDisabled)) {
|
|
54
|
+
const activeItem = getActiveItem(items, isActivatable);
|
|
55
|
+
if (activeItem) {
|
|
56
|
+
activeItem.item.tabIndex = -1;
|
|
57
|
+
}
|
|
58
|
+
return activeItem;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Retrieves the first activated item of a given array of items.
|
|
62
|
+
*
|
|
63
|
+
* @param items {Array<ListItem>} The items to search.
|
|
64
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
65
|
+
* Defaults to non-disabled items.
|
|
66
|
+
* @return A record of the first activated item including the item and the
|
|
67
|
+
* index of the item or `null` if none are activated.
|
|
68
|
+
* @nocollapse
|
|
69
|
+
*/
|
|
70
|
+
export function getActiveItem(items, isActivatable = (isItemNotDisabled)) {
|
|
71
|
+
for (let i = 0; i < items.length; i++) {
|
|
72
|
+
const item = items[i];
|
|
73
|
+
if (item.tabIndex === 0 && isActivatable(item)) {
|
|
74
|
+
return {
|
|
75
|
+
item,
|
|
76
|
+
index: i,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Retrieves the first non-disabled item of a given array of items. This
|
|
84
|
+
* the first item that is not disabled.
|
|
85
|
+
*
|
|
86
|
+
* @param items {Array<ListItem>} The items to search.
|
|
87
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
88
|
+
* Defaults to non-disabled items.
|
|
89
|
+
* @return The first activatable item or `null` if none are activatable.
|
|
90
|
+
* @nocollapse
|
|
91
|
+
*/
|
|
92
|
+
export function getFirstActivatableItem(items, isActivatable = (isItemNotDisabled)) {
|
|
93
|
+
for (const item of items) {
|
|
94
|
+
if (isActivatable(item)) {
|
|
95
|
+
return item;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Retrieves the last non-disabled item of a given array of items.
|
|
102
|
+
*
|
|
103
|
+
* @param items {Array<ListItem>} The items to search.
|
|
104
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
105
|
+
* Defaults to non-disabled items.
|
|
106
|
+
* @return The last activatable item or `null` if none are activatable.
|
|
107
|
+
* @nocollapse
|
|
108
|
+
*/
|
|
109
|
+
export function getLastActivatableItem(items, isActivatable = (isItemNotDisabled)) {
|
|
110
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
|
111
|
+
const item = items[i];
|
|
112
|
+
if (isActivatable(item)) {
|
|
113
|
+
return item;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Retrieves the next non-disabled item of a given array of items.
|
|
120
|
+
*
|
|
121
|
+
* @param items {Array<ListItem>} The items to search.
|
|
122
|
+
* @param index {{index: number}} The index to search from.
|
|
123
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
124
|
+
* Defaults to non-disabled items.
|
|
125
|
+
* @return The next activatable item or `null` if none are activatable.
|
|
126
|
+
*/
|
|
127
|
+
export function getNextItem(items, index, isActivatable = (isItemNotDisabled)) {
|
|
128
|
+
for (let i = 1; i < items.length; i++) {
|
|
129
|
+
const nextIndex = (i + index) % items.length;
|
|
130
|
+
const item = items[nextIndex];
|
|
131
|
+
if (isActivatable(item)) {
|
|
132
|
+
return item;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return items[index] ? items[index] : null;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Retrieves the previous non-disabled item of a given array of items.
|
|
139
|
+
*
|
|
140
|
+
* @param items {Array<ListItem>} The items to search.
|
|
141
|
+
* @param index {{index: number}} The index to search from.
|
|
142
|
+
* @param isActivatable Function to determine if an item can be activated.
|
|
143
|
+
* Defaults to non-disabled items.
|
|
144
|
+
* @return The previous activatable item or `null` if none are activatable.
|
|
145
|
+
*/
|
|
146
|
+
export function getPrevItem(items, index, isActivatable = (isItemNotDisabled)) {
|
|
147
|
+
for (let i = 1; i < items.length; i++) {
|
|
148
|
+
const prevIndex = (index - i + items.length) % items.length;
|
|
149
|
+
const item = items[prevIndex];
|
|
150
|
+
if (isActivatable(item)) {
|
|
151
|
+
return item;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return items[index] ? items[index] : null;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Activates the next item and focuses it. If nothing is currently activated,
|
|
158
|
+
* activates the first item.
|
|
159
|
+
*/
|
|
160
|
+
export function activateNextItem(items, activeItemRecord, isActivatable = (isItemNotDisabled)) {
|
|
161
|
+
if (activeItemRecord) {
|
|
162
|
+
const next = getNextItem(items, activeItemRecord.index, isActivatable);
|
|
163
|
+
if (next) {
|
|
164
|
+
next.tabIndex = 0;
|
|
165
|
+
next.focus();
|
|
166
|
+
}
|
|
167
|
+
return next;
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
return activateFirstItem(items, isActivatable);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Activates the previous item and focuses it. If nothing is currently
|
|
175
|
+
* activated, activates the last item.
|
|
176
|
+
*/
|
|
177
|
+
export function activatePreviousItem(items, activeItemRecord, isActivatable = (isItemNotDisabled)) {
|
|
178
|
+
if (activeItemRecord) {
|
|
179
|
+
const prev = getPrevItem(items, activeItemRecord.index, isActivatable);
|
|
180
|
+
if (prev) {
|
|
181
|
+
prev.tabIndex = 0;
|
|
182
|
+
prev.focus();
|
|
183
|
+
}
|
|
184
|
+
return prev;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
return activateLastItem(items, isActivatable);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Creates an event that requests the parent md-list to deactivate all other
|
|
192
|
+
* items.
|
|
193
|
+
*/
|
|
194
|
+
export function createDeactivateItemsEvent() {
|
|
195
|
+
return new Event('deactivate-items', { bubbles: true, composed: true });
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Creates an event that requests the menu to set `tabindex=0` on the item and
|
|
199
|
+
* focus it. We use this pattern because List keeps track of what element is
|
|
200
|
+
* active in the List by maintaining tabindex. We do not want list items
|
|
201
|
+
* to set tabindex on themselves or focus themselves so that we can organize all
|
|
202
|
+
* that logic in the parent List and Menus, and list item stays as dumb as
|
|
203
|
+
* possible.
|
|
204
|
+
*/
|
|
205
|
+
export function createRequestActivationEvent() {
|
|
206
|
+
return new Event('request-activation', { bubbles: true, composed: true });
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* The default `isActivatable` function, which checks if an item is not
|
|
210
|
+
* disabled.
|
|
211
|
+
*
|
|
212
|
+
* @param item The item to check.
|
|
213
|
+
* @return true if `item.disabled` is `false.
|
|
214
|
+
*/
|
|
215
|
+
function isItemNotDisabled(item) {
|
|
216
|
+
return !item.disabled;
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=list-navigation-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-navigation-helpers.js","sourceRoot":"","sources":["list-navigation-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport interface ListItem extends HTMLElement {\n disabled: boolean;\n}\n\n/**\n * A record that describes a list item in a list with metadata such a reference\n * to the item and its index in the list.\n */\nexport interface ItemRecord<Item extends ListItem> {\n item: Item;\n index: number;\n}\n\n/**\n * Activates the first non-disabled item of a given array of items.\n *\n * @param items {Array<ListItem>} The items from which to activate the\n * first item.\n * @param isActivatable Function to determine if an item can be activated.\n * Defaults to non-disabled items.\n */\nexport function activateFirstItem<Item extends ListItem>(\n items: Item[], isActivatable = isItemNotDisabled<Item>) {\n // NOTE: These selector functions are static and not on the instance such\n // that multiple operations can be chained and we do not have to re-query\n // the DOM\n const firstItem = getFirstActivatableItem(items, isActivatable);\n if (firstItem) {\n firstItem.tabIndex = 0;\n firstItem.focus();\n }\n return firstItem;\n}\n\n/**\n * Activates the last non-disabled item of a given array of items.\n *\n * @param items {Array<ListItem>} The items from which to activate the\n * last item.\n * @param isActivatable Function to determine if an item can be activated.\n * Defaults to non-disabled items.\n * @nocollapse\n */\nexport function activateLastItem<Item extends ListItem>(\n items: Item[], isActivatable = isItemNotDisabled<Item>) {\n const lastItem = getLastActivatableItem(items, isActivatable);\n if (lastItem) {\n lastItem.tabIndex = 0;\n lastItem.focus();\n }\n return lastItem;\n}\n\n/**\n * Deactivates the currently active item of a given array of items.\n *\n * @param items {Array<ListItem>} The items from which to deactivate the\n * active item.\n * @param isActivatable Function to determine if an item can be activated.\n * Defaults to non-disabled items.\n * @return A record of the deleselcted activated item including the item and\n * the index of the item or `null` if none are deactivated.\n * @nocollapse\n */\nexport function deactivateActiveItem<Item extends ListItem>(\n items: Item[], isActivatable = isItemNotDisabled<Item>) {\n const activeItem = getActiveItem(items, isActivatable);\n if (activeItem) {\n activeItem.item.tabIndex = -1;\n }\n return activeItem;\n}\n\n/**\n * Retrieves the first activated item of a given array of items.\n *\n * @param items {Array<ListItem>} The items to search.\n * @param isActivatable Function to determine if an item can be activated.\n * Defaults to non-disabled items.\n * @return A record of the first activated item including the item and the\n * index of the item or `null` if none are activated.\n * @nocollapse\n */\nexport function getActiveItem<Item extends ListItem>(\n items: Item[], isActivatable = isItemNotDisabled<Item>) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n if (item.tabIndex === 0 && isActivatable(item)) {\n return {\n item,\n index: i,\n } as ItemRecord<Item>;\n }\n }\n return null;\n}\n\n/**\n * Retrieves the first non-disabled item of a given array of items. This\n * the first item that is not disabled.\n *\n * @param items {Array<ListItem>} The items to search.\n * @param isActivatable Function to determine if an item can be activated.\n * Defaults to non-disabled items.\n * @return The first activatable item or `null` if none are activatable.\n * @nocollapse\n */\nexport function getFirstActivatableItem<Item extends ListItem>(\n items: Item[], isActivatable = isItemNotDisabled<Item>) {\n for (const item of items) {\n if (isActivatable(item)) {\n return item;\n }\n }\n\n return null;\n}\n\n/**\n * Retrieves the last non-disabled item of a given array of items.\n *\n * @param items {Array<ListItem>} The items to search.\n * @param isActivatable Function to determine if an item can be activated.\n * Defaults to non-disabled items.\n * @return The last activatable item or `null` if none are activatable.\n * @nocollapse\n */\nexport function getLastActivatableItem<Item extends ListItem>(\n items: Item[], isActivatable = isItemNotDisabled<Item>) {\n for (let i = items.length - 1; i >= 0; i--) {\n const item = items[i];\n if (isActivatable(item)) {\n return item;\n }\n }\n\n return null;\n}\n\n/**\n * Retrieves the next non-disabled item of a given array of items.\n *\n * @param items {Array<ListItem>} The items to search.\n * @param index {{index: number}} The index to search from.\n * @param isActivatable Function to determine if an item can be activated.\n * Defaults to non-disabled items.\n * @return The next activatable item or `null` if none are activatable.\n */\nexport function getNextItem<Item extends ListItem>(\n items: Item[], index: number, isActivatable = isItemNotDisabled<Item>) {\n for (let i = 1; i < items.length; i++) {\n const nextIndex = (i + index) % items.length;\n const item = items[nextIndex];\n if (isActivatable(item)) {\n return item;\n }\n }\n\n return items[index] ? items[index] : null;\n}\n\n/**\n * Retrieves the previous non-disabled item of a given array of items.\n *\n * @param items {Array<ListItem>} The items to search.\n * @param index {{index: number}} The index to search from.\n * @param isActivatable Function to determine if an item can be activated.\n * Defaults to non-disabled items.\n * @return The previous activatable item or `null` if none are activatable.\n */\nexport function getPrevItem<Item extends ListItem>(\n items: Item[], index: number, isActivatable = isItemNotDisabled<Item>) {\n for (let i = 1; i < items.length; i++) {\n const prevIndex = (index - i + items.length) % items.length;\n const item = items[prevIndex];\n\n if (isActivatable(item)) {\n return item;\n }\n }\n\n return items[index] ? items[index] : null;\n}\n\n/**\n * Activates the next item and focuses it. If nothing is currently activated,\n * activates the first item.\n */\nexport function activateNextItem<Item extends ListItem>(\n items: Item[], activeItemRecord: null|ItemRecord<Item>,\n isActivatable = isItemNotDisabled<Item>): Item|null {\n if (activeItemRecord) {\n const next = getNextItem(items, activeItemRecord.index, isActivatable);\n\n if (next) {\n next.tabIndex = 0;\n next.focus();\n }\n\n return next;\n } else {\n return activateFirstItem(items, isActivatable);\n }\n}\n\n/**\n * Activates the previous item and focuses it. If nothing is currently\n * activated, activates the last item.\n */\nexport function activatePreviousItem<Item extends ListItem>(\n items: Item[], activeItemRecord: null|ItemRecord<Item>,\n isActivatable = isItemNotDisabled<Item>): Item|null {\n if (activeItemRecord) {\n const prev = getPrevItem(items, activeItemRecord.index, isActivatable);\n if (prev) {\n prev.tabIndex = 0;\n prev.focus();\n }\n return prev;\n } else {\n return activateLastItem(items, isActivatable);\n }\n}\n\n/**\n * Creates an event that requests the parent md-list to deactivate all other\n * items.\n */\nexport function createDeactivateItemsEvent() {\n return new Event('deactivate-items', {bubbles: true, composed: true});\n}\n\n/**\n * The type of the event that requests the parent md-list to deactivate all\n * other items.\n */\nexport type DeactivateItemsEvent =\n ReturnType<typeof createDeactivateItemsEvent>;\n\n/**\n * Creates an event that requests the menu to set `tabindex=0` on the item and\n * focus it. We use this pattern because List keeps track of what element is\n * active in the List by maintaining tabindex. We do not want list items\n * to set tabindex on themselves or focus themselves so that we can organize all\n * that logic in the parent List and Menus, and list item stays as dumb as\n * possible.\n */\nexport function createRequestActivationEvent() {\n return new Event('request-activation', {bubbles: true, composed: true});\n}\n\n/**\n * The type of the event that requests the list activates and focuses the item.\n */\nexport type RequestActivationEvent =\n ReturnType<typeof createRequestActivationEvent>;\n\n/**\n * The default `isActivatable` function, which checks if an item is not\n * disabled.\n *\n * @param item The item to check.\n * @return true if `item.disabled` is `false.\n */\nfunction isItemNotDisabled<Item extends ListItem>(item: Item) {\n return !item.disabled;\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { css } from 'lit';
|
|
7
|
+
export const styles = css `:host{background:var(--md-list-container-color, var(--md-sys-color-surface, #fef7ff));color:unset;display:flex;flex-direction:column;outline:none;padding:8px 0;position:relative}/*# sourceMappingURL=list-styles.css.map */
|
|
8
|
+
`;
|
|
9
|
+
//# sourceMappingURL=list-styles.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-styles.css.js","sourceRoot":"","sources":["list-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{background:var(--md-list-container-color, var(--md-sys-color-surface, #fef7ff));color:unset;display:flex;flex-direction:column;outline:none;padding:8px 0;position:relative}/*# sourceMappingURL=list-styles.css.map */\n`;\n "]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2021 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { LitElement } from 'lit';
|
|
7
|
+
import { ListItem as SharedListItem } from './list-navigation-helpers.js';
|
|
8
|
+
interface ListItem extends SharedListItem {
|
|
9
|
+
type: 'text' | 'button' | 'link';
|
|
10
|
+
}
|
|
11
|
+
export declare class List extends LitElement {
|
|
12
|
+
/**
|
|
13
|
+
* An array of activatable and disableable list items. Queries every assigned
|
|
14
|
+
* element that has the `md-list-item` attribute.
|
|
15
|
+
*
|
|
16
|
+
* _NOTE:_ This is a shallow, flattened query via
|
|
17
|
+
* `HTMLSlotElement.queryAssignedElements` and thus will _only_ include direct
|
|
18
|
+
* children / directly slotted elements.
|
|
19
|
+
*/
|
|
20
|
+
protected slotItems: Array<ListItem | HTMLElement & {
|
|
21
|
+
item?: ListItem;
|
|
22
|
+
}>;
|
|
23
|
+
/** @export */
|
|
24
|
+
get items(): ListItem[];
|
|
25
|
+
private readonly listController;
|
|
26
|
+
private readonly internals;
|
|
27
|
+
constructor();
|
|
28
|
+
protected render(): import("lit-html").TemplateResult<1>;
|
|
29
|
+
/**
|
|
30
|
+
* Activates the next item in the list. If at the end of the list, the first
|
|
31
|
+
* item will be activated.
|
|
32
|
+
*
|
|
33
|
+
* @return The activated list item or `null` if there are no items.
|
|
34
|
+
*/
|
|
35
|
+
activateNextItem(): ListItem | null;
|
|
36
|
+
/**
|
|
37
|
+
* Activates the previous item in the list. If at the start of the list, the
|
|
38
|
+
* last item will be activated.
|
|
39
|
+
*
|
|
40
|
+
* @return The activated list item or `null` if there are no items.
|
|
41
|
+
*/
|
|
42
|
+
activatePreviousItem(): ListItem | null;
|
|
43
|
+
}
|
|
44
|
+
export {};
|