@material/web 1.0.0-pre.12 → 1.0.0-pre.14
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 +5 -5
- package/all.d.ts +97 -0
- package/all.js +106 -0
- package/all.js.map +1 -0
- package/button/_elevated-button.scss +1 -1
- package/button/_filled-button.scss +1 -1
- package/button/_outlined-button.scss +1 -1
- package/button/_text-button.scss +1 -1
- package/button/_tonal-button.scss +1 -1
- package/button/elevated-button.d.ts +1 -1
- package/button/elevated-button.js +4 -4
- package/button/elevated-button.js.map +1 -1
- package/button/filled-button.d.ts +1 -1
- package/button/filled-button.js +4 -4
- package/button/filled-button.js.map +1 -1
- package/button/harness.d.ts +1 -1
- package/button/harness.js +1 -1
- package/button/harness.js.map +1 -1
- package/button/internal/_elevation.scss +65 -0
- package/button/internal/_icon.scss +39 -0
- package/button/internal/_outlined-button.scss +104 -0
- package/button/internal/_shared.scss +154 -0
- package/button/internal/_touch-target.scss +15 -0
- package/button/internal/button.d.ts +71 -0
- package/button/internal/button.js +190 -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/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/internal/tonal-button.d.ts +13 -0
- package/button/internal/tonal-button.js +17 -0
- package/button/internal/tonal-button.js.map +1 -0
- package/button/internal/tonal-styles.css.js +9 -0
- package/button/internal/tonal-styles.css.js.map +1 -0
- package/button/outlined-button.d.ts +1 -1
- package/button/outlined-button.js +3 -3
- package/button/outlined-button.js.map +1 -1
- package/button/text-button.d.ts +1 -1
- package/button/text-button.js +3 -3
- package/button/text-button.js.map +1 -1
- package/button/tonal-button.d.ts +1 -1
- package/button/tonal-button.js +4 -4
- package/button/tonal-button.js.map +1 -1
- package/checkbox/_checkbox.scss +1 -1
- package/checkbox/checkbox.d.ts +1 -1
- package/checkbox/checkbox.js +3 -4
- 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 +471 -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 +66 -0
- package/checkbox/internal/checkbox.js +190 -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 +1 -1
- package/chips/_suggestion-chip.scss +1 -1
- package/chips/assist-chip.d.ts +1 -1
- package/chips/assist-chip.js +5 -5
- package/chips/assist-chip.js.map +1 -1
- package/chips/chip-set.d.ts +1 -1
- package/chips/chip-set.js +2 -2
- package/chips/chip-set.js.map +1 -1
- package/chips/filter-chip.d.ts +1 -1
- package/chips/filter-chip.js +7 -7
- package/chips/filter-chip.js.map +1 -1
- package/chips/harness.d.ts +1 -1
- package/chips/harness.js.map +1 -1
- package/chips/input-chip.d.ts +1 -1
- package/chips/input-chip.js +6 -6
- package/chips/input-chip.js.map +1 -1
- package/chips/internal/_shared.scss +192 -0
- package/chips/internal/_trailing-icon.scss +80 -0
- package/chips/internal/chip.d.ts +45 -0
- package/chips/internal/chip.js +95 -0
- package/chips/internal/chip.js.map +1 -0
- package/chips/internal/filter-chip.js +103 -0
- package/chips/internal/filter-chip.js.map +1 -0
- package/chips/internal/input-chip.js +109 -0
- package/chips/internal/input-chip.js.map +1 -0
- package/chips/internal/shared-styles.css.js +9 -0
- package/chips/internal/shared-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-icons.d.ts +15 -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 -5
- package/chips/suggestion-chip.js.map +1 -1
- package/common.d.ts +61 -0
- package/common.js +70 -0
- package/common.js.map +1 -0
- package/dialog/_dialog.scss +1 -1
- package/dialog/dialog.d.ts +1 -1
- package/dialog/dialog.js +2 -2
- package/dialog/dialog.js.map +1 -1
- package/dialog/harness.d.ts +1 -1
- package/dialog/harness.js.map +1 -1
- package/dialog/internal/_dialog.scss +376 -0
- package/dialog/internal/_tokens.scss +66 -0
- package/dialog/internal/dialog-styles.css.js +9 -0
- package/dialog/internal/dialog-styles.css.js.map +1 -0
- package/dialog/internal/dialog.js +562 -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 +2 -2
- package/divider/divider.js.map +1 -1
- package/elevation/_elevation.scss +1 -1
- package/elevation/elevation.d.ts +1 -1
- package/elevation/elevation.js +2 -2
- package/elevation/elevation.js.map +1 -1
- package/fab/_fab.scss +2 -2
- package/fab/branded-fab.d.ts +3 -3
- package/fab/branded-fab.js +4 -4
- package/fab/branded-fab.js.map +1 -1
- package/fab/fab.d.ts +3 -3
- package/fab/fab.js +4 -4
- 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 +256 -0
- package/fab/internal/_shared.scss +227 -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 +26 -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 +55 -0
- package/fab/internal/shared.js +120 -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 +3 -3
- 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 +191 -0
- package/field/internal/_filled-field.scss +203 -0
- package/field/internal/_label.scss +91 -0
- package/field/internal/_outlined-field.scss +323 -0
- package/field/internal/_shared.scss +70 -0
- package/field/internal/_supporting-text.scss +47 -0
- package/field/internal/field.d.ts +64 -0
- package/field/internal/field.js +318 -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 +3 -3
- package/field/outlined-field.js.map +1 -1
- package/focus/_focus-ring.scss +1 -1
- package/focus/internal/_focus-ring.scss +135 -0
- package/focus/internal/focus-ring-styles.css.js +9 -0
- package/focus/internal/focus-ring-styles.css.js.map +1 -0
- package/focus/md-focus-ring.d.ts +20 -0
- package/focus/md-focus-ring.js +23 -0
- package/focus/md-focus-ring.js.map +1 -0
- package/icon/_icon.scss +1 -1
- package/icon/icon.d.ts +1 -1
- package/icon/icon.js +2 -2
- package/icon/icon.js.map +1 -1
- package/icon/internal/_icon.scss +60 -0
- package/icon/internal/icon-styles.css.js +9 -0
- package/icon/internal/icon-styles.css.js.map +1 -0
- package/icon/internal/icon.js +15 -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/_outlined-icon-button.scss +1 -1
- package/iconbutton/_standard-icon-button.scss +1 -1
- package/iconbutton/filled-icon-button.d.ts +1 -1
- package/iconbutton/filled-icon-button.js +3 -3
- package/iconbutton/filled-icon-button.js.map +1 -1
- package/iconbutton/filled-tonal-icon-button.d.ts +1 -1
- package/iconbutton/filled-tonal-icon-button.js +3 -3
- 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/internal/_shared.scss +106 -0
- package/iconbutton/internal/_standard-icon-button.scss +117 -0
- package/iconbutton/internal/icon-button.d.ts +59 -0
- package/iconbutton/internal/icon-button.js +166 -0
- package/iconbutton/internal/icon-button.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/outlined-icon-button.d.ts +1 -1
- package/iconbutton/outlined-icon-button.js +3 -3
- package/iconbutton/outlined-icon-button.js.map +1 -1
- package/iconbutton/standard-icon-button.d.ts +1 -1
- package/iconbutton/standard-icon-button.js +3 -3
- package/iconbutton/standard-icon-button.js.map +1 -1
- package/labs/badge/_badge.scss +1 -1
- package/labs/badge/badge.d.ts +1 -1
- package/labs/badge/badge.js +2 -2
- package/labs/badge/badge.js.map +1 -1
- package/labs/navigationbar/_navigation-bar.scss +1 -1
- package/labs/navigationbar/harness.d.ts +1 -1
- package/labs/navigationbar/harness.js.map +1 -1
- package/labs/navigationbar/internal/constants.d.ts +17 -0
- package/labs/navigationbar/internal/constants.js.map +1 -0
- package/labs/navigationbar/internal/navigation-bar.d.ts +27 -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 +1 -1
- package/labs/navigationbar/navigation-bar.js +2 -2
- package/labs/navigationbar/navigation-bar.js.map +1 -1
- package/labs/navigationdrawer/_navigation-drawer-modal.scss +1 -1
- package/labs/navigationdrawer/_navigation-drawer.scss +1 -1
- package/labs/navigationdrawer/internal/navigation-drawer-modal.js +83 -0
- package/labs/navigationdrawer/internal/navigation-drawer-modal.js.map +1 -0
- package/labs/navigationdrawer/navigation-drawer-modal.d.ts +1 -1
- package/labs/navigationdrawer/navigation-drawer-modal.js +3 -3
- package/labs/navigationdrawer/navigation-drawer-modal.js.map +1 -1
- package/labs/navigationdrawer/navigation-drawer.d.ts +1 -1
- package/labs/navigationdrawer/navigation-drawer.js +3 -3
- package/labs/navigationdrawer/navigation-drawer.js.map +1 -1
- package/labs/navigationtab/_navigation-tab.scss +1 -1
- package/labs/navigationtab/harness.d.ts +1 -1
- package/labs/navigationtab/harness.js.map +1 -1
- package/labs/navigationtab/internal/_navigation-tab.scss +259 -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 +119 -0
- package/labs/navigationtab/internal/navigation-tab.js.map +1 -0
- package/labs/navigationtab/navigation-tab.d.ts +1 -1
- package/labs/navigationtab/navigation-tab.js +2 -2
- package/labs/navigationtab/navigation-tab.js.map +1 -1
- package/labs/segmentedbutton/internal/_shared.scss +355 -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 +159 -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 +1 -1
- package/labs/segmentedbutton/outlined-segmented-button.js +3 -3
- package/labs/segmentedbutton/outlined-segmented-button.js.map +1 -1
- 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 +110 -0
- package/labs/segmentedbuttonset/internal/segmented-button-set.js.map +1 -0
- package/labs/segmentedbuttonset/outlined-segmented-button-set.d.ts +1 -1
- package/labs/segmentedbuttonset/outlined-segmented-button-set.js +3 -3
- package/labs/segmentedbuttonset/outlined-segmented-button-set.js.map +1 -1
- package/list/_list-item.scss +1 -1
- package/list/_list.scss +1 -1
- package/list/harness.d.ts +27 -3
- package/list/harness.js +27 -2
- package/list/harness.js.map +1 -1
- package/list/internal/list.js +305 -0
- package/list/internal/list.js.map +1 -0
- package/list/internal/listitem/_list-item.scss +428 -0
- package/list/internal/listitem/harness.d.ts +33 -0
- package/list/internal/listitem/harness.js +31 -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 +133 -0
- package/list/internal/listitem/list-item.js +230 -0
- package/list/internal/listitem/list-item.js.map +1 -0
- package/list/internal/listitemlink/list-item-link-only.d.ts +23 -0
- package/list/internal/listitemlink/list-item-link-only.js +36 -0
- package/list/internal/listitemlink/list-item-link-only.js.map +1 -0
- package/list/list-item-link.d.ts +1 -1
- package/list/list-item-link.js +3 -3
- package/list/list-item-link.js.map +1 -1
- package/list/list-item.d.ts +2 -2
- package/list/list-item.js +3 -3
- package/list/list-item.js.map +1 -1
- package/list/list.d.ts +1 -1
- package/list/list.js +2 -2
- 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 +3 -3
- package/menu/harness.js +2 -2
- package/menu/harness.js.map +1 -1
- package/menu/internal/_menu.scss +105 -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 +225 -0
- package/menu/internal/menu.js +673 -0
- package/menu/internal/menu.js.map +1 -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.d.ts +28 -0
- package/menu/internal/menuitem/menu-item.js +51 -0
- package/menu/internal/menuitem/menu-item.js.map +1 -0
- package/menu/internal/menuitemlink/menu-item-link.d.ts +23 -0
- package/menu/internal/menuitemlink/menu-item-link.js +49 -0
- package/menu/internal/menuitemlink/menu-item-link.js.map +1 -0
- package/menu/internal/shared.d.ts +178 -0
- package/menu/internal/shared.js.map +1 -0
- package/menu/internal/submenuitem/harness.d.ts +11 -0
- package/menu/internal/submenuitem/harness.js +12 -0
- package/menu/internal/submenuitem/harness.js.map +1 -0
- package/menu/internal/submenuitem/sub-menu-item.d.ts +99 -0
- package/menu/internal/submenuitem/sub-menu-item.js +293 -0
- package/menu/internal/submenuitem/sub-menu-item.js.map +1 -0
- package/menu/internal/typeaheadController.d.ts +157 -0
- package/menu/internal/typeaheadController.js +252 -0
- package/menu/internal/typeaheadController.js.map +1 -0
- package/menu/menu-item-link.d.ts +3 -3
- package/menu/menu-item-link.js +6 -6
- package/menu/menu-item-link.js.map +1 -1
- package/menu/menu-item.d.ts +3 -3
- package/menu/menu-item.js +6 -6
- package/menu/menu-item.js.map +1 -1
- package/menu/menu.d.ts +4 -4
- package/menu/menu.js +4 -4
- package/menu/menu.js.map +1 -1
- package/menu/sub-menu-item.d.ts +3 -3
- package/menu/sub-menu-item.js +6 -6
- package/menu/sub-menu-item.js.map +1 -1
- package/package.json +4 -2
- 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 +27 -0
- package/progress/circular-progress.js.map +1 -0
- package/progress/harness.d.ts +20 -0
- package/progress/harness.js +27 -0
- package/progress/harness.js.map +1 -0
- package/progress/internal/_circular-progress.scss +285 -0
- package/progress/internal/_linear-progress.scss +379 -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 +27 -0
- package/progress/internal/linear-progress.js +91 -0
- package/progress/internal/linear-progress.js.map +1 -0
- package/progress/internal/progress.d.ts +34 -0
- package/progress/internal/progress.js +72 -0
- package/progress/internal/progress.js.map +1 -0
- package/progress/linear-progress.d.ts +23 -0
- package/progress/linear-progress.js +26 -0
- package/progress/linear-progress.js.map +1 -0
- package/radio/_radio.scss +1 -1
- package/radio/harness.d.ts +1 -1
- package/radio/harness.js.map +1 -1
- package/radio/internal/_radio.scss +171 -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 +58 -0
- package/radio/internal/radio.js +158 -0
- package/radio/internal/radio.js.map +1 -0
- package/radio/internal/single-selection-controller.js +196 -0
- package/radio/internal/single-selection-controller.js.map +1 -0
- package/radio/radio.d.ts +1 -1
- package/radio/radio.js +3 -3
- package/radio/radio.js.map +1 -1
- package/ripple/_ripple.scss +1 -1
- package/ripple/internal/ripple.js +397 -0
- package/ripple/internal/ripple.js.map +1 -0
- package/ripple/ripple.d.ts +1 -1
- package/ripple/ripple.js +2 -2
- 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 +4 -4
- package/select/filled-select.js.map +1 -1
- package/select/harness.d.ts +3 -3
- package/select/harness.js +1 -1
- package/select/harness.js.map +1 -1
- package/select/internal/_shared.scss +52 -0
- package/select/internal/select.d.ts +206 -0
- package/select/internal/select.js +555 -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 +29 -0
- package/select/internal/selectoption/select-option.js +71 -0
- package/select/internal/selectoption/select-option.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 +52 -0
- package/select/internal/shared.js.map +1 -0
- package/select/outlined-select.d.ts +1 -1
- package/select/outlined-select.js +4 -4
- package/select/outlined-select.js.map +1 -1
- package/select/select-option.d.ts +1 -1
- package/select/select-option.js +5 -5
- 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.map +1 -1
- package/slider/internal/_slider.scss +478 -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 +173 -0
- package/slider/internal/slider.js +623 -0
- package/slider/internal/slider.js.map +1 -0
- package/slider/slider.d.ts +1 -1
- package/slider/slider.js +3 -3
- package/slider/slider.js.map +1 -1
- package/switch/_switch.scss +1 -1
- package/switch/harness.d.ts +1 -1
- package/switch/harness.js.map +1 -1
- package/switch/internal/_switch.scss +154 -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 +79 -0
- package/switch/internal/switch.js +210 -0
- package/switch/internal/switch.js.map +1 -0
- package/switch/switch.d.ts +1 -1
- package/switch/switch.js +3 -3
- package/switch/switch.js.map +1 -1
- package/tabs/_tab.scss +1 -1
- package/tabs/harness.d.ts +2 -2
- package/tabs/harness.js.map +1 -1
- package/tabs/internal/_tab.scss +295 -0
- package/tabs/internal/tab-styles.css.js +9 -0
- package/tabs/internal/tab-styles.css.js.map +1 -0
- package/tabs/internal/tab.d.ts +68 -0
- package/tabs/internal/tab.js +164 -0
- package/tabs/internal/tab.js.map +1 -0
- package/tabs/internal/tabs.d.ts +91 -0
- package/tabs/internal/tabs.js +312 -0
- package/tabs/internal/tabs.js.map +1 -0
- package/tabs/tab.d.ts +2 -2
- package/tabs/tab.js +2 -2
- package/tabs/tab.js.map +1 -1
- package/tabs/tabs.d.ts +2 -2
- package/tabs/tabs.js +2 -2
- package/tabs/tabs.js.map +1 -1
- 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 +4 -4
- package/textfield/filled-text-field.js.map +1 -1
- package/textfield/harness.d.ts +5 -5
- package/textfield/harness.js +1 -1
- package/textfield/harness.js.map +1 -1
- package/textfield/internal/_filled-text-field.scss +194 -0
- package/textfield/internal/_input.scss +72 -0
- package/textfield/internal/_outlined-text-field.scss +167 -0
- package/textfield/internal/_shared.scss +47 -0
- package/textfield/internal/filled-styles.css.js +9 -0
- package/textfield/internal/filled-styles.css.js.map +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.js +9 -0
- package/textfield/internal/shared-styles.css.js.map +1 -0
- package/textfield/internal/text-field.d.ts +326 -0
- package/textfield/internal/text-field.js +705 -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 +4 -4
- package/textfield/outlined-text-field.js.map +1 -1
- package/tokens/_md-comp-checkbox.scss +46 -22
- package/tokens/_md-comp-dialog.scss +48 -6
- package/tokens/_md-comp-elevated-button.scss +17 -7
- package/tokens/_md-comp-elevation.scss +11 -2
- package/tokens/_md-comp-filled-button.scss +17 -7
- package/tokens/_md-comp-filled-field.scss +18 -11
- package/tokens/_md-comp-filled-text-field.scss +2 -1
- package/tokens/_md-comp-filled-tonal-button.scss +17 -7
- package/tokens/_md-comp-list-item.scss +6 -1
- package/tokens/_md-comp-menu-item.scss +1 -0
- package/tokens/_md-comp-outlined-button.scss +19 -9
- package/tokens/_md-comp-outlined-field.scss +14 -8
- package/tokens/_md-comp-outlined-segmented-button.scss +19 -13
- package/tokens/_md-comp-outlined-text-field.scss +2 -1
- package/tokens/_md-comp-slider.scss +48 -2
- package/tokens/_md-comp-text-button.scss +17 -7
- package/tokens/_values.scss +1 -1
- package/button/lib/_elevation.scss +0 -68
- package/button/lib/_icon.scss +0 -42
- package/button/lib/_outlined-button.scss +0 -103
- package/button/lib/_shared.scss +0 -162
- package/button/lib/_touch-target.scss +0 -18
- package/button/lib/button.d.ts +0 -71
- package/button/lib/button.js +0 -190
- 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/checkbox/lib/_checkbox.scss +0 -451
- 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 -66
- package/checkbox/lib/checkbox.js +0 -187
- 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/_shared.scss +0 -190
- package/chips/lib/_trailing-icon.scss +0 -78
- package/chips/lib/chip.d.ts +0 -45
- package/chips/lib/chip.js +0 -95
- package/chips/lib/chip.js.map +0 -1
- package/chips/lib/filter-chip.js +0 -103
- package/chips/lib/filter-chip.js.map +0 -1
- package/chips/lib/input-chip.js +0 -109
- package/chips/lib/input-chip.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/trailing-icon-styles.css.js +0 -9
- package/chips/lib/trailing-icon-styles.css.js.map +0 -1
- package/chips/lib/trailing-icons.d.ts +0 -15
- package/chips/lib/trailing-icons.js +0 -38
- package/chips/lib/trailing-icons.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/dialog/lib/_dialog.scss +0 -376
- package/dialog/lib/_tokens.scss +0 -85
- package/dialog/lib/dialog-styles.css.js +0 -9
- package/dialog/lib/dialog-styles.css.js.map +0 -1
- package/dialog/lib/dialog.js +0 -561
- package/dialog/lib/dialog.js.map +0 -1
- package/fab/lib/_fab.scss +0 -253
- package/fab/lib/_shared.scss +0 -222
- 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 -26
- 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 -55
- package/fab/lib/shared.js +0 -120
- 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 -129
- package/focus/lib/focus-ring-styles.css.js +0 -9
- package/focus/lib/focus-ring-styles.css.js.map +0 -1
- package/icon/lib/_icon.scss +0 -61
- package/icon/lib/icon-styles.css.js +0 -9
- package/icon/lib/icon-styles.css.js.map +0 -1
- package/icon/lib/icon.js +0 -15
- package/icon/lib/icon.js.map +0 -1
- package/iconbutton/lib/_shared.scss +0 -104
- package/iconbutton/lib/_standard-icon-button.scss +0 -112
- package/iconbutton/lib/icon-button.d.ts +0 -59
- package/iconbutton/lib/icon-button.js +0 -166
- package/iconbutton/lib/icon-button.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/labs/navigationbar/lib/constants.d.ts +0 -17
- package/labs/navigationbar/lib/constants.js.map +0 -1
- package/labs/navigationbar/lib/navigation-bar.d.ts +0 -27
- package/labs/navigationbar/lib/navigation-bar.js.map +0 -1
- package/labs/navigationbar/lib/state.d.ts +0 -23
- package/labs/navigationbar/lib/state.js.map +0 -1
- package/labs/navigationdrawer/lib/navigation-drawer-modal.js +0 -83
- package/labs/navigationdrawer/lib/navigation-drawer-modal.js.map +0 -1
- package/labs/navigationtab/lib/_navigation-tab.scss +0 -257
- package/labs/navigationtab/lib/navigation-tab-styles.css.js +0 -9
- package/labs/navigationtab/lib/navigation-tab-styles.css.js.map +0 -1
- package/labs/navigationtab/lib/navigation-tab.d.ts +0 -30
- package/labs/navigationtab/lib/navigation-tab.js +0 -119
- package/labs/navigationtab/lib/navigation-tab.js.map +0 -1
- package/labs/segmentedbutton/lib/_shared.scss +0 -355
- package/labs/segmentedbutton/lib/outlined-styles.css.js +0 -9
- package/labs/segmentedbutton/lib/outlined-styles.css.js.map +0 -1
- package/labs/segmentedbutton/lib/segmented-button.d.ts +0 -44
- package/labs/segmentedbutton/lib/segmented-button.js +0 -159
- package/labs/segmentedbutton/lib/segmented-button.js.map +0 -1
- package/labs/segmentedbutton/lib/shared-styles.css.js +0 -9
- package/labs/segmentedbutton/lib/shared-styles.css.js.map +0 -1
- package/labs/segmentedbuttonset/lib/outlined-styles.css.js +0 -9
- package/labs/segmentedbuttonset/lib/outlined-styles.css.js.map +0 -1
- package/labs/segmentedbuttonset/lib/segmented-button-set.d.ts +0 -26
- package/labs/segmentedbuttonset/lib/segmented-button-set.js +0 -110
- package/labs/segmentedbuttonset/lib/segmented-button-set.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.js +0 -305
- package/list/lib/list.js.map +0 -1
- package/list/lib/listitem/_list-item.scss +0 -424
- 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 -133
- package/list/lib/listitem/list-item.js +0 -230
- package/list/lib/listitem/list-item.js.map +0 -1
- package/list/lib/listitemlink/list-item-link-only.d.ts +0 -22
- package/list/lib/listitemlink/list-item-link-only.js +0 -33
- package/list/lib/listitemlink/list-item-link-only.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 -225
- package/menu/lib/menu.js +0 -673
- package/menu/lib/menu.js.map +0 -1
- 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.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.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/typeaheadController.d.ts +0 -157
- package/menu/lib/typeaheadController.js +0 -252
- package/menu/lib/typeaheadController.js.map +0 -1
- package/radio/lib/_radio.scss +0 -169
- 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 -57
- package/radio/lib/radio.js +0 -154
- 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/lib/ripple.js +0 -389
- package/ripple/lib/ripple.js.map +0 -1
- package/select/lib/_shared.scss +0 -56
- 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 -29
- 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.map +0 -1
- package/slider/lib/_slider.scss +0 -476
- 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 -173
- package/slider/lib/slider.js +0 -623
- package/slider/lib/slider.js.map +0 -1
- package/switch/lib/_switch.scss +0 -152
- package/switch/lib/forced-colors-styles.css.d.ts +0 -1
- 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 -79
- package/switch/lib/switch.js +0 -210
- package/switch/lib/switch.js.map +0 -1
- package/tabs/lib/_tab.scss +0 -293
- package/tabs/lib/tab-styles.css.js +0 -9
- package/tabs/lib/tab-styles.css.js.map +0 -1
- package/tabs/lib/tab.d.ts +0 -68
- package/tabs/lib/tab.js +0 -162
- package/tabs/lib/tab.js.map +0 -1
- package/tabs/lib/tabs.d.ts +0 -91
- package/tabs/lib/tabs.js +0 -310
- package/tabs/lib/tabs.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 -331
- package/textfield/lib/text-field.js +0 -695
- package/textfield/lib/text-field.js.map +0 -1
- /package/button/{lib → internal}/_elevated-button.scss +0 -0
- /package/button/{lib → internal}/_filled-button.scss +0 -0
- /package/button/{lib → internal}/_text-button.scss +0 -0
- /package/button/{lib → internal}/_tonal-button.scss +0 -0
- /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/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/button/{lib → internal}/tonal-styles.css.d.ts +0 -0
- /package/button/{lib → internal}/tonal-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-chip.scss +0 -0
- /package/chips/{lib → internal}/_chip-set.scss +0 -0
- /package/chips/{lib → internal}/_elevated.scss +0 -0
- /package/chips/{lib → internal}/_filter-chip.scss +0 -0
- /package/chips/{lib → internal}/_input-chip.scss +0 -0
- /package/chips/{lib → internal}/_selectable.scss +0 -0
- /package/chips/{lib → internal}/_suggestion-chip.scss +0 -0
- /package/chips/{lib → internal}/assist-chip.d.ts +0 -0
- /package/chips/{lib → internal}/assist-chip.js +0 -0
- /package/chips/{lib → internal}/assist-chip.js.map +0 -0
- /package/chips/{lib → internal}/assist-forced-colors-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/assist-forced-colors-styles.css.js +0 -0
- /package/chips/{lib → internal}/assist-forced-colors-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/assist-forced-colors-styles.scss +0 -0
- /package/chips/{lib → internal}/assist-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/assist-styles.css.js +0 -0
- /package/chips/{lib → internal}/assist-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/assist-styles.scss +0 -0
- /package/chips/{lib → internal}/chip-set-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/chip-set-styles.css.js +0 -0
- /package/chips/{lib → internal}/chip-set-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/chip-set-styles.scss +0 -0
- /package/chips/{lib → internal}/chip-set.d.ts +0 -0
- /package/chips/{lib → internal}/chip-set.js +0 -0
- /package/chips/{lib → internal}/chip-set.js.map +0 -0
- /package/chips/{lib → internal}/elevated-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/elevated-styles.css.js +0 -0
- /package/chips/{lib → internal}/elevated-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/elevated-styles.scss +0 -0
- /package/chips/{lib → internal}/filter-chip.d.ts +0 -0
- /package/chips/{lib → internal}/filter-forced-colors-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/filter-forced-colors-styles.css.js +0 -0
- /package/chips/{lib → internal}/filter-forced-colors-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/filter-forced-colors-styles.scss +0 -0
- /package/chips/{lib → internal}/filter-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/filter-styles.css.js +0 -0
- /package/chips/{lib → internal}/filter-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/filter-styles.scss +0 -0
- /package/chips/{lib → internal}/input-chip.d.ts +0 -0
- /package/chips/{lib → internal}/input-forced-colors-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/input-forced-colors-styles.css.js +0 -0
- /package/chips/{lib → internal}/input-forced-colors-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/input-forced-colors-styles.scss +0 -0
- /package/chips/{lib → internal}/input-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/input-styles.css.js +0 -0
- /package/chips/{lib → internal}/input-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/input-styles.scss +0 -0
- /package/chips/{lib → internal}/multi-action-chip.d.ts +0 -0
- /package/chips/{lib → internal}/multi-action-chip.js +0 -0
- /package/chips/{lib → internal}/multi-action-chip.js.map +0 -0
- /package/chips/{lib → internal}/selectable-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/selectable-styles.css.js +0 -0
- /package/chips/{lib → internal}/selectable-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/selectable-styles.scss +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-forced-colors-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/suggestion-forced-colors-styles.css.js +0 -0
- /package/chips/{lib → internal}/suggestion-forced-colors-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/suggestion-forced-colors-styles.scss +0 -0
- /package/chips/{lib → internal}/suggestion-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/suggestion-styles.css.js +0 -0
- /package/chips/{lib → internal}/suggestion-styles.css.js.map +0 -0
- /package/chips/{lib → internal}/suggestion-styles.scss +0 -0
- /package/chips/{lib → internal}/trailing-icon-styles.css.d.ts +0 -0
- /package/chips/{lib → internal}/trailing-icon-styles.scss +0 -0
- /package/dialog/{lib → internal}/dialog-styles.css.d.ts +0 -0
- /package/dialog/{lib → internal}/dialog-styles.scss +0 -0
- /package/dialog/{lib → internal}/dialog.d.ts +0 -0
- /package/divider/{lib → internal}/_divider.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.scss +0 -0
- /package/elevation/{lib → internal}/elevation-styles.css.d.ts +0 -0
- /package/elevation/{lib → internal}/elevation-styles.css.js +0 -0
- /package/elevation/{lib → internal}/elevation-styles.css.js.map +0 -0
- /package/elevation/{lib → internal}/elevation-styles.scss +0 -0
- /package/elevation/{lib → internal}/elevation.d.ts +0 -0
- /package/elevation/{lib → internal}/elevation.js +0 -0
- /package/elevation/{lib → internal}/elevation.js.map +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.css.js +0 -0
- /package/fab/{lib → internal}/fab-branded-styles.css.js.map +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/{checkbox/lib → fab/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/focus/{lib → internal}/focus-ring.d.ts +0 -0
- /package/focus/{lib → internal}/focus-ring.js +0 -0
- /package/focus/{lib → internal}/focus-ring.js.map +0 -0
- /package/icon/{lib → internal}/_md-comp-icon.scss +0 -0
- /package/icon/{lib → internal}/icon-styles.css.d.ts +0 -0
- /package/icon/{lib → internal}/icon-styles.scss +0 -0
- /package/icon/{lib → internal}/icon.d.ts +0 -0
- /package/iconbutton/{lib → internal}/_filled-icon-button.scss +0 -0
- /package/iconbutton/{lib → internal}/_filled-tonal-icon-button.scss +0 -0
- /package/iconbutton/{lib → internal}/_outlined-icon-button.scss +0 -0
- /package/iconbutton/{lib → internal}/filled-styles.css.d.ts +0 -0
- /package/iconbutton/{lib → internal}/filled-styles.css.js +0 -0
- /package/iconbutton/{lib → internal}/filled-styles.css.js.map +0 -0
- /package/iconbutton/{lib → internal}/filled-styles.scss +0 -0
- /package/iconbutton/{lib → internal}/filled-tonal-styles.css.d.ts +0 -0
- /package/iconbutton/{lib → internal}/filled-tonal-styles.css.js +0 -0
- /package/iconbutton/{lib → internal}/filled-tonal-styles.css.js.map +0 -0
- /package/iconbutton/{lib → internal}/filled-tonal-styles.scss +0 -0
- /package/iconbutton/{lib → internal}/outlined-styles.css.d.ts +0 -0
- /package/iconbutton/{lib → internal}/outlined-styles.css.js +0 -0
- /package/iconbutton/{lib → internal}/outlined-styles.css.js.map +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/iconbutton/{lib → internal}/standard-styles.scss +0 -0
- /package/labs/badge/{lib → internal}/_badge.scss +0 -0
- /package/labs/badge/{lib → internal}/badge-styles.css.d.ts +0 -0
- /package/labs/badge/{lib → internal}/badge-styles.css.js +0 -0
- /package/labs/badge/{lib → internal}/badge-styles.css.js.map +0 -0
- /package/labs/badge/{lib → internal}/badge-styles.scss +0 -0
- /package/labs/badge/{lib → internal}/badge.d.ts +0 -0
- /package/labs/badge/{lib → internal}/badge.js +0 -0
- /package/labs/badge/{lib → internal}/badge.js.map +0 -0
- /package/labs/navigationbar/{lib → internal}/_navigation-bar.scss +0 -0
- /package/labs/navigationbar/{lib → internal}/constants.js +0 -0
- /package/labs/navigationbar/{lib → internal}/navigation-bar-styles.css.d.ts +0 -0
- /package/labs/navigationbar/{lib → internal}/navigation-bar-styles.css.js +0 -0
- /package/labs/navigationbar/{lib → internal}/navigation-bar-styles.css.js.map +0 -0
- /package/labs/navigationbar/{lib → internal}/navigation-bar-styles.scss +0 -0
- /package/labs/navigationbar/{lib → internal}/navigation-bar.js +0 -0
- /package/labs/navigationbar/{lib → internal}/state.js +0 -0
- /package/labs/navigationdrawer/{lib → internal}/_navigation-drawer-modal.scss +0 -0
- /package/labs/navigationdrawer/{lib → internal}/_navigation-drawer.scss +0 -0
- /package/labs/navigationdrawer/{lib → internal}/_shared.scss +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-modal-styles.css.d.ts +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-modal-styles.css.js +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-modal-styles.css.js.map +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-modal-styles.scss +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-modal.d.ts +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-styles.css.d.ts +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-styles.css.js +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-styles.css.js.map +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer-styles.scss +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer.d.ts +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer.js +0 -0
- /package/labs/navigationdrawer/{lib → internal}/navigation-drawer.js.map +0 -0
- /package/labs/navigationdrawer/{lib → internal}/shared-styles.css.d.ts +0 -0
- /package/labs/navigationdrawer/{lib → internal}/shared-styles.css.js +0 -0
- /package/labs/navigationdrawer/{lib → internal}/shared-styles.css.js.map +0 -0
- /package/labs/navigationdrawer/{lib → internal}/shared-styles.scss +0 -0
- /package/labs/navigationtab/{lib → internal}/navigation-tab-styles.css.d.ts +0 -0
- /package/labs/navigationtab/{lib → internal}/navigation-tab-styles.scss +0 -0
- /package/labs/navigationtab/{lib → internal}/state.d.ts +0 -0
- /package/labs/navigationtab/{lib → internal}/state.js +0 -0
- /package/labs/navigationtab/{lib → internal}/state.js.map +0 -0
- /package/labs/segmentedbutton/{lib → internal}/_outlined-segmented-button.scss +0 -0
- /package/labs/segmentedbutton/{lib → internal}/outlined-segmented-button.d.ts +0 -0
- /package/labs/segmentedbutton/{lib → internal}/outlined-segmented-button.js +0 -0
- /package/labs/segmentedbutton/{lib → internal}/outlined-segmented-button.js.map +0 -0
- /package/labs/segmentedbutton/{lib → internal}/outlined-styles.css.d.ts +0 -0
- /package/labs/segmentedbutton/{lib → internal}/outlined-styles.scss +0 -0
- /package/labs/segmentedbutton/{lib → internal}/shared-styles.css.d.ts +0 -0
- /package/labs/segmentedbutton/{lib → internal}/shared-styles.scss +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/_outlined-segmented-button-set.scss +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/_shared.scss +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/outlined-segmented-button-set.d.ts +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/outlined-segmented-button-set.js +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/outlined-segmented-button-set.js.map +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/outlined-styles.css.d.ts +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/outlined-styles.scss +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/shared-styles.css.d.ts +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/shared-styles.css.js +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/shared-styles.css.js.map +0 -0
- /package/labs/segmentedbuttonset/{lib → internal}/shared-styles.scss +0 -0
- /package/list/{lib → internal}/_list.scss +0 -0
- /package/list/{lib → internal}/list-styles.css.d.ts +0 -0
- /package/list/{lib → internal}/list-styles.css.js +0 -0
- /package/list/{lib → internal}/list-styles.css.js.map +0 -0
- /package/list/{lib → internal}/list-styles.scss +0 -0
- /package/list/{lib → internal}/list.d.ts +0 -0
- /package/{fab/lib → list/internal/listitem}/forced-colors-styles.css.d.ts +0 -0
- /package/list/{lib → internal}/listitem/forced-colors-styles.css.js +0 -0
- /package/list/{lib → internal}/listitem/forced-colors-styles.css.js.map +0 -0
- /package/list/{lib → internal}/listitem/forced-colors-styles.scss +0 -0
- /package/list/{lib → internal}/listitem/list-item-only.d.ts +0 -0
- /package/list/{lib → internal}/listitem/list-item-only.js +0 -0
- /package/list/{lib → internal}/listitem/list-item-only.js.map +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/list/{lib → internal}/listitemlink/list-item-link.d.ts +0 -0
- /package/list/{lib → internal}/listitemlink/list-item-link.js +0 -0
- /package/list/{lib → internal}/listitemlink/list-item-link.js.map +0 -0
- /package/{list/lib/listitem → menu/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/menu/{lib → internal}/menuitem/_menu-item.scss +0 -0
- /package/menu/{lib → internal/menuitem}/forced-colors-styles.css.d.ts +0 -0
- /package/menu/{lib → internal}/menuitem/forced-colors-styles.css.js +0 -0
- /package/menu/{lib → internal}/menuitem/forced-colors-styles.css.js.map +0 -0
- /package/menu/{lib → internal}/menuitem/forced-colors-styles.scss +0 -0
- /package/menu/{lib → internal}/menuitem/menu-item-styles.css.d.ts +0 -0
- /package/menu/{lib → internal}/menuitem/menu-item-styles.css.js +0 -0
- /package/menu/{lib → internal}/menuitem/menu-item-styles.css.js.map +0 -0
- /package/menu/{lib → internal}/menuitem/menu-item-styles.scss +0 -0
- /package/menu/{lib → internal}/shared.js +0 -0
- /package/menu/{lib → internal}/surfacePositionController.d.ts +0 -0
- /package/menu/{lib → internal}/surfacePositionController.js +0 -0
- /package/menu/{lib → internal}/surfacePositionController.js.map +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/{circularprogress/lib → progress/internal}/circular-progress-styles.css.d.ts +0 -0
- /package/{circularprogress/lib → progress/internal}/circular-progress-styles.scss +0 -0
- /package/{linearprogress/lib → progress/internal}/linear-progress-styles.css.d.ts +0 -0
- /package/{linearprogress/lib → progress/internal}/linear-progress-styles.scss +0 -0
- /package/{menu/lib/menuitem → radio/internal}/forced-colors-styles.css.d.ts +0 -0
- /package/radio/{lib → internal}/forced-colors-styles.css.js +0 -0
- /package/radio/{lib → internal}/forced-colors-styles.css.js.map +0 -0
- /package/radio/{lib → internal}/forced-colors-styles.scss +0 -0
- /package/radio/{lib → 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/ripple/{lib → internal}/_ripple.scss +0 -0
- /package/ripple/{lib → internal}/ripple-styles.css.d.ts +0 -0
- /package/ripple/{lib → internal}/ripple-styles.css.js +0 -0
- /package/ripple/{lib → internal}/ripple-styles.css.js.map +0 -0
- /package/ripple/{lib → internal}/ripple-styles.scss +0 -0
- /package/ripple/{lib → internal}/ripple.d.ts +0 -0
- /package/select/{lib → internal}/_filled-select.scss +0 -0
- /package/select/{lib → internal}/_outlined-select.scss +0 -0
- /package/select/{lib → 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 → internal}/filled-select-styles.css.d.ts +0 -0
- /package/select/{lib → internal}/filled-select-styles.css.js +0 -0
- /package/select/{lib → internal}/filled-select-styles.css.js.map +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/select/{lib → 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 → internal}/outlined-select-styles.css.d.ts +0 -0
- /package/select/{lib → internal}/outlined-select-styles.css.js +0 -0
- /package/select/{lib → internal}/outlined-select-styles.css.js.map +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/select/{lib → internal}/shared-styles.css.d.ts +0 -0
- /package/select/{lib → internal}/shared-styles.scss +0 -0
- /package/select/{lib → internal}/shared.js +0 -0
- /package/{radio/lib → slider/internal}/forced-colors-styles.css.d.ts +0 -0
- /package/slider/{lib → internal}/forced-colors-styles.css.js +0 -0
- /package/slider/{lib → internal}/forced-colors-styles.css.js.map +0 -0
- /package/slider/{lib → internal}/forced-colors-styles.scss +0 -0
- /package/slider/{lib → internal}/slider-styles.css.d.ts +0 -0
- /package/slider/{lib → internal}/slider-styles.scss +0 -0
- /package/switch/{lib → internal}/README.md +0 -0
- /package/switch/{lib → internal}/_handle.scss +0 -0
- /package/switch/{lib → internal}/_icon.scss +0 -0
- /package/switch/{lib → internal}/_track.scss +0 -0
- /package/{slider/lib → switch/internal}/forced-colors-styles.css.d.ts +0 -0
- /package/switch/{lib → internal}/forced-colors-styles.css.js +0 -0
- /package/switch/{lib → internal}/forced-colors-styles.css.js.map +0 -0
- /package/switch/{lib → internal}/forced-colors-styles.scss +0 -0
- /package/switch/{lib → internal}/switch-styles.css.d.ts +0 -0
- /package/switch/{lib → internal}/switch-styles.scss +0 -0
- /package/tabs/{lib → internal}/_tabs.scss +0 -0
- /package/tabs/{lib → internal}/tab-styles.css.d.ts +0 -0
- /package/tabs/{lib → internal}/tab-styles.scss +0 -0
- /package/tabs/{lib → internal}/tabs-styles.css.d.ts +0 -0
- /package/tabs/{lib → internal}/tabs-styles.css.js +0 -0
- /package/tabs/{lib → internal}/tabs-styles.css.js.map +0 -0
- /package/tabs/{lib → internal}/tabs-styles.scss +0 -0
- /package/textfield/{lib → internal}/_icon.scss +0 -0
- /package/textfield/{lib → internal}/filled-forced-colors-styles.css.d.ts +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.css.d.ts +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.d.ts +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.css.d.ts +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.css.d.ts +0 -0
- /package/textfield/{lib → internal}/shared-styles.scss +0 -0
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Indicies to access the TypeaheadRecord tuple type.
|
|
8
|
+
*/
|
|
9
|
+
export const TYPEAHEAD_RECORD = {
|
|
10
|
+
INDEX: 0,
|
|
11
|
+
ITEM: 1,
|
|
12
|
+
TEXT: 2,
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* This controller listens to `keydown` events and searches the header text of
|
|
16
|
+
* an array of `MenuItem`s with the corresponding entered keys within the buffer
|
|
17
|
+
* time and activates the item.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const typeaheadController = new TypeaheadController(() => ({
|
|
22
|
+
* typeaheadBufferTime: 50,
|
|
23
|
+
* getItems: () => Array.from(document.querySelectorAll('md-menu-item'))
|
|
24
|
+
* }));
|
|
25
|
+
* html`
|
|
26
|
+
* <div
|
|
27
|
+
* @keydown=${typeaheadController.onKeydown}
|
|
28
|
+
* tabindex="0"
|
|
29
|
+
* class="activeItemText">
|
|
30
|
+
* <!-- focusable element that will receive keydown events -->
|
|
31
|
+
* Apple
|
|
32
|
+
* </div>
|
|
33
|
+
* <div>
|
|
34
|
+
* <md-menu-item active header="Apple"></md-menu-item>
|
|
35
|
+
* <md-menu-item header="Apricot"></md-menu-item>
|
|
36
|
+
* <md-menu-item header="Banana"></md-menu-item>
|
|
37
|
+
* <md-menu-item header="Olive"></md-menu-item>
|
|
38
|
+
* <md-menu-item header="Orange"></md-menu-item>
|
|
39
|
+
* </div>
|
|
40
|
+
* `;
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export class TypeaheadController {
|
|
44
|
+
/**
|
|
45
|
+
* @param getProperties A function that returns the options of the typeahead
|
|
46
|
+
* controller:
|
|
47
|
+
*
|
|
48
|
+
* {
|
|
49
|
+
* getItems: A function that returns an array of menu items to be searched.
|
|
50
|
+
* typeaheadBufferTime: The maximum time between each keystroke to keep the
|
|
51
|
+
* current type buffer alive.
|
|
52
|
+
* }
|
|
53
|
+
*/
|
|
54
|
+
constructor(getProperties) {
|
|
55
|
+
this.getProperties = getProperties;
|
|
56
|
+
/**
|
|
57
|
+
* Array of tuples that helps with indexing.
|
|
58
|
+
*/
|
|
59
|
+
this.typeaheadRecords = [];
|
|
60
|
+
/**
|
|
61
|
+
* Currently-typed text since last buffer timeout
|
|
62
|
+
*/
|
|
63
|
+
this.typaheadBuffer = '';
|
|
64
|
+
/**
|
|
65
|
+
* The timeout id from the current buffer's setTimeout
|
|
66
|
+
*/
|
|
67
|
+
this.cancelTypeaheadTimeout = 0;
|
|
68
|
+
/**
|
|
69
|
+
* If we are currently "typing"
|
|
70
|
+
*/
|
|
71
|
+
this.isTypingAhead = false;
|
|
72
|
+
/**
|
|
73
|
+
* The record of the last active item.
|
|
74
|
+
*/
|
|
75
|
+
this.lastActiveRecord = null;
|
|
76
|
+
/**
|
|
77
|
+
* Apply this listener to the element that will receive `keydown` events that
|
|
78
|
+
* should trigger this controller.
|
|
79
|
+
*
|
|
80
|
+
* @param event The native browser `KeyboardEvent` from the `keydown` event.
|
|
81
|
+
*/
|
|
82
|
+
this.onKeydown = (event) => {
|
|
83
|
+
if (this.isTypingAhead) {
|
|
84
|
+
this.typeahead(event);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.beginTypeahead(event);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Ends the current typeahead and clears the buffer.
|
|
92
|
+
*/
|
|
93
|
+
this.endTypeahead = () => {
|
|
94
|
+
this.isTypingAhead = false;
|
|
95
|
+
this.typaheadBuffer = '';
|
|
96
|
+
this.typeaheadRecords = [];
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
get items() {
|
|
100
|
+
return this.getProperties().getItems();
|
|
101
|
+
}
|
|
102
|
+
get active() {
|
|
103
|
+
return this.getProperties().active;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Sets up typingahead
|
|
107
|
+
*/
|
|
108
|
+
beginTypeahead(event) {
|
|
109
|
+
if (!this.active) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
// We don't want to typeahead if the _beginning_ of the typeahead is a menu
|
|
113
|
+
// navigation, or a selection. We will handle "Space" only if it's in the
|
|
114
|
+
// middle of a typeahead
|
|
115
|
+
if (event.code === 'Space' || event.code === 'Enter' ||
|
|
116
|
+
event.code.startsWith('Arrow') || event.code === 'Escape') {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
this.isTypingAhead = true;
|
|
120
|
+
// Generates the record array data structure which is the index, the element
|
|
121
|
+
// and a normalized header.
|
|
122
|
+
this.typeaheadRecords = this.items.map((el, index) => [index, el, el.headline.trim().toLowerCase()]);
|
|
123
|
+
this.lastActiveRecord =
|
|
124
|
+
this.typeaheadRecords.find(record => record[TYPEAHEAD_RECORD.ITEM].active) ??
|
|
125
|
+
null;
|
|
126
|
+
if (this.lastActiveRecord) {
|
|
127
|
+
this.lastActiveRecord[TYPEAHEAD_RECORD.ITEM].active = false;
|
|
128
|
+
}
|
|
129
|
+
this.typeahead(event);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Performs the typeahead. Based on the normalized items and the current text
|
|
133
|
+
* buffer, finds the _next_ item with matching text and activates it.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
*
|
|
137
|
+
* items: Apple, Banana, Olive, Orange, Cucumber
|
|
138
|
+
* buffer: ''
|
|
139
|
+
* user types: o
|
|
140
|
+
*
|
|
141
|
+
* activates Olive
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
*
|
|
145
|
+
* items: Apple, Banana, Olive (active), Orange, Cucumber
|
|
146
|
+
* buffer: 'o'
|
|
147
|
+
* user types: l
|
|
148
|
+
*
|
|
149
|
+
* activates Olive
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
*
|
|
153
|
+
* items: Apple, Banana, Olive (active), Orange, Cucumber
|
|
154
|
+
* buffer: ''
|
|
155
|
+
* user types: o
|
|
156
|
+
*
|
|
157
|
+
* activates Orange
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
*
|
|
161
|
+
* items: Apple, Banana, Olive, Orange (active), Cucumber
|
|
162
|
+
* buffer: ''
|
|
163
|
+
* user types: o
|
|
164
|
+
*
|
|
165
|
+
* activates Olive
|
|
166
|
+
*/
|
|
167
|
+
typeahead(event) {
|
|
168
|
+
clearTimeout(this.cancelTypeaheadTimeout);
|
|
169
|
+
// Stop typingahead if one of the navigation or selection keys (except for
|
|
170
|
+
// Space) are pressed
|
|
171
|
+
if (event.code === 'Enter' || event.code.startsWith('Arrow') ||
|
|
172
|
+
event.code === 'Escape') {
|
|
173
|
+
this.endTypeahead();
|
|
174
|
+
if (this.lastActiveRecord) {
|
|
175
|
+
this.lastActiveRecord[TYPEAHEAD_RECORD.ITEM].active = false;
|
|
176
|
+
}
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
// If Space is pressed, prevent it from selecting and closing the menu
|
|
180
|
+
if (event.code === 'Space') {
|
|
181
|
+
event.stopPropagation();
|
|
182
|
+
event.preventDefault();
|
|
183
|
+
}
|
|
184
|
+
// Start up a new keystroke buffer timeout
|
|
185
|
+
this.cancelTypeaheadTimeout =
|
|
186
|
+
setTimeout(this.endTypeahead, this.getProperties().typeaheadBufferTime);
|
|
187
|
+
this.typaheadBuffer += event.key.toLowerCase();
|
|
188
|
+
const lastActiveIndex = this.lastActiveRecord ?
|
|
189
|
+
this.lastActiveRecord[TYPEAHEAD_RECORD.INDEX] :
|
|
190
|
+
-1;
|
|
191
|
+
const numRecords = this.typeaheadRecords.length;
|
|
192
|
+
/**
|
|
193
|
+
* Sorting function that will resort the items starting with the given index
|
|
194
|
+
*
|
|
195
|
+
* @example
|
|
196
|
+
*
|
|
197
|
+
* this.typeaheadRecords =
|
|
198
|
+
* 0: [0, <reference>, 'apple']
|
|
199
|
+
* 1: [1, <reference>, 'apricot']
|
|
200
|
+
* 2: [2, <reference>, 'banana']
|
|
201
|
+
* 3: [3, <reference>, 'olive'] <-- lastActiveIndex
|
|
202
|
+
* 4: [4, <reference>, 'orange']
|
|
203
|
+
* 5: [5, <reference>, 'strawberry']
|
|
204
|
+
*
|
|
205
|
+
* this.typeaheadRecords.sort((a,b) => rebaseIndexOnActive(a)
|
|
206
|
+
* - rebaseIndexOnActive(b)) ===
|
|
207
|
+
* 0: [3, <reference>, 'olive'] <-- lastActiveIndex
|
|
208
|
+
* 1: [4, <reference>, 'orange']
|
|
209
|
+
* 2: [5, <reference>, 'strawberry']
|
|
210
|
+
* 3: [0, <reference>, 'apple']
|
|
211
|
+
* 4: [1, <reference>, 'apricot']
|
|
212
|
+
* 5: [2, <reference>, 'banana']
|
|
213
|
+
*/
|
|
214
|
+
const rebaseIndexOnActive = (record) => {
|
|
215
|
+
return (record[TYPEAHEAD_RECORD.INDEX] + numRecords - lastActiveIndex) %
|
|
216
|
+
numRecords;
|
|
217
|
+
};
|
|
218
|
+
// records filtered and sorted / rebased around the last active index
|
|
219
|
+
const matchingRecords = this.typeaheadRecords
|
|
220
|
+
.filter(record => !record[TYPEAHEAD_RECORD.ITEM].disabled &&
|
|
221
|
+
record[TYPEAHEAD_RECORD.TEXT].startsWith(this.typaheadBuffer))
|
|
222
|
+
.sort((a, b) => rebaseIndexOnActive(a) - rebaseIndexOnActive(b));
|
|
223
|
+
// Just leave if there's nothing that matches. Native select will just
|
|
224
|
+
// choose the first thing that starts with the next letter in the alphabet
|
|
225
|
+
// but that's out of scope and hard to localize
|
|
226
|
+
if (matchingRecords.length === 0) {
|
|
227
|
+
clearTimeout(this.cancelTypeaheadTimeout);
|
|
228
|
+
if (this.lastActiveRecord) {
|
|
229
|
+
this.lastActiveRecord[TYPEAHEAD_RECORD.ITEM].active = false;
|
|
230
|
+
}
|
|
231
|
+
this.endTypeahead();
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
const isNewQuery = this.typaheadBuffer.length === 1;
|
|
235
|
+
let nextRecord;
|
|
236
|
+
// This is likely the case that someone is trying to "tab" through different
|
|
237
|
+
// entries that start with the same letter
|
|
238
|
+
if (this.lastActiveRecord === matchingRecords[0] && isNewQuery) {
|
|
239
|
+
nextRecord = matchingRecords[1] ?? matchingRecords[0];
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
nextRecord = matchingRecords[0];
|
|
243
|
+
}
|
|
244
|
+
if (this.lastActiveRecord) {
|
|
245
|
+
this.lastActiveRecord[TYPEAHEAD_RECORD.ITEM].active = false;
|
|
246
|
+
}
|
|
247
|
+
this.lastActiveRecord = nextRecord;
|
|
248
|
+
nextRecord[TYPEAHEAD_RECORD.ITEM].active = true;
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=typeaheadController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeaheadController.js","sourceRoot":"","sources":["typeaheadController.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8BH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACC,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,mBAAmB;IAsB9B;;;;;;;;;OASG;IACH,YACqB,aAAkD;QAAlD,kBAAa,GAAb,aAAa,CAAqC;QAhCvE;;WAEG;QACK,qBAAgB,GAAsB,EAAE,CAAC;QACjD;;WAEG;QACK,mBAAc,GAAG,EAAE,CAAC;QAC5B;;WAEG;QACK,2BAAsB,GAAG,CAAC,CAAC;QACnC;;WAEG;QACH,kBAAa,GAAG,KAAK,CAAC;QACtB;;WAEG;QACH,qBAAgB,GAAyB,IAAI,CAAC;QAwB9C;;;;;WAKG;QACM,cAAS,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC;QAuKF;;WAEG;QACc,iBAAY,GAAG,GAAG,EAAE;YACnC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC7B,CAAC,CAAC;IApMC,CAAC;IAEJ,IAAY,KAAK;QACf,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;IACrC,CAAC;IAgBD;;OAEG;IACK,cAAc,CAAC,KAAoB;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QAED,2EAA2E;QAC3E,yEAAyE;QACzE,wBAAwB;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAChD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7D,OAAO;SACR;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,4EAA4E;QAC5E,2BAA2B;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAClC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB;YACjB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACtB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACnD,IAAI,CAAC;QACT,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;SAC7D;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACK,SAAS,CAAC,KAAoB;QACpC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,0EAA0E;QAC1E,qBAAqB;QACrB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACxD,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;aAC7D;YACD,OAAO;SACR;QAED,sEAAsE;QACtE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;QAED,0CAA0C;QAC1C,IAAI,CAAC,sBAAsB;YACvB,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,mBAAmB,CAAC,CAAC;QAE5E,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAE/C,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3C,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAEhD;;;;;;;;;;;;;;;;;;;;;WAqBG;QACH,MAAM,mBAAmB,GAAG,CAAC,MAAuB,EAAE,EAAE;YACtD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,eAAe,CAAC;gBAClE,UAAU,CAAC;QACjB,CAAC,CAAC;QAEF,qEAAqE;QACrE,MAAM,eAAe,GACjB,IAAI,CAAC,gBAAgB;aAChB,MAAM,CACH,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ;YAC7C,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,UAAU,CACpC,IAAI,CAAC,cAAc,CAAC,CAAC;aAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,sEAAsE;QACtE,0EAA0E;QAC1E,+CAA+C;QAC/C,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;aAC7D;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;SACR;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC;QACpD,IAAI,UAA2B,CAAC;QAEhC,4EAA4E;QAC5E,0CAA0C;QAC1C,IAAI,IAAI,CAAC,gBAAgB,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE;YAC9D,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;SACvD;aAAM;YACL,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;SAC7D;QAED,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACnC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;QAChD,OAAO;IACT,CAAC;CAUF","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {MenuItem} from './shared.js';\n\n/**\n * The options that are passed to the typeahead controller.\n */\nexport interface TypeaheadControllerProperties {\n /**\n * A function that returns an array of menu items to be searched.\n * @return An array of menu items to be searched by typing.\n */\n getItems: () => MenuItem[];\n /**\n * The maximum time between each keystroke to keep the current type buffer\n * alive.\n */\n typeaheadBufferTime: number;\n /**\n * Whether or not the typeahead should listen for keystrokes or not.\n */\n active: boolean;\n}\n\n/**\n * Data structure tuple that helps with indexing.\n *\n * [index, item, normalized header text]\n */\ntype TypeaheadRecord = [number, MenuItem, string];\n/**\n * Indicies to access the TypeaheadRecord tuple type.\n */\nexport const TYPEAHEAD_RECORD = {\n INDEX: 0,\n ITEM: 1,\n TEXT: 2,\n} as const;\n\n/**\n * This controller listens to `keydown` events and searches the header text of\n * an array of `MenuItem`s with the corresponding entered keys within the buffer\n * time and activates the item.\n *\n * @example\n * ```ts\n * const typeaheadController = new TypeaheadController(() => ({\n * typeaheadBufferTime: 50,\n * getItems: () => Array.from(document.querySelectorAll('md-menu-item'))\n * }));\n * html`\n * <div\n * @keydown=${typeaheadController.onKeydown}\n * tabindex=\"0\"\n * class=\"activeItemText\">\n * <!-- focusable element that will receive keydown events -->\n * Apple\n * </div>\n * <div>\n * <md-menu-item active header=\"Apple\"></md-menu-item>\n * <md-menu-item header=\"Apricot\"></md-menu-item>\n * <md-menu-item header=\"Banana\"></md-menu-item>\n * <md-menu-item header=\"Olive\"></md-menu-item>\n * <md-menu-item header=\"Orange\"></md-menu-item>\n * </div>\n * `;\n * ```\n */\nexport class TypeaheadController {\n /**\n * Array of tuples that helps with indexing.\n */\n private typeaheadRecords: TypeaheadRecord[] = [];\n /**\n * Currently-typed text since last buffer timeout\n */\n private typaheadBuffer = '';\n /**\n * The timeout id from the current buffer's setTimeout\n */\n private cancelTypeaheadTimeout = 0;\n /**\n * If we are currently \"typing\"\n */\n isTypingAhead = false;\n /**\n * The record of the last active item.\n */\n lastActiveRecord: TypeaheadRecord|null = null;\n\n /**\n * @param getProperties A function that returns the options of the typeahead\n * controller:\n *\n * {\n * getItems: A function that returns an array of menu items to be searched.\n * typeaheadBufferTime: The maximum time between each keystroke to keep the\n * current type buffer alive.\n * }\n */\n constructor(\n private readonly getProperties: () => TypeaheadControllerProperties,\n ) {}\n\n private get items() {\n return this.getProperties().getItems();\n }\n\n private get active() {\n return this.getProperties().active;\n }\n\n /**\n * Apply this listener to the element that will receive `keydown` events that\n * should trigger this controller.\n *\n * @param event The native browser `KeyboardEvent` from the `keydown` event.\n */\n readonly onKeydown = (event: KeyboardEvent) => {\n if (this.isTypingAhead) {\n this.typeahead(event);\n } else {\n this.beginTypeahead(event);\n }\n };\n\n /**\n * Sets up typingahead\n */\n private beginTypeahead(event: KeyboardEvent) {\n if (!this.active) {\n return;\n }\n\n // We don't want to typeahead if the _beginning_ of the typeahead is a menu\n // navigation, or a selection. We will handle \"Space\" only if it's in the\n // middle of a typeahead\n if (event.code === 'Space' || event.code === 'Enter' ||\n event.code.startsWith('Arrow') || event.code === 'Escape') {\n return;\n }\n\n this.isTypingAhead = true;\n // Generates the record array data structure which is the index, the element\n // and a normalized header.\n this.typeaheadRecords = this.items.map(\n (el, index) => [index, el, el.headline.trim().toLowerCase()]);\n this.lastActiveRecord =\n this.typeaheadRecords.find(\n record => record[TYPEAHEAD_RECORD.ITEM].active) ??\n null;\n if (this.lastActiveRecord) {\n this.lastActiveRecord[TYPEAHEAD_RECORD.ITEM].active = false;\n }\n this.typeahead(event);\n }\n\n /**\n * Performs the typeahead. Based on the normalized items and the current text\n * buffer, finds the _next_ item with matching text and activates it.\n *\n * @example\n *\n * items: Apple, Banana, Olive, Orange, Cucumber\n * buffer: ''\n * user types: o\n *\n * activates Olive\n *\n * @example\n *\n * items: Apple, Banana, Olive (active), Orange, Cucumber\n * buffer: 'o'\n * user types: l\n *\n * activates Olive\n *\n * @example\n *\n * items: Apple, Banana, Olive (active), Orange, Cucumber\n * buffer: ''\n * user types: o\n *\n * activates Orange\n *\n * @example\n *\n * items: Apple, Banana, Olive, Orange (active), Cucumber\n * buffer: ''\n * user types: o\n *\n * activates Olive\n */\n private typeahead(event: KeyboardEvent) {\n clearTimeout(this.cancelTypeaheadTimeout);\n // Stop typingahead if one of the navigation or selection keys (except for\n // Space) are pressed\n if (event.code === 'Enter' || event.code.startsWith('Arrow') ||\n event.code === 'Escape') {\n this.endTypeahead();\n if (this.lastActiveRecord) {\n this.lastActiveRecord[TYPEAHEAD_RECORD.ITEM].active = false;\n }\n return;\n }\n\n // If Space is pressed, prevent it from selecting and closing the menu\n if (event.code === 'Space') {\n event.stopPropagation();\n event.preventDefault();\n }\n\n // Start up a new keystroke buffer timeout\n this.cancelTypeaheadTimeout =\n setTimeout(this.endTypeahead, this.getProperties().typeaheadBufferTime);\n\n this.typaheadBuffer += event.key.toLowerCase();\n\n const lastActiveIndex = this.lastActiveRecord ?\n this.lastActiveRecord[TYPEAHEAD_RECORD.INDEX] :\n -1;\n const numRecords = this.typeaheadRecords.length;\n\n /**\n * Sorting function that will resort the items starting with the given index\n *\n * @example\n *\n * this.typeaheadRecords =\n * 0: [0, <reference>, 'apple']\n * 1: [1, <reference>, 'apricot']\n * 2: [2, <reference>, 'banana']\n * 3: [3, <reference>, 'olive'] <-- lastActiveIndex\n * 4: [4, <reference>, 'orange']\n * 5: [5, <reference>, 'strawberry']\n *\n * this.typeaheadRecords.sort((a,b) => rebaseIndexOnActive(a)\n * - rebaseIndexOnActive(b)) ===\n * 0: [3, <reference>, 'olive'] <-- lastActiveIndex\n * 1: [4, <reference>, 'orange']\n * 2: [5, <reference>, 'strawberry']\n * 3: [0, <reference>, 'apple']\n * 4: [1, <reference>, 'apricot']\n * 5: [2, <reference>, 'banana']\n */\n const rebaseIndexOnActive = (record: TypeaheadRecord) => {\n return (record[TYPEAHEAD_RECORD.INDEX] + numRecords - lastActiveIndex) %\n numRecords;\n };\n\n // records filtered and sorted / rebased around the last active index\n const matchingRecords =\n this.typeaheadRecords\n .filter(\n record => !record[TYPEAHEAD_RECORD.ITEM].disabled &&\n record[TYPEAHEAD_RECORD.TEXT].startsWith(\n this.typaheadBuffer))\n .sort((a, b) => rebaseIndexOnActive(a) - rebaseIndexOnActive(b));\n\n // Just leave if there's nothing that matches. Native select will just\n // choose the first thing that starts with the next letter in the alphabet\n // but that's out of scope and hard to localize\n if (matchingRecords.length === 0) {\n clearTimeout(this.cancelTypeaheadTimeout);\n if (this.lastActiveRecord) {\n this.lastActiveRecord[TYPEAHEAD_RECORD.ITEM].active = false;\n }\n this.endTypeahead();\n return;\n }\n\n const isNewQuery = this.typaheadBuffer.length === 1;\n let nextRecord: TypeaheadRecord;\n\n // This is likely the case that someone is trying to \"tab\" through different\n // entries that start with the same letter\n if (this.lastActiveRecord === matchingRecords[0] && isNewQuery) {\n nextRecord = matchingRecords[1] ?? matchingRecords[0];\n } else {\n nextRecord = matchingRecords[0];\n }\n\n if (this.lastActiveRecord) {\n this.lastActiveRecord[TYPEAHEAD_RECORD.ITEM].active = false;\n }\n\n this.lastActiveRecord = nextRecord;\n nextRecord[TYPEAHEAD_RECORD.ITEM].active = true;\n return;\n }\n\n /**\n * Ends the current typeahead and clears the buffer.\n */\n private readonly endTypeahead = () => {\n this.isTypingAhead = false;\n this.typaheadBuffer = '';\n this.typeaheadRecords = [];\n };\n}\n"]}
|
package/menu/menu-item-link.d.ts
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright 2023 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { MenuItemLink } from './
|
|
7
|
-
export { ListItem } from '../list/
|
|
8
|
-
export { CloseMenuEvent, DeactivateItemsEvent, MenuItem } from './
|
|
6
|
+
import { MenuItemLink } from './internal/menuitemlink/menu-item-link.js';
|
|
7
|
+
export { ListItem } from '../list/internal/listitem/list-item.js';
|
|
8
|
+
export { CloseMenuEvent, DeactivateItemsEvent, MenuItem } from './internal/shared.js';
|
|
9
9
|
declare global {
|
|
10
10
|
interface HTMLElementTagNameMap {
|
|
11
11
|
'md-menu-item-link': MdMenuItemLink;
|
package/menu/menu-item-link.js
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { __decorate } from "tslib";
|
|
7
7
|
import { customElement } from 'lit/decorators.js';
|
|
8
|
-
import { styles as listItemForcedColorsStyles } from '../list/
|
|
9
|
-
import { styles as listItemStyles } from '../list/
|
|
10
|
-
import { styles as forcedColorsStyles } from './
|
|
11
|
-
import { styles } from './
|
|
12
|
-
import { MenuItemLink } from './
|
|
13
|
-
export { CloseMenuEvent, DeactivateItemsEvent } from './
|
|
8
|
+
import { styles as listItemForcedColorsStyles } from '../list/internal/listitem/forced-colors-styles.css.js';
|
|
9
|
+
import { styles as listItemStyles } from '../list/internal/listitem/list-item-styles.css.js';
|
|
10
|
+
import { styles as forcedColorsStyles } from './internal/menuitem/forced-colors-styles.css.js';
|
|
11
|
+
import { styles } from './internal/menuitem/menu-item-styles.css.js';
|
|
12
|
+
import { MenuItemLink } from './internal/menuitemlink/menu-item-link.js';
|
|
13
|
+
export { CloseMenuEvent, DeactivateItemsEvent } from './internal/shared.js';
|
|
14
14
|
/**
|
|
15
15
|
* @summary Menus display a list of choices on a temporary surface.
|
|
16
16
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item-link.js","sourceRoot":"","sources":["menu-item-link.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,IAAI,0BAA0B,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"menu-item-link.js","sourceRoot":"","sources":["menu-item-link.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,IAAI,0BAA0B,EAAC,MAAM,uDAAuD,CAAC;AAC3G,OAAO,EAAC,MAAM,IAAI,cAAc,EAAC,MAAM,mDAAmD,CAAC;AAE3F,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,6CAA6C,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,2CAA2C,CAAC;AAGvE,OAAO,EAAC,cAAc,EAAE,oBAAoB,EAAW,MAAM,sBAAsB,CAAC;AASpF;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,YAAY;;AAC9B,qBAAM,GAClB,CAAC,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;AAFlE,cAAc;IAD1B,aAAa,CAAC,mBAAmB,CAAC;GACtB,cAAc,CAG1B;SAHY,cAAc","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {styles as listItemForcedColorsStyles} from '../list/internal/listitem/forced-colors-styles.css.js';\nimport {styles as listItemStyles} from '../list/internal/listitem/list-item-styles.css.js';\n\nimport {styles as forcedColorsStyles} from './internal/menuitem/forced-colors-styles.css.js';\nimport {styles} from './internal/menuitem/menu-item-styles.css.js';\nimport {MenuItemLink} from './internal/menuitemlink/menu-item-link.js';\n\nexport {ListItem} from '../list/internal/listitem/list-item.js';\nexport {CloseMenuEvent, DeactivateItemsEvent, MenuItem} from './internal/shared.js';\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-menu-item-link': MdMenuItemLink;\n }\n}\n\n/**\n * @summary Menus display a list of choices on a temporary surface.\n *\n * @description\n * Menu items are the selectable choices within the menu. Menu items must\n * implement the `MenuItem` interface and also have the `md-menu-item`\n * attribute. Additionally menu items are list items so they must also have the\n * `md-list-item` attribute.\n *\n * Menu items can control a menu by selectively firing the `close-menu` and\n * `deselect-items` events.\n *\n * This is a linkable variant.\n *\n * @final\n * @suppress {visibility}\n */\n@customElement('md-menu-item-link')\nexport class MdMenuItemLink extends MenuItemLink {\n static override styles =\n [listItemStyles, styles, listItemForcedColorsStyles, forcedColorsStyles];\n}\n"]}
|
package/menu/menu-item.d.ts
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright 2022 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { MenuItemEl } from './
|
|
7
|
-
export { ListItem } from '../list/
|
|
8
|
-
export { CloseMenuEvent, DeactivateItemsEvent, MenuItem } from './
|
|
6
|
+
import { MenuItemEl } from './internal/menuitem/menu-item.js';
|
|
7
|
+
export { ListItem } from '../list/internal/listitem/list-item.js';
|
|
8
|
+
export { CloseMenuEvent, DeactivateItemsEvent, MenuItem } from './internal/shared.js';
|
|
9
9
|
declare global {
|
|
10
10
|
interface HTMLElementTagNameMap {
|
|
11
11
|
'md-menu-item': MdMenuItem;
|
package/menu/menu-item.js
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { __decorate } from "tslib";
|
|
7
7
|
import { customElement } from 'lit/decorators.js';
|
|
8
|
-
import { styles as listItemForcedColorsStyles } from '../list/
|
|
9
|
-
import { styles as listItemStyles } from '../list/
|
|
10
|
-
import { styles as forcedColorsStyles } from './
|
|
11
|
-
import { MenuItemEl } from './
|
|
12
|
-
import { styles } from './
|
|
13
|
-
export { CloseMenuEvent, DeactivateItemsEvent } from './
|
|
8
|
+
import { styles as listItemForcedColorsStyles } from '../list/internal/listitem/forced-colors-styles.css.js';
|
|
9
|
+
import { styles as listItemStyles } from '../list/internal/listitem/list-item-styles.css.js';
|
|
10
|
+
import { styles as forcedColorsStyles } from './internal/menuitem/forced-colors-styles.css.js';
|
|
11
|
+
import { MenuItemEl } from './internal/menuitem/menu-item.js';
|
|
12
|
+
import { styles } from './internal/menuitem/menu-item-styles.css.js';
|
|
13
|
+
export { CloseMenuEvent, DeactivateItemsEvent } from './internal/shared.js';
|
|
14
14
|
/**
|
|
15
15
|
* @summary Menus display a list of choices on a temporary surface.
|
|
16
16
|
*
|
package/menu/menu-item.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-item.js","sourceRoot":"","sources":["menu-item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,IAAI,0BAA0B,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"menu-item.js","sourceRoot":"","sources":["menu-item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,IAAI,0BAA0B,EAAC,MAAM,uDAAuD,CAAC;AAC3G,OAAO,EAAC,MAAM,IAAI,cAAc,EAAC,MAAM,mDAAmD,CAAC;AAE3F,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAC,UAAU,EAAC,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAC,MAAM,EAAC,MAAM,6CAA6C,CAAC;AAGnE,OAAO,EAAC,cAAc,EAAE,oBAAoB,EAAW,MAAM,sBAAsB,CAAC;AAQpF;;;;;;;;;;;;;;GAcG;AAEI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;;AACxB,iBAAM,GAClB,CAAC,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;AAFlE,UAAU;IADtB,aAAa,CAAC,cAAc,CAAC;GACjB,UAAU,CAGtB;SAHY,UAAU","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {styles as listItemForcedColorsStyles} from '../list/internal/listitem/forced-colors-styles.css.js';\nimport {styles as listItemStyles} from '../list/internal/listitem/list-item-styles.css.js';\n\nimport {styles as forcedColorsStyles} from './internal/menuitem/forced-colors-styles.css.js';\nimport {MenuItemEl} from './internal/menuitem/menu-item.js';\nimport {styles} from './internal/menuitem/menu-item-styles.css.js';\n\nexport {ListItem} from '../list/internal/listitem/list-item.js';\nexport {CloseMenuEvent, DeactivateItemsEvent, MenuItem} from './internal/shared.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-menu-item': MdMenuItem;\n }\n}\n\n/**\n * @summary Menus display a list of choices on a temporary surface.\n *\n * @description\n * Menu items are the selectable choices within the menu. Menu items must\n * implement the `MenuItem` interface and also have the `md-menu-item`\n * attribute. Additionally menu items are list items so they must also have the\n * `md-list-item` attribute.\n *\n * Menu items can control a menu by selectively firing the `close-menu` and\n * `deselect-items` events.\n *\n * @final\n * @suppress {visibility}\n */\n@customElement('md-menu-item')\nexport class MdMenuItem extends MenuItemEl {\n static override styles =\n [listItemStyles, styles, listItemForcedColorsStyles, forcedColorsStyles];\n}\n"]}
|
package/menu/menu.d.ts
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Copyright 2022 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { Menu } from './
|
|
7
|
-
export { ListItem } from '../list/
|
|
8
|
-
export { Corner, DefaultFocusState } from './
|
|
9
|
-
export { CloseMenuEvent, DeactivateItemsEvent, MenuItem } from './
|
|
6
|
+
import { Menu } from './internal/menu.js';
|
|
7
|
+
export { ListItem } from '../list/internal/listitem/list-item.js';
|
|
8
|
+
export { Corner, DefaultFocusState } from './internal/menu.js';
|
|
9
|
+
export { CloseMenuEvent, DeactivateItemsEvent, MenuItem } from './internal/shared.js';
|
|
10
10
|
declare global {
|
|
11
11
|
interface HTMLElementTagNameMap {
|
|
12
12
|
'md-menu': MdMenu;
|
package/menu/menu.js
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { __decorate } from "tslib";
|
|
7
7
|
import { customElement } from 'lit/decorators.js';
|
|
8
|
-
import { styles as forcedColors } from './
|
|
9
|
-
import { Menu } from './
|
|
10
|
-
import { styles } from './
|
|
11
|
-
export { CloseMenuEvent, DeactivateItemsEvent } from './
|
|
8
|
+
import { styles as forcedColors } from './internal/forced-colors-styles.css.js';
|
|
9
|
+
import { Menu } from './internal/menu.js';
|
|
10
|
+
import { styles } from './internal/menu-styles.css.js';
|
|
11
|
+
export { CloseMenuEvent, DeactivateItemsEvent } from './internal/shared.js';
|
|
12
12
|
/**
|
|
13
13
|
* @summary Menus display a list of choices on a temporary surface.
|
|
14
14
|
*
|
package/menu/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["menu.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["menu.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,IAAI,YAAY,EAAC,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAIrD,OAAO,EAAC,cAAc,EAAE,oBAAoB,EAAW,MAAM,sBAAsB,CAAC;AAQpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,IAAI;;AACd,aAAM,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AADrC,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM,CAElB;SAFY,MAAM","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {styles as forcedColors} from './internal/forced-colors-styles.css.js';\nimport {Menu} from './internal/menu.js';\nimport {styles} from './internal/menu-styles.css.js';\n\nexport {ListItem} from '../list/internal/listitem/list-item.js';\nexport {Corner, DefaultFocusState} from './internal/menu.js';\nexport {CloseMenuEvent, DeactivateItemsEvent, MenuItem} from './internal/shared.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-menu': MdMenu;\n }\n}\n\n/**\n * @summary Menus display a list of choices on a temporary surface.\n *\n * @description\n * Menus appear when users interact with a button, action, or other control.\n *\n * They can be opened from a variety of elements, most commonly icon buttons,\n * buttons, and text fields.\n *\n * md-menu listens for the `close-menu` and `deselect-items` events.\n *\n * - `close-menu` closes the menu when dispatched from a child element.\n * - `deselect-items` deselects all of its immediate menu-item children.\n *\n * @example\n * ```html\n * <div style=\"position:relative;\">\n * <button\n * class=\"anchor\"\n * ${ref(anchorRef)}\n * @click=${() => this.menuRef.value.show()}>\n * Click to open menu\n * </button>\n * <!--\n * `has-overflow` is required when using a submenu which overflows the\n * menu's contents\n * -->\n * <md-menu has-overflow ${ref(menuRef)} ${(el) => el.anchor =\n * anchorRef.value}> <md-menu-item header=\"This is a header\"></md-menu-item>\n * <md-sub-menu-item header=\"this is a submenu item\">\n * <md-menu slot=\"submenu\">\n * <md-menu-item\n * header=\"This is an item inside a submenu\"></md-menu-item>\n * </md-menu>\n * </md-sub-menu-item>\n * </md-menu>\n * </div>\n * ```\n *\n * @final\n * @suppress {visibility}\n */\n@customElement('md-menu')\nexport class MdMenu extends Menu {\n static override styles = [styles, forcedColors];\n}\n"]}
|
package/menu/sub-menu-item.d.ts
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright 2023 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { SubMenuItem } from './
|
|
7
|
-
export { ListItem } from '../list/
|
|
8
|
-
export { CloseMenuEvent, DeactivateItemsEvent, MenuItem } from './
|
|
6
|
+
import { SubMenuItem } from './internal/submenuitem/sub-menu-item.js';
|
|
7
|
+
export { ListItem } from '../list/internal/listitem/list-item.js';
|
|
8
|
+
export { CloseMenuEvent, DeactivateItemsEvent, MenuItem } from './internal/shared.js';
|
|
9
9
|
declare global {
|
|
10
10
|
interface HTMLElementTagNameMap {
|
|
11
11
|
'md-sub-menu-item': MdSubMenuItem;
|
package/menu/sub-menu-item.js
CHANGED
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { __decorate } from "tslib";
|
|
7
7
|
import { customElement } from 'lit/decorators.js';
|
|
8
|
-
import { styles as listItemForcedColorsStyles } from '../list/
|
|
9
|
-
import { styles as listItemStyles } from '../list/
|
|
10
|
-
import { styles as forcedColorsStyles } from './
|
|
11
|
-
import { styles } from './
|
|
12
|
-
import { SubMenuItem } from './
|
|
13
|
-
export { CloseMenuEvent, DeactivateItemsEvent } from './
|
|
8
|
+
import { styles as listItemForcedColorsStyles } from '../list/internal/listitem/forced-colors-styles.css.js';
|
|
9
|
+
import { styles as listItemStyles } from '../list/internal/listitem/list-item-styles.css.js';
|
|
10
|
+
import { styles as forcedColorsStyles } from './internal/menuitem/forced-colors-styles.css.js';
|
|
11
|
+
import { styles } from './internal/menuitem/menu-item-styles.css.js';
|
|
12
|
+
import { SubMenuItem } from './internal/submenuitem/sub-menu-item.js';
|
|
13
|
+
export { CloseMenuEvent, DeactivateItemsEvent } from './internal/shared.js';
|
|
14
14
|
/**
|
|
15
15
|
* @summary Menus display a list of choices on a temporary surface.
|
|
16
16
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-menu-item.js","sourceRoot":"","sources":["sub-menu-item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,IAAI,0BAA0B,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"sub-menu-item.js","sourceRoot":"","sources":["sub-menu-item.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,MAAM,IAAI,0BAA0B,EAAC,MAAM,uDAAuD,CAAC;AAC3G,OAAO,EAAC,MAAM,IAAI,cAAc,EAAC,MAAM,mDAAmD,CAAC;AAE3F,OAAO,EAAC,MAAM,IAAI,kBAAkB,EAAC,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAC,MAAM,EAAC,MAAM,6CAA6C,CAAC;AACnE,OAAO,EAAC,WAAW,EAAC,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAC,cAAc,EAAE,oBAAoB,EAAW,MAAM,sBAAsB,CAAC;AAQpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,WAAW;;AAC5B,oBAAM,GAClB,CAAC,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE,kBAAkB,CAAC,CAAC;AAFlE,aAAa;IADzB,aAAa,CAAC,kBAAkB,CAAC;GACrB,aAAa,CAGzB;SAHY,aAAa","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {styles as listItemForcedColorsStyles} from '../list/internal/listitem/forced-colors-styles.css.js';\nimport {styles as listItemStyles} from '../list/internal/listitem/list-item-styles.css.js';\n\nimport {styles as forcedColorsStyles} from './internal/menuitem/forced-colors-styles.css.js';\nimport {styles} from './internal/menuitem/menu-item-styles.css.js';\nimport {SubMenuItem} from './internal/submenuitem/sub-menu-item.js';\n\nexport {ListItem} from '../list/internal/listitem/list-item.js';\nexport {CloseMenuEvent, DeactivateItemsEvent, MenuItem} from './internal/shared.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-sub-menu-item': MdSubMenuItem;\n }\n}\n\n/**\n * @summary Menus display a list of choices on a temporary surface.\n *\n * @description\n * Menu items are the selectable choices within the menu. Menu items must\n * implement the `MenuItem` interface and also have the `md-menu-item`\n * attribute. Additionally menu items are list items so they must also have the\n * `md-list-item` attribute.\n *\n * Menu items can control a menu by selectively firing the `close-menu` and\n * `deselect-items` events.\n *\n * This menu item will open a sub-menu that is slotted in the `submenu` slot.\n * Additionally, the containing menu must either have `has-overflow` or `fixed`\n * set to `true` in order to display the containing menu properly.\n *\n * @example\n * ```html\n * <div style=\"position:relative;\">\n * <button\n * class=\"anchor\"\n * ${ref(anchorRef)}\n * @click=${() => this.menuRef.value.show()}>\n * Click to open menu\n * </button>\n * <!--\n * `has-overflow` is required when using a submenu which overflows the\n * menu's contents\n * -->\n * <md-menu has-overflow ${ref(menuRef)} ${(el) => el.anchor =\n * anchorRef.value}> <md-menu-item header=\"This is a header\"></md-menu-item>\n * <md-sub-menu-item header=\"this is a submenu item\">\n * <md-menu slot=\"submenu\">\n * <md-menu-item\n * header=\"This is an item inside a submenu\"></md-menu-item>\n * </md-menu>\n * </md-sub-menu>\n * </md-menu>\n * </div>\n * ```\n *\n * @final\n * @suppress {visibility}\n */\n@customElement('md-sub-menu-item')\nexport class MdSubMenuItem extends SubMenuItem {\n static override styles =\n [listItemStyles, styles, listItemForcedColorsStyles, forcedColorsStyles];\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@material/web",
|
|
3
|
-
"version": "1.0.0-pre.
|
|
3
|
+
"version": "1.0.0-pre.14",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"!catalog"
|
|
38
38
|
],
|
|
39
39
|
"workspaces": [
|
|
40
|
+
".",
|
|
40
41
|
"catalog"
|
|
41
42
|
],
|
|
42
43
|
"dependencies": {
|
|
@@ -75,7 +76,8 @@
|
|
|
75
76
|
"**/*.js",
|
|
76
77
|
"**/*.js.map",
|
|
77
78
|
"**/*.d.ts",
|
|
78
|
-
"
|
|
79
|
+
"!css-to-ts.js",
|
|
80
|
+
"!web-test-runner.config.js",
|
|
79
81
|
"!types/",
|
|
80
82
|
"!catalog"
|
|
81
83
|
],
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { CircularProgress } from './internal/circular-progress.js';
|
|
7
|
+
declare global {
|
|
8
|
+
interface HTMLElementTagNameMap {
|
|
9
|
+
'md-circular-progress': MdCircularProgress;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @summary Circular progress indicators display progress by animating along an
|
|
14
|
+
* invisible circular track in a clockwise direction. They can be applied
|
|
15
|
+
* directly to a surface, such as a button or card.
|
|
16
|
+
*
|
|
17
|
+
* @description
|
|
18
|
+
* Progress indicators inform users about the status of ongoing processes.
|
|
19
|
+
* - Determinate indicators display how long a process will take.
|
|
20
|
+
* - Indeterminate indicators express an unspecified amount of wait time.
|
|
21
|
+
*/
|
|
22
|
+
export declare class MdCircularProgress extends CircularProgress {
|
|
23
|
+
static styles: import("lit").CSSResult[];
|
|
24
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { __decorate } from "tslib";
|
|
7
|
+
import { customElement } from 'lit/decorators.js';
|
|
8
|
+
import { CircularProgress } from './internal/circular-progress.js';
|
|
9
|
+
import { styles } from './internal/circular-progress-styles.css.js';
|
|
10
|
+
/**
|
|
11
|
+
* @summary Circular progress indicators display progress by animating along an
|
|
12
|
+
* invisible circular track in a clockwise direction. They can be applied
|
|
13
|
+
* directly to a surface, such as a button or card.
|
|
14
|
+
*
|
|
15
|
+
* @description
|
|
16
|
+
* Progress indicators inform users about the status of ongoing processes.
|
|
17
|
+
* - Determinate indicators display how long a process will take.
|
|
18
|
+
* - Indeterminate indicators express an unspecified amount of wait time.
|
|
19
|
+
*/
|
|
20
|
+
let MdCircularProgress = class MdCircularProgress extends CircularProgress {
|
|
21
|
+
};
|
|
22
|
+
MdCircularProgress.styles = [styles];
|
|
23
|
+
MdCircularProgress = __decorate([
|
|
24
|
+
customElement('md-circular-progress')
|
|
25
|
+
], MdCircularProgress);
|
|
26
|
+
export { MdCircularProgress };
|
|
27
|
+
//# sourceMappingURL=circular-progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circular-progress.js","sourceRoot":"","sources":["circular-progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,MAAM,EAAC,MAAM,4CAA4C,CAAC;AAQlE;;;;;;;;;GASG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,gBAAgB;;AACtC,yBAAM,GAAG,CAAC,MAAM,CAAC,CAAC;AADvB,kBAAkB;IAD9B,aAAa,CAAC,sBAAsB,CAAC;GACzB,kBAAkB,CAE9B;SAFY,kBAAkB","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {customElement} from 'lit/decorators.js';\n\nimport {CircularProgress} from './internal/circular-progress.js';\nimport {styles} from './internal/circular-progress-styles.css.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-circular-progress': MdCircularProgress;\n }\n}\n\n/**\n * @summary Circular progress indicators display progress by animating along an\n * invisible circular track in a clockwise direction. They can be applied\n * directly to a surface, such as a button or card.\n *\n * @description\n * Progress indicators inform users about the status of ongoing processes.\n * - Determinate indicators display how long a process will take.\n * - Indeterminate indicators express an unspecified amount of wait time.\n */\n@customElement('md-circular-progress')\nexport class MdCircularProgress extends CircularProgress {\n static override styles = [styles];\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Harness } from '../testing/harness.js';
|
|
7
|
+
import { CircularProgress } from './internal/circular-progress.js';
|
|
8
|
+
import { LinearProgress } from './internal/linear-progress.js';
|
|
9
|
+
/**
|
|
10
|
+
* Test harness for linear-progress.
|
|
11
|
+
*/
|
|
12
|
+
export declare class LinearProgressHarness extends Harness<LinearProgress> {
|
|
13
|
+
getInteractiveElement(): Promise<HTMLElement>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Test harness for circular-progress.
|
|
17
|
+
*/
|
|
18
|
+
export declare class CircularProgressHarness extends Harness<CircularProgress> {
|
|
19
|
+
getInteractiveElement(): Promise<HTMLElement>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Harness } from '../testing/harness.js';
|
|
7
|
+
/**
|
|
8
|
+
* Test harness for linear-progress.
|
|
9
|
+
*/
|
|
10
|
+
export class LinearProgressHarness extends Harness {
|
|
11
|
+
async getInteractiveElement() {
|
|
12
|
+
await this.element.updateComplete;
|
|
13
|
+
// Test access to protected property
|
|
14
|
+
// tslint:disable-next-line:no-dict-access-on-struct-type
|
|
15
|
+
return this.element['rootEl'];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Test harness for circular-progress.
|
|
20
|
+
*/
|
|
21
|
+
export class CircularProgressHarness extends Harness {
|
|
22
|
+
async getInteractiveElement() {
|
|
23
|
+
await this.element.updateComplete;
|
|
24
|
+
return this.element.querySelector('.circularProgresss');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=harness.js.map
|