Showing preview only (7,847K chars total). Download the full file or copy to clipboard to get everything.
Repository: material-components/material-components-web
Branch: master
Commit: 6ceadb81df50
Files: 1412
Total size: 7.2 MB
Directory structure:
gitextract_wxuq3f08/
├── .editorconfig
├── .eslintignore
├── .eslintrc.yaml
├── .gitattributes
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── --bug-report.md
│ │ └── --feature-request.md
│ ├── semantic.yml
│ └── workflows/
│ ├── release-canary.yml
│ ├── release-nightly.yml
│ ├── release-pull-request.yml
│ ├── release.yml
│ └── test.yml
├── .gitignore
├── .mdc-docsite.yml
├── .nvmrc
├── .sassrc.js
├── .stylelintignore
├── .stylelintrc.yaml
├── CHANGELOG.md
├── CHANGELOG_ARCHIVE.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── app.yaml
├── docs/
│ ├── README.md
│ ├── authoring-components.md
│ ├── code/
│ │ ├── README.md
│ │ ├── architecture.md
│ │ ├── best_practices.md
│ │ ├── readme_standards.md
│ │ └── readme_template.md
│ ├── codelabs/
│ │ └── codelabs-index.md
│ ├── contribute/
│ │ ├── README.md
│ │ ├── bug_fix.md
│ │ ├── code_review.md
│ │ └── feat.md
│ ├── docsite-components.md
│ ├── docsite-index.md
│ ├── docsite-input-controls.md
│ ├── docsite-tabs.md
│ ├── examples.md
│ ├── framework-wrappers.md
│ ├── getting-started.md
│ ├── importing-js.md
│ ├── integrating-into-frameworks.md
│ ├── local-development.md
│ ├── migrating-from-mdl.md
│ ├── open_source/
│ │ ├── README.md
│ │ └── releases-and-branches.md
│ ├── supported-browsers.md
│ └── theming.md
├── jasmine-node.json
├── karma.conf.js
├── lerna.json
├── package.json
├── packages/
│ ├── README.md
│ ├── material-components-web/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── index.scss
│ │ ├── index.ts
│ │ ├── material-components-web.scss
│ │ └── package.json
│ ├── mdc-animation/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _animation.scss
│ │ ├── _functions.import.scss
│ │ ├── _functions.scss
│ │ ├── _index.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── animationframe.ts
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── animationframe.test.ts
│ │ │ └── component.test.ts
│ │ ├── types.ts
│ │ └── util.ts
│ ├── mdc-auto-init/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── constants.ts
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── test/
│ │ └── mdc-auto-init.test.ts
│ ├── mdc-banner/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _banner-theme.scss
│ │ ├── _banner.scss
│ │ ├── _index.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── styles.scss
│ │ └── test/
│ │ ├── component.test.ts
│ │ └── foundation.test.ts
│ ├── mdc-base/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── component.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── observer-foundation.ts
│ │ ├── observer-proxy.ts
│ │ ├── observer.ts
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── foundation.test.ts
│ │ │ ├── observer-foundation.test.ts
│ │ │ ├── observer-proxy.test.ts
│ │ │ ├── observer-tests.ts
│ │ │ └── observer.test.ts
│ │ └── types.ts
│ ├── mdc-button/
│ │ ├── README.md
│ │ ├── _button-base.scss
│ │ ├── _button-filled-theme.scss
│ │ ├── _button-filled.scss
│ │ ├── _button-outlined-theme.scss
│ │ ├── _button-outlined.scss
│ │ ├── _button-protected-theme.scss
│ │ ├── _button-protected.scss
│ │ ├── _button-ripple.scss
│ │ ├── _button-shared-theme.scss
│ │ ├── _button-text-theme.scss
│ │ ├── _button-text.scss
│ │ ├── _button-theme.scss
│ │ ├── _button.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── mdc-button.import.scss
│ │ ├── mdc-button.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ └── test/
│ │ ├── feature-targeting-any.test.scss
│ │ └── mdc-button.scss.test.ts
│ ├── mdc-card/
│ │ ├── README.md
│ │ ├── _card-shared-theme.scss
│ │ ├── _elevated-card-theme.scss
│ │ ├── _filled-card-theme.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _outlined-card-theme.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── mdc-card.import.scss
│ │ ├── mdc-card.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── feature-targeting-any.test.scss
│ │ └── mdc-card.scss.test.ts
│ ├── mdc-checkbox/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _checkbox-custom-properties.scss
│ │ ├── _checkbox-theme.scss
│ │ ├── _checkbox.scss
│ │ ├── _functions.import.scss
│ │ ├── _functions.scss
│ │ ├── _index.scss
│ │ ├── _keyframes.import.scss
│ │ ├── _keyframes.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-checkbox.import.scss
│ │ ├── mdc-checkbox.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── component.test.ts
│ │ ├── feature-targeting-any.test.scss
│ │ ├── foundation.test.ts
│ │ └── mdc-checkbox.scss.test.ts
│ ├── mdc-chips/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _assist-chip-theme.scss
│ │ ├── _chip-set-theme.scss
│ │ ├── _chip-set.scss
│ │ ├── _chip-theme.scss
│ │ ├── _chip.scss
│ │ ├── _filter-chip-theme.scss
│ │ ├── _index.scss
│ │ ├── _input-chip-theme.scss
│ │ ├── _suggestion-chip-theme.scss
│ │ ├── action/
│ │ │ ├── README.md
│ │ │ ├── adapter.ts
│ │ │ ├── component-ripple.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ ├── primary-foundation.ts
│ │ │ ├── test/
│ │ │ │ ├── component-ripple.test.ts
│ │ │ │ ├── component.test.ts
│ │ │ │ ├── foundation.test.ts
│ │ │ │ ├── primary-foundation.test.ts
│ │ │ │ └── trailing-foundation.test.ts
│ │ │ ├── trailing-foundation.ts
│ │ │ └── types.ts
│ │ ├── chip/
│ │ │ ├── README.md
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ ├── test/
│ │ │ │ ├── component.test.ts
│ │ │ │ └── foundation.test.ts
│ │ │ └── types.ts
│ │ ├── chip-set/
│ │ │ ├── README.md
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ ├── test/
│ │ │ │ ├── component.test.ts
│ │ │ │ └── foundation.test.ts
│ │ │ └── types.ts
│ │ ├── deprecated/
│ │ │ ├── README.md
│ │ │ ├── _index.scss
│ │ │ ├── _mixins.import.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _variables.import.scss
│ │ │ ├── _variables.scss
│ │ │ ├── chip/
│ │ │ │ ├── adapter.ts
│ │ │ │ ├── component.ts
│ │ │ │ ├── constants.ts
│ │ │ │ ├── foundation.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── mdc-chip.scss
│ │ │ │ ├── test/
│ │ │ │ │ ├── component.test.ts
│ │ │ │ │ └── foundation.test.ts
│ │ │ │ └── types.ts
│ │ │ ├── chip-set/
│ │ │ │ ├── adapter.ts
│ │ │ │ ├── component.ts
│ │ │ │ ├── constants.ts
│ │ │ │ ├── foundation.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── mdc-chip-set.scss
│ │ │ │ └── test/
│ │ │ │ ├── component.test.ts
│ │ │ │ └── foundation.test.ts
│ │ │ ├── index.ts
│ │ │ ├── mdc-chips.import.scss
│ │ │ ├── mdc-chips.scss
│ │ │ ├── test/
│ │ │ │ ├── feature-targeting-any.test.scss
│ │ │ │ └── mdc-chips.scss.test.ts
│ │ │ └── trailingaction/
│ │ │ ├── README.md
│ │ │ ├── _index.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _variables.scss
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ ├── mdc-chip-trailing-action.scss
│ │ │ ├── test/
│ │ │ │ ├── component.test.ts
│ │ │ │ ├── feature-targeting-any.test.scss
│ │ │ │ ├── foundation.test.ts
│ │ │ │ └── mdc-chip-trailing-action.scss.test.ts
│ │ │ └── types.ts
│ │ ├── index.ts
│ │ ├── package.json
│ │ └── styles.scss
│ ├── mdc-circular-progress/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _circular-progress-theme.scss
│ │ ├── _circular-progress.scss
│ │ ├── _index.scss
│ │ ├── _keyframes.import.scss
│ │ ├── _keyframes.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-circular-progress.import.scss
│ │ ├── mdc-circular-progress.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ └── test/
│ │ ├── component.test.ts
│ │ ├── feature-targeting-any.test.scss
│ │ ├── foundation.test.ts
│ │ └── mdc-circular-progress.scss.test.ts
│ ├── mdc-data-table/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _data-table-cell-checkbox.scss
│ │ ├── _data-table-cell.scss
│ │ ├── _data-table-header-cell-checkbox-sorting.scss
│ │ ├── _data-table-header-cell.scss
│ │ ├── _data-table-pagination.scss
│ │ ├── _data-table-progress-indicator.scss
│ │ ├── _data-table-theme.scss
│ │ ├── _data-table.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-data-table.import.scss
│ │ ├── mdc-data-table.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ ├── sass.test.scss
│ │ │ └── styles.scss.test.ts
│ │ └── types.ts
│ ├── mdc-density/
│ │ ├── README.md
│ │ ├── _density.scss
│ │ ├── _functions.import.scss
│ │ ├── _functions.scss
│ │ ├── _index.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ └── package.json
│ ├── mdc-dialog/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _dialog-custom-properties.scss
│ │ ├── _dialog-theme.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-dialog.import.scss
│ │ ├── mdc-dialog.scss
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ ├── mdc-dialog.scss.test.ts
│ │ │ └── util.test.ts
│ │ ├── types.ts
│ │ └── util.ts
│ ├── mdc-dom/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _dom.scss
│ │ ├── _index.scss
│ │ ├── _mixins.scss
│ │ ├── announce.ts
│ │ ├── events.ts
│ │ ├── focus-trap.ts
│ │ ├── index.ts
│ │ ├── keyboard.ts
│ │ ├── package.json
│ │ ├── ponyfill.ts
│ │ └── test/
│ │ ├── announce.test.ts
│ │ ├── events.test.ts
│ │ ├── feature-targeting-any.test.scss
│ │ ├── focus-trap.test.ts
│ │ ├── keyboard.test.ts
│ │ ├── mdc-dom.scss.test.ts
│ │ └── ponyfill.test.ts
│ ├── mdc-drawer/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── common.import.scss
│ │ ├── common.scss
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── dismissible/
│ │ │ ├── foundation.ts
│ │ │ ├── mdc-drawer-dismissible.import.scss
│ │ │ ├── mdc-drawer-dismissible.scss
│ │ │ └── test/
│ │ │ └── foundation.test.ts
│ │ ├── index.ts
│ │ ├── mdc-drawer.import.scss
│ │ ├── mdc-drawer.scss
│ │ ├── modal/
│ │ │ ├── foundation.ts
│ │ │ ├── mdc-drawer-modal.import.scss
│ │ │ ├── mdc-drawer-modal.scss
│ │ │ └── test/
│ │ │ └── foundation.test.ts
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── mdc-drawer.scss.test.ts
│ │ │ └── util.test.ts
│ │ └── util.ts
│ ├── mdc-elevation/
│ │ ├── README.md
│ │ ├── _elevation-theme.scss
│ │ ├── _elevation.scss
│ │ ├── _functions.import.scss
│ │ ├── _functions.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── mdc-elevation.scss
│ │ ├── overlay-styles.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ └── test/
│ │ ├── feature-targeting-any.test.scss
│ │ └── mdc-elevation.scss.test.ts
│ ├── mdc-fab/
│ │ ├── README.md
│ │ ├── _extended-fab-theme.scss
│ │ ├── _fab-custom-properties.scss
│ │ ├── _fab-small-theme.scss
│ │ ├── _fab-theme.scss
│ │ ├── _fab.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── mdc-fab.import.scss
│ │ ├── mdc-fab.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── feature-targeting-any.test.scss
│ │ └── mdc-fab.scss.test.ts
│ ├── mdc-feature-targeting/
│ │ ├── README.md
│ │ ├── _feature-targeting.scss
│ │ ├── _functions.import.scss
│ │ ├── _functions.scss
│ │ ├── _index.scss
│ │ └── package.json
│ ├── mdc-floating-label/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _floating-label-theme.scss
│ │ ├── _floating-label.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-floating-label.import.scss
│ │ ├── mdc-floating-label.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── component.test.ts
│ │ ├── feature-targeting-any.test.scss
│ │ ├── foundation.test.ts
│ │ └── mdc-floating-label.scss.test.ts
│ ├── mdc-focus/
│ │ ├── README.md
│ │ ├── _focus-ring-inward-theme.scss
│ │ ├── _focus-ring-outward-theme.scss
│ │ ├── _focus-ring-shared-theme.scss
│ │ ├── _focus-ring-test-helper.scss
│ │ ├── _focus-ring.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── focus-ring-inward-theme.test.scss
│ │ └── focus-ring-outward-theme.test.scss
│ ├── mdc-focus-ring/
│ │ ├── _focus-ring.scss
│ │ └── package.json
│ ├── mdc-form-field/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _form-field-theme.scss
│ │ ├── _form-field.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-form-field.import.scss
│ │ ├── mdc-form-field.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── component.test.ts
│ │ ├── feature-targeting-any.test.scss
│ │ ├── foundation.test.ts
│ │ └── mdc-form-field.scss.test.ts
│ ├── mdc-icon-button/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _icon-button-all-deprecated.scss
│ │ ├── _icon-button-theme.scss
│ │ ├── _icon-button.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-icon-button.import.scss
│ │ ├── mdc-icon-button.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ └── mdc-icon-button.scss.test.ts
│ │ └── types.ts
│ ├── mdc-image-list/
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── mdc-image-list.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── feature-targeting-all.test.scss
│ │ ├── feature-targeting-any.test.scss
│ │ └── mdc-image-list.scss.test.ts
│ ├── mdc-layout-grid/
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── mdc-layout-grid.import.scss
│ │ ├── mdc-layout-grid.scss
│ │ └── package.json
│ ├── mdc-line-ripple/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _functions.import.scss
│ │ ├── _functions.scss
│ │ ├── _index.scss
│ │ ├── _line-ripple-theme.scss
│ │ ├── _line-ripple.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-line-ripple.import.scss
│ │ ├── mdc-line-ripple.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── component.test.ts
│ │ ├── feature-targeting-any.test.scss
│ │ ├── foundation.test.ts
│ │ └── mdc-line-ripple.scss.test.ts
│ ├── mdc-linear-progress/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _keyframes.import.scss
│ │ ├── _keyframes.scss
│ │ ├── _linear-progress-theme.scss
│ │ ├── _linear-progress.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-linear-progress.import.scss
│ │ ├── mdc-linear-progress.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ └── mdc-linear-progress.scss.test.ts
│ │ └── types.ts
│ ├── mdc-list/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _evolution-mixins.scss
│ │ ├── _evolution-variables.scss
│ │ ├── _index.scss
│ │ ├── _list-theme.scss
│ │ ├── _list.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── events.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-list.import.scss
│ │ ├── mdc-list.scss
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ └── mdc-list.scss.test.ts
│ │ ├── typeahead.ts
│ │ └── types.ts
│ ├── mdc-menu/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _menu-custom-properties.scss
│ │ ├── _menu-theme.scss
│ │ ├── _menu.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-menu.import.scss
│ │ ├── mdc-menu.scss
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ └── mdc-menu.scss.test.ts
│ │ └── types.ts
│ ├── mdc-menu-surface/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _menusurface-theme.scss
│ │ ├── _menusurface.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-menu-surface.import.scss
│ │ ├── mdc-menu-surface.scss
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ └── mdc-menu-surface.scss.test.ts
│ │ └── types.ts
│ ├── mdc-notched-outline/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _notched-outline-theme.scss
│ │ ├── _notched-outline.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-notched-outline.import.scss
│ │ ├── mdc-notched-outline.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── component.test.ts
│ │ ├── feature-targeting-any.test.scss
│ │ ├── foundation.test.ts
│ │ └── mdc-notched-outline.scss.test.ts
│ ├── mdc-progress-indicator/
│ │ ├── README.md
│ │ ├── component.ts
│ │ ├── foundation.ts
│ │ └── package.json
│ ├── mdc-radio/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _functions.import.scss
│ │ ├── _functions.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _radio-all-deprecated.scss
│ │ ├── _radio-theme.scss
│ │ ├── _radio.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-radio.import.scss
│ │ ├── mdc-radio.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ └── test/
│ │ ├── component.test.ts
│ │ ├── feature-targeting-any.test.scss
│ │ ├── foundation.test.ts
│ │ └── mdc-radio.scss.test.ts
│ ├── mdc-ripple/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _functions.import.scss
│ │ ├── _functions.scss
│ │ ├── _index.scss
│ │ ├── _keyframes.import.scss
│ │ ├── _keyframes.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _ripple-theme.scss
│ │ ├── _ripple.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── common.scss
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-ripple.import.scss
│ │ ├── mdc-ripple.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation-activation.test.ts
│ │ │ ├── foundation-deactivation.test.ts
│ │ │ ├── foundation-general-events.test.ts
│ │ │ ├── foundation.test.ts
│ │ │ ├── helpers.ts
│ │ │ ├── mdc-ripple.scss.test.ts
│ │ │ └── util.test.ts
│ │ ├── types.ts
│ │ └── util.ts
│ ├── mdc-rtl/
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _rtl.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── disable-include-rtl.scss.test.ts
│ │ ├── disable-include-rtl.test.scss
│ │ ├── rtl.scss.test.ts
│ │ ├── rtl.test.scss
│ │ ├── theme.scss.test.ts
│ │ └── theme.test.scss
│ ├── mdc-segmented-button/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── segment/
│ │ │ ├── _segment-ripple.scss
│ │ │ ├── _segment-theme.scss
│ │ │ ├── _segment.scss
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ └── test/
│ │ │ ├── component.test.ts
│ │ │ ├── constants.ts
│ │ │ └── foundation.test.ts
│ │ ├── segmented-button/
│ │ │ ├── _segmented-button-theme.scss
│ │ │ ├── _segmented-button.scss
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ └── test/
│ │ │ ├── component.test.ts
│ │ │ ├── constants.ts
│ │ │ └── foundation.test.ts
│ │ ├── styles.scss
│ │ └── types.ts
│ ├── mdc-select/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _select-filled-theme.scss
│ │ ├── _select-filled.scss
│ │ ├── _select-helper-text-theme.scss
│ │ ├── _select-helper-text.scss
│ │ ├── _select-icon-theme.scss
│ │ ├── _select-icon.scss
│ │ ├── _select-outlined-theme.scss
│ │ ├── _select-outlined.scss
│ │ ├── _select-ripple.scss
│ │ ├── _select-shared-theme.scss
│ │ ├── _select-theme.scss
│ │ ├── _select.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── helper-text/
│ │ │ ├── README.md
│ │ │ ├── _index.scss
│ │ │ ├── _mixins.import.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ ├── mdc-select-helper-text.scss
│ │ │ └── test/
│ │ │ ├── component.test.ts
│ │ │ └── foundation.test.ts
│ │ ├── icon/
│ │ │ ├── README.md
│ │ │ ├── _index.scss
│ │ │ ├── _mixins.import.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _variables.import.scss
│ │ │ ├── _variables.scss
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ ├── mdc-select-icon.scss
│ │ │ └── test/
│ │ │ ├── component.test.ts
│ │ │ └── foundation.test.ts
│ │ ├── index.ts
│ │ ├── mdc-select.import.scss
│ │ ├── mdc-select.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ └── mdc-select.scss.test.ts
│ │ └── types.ts
│ ├── mdc-shape/
│ │ ├── README.md
│ │ ├── _functions.import.scss
│ │ ├── _functions.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _shape.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── package.json
│ │ └── test/
│ │ ├── feature-targeting-any.test.scss
│ │ ├── mdc-shape.scss.test.ts
│ │ └── shape.test.scss
│ ├── mdc-slider/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _slider-theme.scss
│ │ ├── _slider.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── styles.scss
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ ├── mdc-slider.scss.test.ts
│ │ │ └── slider-theme.test.scss
│ │ └── types.ts
│ ├── mdc-snackbar/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _snackbar-theme.scss
│ │ ├── _snackbar.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-snackbar.import.scss
│ │ ├── mdc-snackbar.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ ├── mdc-snackbar.scss.test.ts
│ │ │ └── util.test.ts
│ │ ├── types.ts
│ │ └── util.ts
│ ├── mdc-switch/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _switch-theme.scss
│ │ ├── _switch.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── deprecated/
│ │ │ ├── _functions.import.scss
│ │ │ ├── _functions.scss
│ │ │ ├── _index.scss
│ │ │ ├── _mixins.import.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _variables.import.scss
│ │ │ ├── _variables.scss
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ ├── mdc-switch-deprecated.scss
│ │ │ ├── mdc-switch.import.scss
│ │ │ ├── mdc-switch.scss
│ │ │ └── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ └── mdc-switch.scss.test.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── styles.scss
│ │ └── test/
│ │ ├── component.test.ts
│ │ └── foundation.test.ts
│ ├── mdc-tab/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _tab-theme.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-tab.import.scss
│ │ ├── mdc-tab.scss
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ └── mdc-tab.scss.test.ts
│ │ └── types.ts
│ ├── mdc-tab-bar/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _tab-bar-theme.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-tab-bar.import.scss
│ │ ├── mdc-tab-bar.scss
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ └── mdc-tab-bar.scss.test.ts
│ │ └── types.ts
│ ├── mdc-tab-indicator/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _tab-indicator-theme.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── fading-foundation.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-tab-indicator.import.scss
│ │ ├── mdc-tab-indicator.scss
│ │ ├── package.json
│ │ ├── sliding-foundation.ts
│ │ └── test/
│ │ ├── component.test.ts
│ │ ├── fading-foundation.test.ts
│ │ ├── feature-targeting-any.test.scss
│ │ ├── mdc-tab-indicator.scss.test.ts
│ │ └── sliding-foundation.test.ts
│ ├── mdc-tab-scroller/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-tab-scroller.import.scss
│ │ ├── mdc-tab-scroller.scss
│ │ ├── package.json
│ │ ├── rtl-default-scroller.ts
│ │ ├── rtl-negative-scroller.ts
│ │ ├── rtl-reverse-scroller.ts
│ │ ├── rtl-scroller.ts
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ ├── mdc-tab-scroller.scss.test.ts
│ │ │ ├── rtl-default-scroller.test.ts
│ │ │ ├── rtl-negative-scroller.test.ts
│ │ │ ├── rtl-reverse-scroller.test.ts
│ │ │ └── util.test.ts
│ │ ├── types.ts
│ │ └── util.ts
│ ├── mdc-textfield/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _filled-text-field-theme.scss
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _outlined-text-field-theme.scss
│ │ ├── _text-field-theme.scss
│ │ ├── _text-field.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── character-counter/
│ │ │ ├── README.md
│ │ │ ├── _index.scss
│ │ │ ├── _mixins.import.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ └── test/
│ │ │ ├── component.test.ts
│ │ │ └── foundation.test.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── helper-text/
│ │ │ ├── README.md
│ │ │ ├── _index.scss
│ │ │ ├── _mixins.import.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ └── test/
│ │ │ ├── component.test.ts
│ │ │ └── foundation.test.ts
│ │ ├── icon/
│ │ │ ├── README.md
│ │ │ ├── _index.scss
│ │ │ ├── _mixins.import.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _variables.import.scss
│ │ │ ├── _variables.scss
│ │ │ ├── adapter.ts
│ │ │ ├── component.ts
│ │ │ ├── constants.ts
│ │ │ ├── foundation.ts
│ │ │ ├── index.ts
│ │ │ └── test/
│ │ │ ├── component.test.ts
│ │ │ └── foundation.test.ts
│ │ ├── index.ts
│ │ ├── mdc-text-field.import.scss
│ │ ├── mdc-text-field.scss
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── component.test.ts
│ │ │ ├── feature-targeting-any.test.scss
│ │ │ ├── foundation.test.ts
│ │ │ └── mdc-text-field.scss.test.ts
│ │ └── types.ts
│ ├── mdc-theme/
│ │ ├── README.md
│ │ ├── _all-theme-deprecated.scss
│ │ ├── _color-custom-properties.scss
│ │ ├── _color-palette.import.scss
│ │ ├── _color-palette.scss
│ │ ├── _css.scss
│ │ ├── _custom-properties.scss
│ │ ├── _functions.import.scss
│ │ ├── _functions.scss
│ │ ├── _gss.scss
│ │ ├── _index.scss
│ │ ├── _keys.scss
│ │ ├── _map-ext.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _replace.scss
│ │ ├── _selector-ext.scss
│ │ ├── _shadow-dom.scss
│ │ ├── _state.scss
│ │ ├── _string-ext.scss
│ │ ├── _theme-color.scss
│ │ ├── _theme.scss
│ │ ├── _tools.scss
│ │ ├── _validate.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── mdc-theme.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ └── test/
│ │ ├── custom-properties.test.scss
│ │ ├── feature-targeting-any.test.scss
│ │ ├── mdc-theme.scss.test.ts
│ │ ├── override.test.scss
│ │ ├── replace.test.scss
│ │ ├── shadow-dom.test.scss
│ │ ├── theme-validate-keys.test.scss
│ │ ├── theme.scss.test.ts
│ │ ├── theme.test.scss
│ │ └── validate.test.scss
│ ├── mdc-tokens/
│ │ ├── _resolvers.scss
│ │ ├── package.json
│ │ ├── v0_132/
│ │ │ ├── _index.scss
│ │ │ ├── _md-comp-assist-chip.scss
│ │ │ ├── _md-comp-badge.scss
│ │ │ ├── _md-comp-banner.scss
│ │ │ ├── _md-comp-bottom-app-bar.scss
│ │ │ ├── _md-comp-carousel-item.scss
│ │ │ ├── _md-comp-checkbox.scss
│ │ │ ├── _md-comp-circular-progress-indicator.scss
│ │ │ ├── _md-comp-data-table.scss
│ │ │ ├── _md-comp-date-input-modal.scss
│ │ │ ├── _md-comp-date-picker-docked.scss
│ │ │ ├── _md-comp-date-picker-modal.scss
│ │ │ ├── _md-comp-dialog.scss
│ │ │ ├── _md-comp-divider.scss
│ │ │ ├── _md-comp-elevated-button.scss
│ │ │ ├── _md-comp-elevated-card.scss
│ │ │ ├── _md-comp-extended-fab-branded.scss
│ │ │ ├── _md-comp-extended-fab-primary.scss
│ │ │ ├── _md-comp-extended-fab-secondary.scss
│ │ │ ├── _md-comp-extended-fab-surface.scss
│ │ │ ├── _md-comp-extended-fab-tertiary.scss
│ │ │ ├── _md-comp-fab-branded-large.scss
│ │ │ ├── _md-comp-fab-branded.scss
│ │ │ ├── _md-comp-fab-primary-large.scss
│ │ │ ├── _md-comp-fab-primary-small.scss
│ │ │ ├── _md-comp-fab-primary.scss
│ │ │ ├── _md-comp-fab-secondary-large.scss
│ │ │ ├── _md-comp-fab-secondary-small.scss
│ │ │ ├── _md-comp-fab-secondary.scss
│ │ │ ├── _md-comp-fab-surface-large.scss
│ │ │ ├── _md-comp-fab-surface-small.scss
│ │ │ ├── _md-comp-fab-surface.scss
│ │ │ ├── _md-comp-fab-tertiary-large.scss
│ │ │ ├── _md-comp-fab-tertiary-small.scss
│ │ │ ├── _md-comp-fab-tertiary.scss
│ │ │ ├── _md-comp-filled-autocomplete.scss
│ │ │ ├── _md-comp-filled-button.scss
│ │ │ ├── _md-comp-filled-card.scss
│ │ │ ├── _md-comp-filled-icon-button.scss
│ │ │ ├── _md-comp-filled-menu-button.scss
│ │ │ ├── _md-comp-filled-select.scss
│ │ │ ├── _md-comp-filled-text-field.scss
│ │ │ ├── _md-comp-filled-tonal-button.scss
│ │ │ ├── _md-comp-filled-tonal-icon-button.scss
│ │ │ ├── _md-comp-filter-chip.scss
│ │ │ ├── _md-comp-full-screen-dialog.scss
│ │ │ ├── _md-comp-icon-button.scss
│ │ │ ├── _md-comp-input-chip.scss
│ │ │ ├── _md-comp-linear-progress-indicator.scss
│ │ │ ├── _md-comp-list.scss
│ │ │ ├── _md-comp-menu.scss
│ │ │ ├── _md-comp-navigation-bar.scss
│ │ │ ├── _md-comp-navigation-drawer.scss
│ │ │ ├── _md-comp-navigation-rail.scss
│ │ │ ├── _md-comp-outlined-autocomplete.scss
│ │ │ ├── _md-comp-outlined-button.scss
│ │ │ ├── _md-comp-outlined-card.scss
│ │ │ ├── _md-comp-outlined-icon-button.scss
│ │ │ ├── _md-comp-outlined-menu-button.scss
│ │ │ ├── _md-comp-outlined-segmented-button.scss
│ │ │ ├── _md-comp-outlined-select.scss
│ │ │ ├── _md-comp-outlined-text-field.scss
│ │ │ ├── _md-comp-plain-tooltip.scss
│ │ │ ├── _md-comp-primary-navigation-tab.scss
│ │ │ ├── _md-comp-radio-button.scss
│ │ │ ├── _md-comp-rich-tooltip.scss
│ │ │ ├── _md-comp-scrim.scss
│ │ │ ├── _md-comp-search-bar.scss
│ │ │ ├── _md-comp-search-view.scss
│ │ │ ├── _md-comp-secondary-navigation-tab.scss
│ │ │ ├── _md-comp-sheet-bottom.scss
│ │ │ ├── _md-comp-sheet-floating.scss
│ │ │ ├── _md-comp-sheet-side.scss
│ │ │ ├── _md-comp-slider.scss
│ │ │ ├── _md-comp-snackbar.scss
│ │ │ ├── _md-comp-standard-menu-button.scss
│ │ │ ├── _md-comp-suggestion-chip.scss
│ │ │ ├── _md-comp-switch.scss
│ │ │ ├── _md-comp-text-button.scss
│ │ │ ├── _md-comp-time-input.scss
│ │ │ ├── _md-comp-time-picker.scss
│ │ │ ├── _md-comp-top-app-bar-large.scss
│ │ │ ├── _md-comp-top-app-bar-medium.scss
│ │ │ ├── _md-comp-top-app-bar-small-centered.scss
│ │ │ ├── _md-comp-top-app-bar-small.scss
│ │ │ ├── _md-ref-palette.scss
│ │ │ ├── _md-ref-typeface.scss
│ │ │ ├── _md-sys-color.scss
│ │ │ ├── _md-sys-elevation.scss
│ │ │ ├── _md-sys-motion.scss
│ │ │ ├── _md-sys-shape.scss
│ │ │ ├── _md-sys-state.scss
│ │ │ └── _md-sys-typescale.scss
│ │ └── v0_161/
│ │ ├── _index.scss
│ │ ├── _md-comp-assist-chip.scss
│ │ ├── _md-comp-badge.scss
│ │ ├── _md-comp-banner.scss
│ │ ├── _md-comp-bottom-app-bar.scss
│ │ ├── _md-comp-carousel-item.scss
│ │ ├── _md-comp-checkbox.scss
│ │ ├── _md-comp-circular-progress-indicator.scss
│ │ ├── _md-comp-data-table.scss
│ │ ├── _md-comp-date-input-modal.scss
│ │ ├── _md-comp-date-picker-docked.scss
│ │ ├── _md-comp-date-picker-modal.scss
│ │ ├── _md-comp-dialog.scss
│ │ ├── _md-comp-divider.scss
│ │ ├── _md-comp-elevated-button.scss
│ │ ├── _md-comp-elevated-card.scss
│ │ ├── _md-comp-extended-fab-branded.scss
│ │ ├── _md-comp-extended-fab-primary.scss
│ │ ├── _md-comp-extended-fab-secondary.scss
│ │ ├── _md-comp-extended-fab-surface.scss
│ │ ├── _md-comp-extended-fab-tertiary.scss
│ │ ├── _md-comp-fab-branded-large.scss
│ │ ├── _md-comp-fab-branded.scss
│ │ ├── _md-comp-fab-primary-large.scss
│ │ ├── _md-comp-fab-primary-small.scss
│ │ ├── _md-comp-fab-primary.scss
│ │ ├── _md-comp-fab-secondary-large.scss
│ │ ├── _md-comp-fab-secondary-small.scss
│ │ ├── _md-comp-fab-secondary.scss
│ │ ├── _md-comp-fab-surface-large.scss
│ │ ├── _md-comp-fab-surface-small.scss
│ │ ├── _md-comp-fab-surface.scss
│ │ ├── _md-comp-fab-tertiary-large.scss
│ │ ├── _md-comp-fab-tertiary-small.scss
│ │ ├── _md-comp-fab-tertiary.scss
│ │ ├── _md-comp-filled-autocomplete.scss
│ │ ├── _md-comp-filled-button.scss
│ │ ├── _md-comp-filled-card.scss
│ │ ├── _md-comp-filled-icon-button.scss
│ │ ├── _md-comp-filled-menu-button.scss
│ │ ├── _md-comp-filled-select.scss
│ │ ├── _md-comp-filled-text-field.scss
│ │ ├── _md-comp-filled-tonal-button.scss
│ │ ├── _md-comp-filled-tonal-icon-button.scss
│ │ ├── _md-comp-filter-chip.scss
│ │ ├── _md-comp-full-screen-dialog.scss
│ │ ├── _md-comp-icon-button.scss
│ │ ├── _md-comp-input-chip.scss
│ │ ├── _md-comp-linear-progress-indicator.scss
│ │ ├── _md-comp-list.scss
│ │ ├── _md-comp-menu.scss
│ │ ├── _md-comp-navigation-bar.scss
│ │ ├── _md-comp-navigation-drawer.scss
│ │ ├── _md-comp-navigation-rail.scss
│ │ ├── _md-comp-outlined-autocomplete.scss
│ │ ├── _md-comp-outlined-button.scss
│ │ ├── _md-comp-outlined-card.scss
│ │ ├── _md-comp-outlined-icon-button.scss
│ │ ├── _md-comp-outlined-menu-button.scss
│ │ ├── _md-comp-outlined-segmented-button.scss
│ │ ├── _md-comp-outlined-select.scss
│ │ ├── _md-comp-outlined-text-field.scss
│ │ ├── _md-comp-plain-tooltip.scss
│ │ ├── _md-comp-primary-navigation-tab.scss
│ │ ├── _md-comp-radio-button.scss
│ │ ├── _md-comp-rich-tooltip.scss
│ │ ├── _md-comp-scrim.scss
│ │ ├── _md-comp-search-bar.scss
│ │ ├── _md-comp-search-view.scss
│ │ ├── _md-comp-secondary-navigation-tab.scss
│ │ ├── _md-comp-sheet-bottom.scss
│ │ ├── _md-comp-sheet-floating.scss
│ │ ├── _md-comp-sheet-side.scss
│ │ ├── _md-comp-slider.scss
│ │ ├── _md-comp-snackbar.scss
│ │ ├── _md-comp-standard-menu-button.scss
│ │ ├── _md-comp-suggestion-chip.scss
│ │ ├── _md-comp-switch.scss
│ │ ├── _md-comp-text-button.scss
│ │ ├── _md-comp-time-input.scss
│ │ ├── _md-comp-time-picker.scss
│ │ ├── _md-comp-top-app-bar-large.scss
│ │ ├── _md-comp-top-app-bar-medium.scss
│ │ ├── _md-comp-top-app-bar-small-centered.scss
│ │ ├── _md-comp-top-app-bar-small.scss
│ │ ├── _md-ref-palette.scss
│ │ ├── _md-ref-typeface.scss
│ │ ├── _md-sys-color.scss
│ │ ├── _md-sys-elevation.scss
│ │ ├── _md-sys-motion.scss
│ │ ├── _md-sys-shape.scss
│ │ ├── _md-sys-state.scss
│ │ ├── _md-sys-typescale.scss
│ │ ├── index.test.scss
│ │ └── lib.test.scss
│ ├── mdc-tooltip/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _plain-tooltip-theme.scss
│ │ ├── _rich-tooltip-theme.scss
│ │ ├── _tooltip-theme.scss
│ │ ├── _tooltip.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── package.json
│ │ ├── styles.scss
│ │ └── test/
│ │ ├── component.test.ts
│ │ ├── feature-targeting-any.test.scss
│ │ ├── foundation.test.ts
│ │ └── mdc-tooltip.scss.test.ts
│ ├── mdc-top-app-bar/
│ │ ├── .npmignore
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── adapter.ts
│ │ ├── component.ts
│ │ ├── constants.ts
│ │ ├── fixed/
│ │ │ ├── foundation.ts
│ │ │ └── test/
│ │ │ └── foundation.test.ts
│ │ ├── foundation.ts
│ │ ├── index.ts
│ │ ├── mdc-top-app-bar.import.scss
│ │ ├── mdc-top-app-bar.scss
│ │ ├── package.json
│ │ ├── short/
│ │ │ ├── foundation.ts
│ │ │ └── test/
│ │ │ └── foundation.test.ts
│ │ ├── standard/
│ │ │ ├── foundation.ts
│ │ │ └── test/
│ │ │ └── foundation.test.ts
│ │ └── test/
│ │ ├── component.test.ts
│ │ └── foundation.test.ts
│ ├── mdc-touch-target/
│ │ ├── README.md
│ │ ├── _index.scss
│ │ ├── _mixins.import.scss
│ │ ├── _mixins.scss
│ │ ├── _touch-target.scss
│ │ ├── _variables.import.scss
│ │ ├── _variables.scss
│ │ ├── package.json
│ │ ├── styles.scss
│ │ └── test/
│ │ ├── feature-targeting-any.test.scss
│ │ └── mdc-touch-target.scss.test.ts
│ └── mdc-typography/
│ ├── README.md
│ ├── _functions.import.scss
│ ├── _functions.scss
│ ├── _index.scss
│ ├── _mixins.import.scss
│ ├── _mixins.scss
│ ├── _typography.scss
│ ├── _variables.import.scss
│ ├── _variables.scss
│ ├── mdc-typography.import.scss
│ ├── mdc-typography.scss
│ ├── package.json
│ ├── styles.scss
│ └── test/
│ ├── feature-targeting-any.test.scss
│ └── mdc-typography.scss.test.ts
├── prettier.config.js
├── scripts/
│ ├── build/
│ │ ├── clean.js
│ │ ├── environment.js
│ │ └── path-resolver.js
│ ├── canary-release.sh
│ ├── check-pkg-for-release.js
│ ├── cp-pkgs.js
│ ├── dependency-test.sh
│ ├── documentation/
│ │ ├── ts-api-table.hbs
│ │ ├── ts-api-tables.hbs
│ │ └── tsdoc.ts
│ ├── pre-release.sh
│ ├── tsconfig.json
│ ├── verify-pkg-main.js
│ └── webpack/
│ ├── copyright-banner-plugin.js
│ ├── css-bundle-factory.js
│ ├── css-cleanup-plugin.js
│ ├── globber.js
│ ├── js-bundle-factory.js
│ └── plugin-factory.js
├── testing/
│ ├── dom/
│ │ ├── events.ts
│ │ └── index.ts
│ ├── featuretargeting/
│ │ ├── index.ts
│ │ └── sass-test-compile.helper.ts
│ ├── helpers/
│ │ ├── foundation.ts
│ │ ├── jasmine.ts
│ │ └── setup.ts
│ └── ts-node.register.js
├── tsconfig-base.json
├── tsconfig-node.json
├── tsconfig-testing.json
├── tsconfig.json
├── tslint.json
└── webpack.config.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
tab_width = 2
continuation_indent_size = 4 # IntelliJ family IDEs
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
================================================
FILE: .eslintignore
================================================
**/node_modules
packages/*/dist
**/out
*.pb.js
scripts/documentation/*.js
================================================
FILE: .eslintrc.yaml
================================================
extends: google
globals:
goog: false
env:
browser: true
plugins:
- mocha
parserOptions:
ecmaVersion: 2017 # Enable async/await support in Node scripts
sourceType: module
rules:
indent: [error, 2]
max-len: [error, 120]
no-new: warn
quotes: [error, single, {"avoidEscape": true}]
no-var: error
curly: error
eol-last: [error, "always"]
no-floating-decimal: error
no-unused-vars:
- error
# Account for closure compiler conventions. See docs/closure-compiler.md
# Ignores: MDC[PascalCase]Adapter (records), [PascalCase]Type (typedefs)
- varsIgnorePattern: ^(?:(?:MDC(?:(?:[A-Z][a-z0-9]+)+)Adapter)|(?:(?:(?:[A-Z][a-z0-9]+)+)Type))$
# TODO: Enable once https://github.com/material-components/material-components-web/milestone/4
# is complete
require-jsdoc: off
valid-jsdoc: off
prefer-const: error
# Rules for our mocha unit tests. Note that even though we use mocha, we model our unit tests
# after frameworks such as tape and ava, which encourage modern paradigms, seek to minimize
# shared state across tests, and try and make tests look as simple as possible.
mocha/handle-done-callback: error
mocha/no-exclusive-tests: error
mocha/no-hooks: error
mocha/no-identical-title: error
mocha/no-nested-tests: error
mocha/no-pending-tests: error
mocha/no-skipped-tests: error
mocha/valid-suite-description: [error, ^MDC.+|^webpack]
================================================
FILE: .gitattributes
================================================
linguist-documentation
docs/* linguist-documentation
/package-lock.json linguist-generated
================================================
FILE: .github/ISSUE_TEMPLATE/--bug-report.md
================================================
---
name: "\U0001F41BBug report"
about: Create a bug report to help us improve
title: "[ComponentName] title"
labels: bug
assignees: ''
---
<!--
Thanks for reporting the issue!
- Use these starter kits to host your demo:
Glitch: https://glitch.com/edit/#!/remix/new-web
Codepen: https://codepen.io/abhiomkar/pen/gQWarJ
- For general questions:
Stack Overflow: https://stackoverflow.com/questions/tagged/material-components+web
Discord chat room: https://discord.gg/material-components
-->
## Bug report
<!-- A clear and concise description of what the bug is. -->
### Steps to reproduce
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
### Actual behavior
<!-- Please describe actual behaviour of the issue that you're observing. -->
### Expected behavior
<!-- A clear and concise description of what you expected to happen. -->
### Screenshots
<!-- If applicable, add screenshots to help explain your issue. -->
### Your Environment:
<!-- please complete the following information -->
| Software | Version(s) |
| ---------------- | ---------- |
| MDC Web |
| Browser |
| Operating System |
### Additional context
<!-- Add any other context about the problem here. -->
### Possible solution
<!-- Add any other context about the problem here. -->
================================================
FILE: .github/ISSUE_TEMPLATE/--feature-request.md
================================================
---
name: "\U0001F64BFeature request"
about: Suggest an idea or feature request for MDC Web
title: ''
labels: feature-request
assignees: ''
---
<!--
If you're interested in requesting a new component or proposing UX changes to an existing component, please read our Component Request Policy: https://github.com/material-components/material-components/blob/develop/COMPONENTS_REQUEST_POLICY.md before opening an issue.
If you have an idea for a new feature, we'd love to hear about it! Please provide enough information regarding the feature such that we'll be able to evaluate the appropriateness and feasibility of your request. Try to be as specific as possible regarding your motivation, use-case, and potential API or affects on other APIs (where applicable). The more detailed your proposal is, the easier it will be for us to understand and evaluate it.
If you'd like to work on a component, please ensure that you submit an Engineering Outline before submitting a pull request. You can read more about this in our contributing docs: https://github.com/material-components/material-components-web/blob/master/CONTRIBUTING.md#building-components.
-->
## Feature Request
<!-- Is your feature request related to a problem? Please describe. -->
### Proposed solution
<!-- A clear and concise description of what you want to happen. -->
### Alternatives considered
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
### Additional context
<!-- Add any other context or screenshots about the feature request here. -->
================================================
FILE: .github/semantic.yml
================================================
# Config file for Semantic Pull Requests Probot
# See https://github.com/probot/semantic-pull-requests
# Always validate the PR title, and ignore the commits
titleOnly: true
================================================
FILE: .github/workflows/release-canary.yml
================================================
name: MDC Release (Canary)
# This workflow creates a pre-release and publishes packages to NPM with canary
# tag on every commit to master.
on:
push:
branches:
- master
paths:
- "packages/**/*.ts"
- "packages/**/*.scss"
- "**/package*.json"
- "**/.npmignore"
jobs:
release-canary:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v2
with:
ref: master
fetch-depth: 0
- name: Fetch all tags
run: |
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 14
registry-url: https://registry.npmjs.org/
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: |
npm ci --ignore-scripts
npm run bootstrap
- name: Build packages
run: |
npm run dist
node scripts/cp-pkgs.js
node scripts/verify-pkg-main.js
- name: Create canary release
run: |
npx lerna version premajor --no-git-tag-version --no-push --preid canary.$(git rev-parse --short HEAD) --yes --exact
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git commit -am "chore: Publish"
- name: Publish to NPM registry with canary tag
run: npx lerna publish from-package --yes --dist-tag canary
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
================================================
FILE: .github/workflows/release-nightly.yml
================================================
name: MDC Release (Nightly)
# This workflow creates a pre-release and publishes packages to NPM with nightly
# if requested using Github label 'Publish to nightly'.
on:
pull_request:
types: [labeled]
jobs:
release-nightly:
if: ${{ github.event.label.name == 'Publish to nightly' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: git switch -c "pull-request"
- name: Fetch all tags
run: |
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 14
registry-url: https://registry.npmjs.org/
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: |
npm ci --ignore-scripts
npm run bootstrap
- name: Build packages
run: |
npm run dist
node scripts/cp-pkgs.js
node scripts/verify-pkg-main.js
- name: Create nightly release
run: |
npx lerna version premajor --no-git-tag-version --no-push --preid nightly.$(git rev-parse --short HEAD) --yes --exact
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git commit -am "chore: Publish"
- name: Publish to NPM registry with nightly tag
run: npx lerna publish from-package --yes --dist-tag nightly
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
================================================
FILE: .github/workflows/release-pull-request.yml
================================================
name: MDC Release (Pull Request)
# This workflow creates or updates (if already exists) a pull request with new
# version bump on every commit to master.
on:
push:
branches:
- master
paths:
- "packages/**/*.ts"
- "packages/**/*.scss"
- "**/package*.json"
- "**/.npmignore"
- "**/*.md"
jobs:
release-pull-request:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v2
with:
ref: master
fetch-depth: 0
- name: Fetch all tags
run: |
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 14
registry-url: https://registry.npmjs.org/
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: |
npm ci --ignore-scripts
npm run bootstrap
- name: Bump version
run: |
npx lerna version --conventional-commits --no-git-tag-version --no-push --yes
- name: Create PR
uses: peter-evans/create-pull-request@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: "chore: Release"
author: Material Web Team <material-web-action@google.com>
title: "chore: Release"
body: |
This PR was opened by [release][1] GitHub action.
When you're ready to do a release, you can merge this and release
action will automatically publishes to npm registry.
If you're not ready to do a release yet, that's fine, whenever you
add more commits to master, this PR will be updated.
[1]: http://github.com/material-components/material-components-web/tree/master/.github/workflows/release-pull-request.yml
branch: chore/release
================================================
FILE: .github/workflows/release.yml
================================================
name: MDC Release
# This workflow does the following if repo does not have git tag that was updated in lerna.json
# - creates release git tag
# - publishes packages to NPM with latest tag
#
# This workflow is expected to run after merge of release pull requested created by release-pull-request workflow.
on:
push:
branches:
- master
paths:
- "lerna.json"
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v2
with:
ref: master
fetch-depth: 0
- name: Fetch all tags
run: |
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: 14
registry-url: https://registry.npmjs.org/
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: |
npm ci --ignore-scripts
npm run bootstrap
- name: Read version created by Lerna.js
id: lerna_version
run: |
echo "::set-output name=version::v$(npm run version --silent)"
- name: Check if release tag is already created
id: vars
run: |
lerna_version=${{ steps.lerna_version.outputs.version }}
if [[ -z $(git tag -l "$lerna_version") ]]; then
echo "Proceeding to create new release"
else
echo "New release already created, exiting."
exit 1
fi
- name: Build packages
run: |
npm run dist
node scripts/cp-pkgs.js
node scripts/verify-pkg-main.js
git reset --hard
- name: Create release
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ steps.lerna_version.outputs.version }}
release_name: ${{ steps.lerna_version.outputs.version }}
body: |
See CHANGELOG file to see what's changed in new release.
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish to NPM registry
run: npx lerna publish from-package --yes
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
================================================
FILE: .github/workflows/test.yml
================================================
name: MDC Test
on:
push:
branches:
- master
pull_request:
types: [opened, synchronize, reopened, edited]
jobs:
install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14
- uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- uses: actions/cache@v2
with:
path: |
node_modules
packages/*/node_modules
!packages/*/node_modules/@material
key: ${{ runner.os }}-lerna-${{ hashFiles('package-lock.json', 'packages/**/package.json') }}
- run: npm ci --ignore-scripts
- run: npm run bootstrap
conventional-commit-check:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v1.2.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-test:
runs-on: ubuntu-latest
needs: install
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14
- uses: actions/cache@v2
with:
path: |
node_modules
packages/*/node_modules
!packages/*/node_modules/@material
key: ${{ runner.os }}-lerna-${{ hashFiles('package-lock.json', 'packages/**/package.json') }}
- run: npm run link
- run: |
npm run dist
node scripts/cp-pkgs.js
node scripts/verify-pkg-main.js
unit-test:
runs-on: ubuntu-latest
needs: install
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14
- uses: actions/cache@v2
with:
path: |
node_modules
packages/*/node_modules
!packages/*/node_modules/@material
key: ${{ runner.os }}-lerna-${{ hashFiles('package-lock.json', 'packages/**/package.json') }}
- run: npm run link
- name: Run unit tests
run: |
# Unit tests does not run on forked repositories because GitHub
# secrets (that includes Sauce access info) are not shared.
if [[ -z "$SAUCE_USERNAME$SAUCE_ACCESS_KEY" ]]; then
echo "Unit tests do not run on forked repos because of Sauce labs access. Run 'npm run test:unit' manually to verify."
exit 1
else
export SAUCE_BUILD_ID=mdc-tests-${GITHUB_EVENT_NAME}-${GITHUB_ACTION}-${GITHUB_SHA}
export SAUCE_TUNNEL_ID=${SAUCE_BUILD_ID}-tunnel
npm run test:unit
fi
env:
SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
dependency-test:
runs-on: ubuntu-latest
needs: install
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14
- uses: actions/cache@v2
with:
path: |
node_modules
packages/*/node_modules
!packages/*/node_modules/@material
key: ${{ runner.os }}-lerna-${{ hashFiles('package-lock.json', 'packages/**/package.json') }}
- run: npm run link
- name: Run dependency tests
run: |
npm run test:dependency
================================================
FILE: .gitignore
================================================
# macOS filesystem
.DS_Store
# Editors and IDEs
.idea/
.vscode/
# Generated files
*.log
*.sw*
node_modules/
# Build output
/build/
/dist/
/coverage/
packages/*/dist
packages/**/*.js
packages/**/*.d.ts
packages/**/*.map
packages/**/test/**.css
packages/**/package-lock.json
# Used by internal sync & rewrite scripts
.rewrite-tmp/
# Individual CHANGELOG files
packages/**/CHANGELOG.md
#documentation
docs.json
methodDescriptionTable.md
scripts/documentation/tsdoc.js
================================================
FILE: .mdc-docsite.yml
================================================
# Doc site configuration.
# TODO(shyndman): Link to documentation.
basepath: /web
site_platform: web
site_title: Material Components for the Web
site_short_title: Web
site_description: >
Material Components for Web is a set of user interface components that help developers build web apps with material design.
repo_url: https://github.com/material-components/material-components-web/
repo_stable_branch: master
================================================
FILE: .nvmrc
================================================
10.16.3
================================================
FILE: .sassrc.js
================================================
/**
* Sass configuration file used by Parcel.js for running local demos.
*/
const path = require('path')
const glob = require('glob');
const CWD = process.cwd()
const includePaths = glob.sync(path.join(CWD, 'packages/mdc-*/node_modules'));
module.exports = {
"includePaths": includePaths,
}
================================================
FILE: .stylelintignore
================================================
**/node_modules
**/out
build/
================================================
FILE: .stylelintrc.yaml
================================================
# Keep this file in sync with internal sass/stylelint/stylelintrc.yaml file.
plugins:
- stylelint-scss
- stylelint-prettier
rules:
prettier/prettier: true
# This list is to be verified with tests in `e2e_test.js`, in order to verify that each rule is
# functioning, and that this file does not contain typos.
block-closing-brace-newline-after:
- always
- ignoreAtRules:
- if
- else
block-no-empty: true
color-hex-case: lower
color-hex-length: short
color-no-invalid-hex: true
declaration-block-no-duplicate-properties: true
declaration-block-no-redundant-longhand-properties: true
declaration-block-no-shorthand-property-overrides: true
declaration-block-trailing-semicolon: always
function-calc-no-unspaced-operator: true
function-url-no-scheme-relative: true
function-url-quotes: never
# Need to check if units are required for some flex properties in some browsers.
# length-zero-no-unit
no-duplicate-at-import-rules: true
no-eol-whitespace: true
no-extra-semicolons: true
# In MDC, @keyframe's are defined in a separate file.
# no-unknown-animations: true
# Requires known-css-parser, not yet imported into third_party.
# property-no-unknown: true
rule-empty-line-before:
- always
- ignore:
- after-comment
- first-nested
- inside-block
selector-pseudo-class-no-unknown: true
selector-pseudo-element-no-unknown:
- true
- ignorePseudoElements:
ng-deep
scss/at-rule-no-unknown:
- true
- ignoreAtRules:
- provide
- require
# No config allows this:
#
# ```scss
# $long-varaible-name:
# (long, list, of, strings, that, is, too, wide, for, good, formatting);
# ```
#
# Possibly solved with request at https://github.com/kristerkari/stylelint-scss/issues/172.
# scss/dollar-variable-colon-space-after: always
scss/dollar-variable-colon-space-before: never
scss/operator-no-unspaced: true
shorthand-property-no-redundant-values: true
# TODO: Enable this when not conflicting with other sass file changes.
# string-quotes: single
unit-case: lower
unit-no-unknown:
- true
- ignoreUnits:
- /^[-+][\d$(]/
value-keyword-case: lower
================================================
FILE: CHANGELOG.md
================================================
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [14.0.0](https://github.com/material-components/material-components-web/compare/v13.0.0...v14.0.0) (2022-04-27)
### Bug Fixes
* **button:** update HCM shim to use the existing focus-ring ([a657abb](https://github.com/material-components/material-components-web/commit/a657abb61a2c7d23c2bd92c3cbd54ed404d0bafe))
* **checkbox:** Add explicit system color for checkmark in HCM. ([8c4da22](https://github.com/material-components/material-components-web/commit/8c4da223a7d35c4ca0a4f27534ecdb13087d0f1b))
* **checkbox:** move forced-colors theme out of static styles ([bbd1126](https://github.com/material-components/material-components-web/commit/bbd11268f0ea4fd45205a642f1d26a4c4ff34e05))
* **checkbox:** Update checkbox theme styles mixin to accept css vars ([c14e977](https://github.com/material-components/material-components-web/commit/c14e977ee36c26074b04dea5ce37e2300e9d3735))
* **chips:** Fix typography selector in GMDC-Wiz chips theming ([43c7d87](https://github.com/material-components/material-components-web/commit/43c7d87dc0c928d74652ceaebebca51c69b6eaaf))
* **datatable:** Adjust data table last row border-radius to support setting row background-color. ([ba78e87](https://github.com/material-components/material-components-web/commit/ba78e87246af31e1fe7dd03241a7565f2892fd64))
* **dialog:** Render dividers in Firefox 94 on Windows HCM ([fae6c65](https://github.com/material-components/material-components-web/commit/fae6c652d7debc3e2875ab9049d806513ddc2421))
* **dialog:** Set default z-index for close button in FloatingSheet dialog. ([3366a71](https://github.com/material-components/material-components-web/commit/3366a71d72f48e946a3f3b314b315395fafb3a1f))
* **fab:** Add focus ring in HCM. ([d57ec74](https://github.com/material-components/material-components-web/commit/d57ec74c7e9afe5db07162202e6f05b28dd581db))
* **focus-ring:** add 2d padding customizability, RTL bugfix ([f81fb1d](https://github.com/material-components/material-components-web/commit/f81fb1d232901c17d5794499c26e746ccab1af19))
* **focus-ring:** box-sizing bugfix to content-box. If box-sizing border-box is inherited the ring spacing will collapse. ([e58552c](https://github.com/material-components/material-components-web/commit/e58552c6efa0442a36f441efe27cd01f3df2a524))
* **focus-ring:** ignore pointer events ([3ef470e](https://github.com/material-components/material-components-web/commit/3ef470efe6f1d213935dca37ad213030cdd30d88))
* **focus-ring:** RTL bugfix ([e00181e](https://github.com/material-components/material-components-web/commit/e00181e59cb1f29f4a8280f48b377a667a3e783b))
* **iconbutton:** Fixed max width and height for high contrast mode focus ring on icon buttons. Display only in forced colors mode. ([cf42927](https://github.com/material-components/material-components-web/commit/cf429277817af685fd0b23a21a2e10ddabc4b9ef))
* **iconbutton:** Set icon button ripple z-index to -1. ([586e740](https://github.com/material-components/material-components-web/commit/586e740ddcaa674c409d68ab5faf9ee8c61e2d91))
* **list:** Improve a11y for multi-select lists ([9736ddc](https://github.com/material-components/material-components-web/commit/9736ddce9c12f5485e746984225919568541e88d))
* **list:** Remove conflicting validation for checkbox list in setEnabled ([353ca7e](https://github.com/material-components/material-components-web/commit/353ca7e9f21b3589a17d25d8892198cba811dd13))
* **list:** Update lastSelectedIndex when toggling a checkbox range ([dcba26f](https://github.com/material-components/material-components-web/commit/dcba26fe1028cf151ebf34c5947082a49cc85f10))
* **menusurface:** Add a getOwnerDocument() method to MDCMenuSurfaceAdapter to provide a reference to the document that owns the menu surface DOM element. ([3486659](https://github.com/material-components/material-components-web/commit/348665978ce73694ad4518626dd70cdf5b984113))
* **radio:** Fix disabled state in Firefox Windows high contrast mode ([23043ac](https://github.com/material-components/material-components-web/commit/23043acd0e5341729230cc6e1840460977056115))
* **radio:** Modify theme styles Sass mixin validation to validate only keys ([390220e](https://github.com/material-components/material-components-web/commit/390220e422be57e8f38b74e04d8e8aba6082d333))
* **select:** Add border to select menu in HCM. ([5d80969](https://github.com/material-components/material-components-web/commit/5d809696c6699bf9563e8faf8f79ff6ebd78febf))
* **select:** revert down/up arrow on anchor changing selected index ([43d08ba](https://github.com/material-components/material-components-web/commit/43d08ba77e44dffbca99194ee18dbd202c8684f7))
* **slider:** Fix bug where secondary click moves slider thumb. ([3ab9565](https://github.com/material-components/material-components-web/commit/3ab956515feb5c861498b156e68493e6f7f2a578))
* **slider:** Fix IE11 bug - `unset` is unsupported in IE. ([f460e23](https://github.com/material-components/material-components-web/commit/f460e23dae619c6d09de114cc8c319972b7d1b10))
* **slider:** In updateUI, fix behavior to match jsdoc claim that when thumb param is undefined it updates both thumbs. Input attributes were not being updated at all. ([cc4ed13](https://github.com/material-components/material-components-web/commit/cc4ed13ccda7b44edce0070edd6ee215e98cc792))
* **slider:** Make the slider errors easier to debug by providing all relevant values in the error message. ([8687937](https://github.com/material-components/material-components-web/commit/868793776d9610ab068af706297a4f4599c7f6f1))
* **snackbar:** address Trusted Types violation ([cbd9358](https://github.com/material-components/material-components-web/commit/cbd9358a61e7626ebc12af2cdd3dc465e11ce8bf))
* **tooltip:** Adjusts logic in `validateTooltipWithCaretDistances` method. ([3e30054](https://github.com/material-components/material-components-web/commit/3e30054fb92c75b85d2f6186f4656d36ea05d6a1))
* **typography:** Fixes typography `theme-styles` mixin... the value being retreived from the `$theme` map and css property name was swapped. The mixin would request `font-size`/`font-weight`/`letter-spacing` from the `$theme` map (which expects `size`/`weight`/`tracking`)... so these values would always be `null`. ([32b3913](https://github.com/material-components/material-components-web/commit/32b391398aa70f2fbb917cd4649b84d87876cd8e))
* Remove /** [@override](https://github.com/override) */ tags from TypeScript code. ([c3cdff0](https://github.com/material-components/material-components-web/commit/c3cdff07b59adb0f44b40dbbca2cf05868138528))
* Simplify MDCAttachable interface to be any object (Function) that has `attachTo`. ([05db65e](https://github.com/material-components/material-components-web/commit/05db65ec07db5a230e2ba1144000046b09d4c44b))
* Snackbar action button ripple color is applied to the ripple element. ([4e66fb2](https://github.com/material-components/material-components-web/commit/4e66fb2e181b35ac47ae3a6863c101d3ff4f885e))
* Work around bug in Sass ([037285f](https://github.com/material-components/material-components-web/commit/037285f9bda55dfb2e011f7d58338b29bfa37b6b)), closes [sass/sass#3259](https://github.com/sass/sass/issues/3259)
* **switch:** Restore Firefox 94 HCM outlines ([39cf14b](https://github.com/material-components/material-components-web/commit/39cf14bc3b0ef053219328d36faaf2636e0f77f4))
* **textfield:** Fix breaking tests due to no valid pointerId being associated with pointer events. ([15db4f1](https://github.com/material-components/material-components-web/commit/15db4f1641bd3657ed230afacb41da84fb1077bc))
* **tooltip:** Only sends notification of a tooltip being hidden if `showTimeout` is not set (indicating that this tooltip is about to be re-shown). ([6ca8b8f](https://github.com/material-components/material-components-web/commit/6ca8b8f858f0d508a56cf09bcb4b11221f901acb))
### Features
* **banner:** Add disableAutoClose params for both banner actions to prevent the banner buttons from automatically closing the banner. Add adapter #notifyActionClicked method. ([b094eaa](https://github.com/material-components/material-components-web/commit/b094eaa4e7a69132eb09f7b9d6c1d429a3f702a0))
* **chips:** add focus ring styles ([783f6fd](https://github.com/material-components/material-components-web/commit/783f6fd5a29a56f6c72917546b7426f196bf4cae))
* **chips:** Added elevation tint layer color support in chips ([c78ff04](https://github.com/material-components/material-components-web/commit/c78ff042967de7cf823a9f9826f8f613be9e4846))
* **data-table:** separate table structure into its own mixin ([9f9d928](https://github.com/material-components/material-components-web/commit/9f9d928b2c6701707c5e5d32414c0c4db6a4d564))
* **dialog:** Add styling for floating sheets ([78305b6](https://github.com/material-components/material-components-web/commit/78305b6d547b07aa06db04ad47b765b8f92851fa))
* **dialog:** Add styling for floating sheets with content padding ([3e20c1d](https://github.com/material-components/material-components-web/commit/3e20c1de85fd72ff5efb3107c442036fc6317b4a))
* **Dialog:** Adds an API to hide the header for GMDC Fullscreen Dialog in non-fullscreen mode ([ab4aba1](https://github.com/material-components/material-components-web/commit/ab4aba1afaba8f75042ed774f9e618f811bec45e))
* **Dialog:** Adds an API to set custom position for GMDC Dialog ([ea9b5b4](https://github.com/material-components/material-components-web/commit/ea9b5b463c694804f79deaf8125c73779d34f5ce))
* **Dialog:** Adds an API to set custom z-index for GMDC Dialog ([96ea061](https://github.com/material-components/material-components-web/commit/96ea061c1787cc329e64e9054ba1402c442a15f0))
* **focus-ring:** added a new mixin so we can override just the focus-ring color ([641ed08](https://github.com/material-components/material-components-web/commit/641ed08513037285879a13708b95661d69c2f8b0))
* **focus-ring:** added a new mixin so we can override just the focus-ring radius ([7321d62](https://github.com/material-components/material-components-web/commit/7321d6254d63f701b2f381c9cf11eb0708b56a6e))
* **iconbutton:** Add link icon button Sass. ([9803d2d](https://github.com/material-components/material-components-web/commit/9803d2dc1c88e44b43a56249916f474581f5382e))
* **mdc-list:** introduce selection change event ([7d8ea46](https://github.com/material-components/material-components-web/commit/7d8ea4624e7dcdc5ce69edf1e747c77354457f42))
* **menu:** allow preferentially opening surface below anchor ([261f2db](https://github.com/material-components/material-components-web/commit/261f2db59382d561d6c89a7c41dafb6daad5a717))
* **MenuSurface:** Add opening event for menus. ([53b3cad](https://github.com/material-components/material-components-web/commit/53b3cad2f5ef4d0c9d5cf03c752f27035dd7c818))
* **select:** Add theming mixin boilerplate code to select ([ae8a6a3](https://github.com/material-components/material-components-web/commit/ae8a6a3a3e650fd068461d1236c5173c8e0467c8))
* **select:** Add validation getter methods. ([bdf1d37](https://github.com/material-components/material-components-web/commit/bdf1d3771cd5a3c5b23a5cea63d3eaf97ded257d))
* **select:** Added theme mixins to MDC select ([dcfe49c](https://github.com/material-components/material-components-web/commit/dcfe49c98ac25f5f5d64db021219d8a6c1caf6de))
* **slider:** Add `minRange` param to range sliders to request a minimum gap between the two thumbs. ([8fffcb5](https://github.com/material-components/material-components-web/commit/8fffcb5ddfb93f1459d62c67f4a051b035bf9940))
* **slider:** Add an option to hide focus styles after pointer interaction. ([ec54d90](https://github.com/material-components/material-components-web/commit/ec54d904621360bcb27e6d3cd1f33112e2a54aac))
* **slider:** Keep the slider value indicator within the bounds of the slider if possible. ([c047f7c](https://github.com/material-components/material-components-web/commit/c047f7c19a9452aaced85ce1608b0bc2a63db223))
* **state:** make context aware ([b2fe352](https://github.com/material-components/material-components-web/commit/b2fe3528bc1603df715c833abb5d905080681102))
* **switch:** Add high contrast mode focus ring to switch ([f31a833](https://github.com/material-components/material-components-web/commit/f31a833fae6f132318068f30a24a12c6c0cc192f))
* **text-field:** Add theming mixin boilerplate code to text-field ([eb382f3](https://github.com/material-components/material-components-web/commit/eb382f31889be98f4eebea1670b78c7c10f7016b))
* **text-field:** Added theme mixins to MDC text field ([344d528](https://github.com/material-components/material-components-web/commit/344d528233437e5f9ff960913957022f05bbdc04))
* **textfield:** adding input-font-size mixin ([207230e](https://github.com/material-components/material-components-web/commit/207230eb81e8c10cd5f962725af8c0184b8f3b62))
* **theme:** allow custom property strings in theme.validate-theme() ([4e372fb](https://github.com/material-components/material-components-web/commit/4e372fb4937f0fe71cce7c4c829b099f9f3dcf6b))
* add new class and mixin for open state of a menu item ([9a02b6e](https://github.com/material-components/material-components-web/commit/9a02b6ef8e8f235c7bd07cd8c6ce9078a46dbb78))
* Indicate which thumb `valueToAriaValueTextFn` and `valueToValueIndicatorTextFn` functions are called for. ([b6510c8](https://github.com/material-components/material-components-web/commit/b6510c8c1cc3a91937180f03418ea20a0cf2387b))
* **textfield:** adding input-font-family mixin ([991fb99](https://github.com/material-components/material-components-web/commit/991fb99f715872b49c89c44a6c98e82b4507fd14))
* Describe how to add child lists into a list item. ([758ce31](https://github.com/material-components/material-components-web/commit/758ce31d94d065b93d09db0016ec86b56d9197ec))
### BREAKING CHANGES
* **MenuSurface:** Adds #notifyOpening method to menu surface adapter.
PiperOrigin-RevId: 444830518
* **slider:** Adds #getValueIndicatorContainerWidth method to slider adapter.
PiperOrigin-RevId: 419837612
# [13.0.0](https://github.com/material-components/material-components-web/compare/v12.0.0...v13.0.0) (2021-09-24)
### Bug Fixes
* Fix missing $ripple-target param for ripple mixin ([1340ee9](https://github.com/material-components/material-components-web/commit/1340ee9f7507e6653537d081c53826b5c25b3e22))
* **banner:** Adjusting theme api selectors to use `mdc-button`. ([15981e9](https://github.com/material-components/material-components-web/commit/15981e9d95097895247fbcbd6ad9ad14c46be20e))
* **banner:** Correcting incorrect theme values passed through to button's `theme-mixin`. ([0de2f2e](https://github.com/material-components/material-components-web/commit/0de2f2edcb53e05a97ae79c7f5fc181033fbb0cc))
* **banner:** exclude source from npm package ([#7381](https://github.com/material-components/material-components-web/issues/7381)) ([d48a017](https://github.com/material-components/material-components-web/commit/d48a01771a5c5b080179ac34e4ef34146de5e209)), closes [#7360](https://github.com/material-components/material-components-web/issues/7360)
* **banner:** Removing `action-<state>-label-text-color` values from MDC `light-theme` map. ([d97f8f1](https://github.com/material-components/material-components-web/commit/d97f8f133c7d59bbddc49fe39dd9c714bcbb01d4))
* **button:** cleanup outlined button theme keys ([28d0d75](https://github.com/material-components/material-components-web/commit/28d0d75bb554be14171de19f50d082f837125f37))
* **button:** fix touch target reset in context of link buttons ([3b8d442](https://github.com/material-components/material-components-web/commit/3b8d4429e3373661fef202613389e4f2f00b33ad))
* **button:** remove negative padding around icons ([d470693](https://github.com/material-components/material-components-web/commit/d4706933f473925ec3a1ce6f7152208b31664538))
* **button:** remove rem/em transformers from typography theme-styles ([a395972](https://github.com/material-components/material-components-web/commit/a395972cfaf2260da9f50875a8fe772cc3c69d83))
* **button:** stack ripple behind content ([e1e69fd](https://github.com/material-components/material-components-web/commit/e1e69fd8e5fb5624173bc3836f92e6824596ad04))
* **density:** typo in variable exports ([6df682e](https://github.com/material-components/material-components-web/commit/6df682e746d1c417fe00376ba6ec33bd72159757))
* **dom:** Support providing an owner document for announcer messages. ([6236f35](https://github.com/material-components/material-components-web/commit/6236f3576a7f39f452175206f96c08b08315444b))
* **elevation:** reduce warnings when not providing elevation tokens ([adb9f1a](https://github.com/material-components/material-components-web/commit/adb9f1ad8c85e016bbe714d9b8f2d7d28e610f91))
* **iconbutton:** Fix icon button theme keys/light theme values based on updated tokens. ([42d175e](https://github.com/material-components/material-components-web/commit/42d175efc20e9b36eb86a843b23a60626d36e065))
* **menu:** apply elevation overlay to new lists ([0ad12ed](https://github.com/material-components/material-components-web/commit/0ad12ed3cffe78a27c7005e2ed9b83643ebb5114))
* **sass:** Wrap templated calc expressions in strings ([818f4ee](https://github.com/material-components/material-components-web/commit/818f4ee93de968dfaa9d64929b3edf2d9f8dbe01)), closes [#7391](https://github.com/material-components/material-components-web/issues/7391)
* **slider:** Reorder such that dragstart event is emitted before any other events when handling drag start. ([877e3fb](https://github.com/material-components/material-components-web/commit/877e3fb0dbdaf06cf3a9b4fb0fa731df2093901c))
* **slider:** Replace `innerHTML` with `firstChild` ([37d4db8](https://github.com/material-components/material-components-web/commit/37d4db86667c967ba173e318a124b72109cc1bb5))
* Fix compilation issues with TypeScript 4.4 ([7246447](https://github.com/material-components/material-components-web/commit/72464476cea3755fbcbb64df832e9933ea7b1170))
* **switch:** add pointer cursor ([12f5622](https://github.com/material-components/material-components-web/commit/12f5622e14b68c12542cb2bf7236c5a1f5492add))
* **switch:** distribute correct css ([#7292](https://github.com/material-components/material-components-web/issues/7292)) ([7b6bcb8](https://github.com/material-components/material-components-web/commit/7b6bcb85874e81f33956d1ec544aedcdc882ffed))
* **switch:** elevation theme custom properties not working ([2865629](https://github.com/material-components/material-components-web/commit/28656298a9c01bd585fdb995be7aa96d3c3395e7))
* **switch:** use correct colors for icons in all HCM themes ([d86fb6f](https://github.com/material-components/material-components-web/commit/d86fb6facd014e2c0c1a88108ddbb59595dea5ac))
* **theme:** ensure state selectors negate properly ([7249a30](https://github.com/material-components/material-components-web/commit/7249a3060c6b15eef338b44b77065b47e0b26d52))
* **tooltip:** Add a getActiveElement() method to MDCTooltipAdapter to delegate getting the active element from the correct document. ([e334676](https://github.com/material-components/material-components-web/commit/e3346766f22b23b6c1e04cb2821565d388d57054))
* **tooltip:** Adjust tooltip `focusout` handler. Ensures that interactive tooltips remain open when ChromeVox uses linear navigation to read non-focusable content inside the tooltip. ([7c96e6b](https://github.com/material-components/material-components-web/commit/7c96e6b98a25839d249e1d56478e919564b5ff07))
* **tooltip:** non-persistent tooltips disappear on scroll ([1f9259b](https://github.com/material-components/material-components-web/commit/1f9259b9d7821181d8655537cf80e95b9856dd7c))
* update combined mdc package to use new switch CSS ([077dcfc](https://github.com/material-components/material-components-web/commit/077dcfcfe483b8631f51cc16a89557d056b4db58)), closes [#7304](https://github.com/material-components/material-components-web/issues/7304)
* **tooltip:** allow the Mac zoom service to access plain tooltip contents ([510cf90](https://github.com/material-components/material-components-web/commit/510cf90f289177cf148b2d72cdb773047410731b))
### Code Refactoring
* **fab:** Deprecate legacy Fab theme mixins ([83bdd02](https://github.com/material-components/material-components-web/commit/83bdd022246c1699de71346d5c162e1ded5a0836))
* **iconbutton:** Forward only theme mixins from MDC icon button index module. ([0a90693](https://github.com/material-components/material-components-web/commit/0a906930027e2b55054be08aa8ce0d48dec8c25b))
* **theme:** Rename validate-keys() to validate-theme() ([2fb068f](https://github.com/material-components/material-components-web/commit/2fb068fb0f7a1b0e038ede3a2ab27a972e5b2ee4))
### Features
* **button:** add custom props to outlined button theme-styles ([bf405d2](https://github.com/material-components/material-components-web/commit/bf405d22ae54eef77bbe437228540900aad2f0e0))
* **button:** add custom props to protected button theme-styles ([4ca11fe](https://github.com/material-components/material-components-web/commit/4ca11fe76395824dff6b3e35d954af817ace1591))
* **button:** add custom props to text button theme-styles ([3dd6110](https://github.com/material-components/material-components-web/commit/3dd61109132cf17b5a92a941ecc0f03b0a1cc8d5))
* **button:** add missing transitions to box-shadow/border ([3b92903](https://github.com/material-components/material-components-web/commit/3b9290351308626b4699e2cbdaeb4dc7f04ce1d9))
* **button:** add static-styles-without-ripple for MWC consumption ([f4241a4](https://github.com/material-components/material-components-web/commit/f4241a42a49d130fcf5b5a9df2239276628a85f1))
* **button:** add theme mixin that emits custom properties instead ([4c40586](https://github.com/material-components/material-components-web/commit/4c405863bde72948dd131b07847b798cd8669764))
* **button:** emit custom properties fill button theme-styles ([a80c8b2](https://github.com/material-components/material-components-web/commit/a80c8b2c263b4f69a9df57e9837f7cb4ca438428))
* **button:** m3 elevation + icon base theme modules ([2da3606](https://github.com/material-components/material-components-web/commit/2da3606b97553ef152c9ef485432df2e0287b5de))
* **button:** resolve elevation keys in theme mixin ([843342f](https://github.com/material-components/material-components-web/commit/843342f99a2f76895fedb1ad1b2ff88a96b3fd7d))
* **chips:** Add theming Sass mixin to MDC Filter Chip ([8390093](https://github.com/material-components/material-components-web/commit/83900936a87a32accaab8bc8a1bdc5a998fcf18f))
* **chips:** Add theming Sass mixin to MDC input & suggestion Chip ([860ad06](https://github.com/material-components/material-components-web/commit/860ad06a1dd8bc76334ee5954109b4623f3682db))
* **chips:** Added theme mixins to Assist Chip ([d4e16a6](https://github.com/material-components/material-components-web/commit/d4e16a6c4876a3f144fdd1bade201f5b607b2bf6))
* **chips:** Export all non-deprecated members through chips index ([8647986](https://github.com/material-components/material-components-web/commit/864798678626ba41619324bcd10cf5e070bdd147))
* **chips:** Rename action's exported members to avoid naming collisions ([b49359c](https://github.com/material-components/material-components-web/commit/b49359c3581208ed7f84835c490a094699936f95))
* **chips:** Rename chip set's exported members to avoid naming collisions ([13db34b](https://github.com/material-components/material-components-web/commit/13db34b342741b4bc35b3c6a65a74e2291e41100))
* **chips:** Rename chip's exported members to avoid naming collisions ([470bd34](https://github.com/material-components/material-components-web/commit/470bd34e89b6683cd3a8f71bd1d3acfdf0aac5bf))
* **data-table:** Implement row click feature to MDC data table ([8de07c0](https://github.com/material-components/material-components-web/commit/8de07c02a50247f41cefcbd292b874b82f6d09b1))
* **data-table:** use new select + list templates for pagination ([08398f8](https://github.com/material-components/material-components-web/commit/08398f88046bfc1c3fad494b82c6e905d2fad890))
* **dialog:** Add theme styles mixin to dialog ([21ece53](https://github.com/material-components/material-components-web/commit/21ece536071235455a6905957f3c15dd3a7ddcf8))
* **dialog:** Separate static styles from dialog core-styles mixin ([43d2eed](https://github.com/material-components/material-components-web/commit/43d2eed2a908bae0d747b1ce4459b38cbd68c94a))
* **fab:** create theming file for small fabs ([d082790](https://github.com/material-components/material-components-web/commit/d082790f045f4542a5ebec082ba72ba0a106bcca))
* **fab:** prepare fab-extended for theming in MWC ([ce25bc3](https://github.com/material-components/material-components-web/commit/ce25bc3ecc6836d6c46e3789ff6eeb6faf7c07cf))
* **iconbutton:** Add `.mdc-icon-button--display-flex` class that centers icon via flexbox. When using the new theme API, the icon button should have this class. ([8355e14](https://github.com/material-components/material-components-web/commit/8355e14dc31c618a2102a846cd8cbefa08ad6007))
* **iconbutton:** Add MDC theme mixin that declares custom properties. ([fa7520f](https://github.com/material-components/material-components-web/commit/fa7520f6274cbab3ae7d8298554c4b0ff9e21a54))
* **iconbutton:** Add theme styles mixin. ([65aa63b](https://github.com/material-components/material-components-web/commit/65aa63b0ca587845437a4ee2a0b47556574d800b))
* **menu:** Added getter method to check fixed position status of menu ([fb76c50](https://github.com/material-components/material-components-web/commit/fb76c5069ebe5f62a1b01f6b2f4613d7c6bdeaae))
* **menu:** Adds option to prevent focus from being restored after an item action. ([65084ba](https://github.com/material-components/material-components-web/commit/65084baffaca256dd9eb77aae8fbafd379d8da00))
* **select:** start compatibility work for evolution lists ([e8554db](https://github.com/material-components/material-components-web/commit/e8554dbbf4e9886dbf7a335c4953c1611c378b68))
* **theme:** Added `validate-theme-keys()` mixin to validate theme keys only ([457d89a](https://github.com/material-components/material-components-web/commit/457d89aadf13d719af27435758feb8f6e254fe1e))
### BREAKING CHANGES
* **menu:** Adds new menu adapter method:
/**
* @return the attribute string if present on an element at the index
* provided, null otherwise.
*/
getAttributeFromElementAtIndex(index: number, attr: string): string|null;
PiperOrigin-RevId: 398575780
* **iconbutton:** MDC iconbutton `_index` Sass module will only export theme mixins.
PiperOrigin-RevId: 391773229
* **theme:** Renamed Sass mixins `validate-keys()` to `validate-theme()` in `@material/theme`
PiperOrigin-RevId: 390671152
* **fab:** Renamed Fab's mixins to deprecate legacy theme mixins.
PiperOrigin-RevId: 387378201
# [12.0.0](https://github.com/material-components/material-components-web/compare/v11.0.0...v12.0.0) (2021-07-27)
### Bug Fixes
* **base:** observer now listens to superclass properties ([88a33cd](https://github.com/material-components/material-components-web/commit/88a33cd70c0e87fcfb9e2ff58967f911ad71ace7))
* **button:** allow Mac zoom service to access button label ([29ac6ec](https://github.com/material-components/material-components-web/commit/29ac6ec1ef7316ecf03dc93ac0d63a3c09250052))
* **button:** Fix non-text buttons with icons to have reduced horizontal padding on the side with the icon. ([197f64f](https://github.com/material-components/material-components-web/commit/197f64fa2a4b78907261e820c5e1e8724777c92c))
* **chips:** Add documentation for action ([3db4d16](https://github.com/material-components/material-components-web/commit/3db4d1680bb4135c44042ac77521c8ff18032d14))
* **chips:** Add documentation for chip; update action docs ([22b83ad](https://github.com/material-components/material-components-web/commit/22b83adadc55d1d2ccf150bc4a4dc28432f1f453))
* **chips:** Add stubbed component methods along with tests ([06930c9](https://github.com/material-components/material-components-web/commit/06930c96b8a27ec886fc7873d7c0d0a4bec0761a))
* **chips:** Document chip set; add root readme ([5b6a460](https://github.com/material-components/material-components-web/commit/5b6a460167986caea058dd3f42c11c1edd761596))
* **chips:** Hide HCM focus indicator for presentational actions ([8c7d994](https://github.com/material-components/material-components-web/commit/8c7d994ae1699fd9e51ea80a073554d12959de3f))
* **chips:** Update chip set links ([4a7939c](https://github.com/material-components/material-components-web/commit/4a7939c9c3f3ec54bc486ee22567f9ca4e8f18bb))
* **circular-progress:** set explicit line-height to prevent inheritance ([e8e39ad](https://github.com/material-components/material-components-web/commit/e8e39ad19d9fae1ddbf065c9047905753ccd5754)), closes [#7118](https://github.com/material-components/material-components-web/issues/7118)
* **dialog:** prevent programmatic click on disabled default button ([e0c3462](https://github.com/material-components/material-components-web/commit/e0c346286a9656819302f04b0cf3f7b948429f74))
* **fab:** Fixed Fab ripple ([84f3db9](https://github.com/material-components/material-components-web/commit/84f3db9ed03fc414f347bfd88be384fe50646bd8)), closes [#7053](https://github.com/material-components/material-components-web/issues/7053)
* **icon-button:** prevent icon shift on press in IE11 ([8fc2927](https://github.com/material-components/material-components-web/commit/8fc29273c49f5bf5006f4df715bee85fbace9cb8))
* **linear-progress:** allow parent visibility prop to propagate to bar ([e543628](https://github.com/material-components/material-components-web/commit/e543628c3924a47ba63f5b7d58a2a931a260d1d3))
* **list:** Add core-styles mixin. ([fc7c4e5](https://github.com/material-components/material-components-web/commit/fc7c4e5ce2451ecd76f7ea3860b18a16e5f31bac))
* **list:** density configuration mixins do not account for leading avatars ([3674c62](https://github.com/material-components/material-components-web/commit/3674c6282db170dcf8331f93d779055c3852076b))
* **list:** Ensure trailing-only variants have leading padding in RTL contexts. ([81e2d4f](https://github.com/material-components/material-components-web/commit/81e2d4ff36518c586972aad4512b43d2bb0cd2d2))
* **list:** Fixed the selected + focused state of list item in HCM ([8ba3e29](https://github.com/material-components/material-components-web/commit/8ba3e298ca18cf8e7e11f07559e27287e74efeb8))
* **list:** Reset selectedIndex to UNSET_INDEX if #setSingleSelection(true) is called and there are no selected list items. ([4eecdea](https://github.com/material-components/material-components-web/commit/4eecdeaf09ed0429aa685ee35ea2ce7970af89cc))
* **list:** Selection lists without a selection focus first item. ([03f525f](https://github.com/material-components/material-components-web/commit/03f525f9ff880f27a43f2e50851a5dc6cd6b022c))
* **list:** Use more descriptive foundation method comments ([08d791f](https://github.com/material-components/material-components-web/commit/08d791f37a159f24686e97df983637947e2a1e87))
* **mdc-list:** invalid syntax in generated .d.ts bundle ([ce82846](https://github.com/material-components/material-components-web/commit/ce828464cdab59cac79add950fcac4f0310ce624))
* **menu:** correct menu opening delay ([a618380](https://github.com/material-components/material-components-web/commit/a6183801a07f109eff3ee209f42631340fbbe4b3)), closes [#5682](https://github.com/material-components/material-components-web/issues/5682) [#4411](https://github.com/material-components/material-components-web/issues/4411)
* **menu-surface:** slightly delay focus restoration to prevent lost focus on mobile devices ([9f68a93](https://github.com/material-components/material-components-web/commit/9f68a932e9d4168da10d8b9c3bb9191afcc3c68f))
* **ripple:** ensure custom properties are always emitted ([caa73ae](https://github.com/material-components/material-components-web/commit/caa73aeeea780ff65d4434fe1f38cec9396209c4))
* **rtl:** do not emit if a left/right value or replacement is null ([ec4ac52](https://github.com/material-components/material-components-web/commit/ec4ac5234c31df882a85a90af4d53b6797c8eb49))
* **rtl:** mixins work with pseudo elements ([f5b6110](https://github.com/material-components/material-components-web/commit/f5b6110d6a3c5ef1253165f5575ed3980748e19c))
* **switch:** export temporary deprecated version ([bd68539](https://github.com/material-components/material-components-web/commit/bd685395b652f448e889c123cda97efd77c85fcd))
* **switch:** misaligned handle when inside some flex containers ([ea1e1b8](https://github.com/material-components/material-components-web/commit/ea1e1b850795bd2b6ab7369a9c1e61d4b0d85f2e))
* **switch:** move ripple behind handle ([3e4c6dc](https://github.com/material-components/material-components-web/commit/3e4c6dca1921caa57e1097c03135a7ddf614f003))
* **switch:** overlay colors not showing and support -5 density ([33579e0](https://github.com/material-components/material-components-web/commit/33579e00bea179170016031fc3f24b70f57d74d2))
* **switch:** prevent collapsing in flex containers ([22f390c](https://github.com/material-components/material-components-web/commit/22f390c4364f0fc407106933154d68ae9e1ed950))
* **switch:** track colors can have opacity and not bleed through ([d923db7](https://github.com/material-components/material-components-web/commit/d923db73aa8db14c0d573208877d8cb6f4a57002))
* **tabscroller:** remove trailing underscore ([105b15b](https://github.com/material-components/material-components-web/commit/105b15b965e41bfaafedfb43e278cd5cb9d22195))
* **text-field:** remove disabled white patch in high contrast mode for Firefox 89+ ([17553e9](https://github.com/material-components/material-components-web/commit/17553e9f806551fba7d7b4d5c3b6de5df96db1af))
* prepare for [#7183](https://github.com/material-components/material-components-web/issues/7183) ([#7188](https://github.com/material-components/material-components-web/issues/7188)) ([77b94e8](https://github.com/material-components/material-components-web/commit/77b94e826c6c8c932bc5974855c645f7316f73af))
* **text-field:** show filled textarea label in Firefox 89+ high contrast ([90e08fc](https://github.com/material-components/material-components-web/commit/90e08fc6b82c805ab74d35b75b2e0c8fc72d6405))
* **textfield:** announce error message again if user blurs already invalid field ([75900a5](https://github.com/material-components/material-components-web/commit/75900a5a916249aa307626f7f6b441086146e1c0))
* **tooltip:** Adding missing `return` statement into `MDCTooltipComponent#isShown` method. ([4d95812](https://github.com/material-components/material-components-web/commit/4d95812f95ea60665fdab32a1ef8ff4d4e36a8b0))
* **tooltip:** Fixing component definition of MDCTooltipAdatper#deregisterAnchorEventHandler. ([d928692](https://github.com/material-components/material-components-web/commit/d928692b52157c91c46c9addf66f93ebdff09145))
* **tooltip:** Fixing logic for determining whether or not the user intends a tooltip to be hidden from the screenreader or not. ([cf5b9eb](https://github.com/material-components/material-components-web/commit/cf5b9eb86b764859ed8228377d4dd6dc7d2193c6))
* Remove lint check from test actions ([#7185](https://github.com/material-components/material-components-web/issues/7185)) ([1ee1fbf](https://github.com/material-components/material-components-web/commit/1ee1fbf01550f9ea19a72671e6fe360722d66385))
* **touch-target:** incorrect position in rtl when width is set ([bd1b4e9](https://github.com/material-components/material-components-web/commit/bd1b4e9d857f0b8fb7b5b9de9b8d5d78823f386d))
### Build System
* set AMD module module names within UMD bundles ([#7233](https://github.com/material-components/material-components-web/issues/7233)) ([9808de0](https://github.com/material-components/material-components-web/commit/9808de09310368c6352a0d40db84a802069d743d))
### Code Refactoring
* **checkbox:** Deprecated old checkbox theme mixin ([22d29cb](https://github.com/material-components/material-components-web/commit/22d29cbb4e7847ae56bf923d70508d1b164c1af6))
* **iconbutton:** Move ripple target to inner element ([33c9a73](https://github.com/material-components/material-components-web/commit/33c9a737af75f30f434565e98ada51b335495f0a))
### Features
* **base:** add MDCObserverFoundation class ([33e6f50](https://github.com/material-components/material-components-web/commit/33e6f50e915d5f2b70076fd0eb0e0d6654acba0c))
* **button:** Add focus indicator to link buttons in HCM. ([cad4896](https://github.com/material-components/material-components-web/commit/cad4896899cc89b1354ba5df95c3870efbb99af5))
* **button:** add typography & state layer keys to theming API ([068fd50](https://github.com/material-components/material-components-web/commit/068fd5028031778ada1f9f8469ac62ed60c9e7ef))
* **button:** employ elevation token resolvers in theming API ([ebb5c73](https://github.com/material-components/material-components-web/commit/ebb5c73bb87f1098d7e300372a811968a2d6c9f0))
* **button:** move icon-size to theming API ([85e9a6a](https://github.com/material-components/material-components-web/commit/85e9a6ac3ca1c9395d0d955326c3c1a7c3fe1a04))
* **card:** Moving ripple into a `mdc-card__ripple` element rather than the `mdc-card__primary-action`. ([8ace3b8](https://github.com/material-components/material-components-web/commit/8ace3b8106499cc9c126abde77258bcae7d5929d))
* **checkbox:** Added new theme mixin in checkbox to match token keys ([33a9548](https://github.com/material-components/material-components-web/commit/33a9548526d90fe41aae1e89c925720505fa5f85))
* **checkbox:** Added new theme mixin in checkbox to match token keys ([8e60818](https://github.com/material-components/material-components-web/commit/8e608183652b1cd051981a4266cae66b5591a148))
* **chips:** Support presentational actions ([8c68530](https://github.com/material-components/material-components-web/commit/8c685301d66ac6c8bc59b6b12930efd23804cce3))
* **dialog:** removing call to `#close` within `#destroy`. ([5631828](https://github.com/material-components/material-components-web/commit/5631828e1541df22feb879a5310e57494ee722a3))
* **dom:** add forced-colors-mode mixin ([8416fb9](https://github.com/material-components/material-components-web/commit/8416fb9195afcba61494bae1206dd1503dffb140))
* **elevation:** Create elevation resolver mixin ([5dfec7a](https://github.com/material-components/material-components-web/commit/5dfec7a1445efb45a7fb4d96ce037cafab205f30))
* **elevation:** Create resolver function ([c18b592](https://github.com/material-components/material-components-web/commit/c18b5925be3041e774b19f5f6f53f7d3a45d2240))
* **elevation:** Simplify box-shadow custom property support ([de48eff](https://github.com/material-components/material-components-web/commit/de48eff0d803b4e6c93834904e486cfea47bb03a))
* **elevation:** Support custom properties in resolver ([07a7375](https://github.com/material-components/material-components-web/commit/07a73750c0ebc1d05e19681c6f072cd5cceddfb6))
* **fab:** Added mixin that auto-generates custom properties for Fab ([8530d35](https://github.com/material-components/material-components-web/commit/8530d351494fc9a88e8e0dfd5e5d58de81a983d9))
* **fab:** Added mixin to auto-generate custom properties for Fab ([14767a8](https://github.com/material-components/material-components-web/commit/14767a8db432f8834d74a31e1577c3557a38c6d9))
* **fab:** Use elevation resolvers ([6e9fc4a](https://github.com/material-components/material-components-web/commit/6e9fc4a423a4657cc5d718aaf13d360c3bd27709))
* **fab:** Use elevation resolvers in custom property themes ([3f691ec](https://github.com/material-components/material-components-web/commit/3f691eccf61489d40e49bdf9f149b1591168c828))
* **iconbutton:** Add support for increased touch target to icon button. ([f43af56](https://github.com/material-components/material-components-web/commit/f43af5633f08e8080daed2e976771448d3effadb))
* **list:** Add public #getFocusedItemIndex to foundation. Also add a `forceUpdate` option to #setSelectedIndex that forces a UI update of the selected item. ([5d06051](https://github.com/material-components/material-components-web/commit/5d060518804437aa1ae3152562f1bb78b1af4aa6))
* **list:** Basic support for three-line lists. ([4bb5eea](https://github.com/material-components/material-components-web/commit/4bb5eea2b81268d4dc2f838beccb44dd4ff2857d))
* **menu:** Add public #getSelectedIndex to foundation. ([f705e80](https://github.com/material-components/material-components-web/commit/f705e8048ae60aceead575dfc35c8bb6233e9d23))
* **radio:** Added theme mixin that declares custom properties in MDC radio ([b87ebf7](https://github.com/material-components/material-components-web/commit/b87ebf74d4ca7de26552a9e55d79280a83ca05a9))
* **radio:** Added theme styles mixin to MDC radio ([464a002](https://github.com/material-components/material-components-web/commit/464a00286cbccfa256beb879631690277776486f))
* **radio:** Added theme styles mixin to Radio ([5823407](https://github.com/material-components/material-components-web/commit/5823407a71dc51fdf9919f3a85f62fcf125ec27b))
* **ripple:** Added theme styles and theme mixin to Ripple ([a2b0f4c](https://github.com/material-components/material-components-web/commit/a2b0f4cee3278c71d3ee2905f60dd37af6ee507c))
* **select:** Add #getUseDefaultValidation method to foundation. ([adeac05](https://github.com/material-components/material-components-web/commit/adeac0549eb04c5d4cd050d2e52378f7edbfa37e))
* **shape:** add shape map theme value support ([ec31ae1](https://github.com/material-components/material-components-web/commit/ec31ae1ed1e6483d972f0eddece0fbf30ac721c2))
* **slider:** Expose changing certain props after initialization to support MWC ([3f36ac7](https://github.com/material-components/material-components-web/commit/3f36ac75c431ee228807e04e985d2064a3274bd7))
* **switch:** add custom property theming support ([f147a22](https://github.com/material-components/material-components-web/commit/f147a2271bba2b4f1ae4df403baf86bac974b120))
* **switch:** add density custom property support ([598fccc](https://github.com/material-components/material-components-web/commit/598fcccc8d8945c0527a0553a6a937ddfdd80a8f))
* **switch:** add new component and foundation ([ef43e6d](https://github.com/material-components/material-components-web/commit/ef43e6d9607c7e8d6495b4a82e2178059dbe37fa))
* **switch:** add updated density styles ([cb162da](https://github.com/material-components/material-components-web/commit/cb162da374f5e5d613e6a4554f0e1efcdc443c04))
* **switch:** add updated RTL styles ([573dc7f](https://github.com/material-components/material-components-web/commit/573dc7ffd479527a885e95f4c8ece270363a31cc))
* **switch:** update switch to new design spec ([0ce2fdb](https://github.com/material-components/material-components-web/commit/0ce2fdb02a62bb31f945144aac58957989ecfba6))
* **switch:** update theme keys ([00b5899](https://github.com/material-components/material-components-web/commit/00b5899dcf803dcdf3795e70a970abafa247e1b3))
* **switch:** Use elevation token resolvers ([e1703be](https://github.com/material-components/material-components-web/commit/e1703bed9ba624d450cddbc5f07b08eb822f46ef))
* **tabs:** Add theming API to tabs ([bd25779](https://github.com/material-components/material-components-web/commit/bd25779b2bc6d10a00fbc19573f94a716f165cdf))
* **tabs:** Added theme-styles() mixin to tabs ([e38d744](https://github.com/material-components/material-components-web/commit/e38d7440f43c3ffe31407f1a76a35c482c42f7c5))
* **test:** Add overline support to two- and three-line lists. ([38d1846](https://github.com/material-components/material-components-web/commit/38d1846cca4f9abbcf2c073add3191bde0e03ffb))
* **test:** Add shape radius mixins to list. ([d5f1f7c](https://github.com/material-components/material-components-web/commit/d5f1f7c722ada3b62265e12e47a6f714d5bd7351))
* **theme:** add map-ext.split() helper function ([ec22e1d](https://github.com/material-components/material-components-web/commit/ec22e1da9746b38de654a18b0161c40c74e4e74f))
* **theme:** add state selector mixins ([d20dc6d](https://github.com/material-components/material-components-web/commit/d20dc6dba8e8824645404d0eaafa763d8b026ef0))
* **theme:** gss.annotate supports named arguments ([c50d20b](https://github.com/material-components/material-components-web/commit/c50d20bab49d5c00dd0a74e8616d02d8d87fba89))
* **theme:** theme.property() supports custom prop declarations ([474836a](https://github.com/material-components/material-components-web/commit/474836ad0f4f92d03ce7dd0c9f923b6ff9abac7c))
* **tooltip:** Adding foundation methods to allow users to configure the tooltip show and hide delay time. ([08db3d7](https://github.com/material-components/material-components-web/commit/08db3d737fa49893d1c3d1d3f7dd07367dd9eaeb))
* **tooltip:** Adds logic for generating a new tooltip position when all "standard" positions for tooltip w/ caret are invalid. ([9bc0eff](https://github.com/material-components/material-components-web/commit/9bc0effaf60a530bed8247f2bb9190dcbbbdec54))
* **tooltip:** Adds logic to determine valid position options for tooltip w/caret, and select which should be used. ([2ebfc53](https://github.com/material-components/material-components-web/commit/2ebfc537439508ea08bcd99991eed4fe838f3550))
* **tooltip:** Adjusting `transform-origin` for tooltips with caret so that the entrance animation originates from the caret. ([1a8d064](https://github.com/material-components/material-components-web/commit/1a8d064838299e07e97e5f30470c76c03074ac42))
* Create token package with resolvers ([9405502](https://github.com/material-components/material-components-web/commit/940550232c7925150e597c4f56433b7e5df59099))
* **tooltip:** Adjusting logic and styles so the caret better matches spec. ([55ad2d7](https://github.com/material-components/material-components-web/commit/55ad2d7d8f9bcc979f5334352620815d6ea9add6))
* **tooltip:** Fixes ordering of values provided to `tranform-origin`. ([25751d2](https://github.com/material-components/material-components-web/commit/25751d2ed4061129f206bdbc6682052b0c76709e))
* **tooltip:** Plain tooltips remain visible if the user hovers over them. ([ccce99c](https://github.com/material-components/material-components-web/commit/ccce99cd630b5a49ed40ba95b0e3d3d6fea74801))
### Reverts
* **checkbox:** Added new theme mixin in checkbox to match token keys ([b4c3f51](https://github.com/material-components/material-components-web/commit/b4c3f513eb1b42fa3844a265ccabb1e8644ea123))
### BREAKING CHANGES
* **tooltip:** - Tooltips intended to be hidden from the screen reader should be annotated with `data-hide-tooltip-from-screenreader="true"` (in addition to using `data-tooltip-id` rather than `aria-describedby`.
PiperOrigin-RevId: 386490861
* Breaking change for the UMD-case where the exports are bound to a global variable. Previously the entry-point would appear in camel-case, but now it's matching the actual package name in dash-case. This is unfortunately not avoidable with the current Webpack tooling. i.e. previous UMD users relying on the globals (which are rather rare anyway), would need to switch from `window.mdc.circularProgress` to `window.mdc['circular-progress]`.
* **checkbox:** Renamed old checkbox theme mixin for deprecation
PiperOrigin-RevId: 384568221
* **iconbutton:** Icon button now requires an inner ripple element with
class `mdc-icon-button__ripple`. See README for details.
PiperOrigin-RevId: 372153409
# [11.0.0](https://github.com/material-components/material-components-web/compare/v10.0.0...v11.0.0) (2021-04-15)
### Bug Fixes
* **banner:** Use role alertdialog. ([a07b6d4](https://github.com/material-components/material-components-web/commit/a07b6d486a7852a2089c9c13d5cf80d4ab65a425))
* **button:** add missing feature-targeting import ([71fe9a0](https://github.com/material-components/material-components-web/commit/71fe9a067878c810fe6a7d01b8e839764d7a802c))
* **button:** Fixed button's icon size scaling on browser zoom ([bc104ba](https://github.com/material-components/material-components-web/commit/bc104bae7c4e1bbcbedb085e6079432f06865cbf))
* **chips:** Expose deprecated resources in top-level TypeScript file ([67d780c](https://github.com/material-components/material-components-web/commit/67d780c795e2a61772f5d1639c202ced3fbc4dc4))
* **chips:** Fix incorrect references between deprecated and non-deprecated resources ([f8579b7](https://github.com/material-components/material-components-web/commit/f8579b7eaa22bf9da04ea5e4ec27418e001a0813))
* **chips:** Make chips wrap by default ([24255c4](https://github.com/material-components/material-components-web/commit/24255c408518dff48ed59c2529ee3d0496d6b40c))
* **chips:** Remove obsolete chips resources now in chips/deprecated/* ([87ac2fd](https://github.com/material-components/material-components-web/commit/87ac2fd5ca4ec7814216d16a0b0ef6a4474d7e92))
* **chips:** Remove obsolete resources ([40dd242](https://github.com/material-components/material-components-web/commit/40dd242d5ce4586002a8e5cb59ce2711572f1cf3))
* **chips:** rename deprecated trailing action classes ([48f4b67](https://github.com/material-components/material-components-web/commit/48f4b67fbd0d43377670673e56cb5868b3a11e1d))
* **chips:** Un-remove obsolete chips resources now in chips/deprecated/* ([7cf6782](https://github.com/material-components/material-components-web/commit/7cf67823ec45a93f5b458060b2ec632479d813c9))
* **chips:** Use deprecated chips in autoinit ([d2a39d3](https://github.com/material-components/material-components-web/commit/d2a39d300e3b9dee6c0d58d34522075f62b261c3))
* **circular-progress:** add annotation ([06dead2](https://github.com/material-components/material-components-web/commit/06dead2d69d09dfde582d0d9fb1473a61358a5f6))
* **dialog:** Add transparent border to dialog surface for HCM support. ([b2fa996](https://github.com/material-components/material-components-web/commit/b2fa996a1faa513fae691920cb339091d65b6c9b))
* **dialog:** Remove the unnecessary border on the dialog title when not needed, this adds an extra line in the UI on high contrast mode. With margins it is possible to keep the previous spacing and only add the border when needed. ([3344d12](https://github.com/material-components/material-components-web/commit/3344d12ad2eb74cfc4ef270290bcc0322ebe8566))
* **dom:** do not cache focusable elements in focus-trap ([7899e0f](https://github.com/material-components/material-components-web/commit/7899e0fe0a87cb255a5216333054207ef2687933))
* **fab:** add alternate decorator only when necessary ([0fd56a8](https://github.com/material-components/material-components-web/commit/0fd56a86b30846de63d7d1520dcecc4d5ece2347))
* **fab:** Apply extended shape radius in Extended FAB's theme mixin ([81911b7](https://github.com/material-components/material-components-web/commit/81911b7077801590c0f47bf17743f3b2b320b863))
* **list:** Correcting the selector mapping for CHILD_ELEMENTS_TO_TOGGLE_TABINDEX and FOCUSABLE_CHILD_ELEMENTS. ([8943b99](https://github.com/material-components/material-components-web/commit/8943b991fd04caab88ae543bad16ba9b47bc7634)), closes [#6829](https://github.com/material-components/material-components-web/issues/6829) [#6829](https://github.com/material-components/material-components-web/issues/6829)
* **list:** do not activate typeahead on certain modifier keys ([f1b1fd5](https://github.com/material-components/material-components-web/commit/f1b1fd5d3fa72c0a5dab305e3d7e782ff1421d7e))
* **progress-indicators:** hide from screenreaders on close ([d3a6862](https://github.com/material-components/material-components-web/commit/d3a6862af3ff4f0e157ebe95bd5f54a47fc14c48))
* **ripple:** Update states-selector() to use `:active:active` to match active specificity styles. ([faa7d32](https://github.com/material-components/material-components-web/commit/faa7d3226edbb15bdfca69e5ae98b2d7afdd861a))
* **select:** do not conduct anchor typeahead when modifier keys pressed ([6f678a9](https://github.com/material-components/material-components-web/commit/6f678a91a400ac3408e06523d18a134cf3513f6b))
* **select:** set hidden input value before firing change event ([2d6ba2c](https://github.com/material-components/material-components-web/commit/2d6ba2c239dfc7d4c2516507b11a32537c163852)), closes [#6904](https://github.com/material-components/material-components-web/issues/6904)
* **shape:** duplication bug with nested custom properties ([f77a4dd](https://github.com/material-components/material-components-web/commit/f77a4dd1a3eb4f6af2b5a7695081408de41211b7))
* **slider:** Fire custom `input` event on input change (i.e. value change via keyboard), mirroring the native `input` event behavior for range inputs. ([ec8f846](https://github.com/material-components/material-components-web/commit/ec8f8465f40bd13f61e2ad26c52314fc27fd5420))
* **slider:** Fix #quantize to use min value as the baseline. ([0f358dd](https://github.com/material-components/material-components-web/commit/0f358ddae37a8703b8b6f0b8e4de846a196d443a))
* **slider:** Fix JS floating point rounding errors by rounding values to a set number of decimal places based on the step size. ([6072ed6](https://github.com/material-components/material-components-web/commit/6072ed6040e1f65e099b876a4065fbb07378c186))
* **slider:** Fix track height. ([67eb0df](https://github.com/material-components/material-components-web/commit/67eb0df80920a53e04fc151b3ab065959e3e84dc))
* **slider:** Improve HCM borders, add missing [@noflip](https://github.com/noflip) annotations. ([e7202cb](https://github.com/material-components/material-components-web/commit/e7202cb576ff762664a3636ec01cebfa5a61be49))
* **slider:** Modify behavior such that for range sliders, presses in the middle of the range change the value (of the closest thumb). This provides a single-pointer alternative option to an otherwise gesture-based interaction. ([0b8cff7](https://github.com/material-components/material-components-web/commit/0b8cff73421489a5322dd39b8504c16ba0f26120))
* **slider:** Throttle slider UI updates. ([7d6a4bb](https://github.com/material-components/material-components-web/commit/7d6a4bb72f210c94161568f964e33cd8b06a8315))
* **slider:** Throw error for invalid initial values based on the step. ([3955d8d](https://github.com/material-components/material-components-web/commit/3955d8d3d2ba2766b59338f0ed7ae640388ce926))
* **tab:** Update ripple adapter to reflect sass ripple-target. ([97c4d40](https://github.com/material-components/material-components-web/commit/97c4d40356fcc89d9eb854ecf322ec7474aa597c))
* **theme:** do not emit when theme.property() replacements are null ([aa0aaf0](https://github.com/material-components/material-components-web/commit/aa0aaf026aae13532b3e3790992e9cc06397aa91))
* **theme:** parsing error when [@import-ing](https://github.com/import-ing) mdc-theme ([b62b126](https://github.com/material-components/material-components-web/commit/b62b1266d66734fcd9d60c7893ea048f83883f8f))
* **theme:** replace works for multiple replacements ([95322b1](https://github.com/material-components/material-components-web/commit/95322b11e3b0c938d9b4de56a1ba80d1ff42596b))
* update README to correct links. ([71e615b](https://github.com/material-components/material-components-web/commit/71e615bc8fa757d22190641db0c2940e24bdf59b))
* **tooltip:** flip precedence of data-tooltip-id and aria-describedby when finding TT id ([b2d22df](https://github.com/material-components/material-components-web/commit/b2d22df5b62003247fa5ca60a23b2ce8b6a17b33))
* **typography:** do not emit styles when setting null from global variable ([f5f1b61](https://github.com/material-components/material-components-web/commit/f5f1b613ce5c0dda39f617adbcfd2bb3f1862a74))
### Code Refactoring
* **snackbar:** Update a11y structure ([c60449b](https://github.com/material-components/material-components-web/commit/c60449bc8a967e14436bec9471df99678a78515a))
* **tooltip:** Moved the anchor element blur event listener from the component to within the foundation. ([0b4a4b2](https://github.com/material-components/material-components-web/commit/0b4a4b2ebe245f2382cb08bbbc34e7ffb4f43763))
* **typography:** Rename typography Sass function from pxToRem() to px-to-rem() ([8f0a11e](https://github.com/material-components/material-components-web/commit/8f0a11e32895f998c326ab4a10601a2e4d5e18db))
### Features
* **base:** add non-statics foundation constructor type ([e3ec22f](https://github.com/material-components/material-components-web/commit/e3ec22f4579292c962ab81d7fee1d31b38b7d036))
* **base:** add observer mixin ([4ceb422](https://github.com/material-components/material-components-web/commit/4ceb42220043f0ca90c57d77efec89ed29ae4508))
* **chips:** Expose "action" component ([03d34bb](https://github.com/material-components/material-components-web/commit/03d34bbad14df501f5faf9d03e62c0727ef6f7da))
* **chips:** Expose "chip" component ([cbc57c6](https://github.com/material-components/material-components-web/commit/cbc57c600f972ec88098d7ad9c4763f57dce0eb4))
* **chips:** Expose "chipset" component ([d6c5bcf](https://github.com/material-components/material-components-web/commit/d6c5bcf3743048e44d5462a2266804a7a75678a7))
* **chips:** Expose top-level resources ([fefc668](https://github.com/material-components/material-components-web/commit/fefc668d77004762598e0cd88f3248a03a6aab1b))
* **chips:** Remove touch target wrapper selector from chip set spacing ([367d88b](https://github.com/material-components/material-components-web/commit/367d88bdb32a24c73f935154d616d1d7abfd9dd8))
* **chips:** Start deprecation of chip ([e683bdf](https://github.com/material-components/material-components-web/commit/e683bdf4a0f6642b87f099b51425898dd4a1b644))
* **chips:** Start deprecation of chip root directory ([73a2271](https://github.com/material-components/material-components-web/commit/73a227194d7c0caf305329f1a8b22eb801a6114b))
* **chips:** Start deprecation of chip set ([148e8cf](https://github.com/material-components/material-components-web/commit/148e8cfccac563305b9fa6fd4a6e8602620d6426))
* **chips:** Start deprecation of chip trailing action ([9eeb35c](https://github.com/material-components/material-components-web/commit/9eeb35c384c78a65215bf8885d5ebb5fb1592cd9))
* **chips:** Truncate long chip labels by default ([f5c6db8](https://github.com/material-components/material-components-web/commit/f5c6db8fc71c654c47c68a4c717f8d8995f43e30))
* **dialog:** Adding `resize` and `orientationchange` event handlers into `MDCDialogFoundation`. ([1e06534](https://github.com/material-components/material-components-web/commit/1e06534774df290b9a29210ee3bcf57515da6e43))
* **dialog:** Adds support for "surface-scrim" over full-screen dialogs. This prevents a "double scrim" from appearing when showing a secondary dialog over a full-screen dialog on larger screens. ([cddb035](https://github.com/material-components/material-components-web/commit/cddb0355362acb031da308f98283f9d4ad9a2c84))
* **dom:** add option to skip restoring focus on release focus ([5c0ab74](https://github.com/material-components/material-components-web/commit/5c0ab74019c6a1925ee8ef7946d8df6d9494bf88))
* **dom:** add tab key keyboard.ts ([dc9c840](https://github.com/material-components/material-components-web/commit/dc9c8402374f46402c73f97e60206517e3186389))
* **fab:** Add theming API to Extended FABs ([f19c86d](https://github.com/material-components/material-components-web/commit/f19c86d13447d984b13b0e1d7e9651e498d8de04))
* **fab:** Added `$focus-outline-width` param to extended-padding() FAB mixin ([8ecd7c9](https://github.com/material-components/material-components-web/commit/8ecd7c9a93c5b885fad9a1e6fd8d17da77c05360))
* **fab:** Added focus outline theme keys to FAB theme mixin ([d6d8d04](https://github.com/material-components/material-components-web/commit/d6d8d04768f9904488a6814ec47a251a03313627))
* **fab:** Added theme mixin to primary FAB variant. ([f19bbc4](https://github.com/material-components/material-components-web/commit/f19bbc4af6493f642dc4b5b45a2dc0083fa293f0))
* **fab:** border custom prop support & add CPs for padding ([a6b3101](https://github.com/material-components/material-components-web/commit/a6b3101fb7641daab20db735b70421311534083b))
* **fix:** Ensure that secondary controls do not ripple. ([1f636b2](https://github.com/material-components/material-components-web/commit/1f636b205b9609d19a96bef707ab87a0f8ca4f1a))
* **fix:** Fix divider layout in right-to-left locales. ([f524626](https://github.com/material-components/material-components-web/commit/f5246264d139124f6abf2cf5e9f8ca98762eb0f7))
* **fix:** Remove old MDC list class names, preparing to release evolution. ([5f0fc44](https://github.com/material-components/material-components-web/commit/5f0fc444a706626a106c2b36116a56e9dc5b8c79))
* **fix:** Remove the "evolution" prefix from list evolution's class names. ([0cde52f](https://github.com/material-components/material-components-web/commit/0cde52f5a007f4b7da16afd45f7445d615d5a2f6))
* **fix:** Simplify divider styles to reflect new design guidance. ([f77c508](https://github.com/material-components/material-components-web/commit/f77c508600d4b0f4ce4a66c63d1064b545149570))
* **linear-progress:** add getBuffer ([9c85d50](https://github.com/material-components/material-components-web/commit/9c85d505bddf9c63ef52508c385ec59f1f947b8e))
* **list:** Add "deprecated" aliases for old list mixins / variables. ([f9cac96](https://github.com/material-components/material-components-web/commit/f9cac96cc2ad0422d73140a65dcffc5e4e8ec519))
* **list:** Add missing "deprecated" aliases for old list mixin. ([302c7a9](https://github.com/material-components/material-components-web/commit/302c7a960f3b2787f253908d963eaaaa0b8adfd4))
* **list:** Finalize list mixin/variable rename. ([c97d7d8](https://github.com/material-components/material-components-web/commit/c97d7d88102f96c4c61a1b7c3329f3efac3727f4))
* **list:** Rename deprecated MDC list class names. ([a678806](https://github.com/material-components/material-components-web/commit/a678806f5618f21a6bd28e3b881f92130b723f6e))
* **list:** Rename deprecated MDC list class names. ([941ca3b](https://github.com/material-components/material-components-web/commit/941ca3b3c4c53ea296149a983b0159c5567e1b2c))
* **list:** Update deprecated list class names so evolution can become default. ([606e767](https://github.com/material-components/material-components-web/commit/606e767ef6d1d98461d8910ece874b65d0143981))
* **list:** Update styles to reference "deprecated" mixins/variables. ([3201cae](https://github.com/material-components/material-components-web/commit/3201cae479a0dbf97c40dda1b9d32a5818d6ab62))
* **list:** Update styles to remove "evolution" prefix from mixins/variables. ([f9c9e39](https://github.com/material-components/material-components-web/commit/f9c9e39d6c0cddf796de7e821ec59e199aeab851))
* **menu:** add maxHeight setter ([bf670da](https://github.com/material-components/material-components-web/commit/bf670dad7247d7ac1db9bf00905921b5c09a5b4d))
* **menu-surface:** add option to always horizontally center on viewport ([23ea2d8](https://github.com/material-components/material-components-web/commit/23ea2d85e760325371c2529af7c99316d876c044))
* **ripple:** add active() mixin for styling active styles. ([9f2e85f](https://github.com/material-components/material-components-web/commit/9f2e85fb8453cab94f54eeb9e2d9e18600ed7fa0))
* **select:** allow programmatic change without firing event ([79ce087](https://github.com/material-components/material-components-web/commit/79ce0878b3233592c3188548711b311e5706d3dd)), closes [#6166](https://github.com/material-components/material-components-web/issues/6166)
* **slider:** Add mixin to customize thumb color in the activated (hover, focus, pressed) state. ([94f50b2](https://github.com/material-components/material-components-web/commit/94f50b260dd6cbf6cca5fbedd2a8681746e2cc1d))
* Add support for "mdc-deprecated-list-*" class names. ([9e52f55](https://github.com/material-components/material-components-web/commit/9e52f554437fa438c9b4c266f8e87ff370ec5dea))
* **switch:** add high-contrast mode focus shim mixin ([c91e8d1](https://github.com/material-components/material-components-web/commit/c91e8d141bc8b519ae1d8c7d1771c0d5110e84ad))
* **theme:** add configuration support for custom-properties ([1f318ff](https://github.com/material-components/material-components-web/commit/1f318ff0f033f9f51c8bf7f76ef997161ff62fd4))
* **theme:** add create-varname() for custom properties ([b522724](https://github.com/material-components/material-components-web/commit/b5227247d730171c02bd71e9b44106cd179aaf2a))
* **theme:** add key store ([07ff0c4](https://github.com/material-components/material-components-web/commit/07ff0c452c896f9f8131532538742bed0ad207c9))
* **tooltip:** Adding logic to position the caret relative to the tooltip. ([76da787](https://github.com/material-components/material-components-web/commit/76da7876cd1452cdabed5169bdbdfd06b4629cda))
* **tooltip:** Adding touchstart/touchend event listeners to tooltip. This allows tooltips attached to non-focusable elements to be surfaced on mobile. ([7cd26af](https://github.com/material-components/material-components-web/commit/7cd26af4dd2033dacce75d2df2d179f81286fe71))
* **tooltip:** Creating an `mdc-tooltip__surface-animation` class that holds all the style properties responsible for animating the tooltip in and out of the page. The existing `mdc-tooltip__surface` class will hold all the style properties that impact the visual appearance of the tooltip. ([56fc269](https://github.com/material-components/material-components-web/commit/56fc26962126e24a7c56124de7f36078409254a7))
* **tooltip:** Expose method that allows users to register additional scroll handlers on elements in the DOM. This should be used in situations where the tooltip anchor is a child of a scrollable element, and will ensure that the tooltip remains attached to the anchor when this element is scrolled. ([24609b8](https://github.com/material-components/material-components-web/commit/24609b82225f763c1dc9da16b1ee9e0dd3c52197))
### BREAKING CHANGES
* **typography:** Renamed typography Sass function from pxToRem() to px-to-rem()
PiperOrigin-RevId: 368489085
* **fix:** the old list implementation has been deprecated and now requires that class names use an "mdc-deprecated-list-*" prefix. The new implementation (list evolution), no longer uses a prefix ("mdc-evolution-list-*" is now just "mdc-list-*").
PiperOrigin-RevId: 364441086
* **snackbar:** Dom structure change, see README.md
PiperOrigin-RevId: 363926666
* **tooltip:** Added adapter method:
- registerAnchorEventHandler<K extends EventType>(
evtType: K, handler: SpecificEventListener<K>): void;
- deregisterAnchorEventHandler<K extends EventType>(
evtType: K, handler: SpecificEventListener<K>): void;
PiperOrigin-RevId: 358401984
# [10.0.0](https://github.com/material-components/material-components-web/compare/v9.0.0...v10.0.0) (2021-02-05)
### Bug Fixes
* **data-table:** fix style ordering wrt select & use new variable-width mixin ([afb6889](https://github.com/material-components/material-components-web/commit/afb68894e63c9ed4bb3b3d523cbb4072480117a6)), closes [#6599](https://github.com/material-components/material-components-web/issues/6599)
* **dialog:** add property to customize suppressDefaultPressSelector ([772cc10](https://github.com/material-components/material-components-web/commit/772cc10686cc8994033a556ab70f4be106e902ee))
* **linear-progress:** fix RTL rendering ([c7c5da2](https://github.com/material-components/material-components-web/commit/c7c5da28f2cd2c1b54dd201d3797e112288fa86c))
* **list:** add support for density scaling. ([419e035](https://github.com/material-components/material-components-web/commit/419e035729c1ca1ee2b572ae4b1937e2d8cf04bc))
* **list:** add support for non-interactive list roles. ([fc8b045](https://github.com/material-components/material-components-web/commit/fc8b045f1127709c5929a3cd1c9c7d622db8ed42))
* **list:** ensure divider appears in IE high contrast mode. ([eff7b46](https://github.com/material-components/material-components-web/commit/eff7b46ac916d2eb130f7d826eee047c5f19e6f2))
* **menu:** Remove anchorSize height from calculations when anchored to bottom ([1631198](https://github.com/material-components/material-components-web/commit/16311983787cf46ccd22eaa4d6a076254cb32eea))
* **notched-outline:** fix notched outline no-label style ([99cfb6b](https://github.com/material-components/material-components-web/commit/99cfb6bd53f72240fe76852d0fdaa0b82e7dca39))
* **select:** debounce click on anchor ([b39094d](https://github.com/material-components/material-components-web/commit/b39094d145f9b96c1c75e2b5fcce7b76c9b31bf1))
* **select:** set aria-expanded false earlier when menu closes ([df00c2b](https://github.com/material-components/material-components-web/commit/df00c2b30342877eba7d1e21e8a57141739155a5))
* **slider:** Add aria-hidden to value indicator container, to avoid duplicate value announcements for screenreader users. ([9687353](https://github.com/material-components/material-components-web/commit/96873535640a2e9141ff8e17e64fcb5e28d90f53))
* **slider:** Adjust hidden input dimensions to take slider dimensions, such that screenreader focus indicators show a highlight around the entire slider. ([fd22355](https://github.com/material-components/material-components-web/commit/fd22355f72ab304aec043f53ced92fa9adfef457))
* **slider:** Fire custom change event on input change. ([07deaec](https://github.com/material-components/material-components-web/commit/07deaec27a6f92b9a00c7698c49d3e1a93e504ea))
* **slider:** Fix bug where value indicator container took space and could be hovered over / clicked when hidden. ([832668d](https://github.com/material-components/material-components-web/commit/832668d33389a0b6194d3d8ef53aa8c252aa8f5d))
* **slider:** Mark ripple event handler as passive. Fixes [#6746](https://github.com/material-components/material-components-web/issues/6746) ([abdd100](https://github.com/material-components/material-components-web/commit/abdd10065367738148866c165b339a3e3b9b1fc3))
* **slider:** Remove big step options. Now that we're using a native range input, big step is not customizable - we follow browser defaults for big step. ([ae27b44](https://github.com/material-components/material-components-web/commit/ae27b44b078ebdad3669b03abc9f28ed184db803))
* **slider:** Update both thumbs' value indicator UI's if layout is invoked with undefined `thumb`. ([489d4c2](https://github.com/material-components/material-components-web/commit/489d4c219d1747a8e5de3f210f00898c18201b24))
* **slider:** Use `pointer-events: none` instead of `visibility: hidden` to hide the value indicator container. Adding `visibility: hidden` removes the exit animation since the value indicator is immediately hidden. ([a94bd8d](https://github.com/material-components/material-components-web/commit/a94bd8deb879b0321e8227d26f338789ef3ffb90))
* **slider:** Use mouse/touch events on iOS, to work around pointer events bug. ([671d72d](https://github.com/material-components/material-components-web/commit/671d72d9544d3d1630966ec4e78b5705700defe7)), closes [#6715](https://github.com/material-components/material-components-web/issues/6715)
* **tabs:** Expose min width mixin and set to 90px per spec. ([c4ab987](https://github.com/material-components/material-components-web/commit/c4ab987221d5a3b9ab588321bb0347f5d665505a))
* **theme:** ensure either() works with false values ([8e66dbf](https://github.com/material-components/material-components-web/commit/8e66dbfeebe3d5fec438c69093d7f9941c0fbf10))
* **tooltip:** Adds "will-change" into CSS to prevent the tooltip from "jittering" when animating in. ([7a003ac](https://github.com/material-components/material-components-web/commit/7a003acf09345920d917cb4ab7c298a66e4fe184))
* **tooltip:** Change foundation to check for "dialog" on the anchor element's aria-haspopup attribute instead of checking for "true". ([b8a1a58](https://github.com/material-components/material-components-web/commit/b8a1a58e4ebb49a73725d2e7ae8aef09c07db09d))
* **tooltip:** Clear hideTimeout in handleAnchorMouseEnter so that the tooltip will not be hidden if the user rapidly moves the mouse in and out of the anchor element. ([365c693](https://github.com/material-components/material-components-web/commit/365c69360230540a67dd141f6bec999b2541a7e8))
* **tooltip:** Fix rich tooltip tests to not use aria-describedby to associate rich tooltips with their anchor elements. This is because interactive rich tooltips should not be used with aria-describedby per a11y guidance. ([251ac04](https://github.com/material-components/material-components-web/commit/251ac04c0a976d48a6be33cc7fcd76f6e2700aac))
* adjust meta baseline and update color mixins. ([07f3e01](https://github.com/material-components/material-components-web/commit/07f3e01b75306a7481c7077cd3ed12a87399958e))
### Code Refactoring
* Remove MDC theme's deep-get, used sass:map's get API instead. ([37fbae1](https://github.com/material-components/material-components-web/commit/37fbae10d6fb993c0ea866959fb5564c052002cc))
### Features
* **banner:** Add mobile-stacked variant support to banner. ([a0b2db2](https://github.com/material-components/material-components-web/commit/a0b2db26b550162d2e409489c5ded3381b7c7dc2))
* **button:** Add in HCM support to the mdc button as an opt-in mixin. ([121e1f3](https://github.com/material-components/material-components-web/commit/121e1f303f10e55c9cc5e6508bcd559c6ea7dc7b))
* **button:** consolidate states into button mixins ([637d15d](https://github.com/material-components/material-components-web/commit/637d15da60919641e5571f280562c4fb3491c8f0))
* **button:** thread state keys through theme config ([05f2496](https://github.com/material-components/material-components-web/commit/05f249666dff2bae35a1a6c1e7a5ed89eb193213))
* **checkbox:** Add CSS custom properties to MDC checkbox for density theming ([9244508](https://github.com/material-components/material-components-web/commit/9244508bd82ab65635169cfacd74f1a25ebaab7e))
* **checkbox:** Add validation to MDC Checkbox theme mixin ([2d5f32d](https://github.com/material-components/material-components-web/commit/2d5f32d41cda48ca8e3c1d2244d6fb3bb4c6aa7d))
* **circular-progress:** do not require HTML without whitespaces ([8648b82](https://github.com/material-components/material-components-web/commit/8648b8258f7f87edcc1d58a2bc7db3d78425508f))
* **dialog:** add custom property for z-index ([776c186](https://github.com/material-components/material-components-web/commit/776c1868154e5b99a332f60927b78b32b82fe19f))
* **dialog:** Adding styling for scroll bar dividers, and adding logic to show said dividers only when content is scrolled "behind" the header or footer of the dialog. ([e383944](https://github.com/material-components/material-components-web/commit/e383944e9792ea1971c7814e0e63e2e00f99a468))
* **dialog:** Adds and defines styling for the "header bar" on a full-screen dialog. ([089de51](https://github.com/material-components/material-components-web/commit/089de519c1c2f0378b9852dafd3ca5a304268a44))
* **iconbutton:** Add in HCM support to the mdc iconbutton as an opt-in mixin. ([fd61b04](https://github.com/material-components/material-components-web/commit/fd61b04760d96fcc1c96e43ca8e0663d16f5a995))
* **linear-progress:** remove aria-valuemin/max attrs for indeterminate ([4321323](https://github.com/material-components/material-components-web/commit/4321323e4bea2da8192b81ebdf8c6a9ee1e76aa0))
* **list:** support ctrl + a keyboard shortcut ([eefef49](https://github.com/material-components/material-components-web/commit/eefef49d86c69b1985aa4e5fa5b8809ba1f0a1f4)), closes [#6366](https://github.com/material-components/material-components-web/issues/6366)
* **list:** Update the MDC component for List Evolution. ([766981c](https://github.com/material-components/material-components-web/commit/766981c15a200b374a14c2ab80bf746824bf7434))
* **menu,select:** enable fixed menu position in mwc-select ([b9adb7a](https://github.com/material-components/material-components-web/commit/b9adb7a0f6d2871bcd87664ab857fb62392c27d4)), closes [#2062](https://github.com/material-components/material-components-web/issues/2062)
* **select:** add mixin for variable width ([30c11bf](https://github.com/material-components/material-components-web/commit/30c11bfc24e426c0647645758e4f9d98f589e85c))
* **slider:** Add hidden input to slider, to support forms submission. This is also prep for moving to use an \<input type="range"\> behind the scenes, in order to support touch-based AT's. ([b98d15d](https://github.com/material-components/material-components-web/commit/b98d15d90b19e69066c0b417ee0d8b11ab733e20))
* **slider:** Modify continuous slider to use step value by default, and give clients the option to customize step value for continuous sliders. ([7ad038e](https://github.com/material-components/material-components-web/commit/7ad038e1d37171dc1fc931112b17f085533f7048))
* **slider:** Use input with type="range" to back slider component. This ensures that sliders can be adjusted with touch-based assistive technologies, as the current ARIA spec for sliders is not compatible with e.g. TalkBack/Android. ([9083b7d](https://github.com/material-components/material-components-web/commit/9083b7d61b1dda2c5acefda6e8939870a358e98f))
* **snackbar:** Add 1px transparent border for high contrast support ([15a4d40](https://github.com/material-components/material-components-web/commit/15a4d40dd708775c6120165422c9ebadee4c8f6f))
* **theme:** add either() utility function ([5268222](https://github.com/material-components/material-components-web/commit/5268222c432bb886add05cbb1779909117cf1620))
* **theme:** add validation option to disallow custom properties ([fec7b42](https://github.com/material-components/material-components-web/commit/fec7b42ca54baf37487cadaf96ac8cf559d6ccd0))
* **theme:** Added validation mixin to validate provided theme configuration keys ([1c156d6](https://github.com/material-components/material-components-web/commit/1c156d69d76efcfa39c706f7f6ae74e96c2bd541))
* **theme:** allow lists in replace maps ([d2959b1](https://github.com/material-components/material-components-web/commit/d2959b16ca9a2e4574984b8e459993c9c9a2075a))
* **theme:** emit CSS var() declarations when provided a standalone custom prop ([1a3a396](https://github.com/material-components/material-components-web/commit/1a3a396293df35d9621155e9168df35d39d83fee))
* **tooltip:** Add positioning adjustment and position specification for rich tooltips. Rich tooltips default to the END position and does not support CENTER positioning. ([384a8ee](https://github.com/material-components/material-components-web/commit/384a8eeb163798df6655c8a49c36428ede852e15))
* **tooltip:** Added persistent variant for rich tooltips that shows/hides based on mouse clicks on the anchor element. Clicks on elements other than the anchor will also hide the persistent variant. ([9775856](https://github.com/material-components/material-components-web/commit/9775856508a7256cb7dc93d0c3e47f6d87c08c93))
* **tooltip:** Adds `transform-origin` on tooltip surface so tooltip entrance animation has a direction based on its alignment with the anchor element. ([623af86](https://github.com/material-components/material-components-web/commit/623af861e1852603fd4778fb0abbef58b427333c))
* **tooltip:** Adjust tooltip position on `scroll` and `resize` events. This ensures that the tooltip remains pinned to the anchor element despite page movement. ([a415276](https://github.com/material-components/material-components-web/commit/a41527604048d218879240aaaf04aff7389053d1))
* **tooltip:** Adjusting tooltip positioning logic so that the tooltip remains within the viewport even if the anchor element is partially off-screen. ([482ff90](https://github.com/material-components/material-components-web/commit/482ff909132b2e8f81791d7128cb0a3d2ff371a8))
* **tooltip:** Change rich tooltip to use position absolute instead of fixed and rely on a position relative parent element so that if the parent has a transform, perspective, or filter property set to something other than none, the positioning would still work. ([0c95c9f](https://github.com/material-components/material-components-web/commit/0c95c9f7bf1e0d465e99fd7dd3f1497d37d871ff))
* **tooltip:** Define styling to set the full-screen dialog size depending on the viewport size. ([fe13dd1](https://github.com/material-components/material-components-web/commit/fe13dd1308dc695898b2c7d3dfbddccc7d38b420))
* **tooltip:** Expose `hide` and `isShown` methods in the MDCTooltip component. This allows MDC clients to create their own class to enforce only one tooltip being shown at a time. ([c5e18b0](https://github.com/material-components/material-components-web/commit/c5e18b0203a3c474384bc5902a15855636ce849b))
* **tooltip:** Hide rich tooltip if mouse leaves rich tooltip. Rich tooltip persists if mouse leaves rich tooltip and enters anchor. ([6d8574f](https://github.com/material-components/material-components-web/commit/6d8574fe1db3a60dfb5a45ce8c6c6718700c2dfd))
* **tooltip:** Reducing minimum threshold distance between tooltip and viewport from 32px to 8px. ([23491cf](https://github.com/material-components/material-components-web/commit/23491cf85b8831896f95879e8aea258d5ca7f653))
* **tooltip:** Restore focus to the anchor element when the ESC button is pressed while the focus is in the tooltip for rich tooltips. Default rich tooltips should have focus restored to anchor and not have rich tooltips show. ([eabf9d5](https://github.com/material-components/material-components-web/commit/eabf9d5c2d9b56e316db98f2d8e16bf12f1ef501))
* **tooltip:** Set up base sass for rich tooltip. Rich tooltips are currently in development and is not yet ready for use. ([4ae94ff](https://github.com/material-components/material-components-web/commit/4ae94ff7816d87fde3285a0c2fd48b94ff0bbdab))
* **tooltip:** Set up rich tooltip to persist if mouse leaves anchor and enters rich tooltip. ([c927a5d](https://github.com/material-components/material-components-web/commit/c927a5d05761d0a80f886b2b7627e600df38c467))
* **tooltip:** The aria-expanded attribute of the anchor element will only be changed for anchor elements with interactive rich tooltips. Non-interactive rich tooltip anchor elements do not have the aria-haspopup and aria-expanded attributes. ([c5dda80](https://github.com/material-components/material-components-web/commit/c5dda809d5e4c110f3b4bb37c9646e572026d58d))
* **tooltip:** When the anchor element blurs, the rich tooltip will only be hidden if the focus is changed to a non-rich tooltip element. ([6871336](https://github.com/material-components/material-components-web/commit/6871336f11f3cc7d94c6314dc049092e0427106c))
* Added global variable to conditionally emit CSS selector fallback declarations ([7b0e2b3](https://github.com/material-components/material-components-web/commit/7b0e2b3775d006126161bd688851d490d19e9558))
* **tooltip:** When the rich tooltip element focuses out, hide the rich tooltip if the new focused element is not the anchor element or an element within the rich tooltip. ([1085c3b](https://github.com/material-components/material-components-web/commit/1085c3b2df7d3c1b528e1b9ba5557975fa959401))
### BREAKING CHANGES
* **theme:** custom-properties.apply() has been renamed to declaration() to better align with css.declaration()
* **tooltip:** Added adapter methods:
- getComputedStyleProperty(propertyName: string): string;
- getParentBoundingRect(): ClientRect|null;
* **tooltip:** Added adapter method:
- tooltipContainsElement(element: HTMLElement): boolean;
* Removed `deep-get()` API from mdc-theme, use `sass:map`'s get() API instead.
* **tooltip:** Added adapter method:
- anchorContainsElement(element: HTMLElement): boolean;
* **slider:** Slider is now backed by an input of type="range". Additionally, adapter methods (focusInput, isInputFocused, registerInputEventHandler, deregisterInputEventHandler) were added.
* **tooltip:** Added adapter methods:
- setAnchorAttribute(attr: string, value: string): void;
- registerEventHandler<K extends EventType>(
evtType: K, handler: SpecificEventListener<K>): void;
- deregisterEventHandler<K extends EventType>(
evtType: K, handler: SpecificEventListener<K>): void;
* **slider:** Adds slider adapter methods (get/setInputValue, get/setInputAttribute, removeInputAttribute). Slider DOM structure now contains a hidden input.
# [9.0.0](https://github.com/material-components/material-components-web/compare/v8.0.0...v9.0.0) (2020-12-29)
### Bug Fixes
* **data-table:** fix style ordering wrt select & use new variable-width mixin ([afb6889](https://github.com/material-components/material-components-web/commit/afb68894e63c9ed4bb3b3d523cbb4072480117a6)), closes [#6599](https://github.com/material-components/material-components-web/issues/6599)
* **list:** add support for density scaling. ([419e035](https://github.com/material-components/material-components-web/commit/419e035729c1ca1ee2b572ae4b1937e2d8cf04bc))
* **list:** add support for non-interactive list roles. ([fc8b045](https://github.com/material-components/material-components-web/commit/fc8b045f1127709c5929a3cd1c9c7d622db8ed42))
* **list:** ensure divider appears in IE high contrast mode. ([eff7b46](https://github.com/material-components/material-components-web/commit/eff7b46ac916d2eb130f7d826eee047c5f19e6f2))
* Adding tests. ([240c5f7](https://github.com/material-components/material-components-web/commit/240c5f74f381967ede9eb1fa13754d2f0282da9e))
* adjust meta baseline and update color mixins. ([07f3e01](https://github.com/material-components/material-components-web/commit/07f3e01b75306a7481c7077cd3ed12a87399958e))
* Document stylelint exceptions ([f89d8b8](https://github.com/material-components/material-components-web/commit/f89d8b8f295c80c7b7e691ec712a30de8a0b26d5))
* **notched-outline:** fix notched outline no-label style ([99cfb6b](https://github.com/material-components/material-components-web/commit/99cfb6bd53f72240fe76852d0fdaa0b82e7dca39))
* **select:** debounce click on anchor ([b39094d](https://github.com/material-components/material-components-web/commit/b39094d145f9b96c1c75e2b5fcce7b76c9b31bf1))
* **slider:** Adjust hidden input dimensions to take slider dimensions, such that screenreader focus indicators show a highlight around the entire slider. ([fd22355](https://github.com/material-components/material-components-web/commit/fd22355f72ab304aec043f53ced92fa9adfef457))
* **slider:** Fix bug where value indicator container took space and could be hovered over / clicked when hidden. ([832668d](https://github.com/material-components/material-components-web/commit/832668d33389a0b6194d3d8ef53aa8c252aa8f5d))
* **slider:** Remove big step options. Now that we're using a native range input, big step is not customizable - we follow browser defaults for big step. ([ae27b44](https://github.com/material-components/material-components-web/commit/ae27b44b078ebdad3669b03abc9f28ed184db803))
* **slider:** Update both thumbs' value indicator UI's if layout is invoked with undefined `thumb`. ([489d4c2](https://github.com/material-components/material-components-web/commit/489d4c219d1747a8e5de3f210f00898c18201b24))
* **tabs:** Expose min width mixin and set to 90px per spec. ([c4ab987](https://github.com/material-components/material-components-web/commit/c4ab987221d5a3b9ab588321bb0347f5d665505a))
### Code Refactoring
* Remove MDC theme's deep-get, used sass:map's get API instead. ([37fbae1](https://github.com/material-components/material-components-web/commit/37fbae10d6fb993c0ea866959fb5564c052002cc))
### Features
* **banner:** Add mobile-stacked variant support to banner. ([a0b2db2](https://github.com/material-components/material-components-web/commit/a0b2db26b550162d2e409489c5ded3381b7c7dc2))
* **checkbox:** Add CSS custom properties to MDC checkbox for density theming ([9244508](https://github.com/material-components/material-components-web/commit/9244508bd82ab65635169cfacd74f1a25ebaab7e))
* **checkbox:** Add validation to MDC Checkbox theme mixin ([2d5f32d](https://github.com/material-components/material-components-web/commit/2d5f32d41cda48ca8e3c1d2244d6fb3bb4c6aa7d))
* **circular-progress:** do not require HTML without whitespaces ([8648b82](https://github.com/material-components/material-components-web/commit/8648b8258f7f87edcc1d58a2bc7db3d78425508f))
* **linear-progress:** remove aria-valuemin/max attrs for indeterminate ([4321323](https://github.com/material-components/material-components-web/commit/4321323e4bea2da8192b81ebdf8c6a9ee1e76aa0))
* **list:** support ctrl + a keyboard shortcut ([eefef49](https://github.com/material-components/material-components-web/commit/eefef49d86c69b1985aa4e5fa5b8809ba1f0a1f4)), closes [#6366](https://github.com/material-components/material-components-web/issues/6366)
* **select:** add mixin for variable width ([30c11bf](https://github.com/material-components/material-components-web/commit/30c11bfc24e426c0647645758e4f9d98f589e85c))
* **slider:** Add hidden input to slider, to support forms submission. This is also prep for moving to use an \<input type="range"\> behind the scenes, in order to support touch-based AT's. ([b98d15d](https://github.com/material-components/material-components-web/commit/b98d15d90b19e69066c0b417ee0d8b11ab733e20))
* **slider:** Modify continuous slider to use step value by default, and give clients the option to customize step value for continuous sliders. ([7ad038e](https://github.com/material-components/material-components-web/commit/7ad038e1d37171dc1fc931112b17f085533f7048))
* **slider:** Use input with type="range" to back slider component. This ensures that sliders can be adjusted with touch-based assistive technologies, as the current ARIA spec for sliders is not compatible with e.g. TalkBack/Android. ([9083b7d](https://github.com/material-components/material-components-web/commit/9083b7d61b1dda2c5acefda6e8939870a358e98f))
* **theme:** Added validation mixin to validate provided theme configuration keys ([1c156d6](https://github.com/material-components/material-components-web/commit/1c156d69d76efcfa39c706f7f6ae74e96c2bd541))
* **tooltip:** Add positioning adjustment and position specification for rich tooltips. Rich tooltips default to the END position and does not support CENTER positioning. ([384a8ee](https://github.com/material-components/material-components-web/commit/384a8eeb163798df6655c8a49c36428ede852e15))
* **tooltip:** Added persistent variant for rich tooltips that shows/hides based on mouse clicks on the anchor element. Clicks on elements other than the anchor will also hide the persistent variant. ([9775856](https://github.com/material-components/material-components-web/commit/9775856508a7256cb7dc93d0c3e47f6d87c08c93))
* **tooltip:** Adjust tooltip position on `scroll` and `resize` events. This ensures that the tooltip remains pinned to the anchor element despite page movement. ([a415276](https://github.com/material-components/material-components-web/commit/a41527604048d218879240aaaf04aff7389053d1))
* **tooltip:** Adjusting tooltip positioning logic so that the tooltip remains within the viewport even if the anchor element is partially off-screen. ([482ff90](https://github.com/material-components/material-components-web/commit/482ff909132b2e8f81791d7128cb0a3d2ff371a8))
* **tooltip:** Hide rich tooltip if mouse leaves rich tooltip. Rich tooltip persists if mouse leaves rich tooltip and enters anchor. ([6d8574f](https://github.com/material-components/material-components-web/commit/6d8574fe1db3a60dfb5a45ce8c6c6718700c2dfd))
* **tooltip:** Make persistent rich tooltips persist when click target is within the rich tooltip. ([fb194dd](https://github.com/material-components/material-components-web/commit/fb194dd354d2c912f997c500347557edcba1440d))
* **tooltip:** Reducing minimum threshold distance between tooltip and viewport from 32px to 8px. ([23491cf](https://github.com/material-components/material-components-web/commit/23491cf85b8831896f95879e8aea258d5ca7f653))
* **tooltip:** Restore focus to the anchor element when the ESC button is pressed while the focus is in the tooltip for rich tooltips. Default rich tooltips should have focus restored to anchor and not have rich tooltips show. ([eabf9d5](https://github.com/material-components/material-components-web/commit/eabf9d5c2d9b56e316db98f2d8e16bf12f1ef501))
* **tooltip:** Set up base sass for rich tooltip. Rich tooltips are currently in development and is not yet ready for use. ([4ae94ff](https://github.com/material-components/material-components-web/commit/4ae94ff7816d87fde3285a0c2fd48b94ff0bbdab))
* **tooltip:** Set up rich tooltip to persist if mouse leaves anchor and enters rich tooltip. ([c927a5d](https://github.com/material-components/material-components-web/commit/c927a5d05761d0a80f886b2b7627e600df38c467))
* **tooltip:** The aria-expanded attribute of the anchor element will only be changed for anchor elements with interactive rich tooltips. Non-interactive rich tooltip anchor elements do not have the aria-haspopup and aria-expanded attributes. ([c5dda80](https://github.com/material-components/material-components-web/commit/c5dda809d5e4c110f3b4bb37c9646e572026d58d))
* **tooltip:** When the anchor element blurs, the rich tooltip will only be hidden if the focus is changed to a non-rich tooltip element. ([6871336](https://github.com/material-components/material-components-web/commit/6871336f11f3cc7d94c6314dc049092e0427106c))
* **tooltip:** When the rich tooltip element focuses out, hide the rich tooltip if the new focused element is not the anchor element or an element within the rich tooltip. ([1085c3b](https://github.com/material-components/material-components-web/commit/1085c3b2df7d3c1b528e1b9ba5557975fa959401))
* Added global variable to conditionally emit CSS selector fallback declarations ([7b0e2b3](https://github.com/material-components/material-components-web/commit/7b0e2b3775d006126161bd688851d490d19e9558))
### BREAKING CHANGES
* **tooltip:** Added adapter method:
- tooltipContainsElement(element: HTMLElement): boolean;
Rich tooltips are currently in development and is not yet ready for use.
PiperOrigin-RevId: 346325244
* Removed `deep-get()` API from mdc-theme, use `sass:map`'s get() API instead.
PiperOrigin-RevId: 345257138
* **tooltip:** Added adapter method:
- anchorContainsElement(element: HTMLElement): boolean;
Rich tooltips are currently in development and is not yet ready for use.
PiperOrigin-RevId: 345221617
* **slider:** Slider is now backed by an input of type="range". Additionally, adapter methods (focusInput, isInputFocused, registerInputEventHandler, deregisterInputEventHandler) were added.
PiperOrigin-RevId: 344116908
* **tooltip:** Added adapter methods:
- setAnchorAttribute(attr: string, value: string): void;
- registerEventHandler<K extends EventType>(
evtType: K, handler: SpecificEventListener<K>): void;
- deregisterEventHandler<K extends EventType>(
evtType: K, handler: SpecificEventListener<K>): void;
Rich tooltips are currently in development and is not yet ready for use.
PiperOrigin-RevId: 343894231
* **slider:** Adds slider adapter methods (get/setInputValue, get/setInputAttribute, removeInputAttribute). Slider DOM structure now contains a hidden input.
PiperOrigin-RevId: 343157208
# [8.0.0](https://github.com/material-components/material-components-web/compare/v7.0.0...v8.0.0) (2020-11-02)
### Bug Fixes
* **banner:** Update image to graphic and support material icons ([346069c](https://github.com/material-components/material-components-web/commit/346069ccb2a831b37df62bf71135acad92fd69c3))
* **card:** ensure border-adjacent content renders correctly. ([790ca85](https://github.com/material-components/material-components-web/commit/790ca85fd643229e95f2d1c08811c8e0e5513805))
* **checkbox:** Use secondary and on-secondary as default colors ([b95172e](https://github.com/material-components/material-components-web/commit/b95172e69613c0defe82191b86ed1c1999b74400)), closes [#5730](https://github.com/material-components/material-components-web/issues/5730)
* **chip-set:** crash when only item is removed ([a653b68](https://github.com/material-components/material-components-web/commit/a653b68118e823ae30b1f47f87a4a8e5e69d9186))
* **chips:** Handle IE/Edge specific key names in keyboard navigation logic ([3657f88](https://github.com/material-components/material-components-web/commit/3657f886327182c26f1d1555b2ac67c2128140b5))
* **circular-progress:** Add .npmignore file to ignore typescript files when publishing ([#5801](https://github.com/material-components/material-components-web/issues/5801)) ([f172b0f](https://github.com/material-components/material-components-web/commit/f172b0f90a91d8d3d700763d1496bb7b9c1a8d51)), closes [#5800](https://github.com/material-components/material-components-web/issues/5800)
* **circular-progress:** Default all variables ([430fd02](https://github.com/material-components/material-components-web/commit/430fd025b07b3e15dd699620fbbfca75f74632a3))
* **circular-progress:** display properly inside button ([2bd09a7](https://github.com/material-components/material-components-web/commit/2bd09a706efb991fd71e171db8994f0282a1f02e))
* **circular-progress:** display properly inside button ([000d648](https://github.com/material-components/material-components-web/commit/000d6481570c361cf4c66b55c287eea434b6d11e)), closes [#6388](https://github.com/material-components/material-components-web/issues/6388)
* **circular-progress:** fix determinate transition typo & 4 color keyframes ([a301636](https://github.com/material-components/material-components-web/commit/a3016368df53b1c7967d7d146a9ea53a24442fa9))
* **circular-progress:** Fix naming in package.json and add to jsBundleFactory ([86f7cad](https://github.com/material-components/material-components-web/commit/86f7cad8330dbd600e478610eefd8dd92eb3d8c7))
* **circular-progress:** Force LTR layout ([6a40ef2](https://github.com/material-components/material-components-web/commit/6a40ef217f597138ee2920d2160364649dbf5620))
* **circular-progress:** Switch mixins import to `[@use](https://github.com/use)` ([098ae32](https://github.com/material-components/material-components-web/commit/098ae3285223af2532659dec233537a55c1183f5))
* **circular-progress:** use theme.property() for color mixins ([7bd5075](https://github.com/material-components/material-components-web/commit/7bd5075de978f8499f4cdc3b8359005184fa5192))
* **data-table:** Add noflip annotation to header cell text align ([843f636](https://github.com/material-components/material-components-web/commit/843f636c047b5371cd31b9ae4af76a7ec494b446))
* **data-table:** Check if data table has checkboxes on destroy ([164c073](https://github.com/material-components/material-components-web/commit/164c07365ef405a14e4375db71fbc55931aa9262))
* **data-table:** Fix icon misalignment in sort icon button when sorted down ([610c26c](https://github.com/material-components/material-components-web/commit/610c26c4a1c7928fec0e8d63be3bd76cb7ff76a0))
* **data-table:** Fix JS error in IE11 when setting multiple styles ([d548d7a](https://github.com/material-components/material-components-web/commit/d548d7a923393f4be11a7919542fa07f5a224d29))
* **data-table:** Fix pagination box height ([eb28b6e](https://github.com/material-components/material-components-web/commit/eb28b6ecc65a9979ef0959eac5dbfde5b4d3b2dc))
* **data-table:** Fix row checkbox cell's leading padding to match spec ([38ef450](https://github.com/material-components/material-components-web/commit/38ef4501f630351b32efd31ea2b870e0ed1b1b1d))
* **data-table:** Fixed default feature targeting query params of sort mixins ([e33c49e](https://github.com/material-components/material-components-web/commit/e33c49eaf9c0dbc601f3610af6358cbf2833229c))
* **data-table:** Hover styles for sortable header cell ([d580805](https://github.com/material-components/material-components-web/commit/d5808057fcdf00364731e0896ef7031ac605cf55))
* **data-table:** partial rollback of [#6390](https://github.com/material-components/material-components-web/issues/6390) ([da72839](https://github.com/material-components/material-components-web/commit/da72839f40a432c529bb24e5bc4514842627d3bf))
* **data-table:** Reverse the arrow direction icon for column sorting ([a7c827f](https://github.com/material-components/material-components-web/commit/a7c827f17ce9be631484676ccb6b5f18604803ae))
* **data-table:** Set progress indicator height to table body offset height ([c678a9d](https://github.com/material-components/material-components-web/commit/c678a9d34a3f694511f292c7a62e68749721b63c))
* **data-table:** unable to redefine colors in class-based themi… ([#5751](https://github.com/material-components/material-components-web/issues/5751)) ([4d48051](https://github.com/material-components/material-components-web/commit/4d48051c1099f48e867cf08f070138a7abc719fc))
* **data-table:** unable to redefine colors in class-based theming ([4b45b66](https://github.com/material-components/material-components-web/commit/4b45b662057edd8819f1a515db88e1c12254cc30))
* **datatable:** Fix updating the header checkbox when there are no rows in a datatable ([2ccf996](https://github.com/material-components/material-components-web/commit/2ccf996cc417b888d7ac4ceebdfa4160464a0bb1))
* **dom:** Make dom selectors in dom/announce tests scoped ([fc65fd0](https://github.com/material-components/material-components-web/commit/fc65fd00b91d388d0ad15e50a13567a8e1d425c0))
* **elevation:** Use relative path when importing theme Sass file. ([405a29a](https://github.com/material-components/material-components-web/commit/405a29a2016565f8cb269915c5f6c0d4df133c6d))
* **linear-progress:** disable animations when closed ([a831d47](https://github.com/material-components/material-components-web/commit/a831d4799b281729a932f0690b62b6bce1874799))
* **linear-progress:** performance for indeterminate animations in modern browsers ([fc0eb50](https://github.com/material-components/material-components-web/commit/fc0eb5013603a4d5cb4dbc0a999e94df64cc5005))
* **linear-progress:** Temporary rollback of [#5656](https://github.com/material-components/material-components-web/issues/5656) while updating downstream dependencies ([9cf5e98](https://github.com/material-components/material-components-web/commit/9cf5e9842475e50046462aa1c6d18e326abaee17))
* **list:** No longer emits action event when disabled item selected ([f352d03](https://github.com/material-components/material-components-web/commit/f352d03f4ed48c5019a0a3e10ef12689a5ab5619)), closes [#5571](https://github.com/material-components/material-components-web/issues/5571)
* **mdc-dialog:** second dialog `data-mdc-dialog-initial-focus` doesn't work ([a0ec7e2](https://github.com/material-components/material-components-web/commit/a0ec7e25d0ba26c2e85d5576e6af5e5d65b301a3))
* **menu-surface:** Use margin_to_edge as a viewport margin in calculations for autopositioning. ([4b04cdb](https://github.com/material-components/material-components-web/commit/4b04cdb0fc4da4831340b01292c118b120c1fcb1))
* **menusurface:** Fixing bug where body click listener is not being properly deregistered. ([5511c52](https://github.com/material-components/material-components-web/commit/5511c5254476c817b51bb2ae884f56d328348bd0)), closes [#6557](https://github.com/material-components/material-components-web/issues/6557)
* **menusurface:** synchronous quick menu does not close on button click ([45a6615](https://github.com/material-components/material-components-web/commit/45a6615e33eb8a7e6fc37e9ef43a3be3682b6b0e))
* **radio:** disabled state in IE high contrast mode ([774dcfc](https://github.com/material-components/material-components-web/commit/774dcfc8eb31e766afd0194c54edfe71a7ff7c3e))
* **segmented-button:** Fixed unit test in IE11 ([#6271](https://github.com/material-components/material-components-web/issues/6271)) ([b96fbfc](https://github.com/material-components/material-components-web/commit/b96fbfc7a9b75d7d58ecc53919c26b1cdd05d9ed))
* **segmented-button:** Move include statements to avoid nested classes ([#6380](https://github.com/material-components/material-components-web/issues/6380)) ([bcc5829](https://github.com/material-components/material-components-web/commit/bcc58290a7ac7bbbe191d00be003785017f94d29))
* **segmented-button:** Use empty clientRect in default adapter ([#6343](https://github.com/material-components/material-components-web/issues/6343)) ([9f9aac8](https://github.com/material-components/material-components-web/commit/9f9aac82595ec6eb117e101dc5e0ee0a22e81eee))
* **select:** Deduplicate change events ([4ad1274](https://github.com/material-components/material-components-web/commit/4ad12741e41c5b8e175f2bc8d5053daec6cedf18)), closes [#5570](https://github.com/material-components/material-components-web/issues/5570)
* **select:** do not emit change event when same value selected twice ([e07a708](https://github.com/material-components/material-components-web/commit/e07a7084134b6bbfb1d31a00e410b9d133f28863))
* **select:** ensure enough space for label when outlined menu opening above ([66b8ed7](https://github.com/material-components/material-components-web/commit/66b8ed7e62881b1b22b3b5a32730eac43d563cb7))
* **select:** float label on hidden-input initial value ([744bfe5](https://github.com/material-components/material-components-web/commit/744bfe5d8438b49d995ac5e2760d776a1df9838a))
* **select:** move label before selected text for screenreader a11y ([e139d62](https://github.com/material-components/material-components-web/commit/e139d626eefc941415b876597787753520a45ab1))
* **select:** prevent dropdown icon focus on IE ([b9dff0a](https://github.com/material-components/material-components-web/commit/b9dff0a19ee53e492ef9b06538dfe863214b5fc2)), closes [#6323](https://github.com/material-components/material-components-web/issues/6323)
* **select:** prevent helper text from announcing when hidden ([e056052](https://github.com/material-components/material-components-web/commit/e0560522fc2e390ee25a1968fdde3fde0cab6041))
* **select:** remove gap when outlined opened above with no label ([2fe7012](https://github.com/material-components/material-components-web/commit/2fe70126ae51043d1e733e6d4ec11452e7ed9bc4))
* **select:** remove min-width & dynamic width resizing ([d4cd83a](https://github.com/material-components/material-components-web/commit/d4cd83a857fdf072f547dc597db1f8b30d33a102))
* **select:** remove unnecessary bottom line focus selector ([32fb314](https://github.com/material-components/material-components-web/commit/32fb314cd0cc74f37f0d567a739c115daa96be95))
* **select:** revert 2fed2c1 that delegates to list for single selection logic ([38197b4](https://github.com/material-components/material-components-web/commit/38197b4434959cc8b47124233003c14d9c4a0fbf))
* **shape:** remove deprecated functions ([e2ea4a9](https://github.com/material-components/material-components-web/commit/e2ea4a99e1930ac4981f22a2b919bdbd31e75a95))
* **slider:** Fix bugs with setting slider position before component initialization: ([9110147](https://github.com/material-components/material-components-web/commit/9110147118180dc1de5c7d727fb3ecbe2507882f))
* **slider:** Move inactive track before active track, so active track consistently overlaps inactive track. ([0b7ac96](https://github.com/material-components/material-components-web/commit/0b7ac9609470218d4ed6229c7a624ed5f3984aa8))
* **slider:** Remove `width: 100%` to account for margin around slider track. ([16c563e](https://github.com/material-components/material-components-web/commit/16c563ef71555da9f02707b9f00abb4c5fc3df79))
* **snackbar:** remove use of [@at-root](https://github.com/at-root) ([98d0296](https://github.com/material-components/material-components-web/commit/98d02962b5f1edd9f541f19198dc3d1992720ea3))
* **snackbar:** Update a11y structure to announce label and actions ([40d8e47](https://github.com/material-components/material-components-web/commit/40d8e472600544fcfe8b8b9d91c62cc014995296))
* **snackbar:** Update a11y structure to announce snackbar correctly ([a3176c8](https://github.com/material-components/material-components-web/commit/a3176c8eaada1b6c61f0d678a193a26a25a773c5))
* **switch:** Adjust track width to 36px, align thumb and track. ([d716225](https://github.com/material-components/material-components-web/commit/d71622574c25840013a517749df357f7f93bc4d6))
* **switch:** always set track to transparent border ([9a169f4](https://github.com/material-components/material-components-web/commit/9a169f4b158a3148126ba38bcdfa9d163434d9bb))
* **switch:** use CSS custom properties for theming ([d6315ef](https://github.com/material-components/material-components-web/commit/d6315efe26e7baf45fd88244efbb24c612a95cb4))
* **textfield:** affix outlined alignment Safari bug ([ad4df58](https://github.com/material-components/material-components-web/commit/ad4df58c1e9ba7a893780dc5fe7886179a0361f9))
* **textfield:** autofill filled label not floating correctly ([abcdbcf](https://github.com/material-components/material-components-web/commit/abcdbcfebdcb8a8abe386abb00cd33230e8ef7a1))
* **textfield:** clean up input padding ([8639c26](https://github.com/material-components/material-components-web/commit/8639c269010b77b17f1a5052d57abcb5f7d2892a))
* **textfield:** error when notching outline with no label ([b0ed593](https://github.com/material-components/material-components-web/commit/b0ed593ccbffe7dfec51c94527cbc17000385407)), closes [#6452](https://github.com/material-components/material-components-web/issues/6452)
* **textfield:** helper text a11y interactions ([8a39352](https://github.com/material-components/material-components-web/commit/8a39352c8a787663eecb42b46939b069729fc82c))
* **textfield:** IE11 label overlapping placeholder ([781434a](https://github.com/material-components/material-components-web/commit/781434a92f4dddc9b2d39853e1f5792e89e7b45b))
* **textfield:** move notched outline/label before input ([9e2f6c4](https://github.com/material-components/material-components-web/commit/9e2f6c45016b1ccc665a271dc59134d32916123d))
* **textfield:** remove absolute positioning from icons ([1e13d1d](https://github.com/material-components/material-components-web/commit/1e13d1d5a68632f1b0b5a9134f657d59104969f4))
* **textfield:** remove Chrome icons for date types ([4951e76](https://github.com/material-components/material-components-web/commit/4951e7651ffbd99b382948e48306a23d2fd74fb1))
* **textfield:** remove deprecated dense variant in favor of density ([776291e](https://github.com/material-components/material-components-web/commit/776291ef03205e4063b4040eb66f9648e16b4af6)), closes [#4142](https://github.com/material-components/material-components-web/issues/4142)
* **textfield:** remove fullwidth variant ([69a35e8](https://github.com/material-components/material-components-web/commit/69a35e80ceadb5ef9ffae87345eefbd80b383f51))
* **theme:** add validation to host-aware to ensure proper usage ([defa599](https://github.com/material-components/material-components-web/commit/defa599a8bc17557602bbf35a8a5c760fbb053f1))
* **theme:** do not throw error when setting custom props and null ([85a5272](https://github.com/material-components/material-components-web/commit/85a5272dfeb7ad100598d480dec76b60679485f5))
* **theme:** property() mixin not working with theme key strings ([c1fec42](https://github.com/material-components/material-components-web/commit/c1fec424677fcb77dfc966ff1805d601a103fa30)), closes [#6158](https://github.com/material-components/material-components-web/issues/6158)
* server-side rendering errors in linear progress and slider ([7d0b983](https://github.com/material-components/material-components-web/commit/7d0b983a902deee6941d61906aa5a880628db4e9))
* update circular-progress import paths ([10e8c19](https://github.com/material-components/material-components-web/commit/10e8c191a0c4c9eb1703f25b66668c640f5344a6))
* **theme:** Remove duplicate [@forward](https://github.com/forward) in theme index module ([b2e80a5](https://github.com/material-components/material-components-web/commit/b2e80a5d91fc8552f22614e95f7670225f6b4248))
* **theme:** variable overrides not working with @use/with ([2d72f36](https://github.com/material-components/material-components-web/commit/2d72f365991f17e21b34be523aef3fa32b2b2fdb))
* **typography:** change $styles font-size to a Number ([6d1ea97](https://github.com/material-components/material-components-web/commit/6d1ea9761de927c1653c621444e00172f74d76c7))
* update types and deprecate old ponyfill ([af332d5](https://github.com/material-components/material-components-web/commit/af332d5bef3f826fa7a6078492d54f0444a3fee4))
### Code Refactoring
* **circular-progress:** move all sizing params from CSS to markup ([58ce529](https://github.com/material-components/material-components-web/commit/58ce529ccc29d3b172c1e774c70424eb54aac5dc))
* **linear-progress:** Restructure buffer DOM to allow translucent buffer ([98b8434](https://github.com/material-components/material-components-web/commit/98b843417ef6c0a10460532a37df389b0c7e936f))
* **linear-progress:** Restructure buffer DOM to allow translucent buffer ([9372e49](https://github.com/material-components/material-components-web/commit/9372e493954585c939f341486d0361efb87da806))
* **radio:** forward only theme mixins from MDC radio index module ([72258f8](https://github.com/material-components/material-components-web/commit/72258f89870242ba62c0ce25db680fdecb9640bc))
* **select:** consolidate state theming to single mixins ([e8bf5b2](https://github.com/material-components/material-components-web/commit/e8bf5b2ac6c89778fa38791979e4be941e28db1c))
* **theme:** move CSS declarations to utility mixin ([96a6405](https://github.com/material-components/material-components-web/commit/96a6405345ea1e1a7083bd08f8610384231d6607))
### Documentation
* **select:** update markup to include new selectedText container ([47b500a](https://github.com/material-components/material-components-web/commit/47b500a6cf888458b371734698b366fe2b4c3230))
### Features
* **animation:** Add a linear animation method ([c250ec5](https://github.com/material-components/material-components-web/commit/c250ec52ad1ce21943f4c7f521087bf2e647da00))
* **animation:** Create animation frame helper class ([e34e411](https://github.com/material-components/material-components-web/commit/e34e411b1835efa3f275921ca8c9d33d6df92bec))
* **banner:** Add banner component into MDC catalog ([aa3a3e5](https://github.com/material-components/material-components-web/commit/aa3a3e5a43b1e012e948c5f8f8b7c133d5ba6b0d))
* **banner:** Add fixed banner variant ([fd8af3d](https://github.com/material-components/material-components-web/commit/fd8af3d435e12d28cfc393762c325cc2d1b03f13))
* **banner:** Add fixed-width mixin. ([c61db90](https://github.com/material-components/material-components-web/commit/c61db90a5d3abb032cfa5940b0710770ba19c4a1))
* **banner:** Defining a z-index mixin. ([ccc64ee](https://github.com/material-components/material-components-web/commit/ccc64eea393339f38e54054bbd8865f9f78618bf))
* **banner:** Expose layout method. ([4794b25](https://github.com/material-components/material-components-web/commit/4794b25da9af4bfa7d48f5a6fc172efc45cfd999))
* **banner:** Update banner to be mobile friendly. ([dbc449b](https://github.com/material-components/material-components-web/commit/dbc449b0972362ba3c7fc04e26900d0c3e3d8b66))
* **banner:** Update close() to use CloseReason and provide programmatic way of closing ([ff88df6](https://github.com/material-components/material-components-web/commit/ff88df637a944de239b8860b5f0c38454cc6cc1b))
* **banner:** Update content to be leading as default and add support for optional centered. ([8d5b84f](https://github.com/material-components/material-components-web/commit/8d5b84fb260506c69fa93246aee538db89db8fc3))
* **button:** Expand outlined touch target to include side borders ([ce6cb70](https://github.com/material-components/material-components-web/commit/ce6cb7024d1da3b0e4fb5e2c67ba269dbb3098ec))
* **card:** Add transparent outline to elevated card, so card boundary is shown on high-contrast mode. ([c71ebfa](https://github.com/material-components/material-components-web/commit/c71ebfa02b7f3203317255e377b5cb165a0cfeac))
* **checkbox:** Add CSS custom properties to MDC checkbox theme mixins ([66669e3](https://github.com/material-components/material-components-web/commit/66669e3b668d0579ac71d6896240fd14d6a4322a))
* **checkbox:** Add support for checkbox CSS-only `indeterminate` checkbox ([b273afa](https://github.com/material-components/material-components-web/commit/b273afa93441e6d0375f7df33d5b69d8a7e1cfa8))
* **checkbox:** Added theme configuration support to checkbox ([58eaa9f](https://github.com/material-components/material-components-web/commit/58eaa9f027bb7ced126d3fe97cab5a0f627eb098))
* **checkbox:** Added theme configuration support to checkbox ([fbf73c2](https://github.com/material-components/material-components-web/commit/fbf73c2a6633298d6d65cdfcb8f76151e0e9c600))
* **checkbox:** Separate static styles from checkbox styles ([150f427](https://github.com/material-components/material-components-web/commit/150f427a01a7b20783d287cebe40bb4d93a24ce3))
* **checkbox:** Separate static styles from checkbox styles ([ff87000](https://github.com/material-components/material-components-web/commit/ff870005acef3cb26a6b4f378c012ffdb1061194))
* **checkbox:** Separate static styles from checkbox styles ([4f55400](https://github.com/material-components/material-components-web/commit/4f55400bbde3d85cacf379b7f7a80dd439952b3f))
* **chips:** Add chips styling ([1db5c9f](https://github.com/material-components/material-components-web/commit/1db5c9fc842292715f8b4603ce0b979066f1c639))
* **chips:** Add focus{in|out} handlers ([10af6cf](https://github.com/material-components/material-components-web/commit/10af6cf39cb2ae0a7deb9a951960f115f6ecdace))
* **chips:** Add keyCode support ([82fa986](https://github.com/material-components/material-components-web/commit/82fa986b95be4c16271df50effda1046d015d35c))
* **chips:** Add trailing action feature targeting test ([bec0659](https://github.com/material-components/material-components-web/commit/bec0659206aee793e6970d59c73f7969ab540b69))
* **chips:** Create trailing action business logic ([9ebee4c](https://github.com/material-components/material-components-web/commit/9ebee4ceb998e5fa651d4f147e5e39d43600db6e))
* **chips:** Expose trailing action chip files ([6b48781](https://github.com/material-components/material-components-web/commit/6b48781bf97d3b08b8f35b9eacde2b87748ae2e1))
* **chips:** Restructure trailing action mixins ([05f5e15](https://github.com/material-components/material-components-web/commit/05f5e1583b81bc00dbcd2ae21ee0acc43b3e13b4))
* **circular-progress:** Add foundation methods to get isDeterminate and progress value ([7d8f9c8](https://github.com/material-components/material-components-web/commit/7d8f9c8d73f16c01ed4a941ab9510377a0aae219))
* **circular-progress:** Add Sass styles and tests ([bd33cb5](https://github.com/material-components/material-components-web/commit/bd33cb56bdab7139052aeedbeec363f17b4dfc40))
* **circular-progress:** Add TS for foundation, adapter, component with tests ([548b1d4](https://github.com/material-components/material-components-web/commit/548b1d4057f21e066a4c494a57a0c068c23e18cd))
* **circular-progress:** support track color ([e27c580](https://github.com/material-components/material-components-web/commit/e27c5802fed20af29976f1f84bc39f9b59999ab5))
* **data-table:** Add base styles to support pagination. ([927fa90](https://github.com/material-components/material-components-web/commit/927fa902c3297a5a7cc9436e82cb81f3aabe1b4b))
* **data-table:** Add foundation methods to support loading state. ([e75deb8](https://github.com/material-components/material-components-web/commit/e75deb8540fa70236087d335c9cd6280bd643285))
* **data-table:** Add progress indicator / loading feature to data table ([4497ace](https://github.com/material-components/material-components-web/commit/4497acef8fd636b6ceef3cf055f664c92465e965))
* **data-table:** Add support for applying row checkbox density ([291b355](https://github.com/material-components/material-components-web/commit/291b3553d20c5dda9c5a80e0dda0705b524f41a3))
* **data-table:** Added styles for table in loading state ([35a32aa](https://github.com/material-components/material-components-web/commit/35a32aaeac17e290e2e9f9a1310c5a44a08f624a))
* **data-table:** Added styles to support column sorting. ([17b9699](https://github.com/material-components/material-components-web/commit/17b9699c4454a107043e5a1f9874a091089dd112))
* **data-table:** Added support for sticky header row in data table ([599b8c3](https://github.com/material-components/material-components-web/commit/599b8c3191a888e3debd94ad4934f741c5fb6e23))
* **data-table:** Foundation changes to support column sorting ([6ee0355](https://github.com/material-components/material-components-web/commit/6ee03557260d0a23296e36cba5aaa76fe0cf96a6))
* **data-table:** Set progress indicator styles based on table body height ([c026422](https://github.com/material-components/material-components-web/commit/c0264227393df8eb9259a2b24c23b31fe0ca84f3))
* **dom:** Add keyboard support ([5f24faa](https://github.com/material-components/material-components-web/commit/5f24faacb1ef8996ae81f3a1c1e43910ba67b024))
* **drawer:** expose --mdc-theme-surface custom prop ([319bf66](https://github.com/material-components/material-components-web/commit/319bf66dead88f67dba64f9d50a6f3f0d82aad72)), closes [#6466](https://github.com/material-components/material-components-web/issues/6466)
* **elevation:** add custom props for overlay ([4c354a3](https://github.com/material-components/material-components-web/commit/4c354a36d012e5d241f27380db1d0d9e70769c27))
* **fab:** Add focus outline mixins to MDC Fab ([0f60323](https://github.com/material-components/material-components-web/commit/0f60323a8365901c4ff6fd956161b99d8f413927))
* **fab:** Add focus outline mixins to MDC Fab ([7a9afaf](https://github.com/material-components/material-components-web/commit/7a9afaf4b503bc0d1d135b8d88edd4a7ed02e52e))
* **fab:** support css custom props for extended-padding ([01db890](https://github.com/material-components/material-components-web/commit/01db890532f796ea3e66a9c7d76893bef8689d6f))
* **form-field:** Add support for space-between ([e84b9c8](https://github.com/material-components/material-components-web/commit/e84b9c816d32da6dec058d92fc21dc5ac8fec787)), closes [#5747](https://github.com/material-components/material-components-web/issues/5747)
* **formfield:** add nowrap class/prop to MDC/MWC ([c4b4bba](https://github.com/material-components/material-components-web/commit/c4b4bba9659bf15207e79b1f63fcc9946404d9c7))
* **iconbutton:** Add icon button variant which supports toggling aria label. ([f838c6e](https://github.com/material-components/material-components-web/commit/f838c6e55672268de4e6e3b31b154d4f9050242f))
* **linear-progress:** Add foundation methods to fetch progress and determinate state. ([4dc45af](https://github.com/material-components/material-components-web/commit/4dc45af6c4bc81f5734a24c160046d283c1e9a6d))
* **list:** Add transparent-border for aria-activedescendant usage ([8388a9b](https://github.com/material-components/material-components-web/commit/8388a9bf6f4db77656adcdd604125eb205694b10))
* **menu:** Add mixin to flatten menu top when opened-below anchor ([1e17c49](https://github.com/material-components/material-components-web/commit/1e17c49b360fd0e01c9a74b92978031534003b5b))
* **menu-surface:** Add transition to height for menu resizing animation. ([1e7cb61](https://github.com/material-components/material-components-web/commit/1e7cb61989c95f9b86de3b1f6edb1773c12dfc97))
* **ripple:** Add will-change opt-out param ([e590b37](https://github.com/material-components/material-components-web/commit/e590b376bf20bde50e6f6b62339c0bac2703ccf0))
* **ripple:** Reorganize ripple opacities ([008c4d3](https://github.com/material-components/material-components-web/commit/008c4d3191f9c2a76732688504d2299420734cdd))
* **segmented-button:** add adapters and foundations ([#6165](https://github.com/material-components/material-components-web/issues/6165)) ([6ed717d](https://github.com/material-components/material-components-web/commit/6ed717dddf5f62dd5bfc621388ae07471775612f))
* **segmented-button:** Add component outlines ([#6222](https://github.com/material-components/material-components-web/issues/6222)) ([a0f1202](https://github.com/material-components/material-components-web/commit/a0f1202dc5cd67207877167558742d0b18bf0e32))
* **segmented-button:** Add initial Sass styles ([#6141](https://github.com/material-components/material-components-web/issues/6141)) ([7555383](https://github.com/material-components/material-components-web/commit/75553837cce5cb9d52d5561f5729d110e71af401))
* **segmented-button:** Add MDC segmented button into material-components-web ([596e984](https://github.com/material-components/material-components-web/commit/596e984242fdef685dae49e2c84305e55c9ea724))
* **segmented-button:** Add new package for segmented button ([#6073](https://github.com/material-components/material-components-web/issues/6073)) ([d561860](https://github.com/material-components/material-components-web/commit/d5618602a8ef45a1fdf753c3598afc5e1cadc95b))
* **segmented-button:** Add ripple and touch-target support ([#6277](https://github.com/material-components/material-components-web/issues/6277)) ([e3b7462](https://github.com/material-components/material-components-web/commit/e3b746208db04f3922fabba77986f9f02f422d75))
* **segmented-button:** Add select validations for singleSelect ([#6381](https://github.com/material-components/material-components-web/issues/6381)) ([2e8c3dd](https://github.com/material-components/material-components-web/commit/2e8c3dd2e0622957a373286f14720de36afb5ba4))
* **segmented-button:** Added foundation business logic ([#6198](https://github.com/material-components/material-components-web/issues/6198)) ([e6e2301](https://github.com/material-components/material-components-web/commit/e6e23019d567802c13d0bd6559a35291c48abc91))
* **segmented-button:** Implement components ([#6223](https://github.com/material-components/material-components-web/issues/6223)) ([ac405ea](https://github.com/material-components/material-components-web/commit/ac405eae1b80f719a80dc4fec663b763e73cdf5d))
* **select:** move selectedText into its own text node ([0bc41a9](https://github.com/material-components/material-components-web/commit/0bc41a9c75392352e8a31eb9d46f1a1457ffe732))
* **select:** support hidden input ([fda053e](https://github.com/material-components/material-components-web/commit/fda053eb848395ebfa9266e4535013e1a3be8486)), closes [#5428](https://github.com/material-components/material-components-web/issues/5428)
* **select:** truncate with ellipses by default ([83d83f1](https://github.com/material-components/material-components-web/commit/83d83f131118073943a6a45923b37b3a961bd894))
* **slider:** Add hooks into dragStart/dragEnd events to slider foundation. ([85a1fa9](https://github.com/material-components/material-components-web/commit/85a1fa9eab3010f2c41f5f65ca80a7f34bc46b2c))
* **slider:** Add M2 version of slider. ([8158544](https://github.com/material-components/material-components-web/commit/8158544774c50ba21b114f6fe24786816ba4c4fd))
* **slider:** Add support for customizing tick marks opacity, and document tick mark DOM structure for rendering tick marks before component initialization. ([238216f](https://github.com/material-components/material-components-web/commit/238216fc466a1b0dd5f4f05f10a083949e1b99d9))
* **slider:** Add support for setting `aria-valuetext` on slider thumbs. ([fd608ff](https://github.com/material-components/material-components-web/commit/fd608ff66bbb2f765fa1c092427fba9e61a074f3))
* **slider:** Add support for styling initial thumb/track before component JS initialization. ([08ca4d0](https://github.com/material-components/material-components-web/commit/08ca4d0ec5f359bc3a20bd2a302fa6b733b5e135))
* **slider:** Add support for theming disabled colors. ([d52b165](https://github.com/material-components/material-components-web/commit/d52b165b5869309705068ab58803cef426f1e590))
* **snackbar:** Update stacked layout to add an additional 8px on the label's right padding ([521afaf](https://github.com/material-components/material-components-web/commit/521afaf6e3086285b040c06fc3dbc92f20dc9b06))
* **textfield:** add autovalidation customization ([2ab716c](https://github.com/material-components/material-components-web/commit/2ab716cbda14aca5a8b62cdae3c71c2d629b16f7))
* **textfield:** add filled class variant ([b70bc60](https://github.com/material-components/material-components-web/commit/b70bc601ef570dab4598ae6f3ca51bbf884fac96))
* **textfield:** add forced LTR input ([490fbdc](https://github.com/material-components/material-components-web/commit/490fbdc092c5c59d63f83407b83b37fb524ed0e5))
* **textfield:** add prefix and suffix ([6601d24](https://github.com/material-components/material-components-web/commit/6601d24afdc3a3d0bd2a9b3fcca68c35c9415ec1)), closes [#1892](https://github.com/material-components/material-components-web/issues/1892)
* **textfield:** add specific label-floating class ([a88c8e4](https://github.com/material-components/material-components-web/commit/a88c8e4dc873ae74a3afbae0dc8635dfaa03e67b))
* **textfield:** Create float transition mixin ([ca61b65](https://github.com/material-components/material-components-web/commit/ca61b656fababdf25adaa307963d4f37e6d413ec))
* **textfield:** Limit notched outline max-width ([0ab62a6](https://github.com/material-components/material-components-web/commit/0ab62a65b17192a94102231ca63f54adc39675ae))
* **textfield:** Using touch-target-mixins to increase the touch target size on trailing icons on text fields. ([174c0be](https://github.com/material-components/material-components-web/commit/174c0becfc802e4366e4814758f28cb1ecf2c75a))
* **theme:** add calc() string replacement to property mixin ([79414bf](https://github.com/material-components/material-components-web/commit/79414bf9f93aae12bc394fd518b6cb401e5ddb26))
* **theme:** add deep-get utility ([fb5a4cd](https://github.com/material-components/material-components-web/commit/fb5a4cdeb79de0412a9e0573db1dacb28e8186f3))
* **theme:** add shadow-dom host-aware helpers ([0a2e7fc](https://github.com/material-components/material-components-web/commit/0a2e7fc8976e6481c9225609d7ff5354362472fa)), closes [#6295](https://github.com/material-components/material-components-web/issues/6295)
* **theme:** add state helper functions ([0809012](https://github.com/material-components/material-components-web/commit/08090126b4eff43f82188ee1dae5c8deda33d2ef))
* **tooltip:** Add 500ms delay before showing tooltip. ([a1c6559](https://github.com/material-components/material-components-web/commit/a1c65593d3c1f594a35561569357bb657dd50408))
* **tooltip:** add position options for y-axis ([91ab1c6](https://github.com/material-components/material-components-web/commit/91ab1c62a4e00ae844d444882582d2052aaf228a))
* **tooltip:** Add tooltip component into MDC catalog. ([b9394dc](https://github.com/material-components/material-components-web/commit/b9394dc5da7db3b60497cf81aa5f26a5758d9b37))
* **tooltip:** Adding option to render tooltips as hidden from a screenreader. This should only be utilized in situations where the tooltip label hold information duplicated from an accessible name on the anchor element (e.g. tooltip label is the same as the aria-label on an icon button) ([546277d](https://github.com/material-components/material-components-web/commit/546277d323c484ddf181afffed153f4f17c9f4a7))
* **tooltip:** Adding transparent border around tooltip so it is distinguished from the background in high contrast mode. ([02e372c](https://github.com/material-components/material-components-web/commit/02e372c5f02afaf66e06e733a08c6c704c16843c))
* **tooltip:** Adjusting tooltip z-index so tooltip appears above other content on the page. ([c285200](https://github.com/material-components/material-components-web/commit/c2852000d97ed49c5f8ab82b5911deb1c87a9025))
* **tooltip:** Adjustments to tooltip structure. ([19bea2a](https://github.com/material-components/material-components-web/commit/19bea2ad3d6c6aa36e0d033af7adebd010dcd4fa))
* **tooltip:** Center align tooltip label text. ([5dac1f6](https://github.com/material-components/material-components-web/commit/5dac1f624606fc92682a4266ffd68bea21e57069))
* **tooltip:** Creating method to clear any in-progress animations before starting new ones. ([61f1a8d](https://github.com/material-components/material-components-web/commit/61f1a8d8599f6dfaa7fc6c64d661010df47839b7))
* **tooltip:** Defining a z-index mixin. ([f4848eb](https://github.com/material-components/material-components-web/commit/f4848eb3b57d81fd4fed1396cdc22a83344ccd72))
* **tooltip:** Foundation will now send a notification when the tooltip has been hidden. Methods added into the adapter to allow for this functionality. ([9274f85](https://github.com/material-components/material-components-web/commit/9274f8504a905e04f24fba8f6a0e246d7ae3a638))
* **typography:** add container baseline mixins for flexbox ([69edc6e](https://github.com/material-components/material-components-web/commit/69edc6e2899636cfccb117376bb64dc0a267c588))
* add custom property support for select, textfield, and notched outline ([ec23858](https://github.com/material-components/material-components-web/commit/ec2385881f93b75641db661038aae439b4c217d1))
### Reverts
* "Include tooltip directory for future copybara syncs." ([#6185](https://github.com/material-components/material-components-web/issues/6185)) ([b0c456d](https://github.com/material-components/material-components-web/commit/b0c456d330f31bc890c54d114de1d56ac23fee9f))
* feat(checkbox): Added theme configuration support to checkbox ([cf80012](https://github.com/material-components/material-components-web/commit/cf800124fdaeea04b3fd45f8718a2980dd01a0df))
### BREAKING CHANGES
* **banner:** Added wrapper div to text/graphic for mobile friendly view, see README.md for more info.
* **typography:** `typography.baseline-top()` and `typography.baseline-bottom()` are now private. Use `typography.baseline()` for containers and `typography.text-baseline()` for text with $top and $bottom params.
* **banner:** Dom structure change, see README.md
* **select:** selected text node now needs to be wrapped in an outer `mdc-select__selected-text-container` span; see README for updated markup
* **datatable:** Header checkboxes will now be unchecked if layout is called when there are no rows.
* **banner:** Updated adapter to use CloseReason types
* **checkbox:** Renamed mixin `ripple()` => `ripple-styles()` in MDC checkbox
* **checkbox:** Renamed mixin `ripple()` => `ripple-styles()` in MDC checkbox
* **checkbox:** Renamed mixin `ripple()` => `ripple-styles()` in MDC checkbox
* **theme:** $ie-fallback variable has been moved and renamed to $enable-fallback-declarations in `@material/theme/css`
* **select:** select theming mixins which were previously "stateful" (e.g. `hover-label-color()`) are combined into the non-stateful mixin (e.g. `label-color()`). The default state of the mixin can be set as normal, or a Map of states can be provided to optionally set one or more states of the mixin (e.g. `label-color((hover: blue))`). See the `@material/theme/state` package for more details.
* **textfield:** adapter method `getAttr` added on helper text subcomponent; adapter method `setInputAttr` and `removeInputAttr` added on main component
* **textfield:** the notched outline and label should now appear before the input in the text field's DOM structure for a11y navigation
* **slider:** This upgrades the old slider to a new version of slider that adheres to the M2 design spec. Changes include:
- M2 design (primary instead of secondary color used, larger active track and thumb, improved tick marks UI)
- Range (two-thumb slider) slider
- Pointer events support (for browsers that support pointer events)
- High contrast mode support
- Improved accessibility (follows WAI-ARIA spec for slider)
* **circular-progress:** DOM Changed. See README for updated markup. `$default-size`, `$stroke-width`, and `$container-side-length` variables removed.
* **snackbar:** The right padding of the label for the `mdc-snackbar--stacked` variant will now have an additional 8px
* **data-table:** New adapter method replacing `getTableBodyHeight()` => `getTableHeaderHeight()` and changed return types of this method.
* **textfield:** Default textfields must now specify mdc-text-field--filled. Disabled outlined textfields no longer have a shaded background. Height mixin no longer specifies a baseline override, use typography's baseline-top mixin.
* **textfield:** mdc-text-field--dense and associated mixins/variables have been removed. Use the density() mixin instead.
* **textfield:** removed the following variables: `$input-padding`, `$input-padding-top`, `$input-padding-bottom`, `$outlined-input-padding-top`, `$outlined-input-padding-bottom`, `$input-border-bottom`
* **linear-progress:** DOM for linear progress buffer changed. MDCLinearProgressAdapter method `getBuffer`, `getPrimaryBar`, `setStyle` removed. MDCLinearProgressAdapter method `setBufferBarStyle`, `setPrimaryBarStyle` added.
* **linear-progress:** DOM for linear progress buffer changed. MDCLinearProgressAdapter method `getBuffer`, `getPrimaryBar`, `setStyle` removed. MDCLinearProgressAdapter method `setBufferBarStyle`, `setPrimaryBarStyle` added.
* **radio:** MDC radio _index Sass module will only export theme mixins
# [7.0.0](https://github.com/material-components/material-components-web/compare/v6.0.0...v7.0.0) (2020-06-23)
### Bug Fixes
* **base:** Add EDITING and EDITABLE states to the chip. ([cf3b664](https://github.com/material-components/material-components-web/commit/cf3b664ab1f12b17ea827ad1e2870977b9836e5b))
* **base:** Causes internal text in a chip to not overflow and instead be truncated by ellipsis. ([b83d720](https://github.com/material-components/material-components-web/commit/b83d720ee41acb13e3e6ca69431f718c7887c1de))
* **base:** Make the root property public ([51d4535](https://github.com/material-components/material-components-web/commit/51d4535fe39a2448fbba1ec995bb9980357545fa))
* **base:** Remove "foundation_" from MDCComponent ([8c6d7e0](https://github.com/material-components/material-components-web/commit/8c6d7e0766d8958a8d4ffea35acee9d6841dafd4))
* **base:** Remove trailing underscore "adapter_" ([5b5f62f](https://github.com/material-components/material-components-web/commit/5b5f62f9397100a9dd97c257b930e686837c4ceb))
* **base:** Remove trailing underscore from superclass properties ([62b5f37](https://github.com/material-components/material-components-web/commit/62b5f37db092df4441abdf5e4ee0b32dceee8c7c))
* **button:** Correct misspelling of overflow ([29debfe](https://github.com/material-components/material-components-web/commit/29debfea704941e80f1d337880b4a18142c11561))
* **button:** Correct misspelling of overflow ([99d2fc9](https://github.com/material-components/material-components-web/commit/99d2fc961be8cd7e8316b40dcf9754a536d29991))
* **button:** Correct misspelling of overflow ([28d32f8](https://github.com/material-components/material-components-web/commit/28d32f8e0d923099221fe7d3853177243e0fd243))
* **button:** Move theme-baseline() into base Sass. ([080965f](https://github.com/material-components/material-components-web/commit/080965f3952b32105419558c0167873554234dd0))
* **button:** Remove misspelled label-overlow-ellipsis ([e59906a](https://github.com/material-components/material-components-web/commit/e59906a57e91604f918c8ccd350f93a9a802e412))
* **checkbox:** Use secondary and on-secondary as default colors ([b95172e](https://github.com/material-components/material-components-web/commit/b95172e69613c0defe82191b86ed1c1999b74400)), closes [#5730](https://github.com/material-components/material-components-web/issues/5730)
* **checkbox:** Use superclass properties without trailing underscores ([2e218db](https://github.com/material-components/material-components-web/commit/2e218dbf8810548de27b683ed6e25d5fb1cbbc23))
* **chips:** Handle IE/Edge specific key names in keyboard navigation logic ([3657f88](https://github.com/material-components/material-components-web/commit/3657f886327182c26f1d1555b2ac67c2128140b5))
* **chips:** Use superclass properties without trailing underscores ([cf7747e](https://github.com/material-components/material-components-web/commit/cf7747ef72efb4affe2dd920a6641f730f3bcfcd))
* **circular-progress:** Add .npmignore file to ignore typescript files when publishing ([#5801](https://github.com/material-components/material-components-web/issues/5801)) ([f172b0f](https://github.com/material-components/material-components-web/commit/f172b0f90a91d8d3d700763d1496bb7b9c1a8d51)), closes [#5800](https://github.com/material-components/material-components-web/issues/5800)
* **circular-progress:** fix determinate transition typo & 4 color keyframes ([a301636](https://github.com/material-components/material-components-web/commit/a3016368df53b1c7967d7d146a9ea53a24442fa9))
* **circular-progress:** Fix naming in package.json and add to jsBundleFactory ([86f7cad](https://github.com/material-components/material-components-web/commit/86f7cad8330dbd600e478610eefd8dd92eb3d8c7))
* **circular-progress:** Force LTR layout ([6a40ef2](https://github.com/material-components/material-components-web/commit/6a40ef217f597138ee2920d2160364649dbf5620))
* **circular-progress:** Switch mixins import to `[@use](https://github.com/use)` ([098ae32](https://github.com/material-components/material-components-web/commit/098ae3285223af2532659dec233537a55c1183f5))
* **circularprogress:** Use superclass properties without trailing underscores ([da05f66](https://github.com/material-components/material-components-web/commit/da05f66e10f8efe5c425cec7f140ed399b11bd3f))
* **data-table:** Fix pagination box height ([eb28b6e](https://github.com/material-components/material-components-web/commit/eb28b6ecc65a9979ef0959eac5dbfde5b4d3b2dc))
* **data-table:** Fixed alignment of numeric header cell with sort button. ([2139200](https://github.com/material-components/material-components-web/commit/2139200b3ed2b57d74a02701bfef23a983d19cdf))
* **data-table:** Fixed default feature targeting query params of sort mixins ([e33c49e](https://github.com/material-components/material-components-web/commit/e33c49eaf9c0dbc601f3610af6358cbf2833229c))
* **data-table:** Fixed horizontal scrolling issue with pagination controls ([b065a4d](https://github.com/material-components/material-components-web/commit/b065a4d2bd351b86277f5a2f4d512fb6c243c7ce))
* **data-table:** Hover styles for sortable header cell ([d580805](https://github.com/material-components/material-components-web/commit/d5808057fcdf00364731e0896ef7031ac605cf55))
* **data-table:** Make row checkbox table cell fixed even when table is wide ([a6ac8f6](https://github.com/material-components/material-components-web/commit/a6ac8f629b45e46d598b4b531fed8300fb5a8eef))
* **data-table:** not inverting text alignment in rtl ([bd8d1aa](https://github.com/material-components/material-components-web/commit/bd8d1aafab5c6da614135702f5814447de5ea448))
* **data-table:** Removed overflow-x from root element ([4ebce8d](https://github.com/material-components/material-components-web/commit/4ebce8d787db92afb4c1f9d2a10268a62d188d43))
* **data-table:** Reverse the arrow direction icon for column sorting ([a7c827f](https://github.com/material-components/material-components-web/commit/a7c827f17ce9be631484676ccb6b5f18604803ae))
* **data-table:** unable to redefine colors in class-based themi… ([#5751](https://github.com/material-components/material-components-web/issues/5751)) ([4d48051](https://github.com/material-components/material-components-web/commit/4d48051c1099f48e867cf08f070138a7abc719fc))
* **data-table:** unable to redefine colors in class-based theming ([4b45b66](https://github.com/material-components/material-components-web/commit/4b45b662057edd8819f1a515db88e1c12254cc30))
* **datatable:** Use superclass properties without trailing underscores ([862d0d7](https://github.com/material-components/material-components-web/commit/862d0d7bce4fc30a1947d1ff7cb7286c106dd9e5))
* **dialog:** Change scale(1) to `transform:none` ([9ea5207](https://github.com/material-components/material-components-web/commit/9ea52070f4f9693266a20311cce15700e84696c3))
* **dialog:** Only equalize paddings for scrollable dialogs with titles, since there is no added divider between title/content in this case. ([8135cc0](https://github.com/material-components/material-components-web/commit/8135cc085a5cd548cf8c8fba4bb43a21bcd3fd46))
* **dialog:** Use superclass properties without trailing underscores ([b4e2fe9](https://github.com/material-components/material-components-web/commit/b4e2fe9f4bf690968d0ac47da0ca4a64ee8d7a88))
* **dom:** Clear out announcer regions on document click ([c67667e](https://github.com/material-components/material-components-web/commit/c67667e8e213ed4686889cb3962685444bd885c6))
* **drawer:** Use superclass properties without trailing underscores ([a66493c](https://github.com/material-components/material-components-web/commit/a66493cd8e9717ce32218fb877ca2258ea6ee880))
* **floating-label:** Use superclass properties without trailing underscores ([5cea261](https://github.com/material-components/material-components-web/commit/5cea2610f2f46bbe193683668044116d78b7e2d6))
* **form-field:** Use superclass properties without trailing underscores ([7fd792b](https://github.com/material-components/material-components-web/commit/7fd792bb9841501ecbc35b4024a00e07216fb95b))
* **icon-button:** Use superclass properties without trailing underscores ([740860e](https://github.com/material-components/material-components-web/commit/740860e789992163537cc7138d6c21672adb79d0))
* **line-ripple:** Use superclass properties without trailing underscores ([a4aae3d](https://github.com/material-components/material-components-web/commit/a4aae3d3710ba5eb86f27dee230064dfccf2e73f))
* **linear-progress:** Temporary rollback of [#5656](https://github.com/material-components/material-components-web/issues/5656) while updating downstream dependencies ([9cf5e98](https://github.com/material-components/material-components-web/commit/9cf5e9842475e50046462aa1c6d18e326abaee17))
* **linear-progress:** Use superclass properties without trailing underscores ([8e17857](https://github.com/material-components/material-components-web/commit/8e17857d0a8d301f54fac64cc83804928ec1ff83))
* **list:** No longer emits action event when disabled item selected ([f352d03](https://github.com/material-components/material-components-web/commit/f352d03f4ed48c5019a0a3e10ef12689a5ab5619)), closes [#5571](https://github.com/material-components/material-components-web/issues/5571)
* **list:** Preserve aspect ratio of the original image when using it as the icon or avatar for a list. ([be4a19f](https://github.com/material-components/material-components-web/commit/be4a19f9f0668e4fc303d2e60e81473ac11d68be))
* **list:** Remove obsolete non-interactive class & :not selectors ([2553e86](https://github.com/material-components/material-components-web/commit/2553e86fee2753ec59f1fbc91764bf110ad9d3aa))
* **list:** Use superclass properties without trailing underscores ([4847dd7](https://github.com/material-components/material-components-web/commit/4847dd7645adf463ea947fc2afb346df648a1ffc))
* **menu:** Do not set selectedIndex for menu items that have a negative recomputedIndex. ([ef3a095](https://github.com/material-components/material-components-web/commit/ef3a095336a205fa9473a8c6e4940c3f9cccf5ea))
* **menu:** Use superclass properties without trailing underscores ([0008c8a](https://github.com/material-components/material-components-web/commit/0008c8a91a4da2c0c95fe092395cc575cbf23769))
* **menu-surface:** Use margin_to_edge as a viewport margin in calculations for autopositioning. ([4b04cdb](https://github.com/material-components/material-components-web/commit/4b04cdb0fc4da4831340b01292c118b120c1fcb1))
* **menu-surface:** Use superclass properties without trailing underscores ([62abbc8](https://github.com/material-components/material-components-web/commit/62abbc8d762c6c903d4a13817a0b71555764e0df))
* **menusurface:** open and closed events not fired when already opened or closed ([9cff431](https://github.com/material-components/material-components-web/commit/9cff4318f0fe8a79f8787afd148907328a5223d5))
* **menusurface:** synchronous quick menu does not close on button click ([45a6615](https://github.com/material-components/material-components-web/commit/45a6615e33eb8a7e6fc37e9ef43a3be3682b6b0e))
* **notched-outline:** Use superclass properties without trailing underscores ([49bf31d](https://github.com/material-components/material-components-web/commit/49bf31d5c9c3ee34e9a51ce3b254a9101c578045))
* **radio:** Use superclass properties without trailing underscores ([541638f](https://github.com/material-components/material-components-web/commit/541638fa2ba3410ca1055c5ae563face06fd20be))
* **ripple:** Use superclass properties without trailing underscores ([6167cd0](https://github.com/material-components/material-components-web/commit/6167cd0756a623502f7f84750dcda25226a59794))
* **select:** Also set font size for icon ([c113fc9](https://github.com/material-components/material-components-web/commit/c113fc942a88e2c53b2c36229b2ddff84e6d0eb5))
* **select:** clean up helper text interactions ([654934d](https://github.com/material-components/material-components-web/commit/654934dfaff71dae2b56bd2d4bb04303f5439c3e))
* **select:** Close menu on anchor click when menu is open ([8fa22aa](https://github.com/material-components/material-components-web/commit/8fa22aaccafa3b1ae09164b228d8e1b203337221))
* **select:** Deduplicate change events ([4ad1274](https://github.com/material-components/material-components-web/commit/4ad12741e41c5b8e175f2bc8d5053daec6cedf18)), closes [#5570](https://github.com/material-components/material-components-web/issues/5570)
* **select:** Fix redundant calculations & allow resyncing foundation to options ([ff4bc63](https://github.com/material-components/material-components-web/commit/ff4bc632aeeefb8eca16d774db01f8f176479659)), closes [#5646](https://github.com/material-components/material-components-web/issues/5646) [#5646](https://github.com/material-components/material-components-web/issues/5646) [#5686](https://github.com/material-components/material-components-web/issues/5686) [#5783](https://github.com/material-components/material-components-web/issues/5783)
* **select:** fix screenreader click interactions ([8904f3c](https://github.com/material-components/material-components-web/commit/8904f3cbe922c5b64f5b7297f23c49861ee13f07))
* **select:** fully separate density mixins for filled variants ([d66d22b](https://github.com/material-components/material-components-web/commit/d66d22bf9b9f221ff8b2d713b1e2fc9288f490df))
* **select:** Make compatible with rich list-items ([0a7895f](https://github.com/material-components/material-components-web/commit/0a7895f4d4c22296ad23b2d8a7e1a4dbe231b941))
* **select:** Remove pointer events where unnecessary ([0e052b2](https://github.com/material-components/material-components-web/commit/0e052b24f415b81fbffb45182030dd8b9d68ee98))
* **select:** Set aria-selected="false" properly ([730920f](https://github.com/material-components/material-components-web/commit/730920fbba046b0a7c3821f52877504a78373f1f))
* **select:** Update disabled state ([f83e008](https://github.com/material-components/material-components-web/commit/f83e00898fb57e49e38ef59b3458df4525332302))
* **select:** Update dropdown arrow icon transitions ([15d6544](https://github.com/material-components/material-components-web/commit/15d65448e5dd8a29477b34754264644ad88f8421))
* **select:** Update markup in tests and README ([e3eacef](https://github.com/material-components/material-components-web/commit/e3eacefcc0ca3ca89af34b3e4d3dc13c5a27570b))
* **select:** Use key constants from DOM package ([388b042](https://github.com/material-components/material-components-web/commit/388b042c7193f78874a8854664742fc7285f1386))
* **select:** Use superclass properties without trailing underscores ([c472bbb](https://github.com/material-components/material-components-web/commit/c472bbbd1aa5e362c227a1c5204601362444d22f))
* **slider:** avoid server side rendering error ([95c7355](https://github.com/material-components/material-components-web/commit/95c73550e886c2832aa42cd065552551b6690a61))
* **slider:** mobile sliding regression ([e844443](https://github.com/material-components/material-components-web/commit/e844443878b9711a306e72b951c7ea931b17d837)), closes [#5894](https://github.com/material-components/material-components-web/issues/5894)
* **slider:** two change events fired on each up ([d10412c](https://github.com/material-components/material-components-web/commit/d10412cb24150639acc617caef1c7fac4fb6e4bd))
* **snackbar:** Use superclass properties without trailing underscores ([39b0b8e](https://github.com/material-components/material-components-web/commit/39b0b8e06ef68d5b59515454907b5472ce75b842))
* **snackbar:** Use superclass properties without trailing underscores ([5ea0f3f](https://github.com/material-components/material-components-web/commit/5ea0f3fc47e8bd18fcc8fd3af84fcecc17b3f800))
* **switch:** always set track to transparent border ([9a169f4](https://github.com/material-components/material-components-web/commit/9a169f4b158a3148126ba38bcdfa9d163434d9bb))
* **switch:** use CSS custom properties for theming ([d6315ef](https://github.com/material-components/material-components-web/commit/d6315efe26e7baf45fd88244efbb24c612a95cb4))
* **tab:** Use superclass properties without trailing underscores ([a4b2e61](https://github.com/material-components/material-components-web/commit/a4b2e61d47b515a0ebbdee788e8462d800bea7f3))
* **tab-bar:** Use superclass properties without trailing underscores ([f2de07c](https://github.com/material-components/material-components-web/commit/f2de07c606c8d57942d5f0022e90eecb41b3ad61))
* **tab-indicator:** Use superclass properties without trailing underscores ([d30a214](https://github.com/material-components/material-components-web/commit/d30a214ace1c0ae41fd5d7f8ba4915035fd9235a))
* **tab-scroller:** Use superclass properties without trailing underscores ([96dba1d](https://github.com/material-components/material-components-web/commit/96dba1d3127c9364cff5786a01be8c17f69ab0ee))
* **text-field:** Use superclass properties without trailing underscores ([e6165eb](https://github.com/material-components/material-components-web/commit/e6165eb156d60f8f650c68931854136a1a44fc6e))
* **textfield:** clean up input padding ([8639c26](https://github.com/material-components/material-components-web/commit/8639c269010b77b17f1a5052d57abcb5f7d2892a))
* **textfield:** core-styles now applies sub-element core-styles ([bcdad99](https://github.com/material-components/material-components-web/commit/bcdad99bbf9ac4d2bbc09cf6378c0c040521e514)), closes [#5927](https://github.com/material-components/material-components-web/issues/5927)
* **textfield:** IE11 label overlapping placeholder ([781434a](https://github.com/material-components/material-components-web/commit/781434a92f4dddc9b2d39853e1f5792e89e7b45b))
* fix show/hide clauses in import-only files ([148e448](https://github.com/material-components/material-components-web/commit/148e448de1290e3628fac6eae19609c8e1bffda3))
* **textfield:** remove absolute positioning from icons ([1e13d1d](https://github.com/material-components/material-components-web/commit/1e13d1d5a68632f1b0b5a9134f657d59104969f4))
* mark all packages as side-effect-free ([be7cb05](https://github.com/material-components/material-components-web/commit/be7cb05996a7281d1e0c12c0f4677e4d091a2329))
* server-side rendering errors in linear progress and slider ([7d0b983](https://github.com/material-components/material-components-web/commit/7d0b983a902deee6941d61906aa5a880628db4e9))
* **textfield:** remove deprecated dense variant in favor of density ([776291e](https://github.com/material-components/material-components-web/commit/776291ef03205e4063b4040eb66f9648e16b4af6)), closes [#4142](https://github.com/material-components/material-components-web/issues/4142)
* **textfield:** textarea density label position is now correct ([2f8a227](https://github.com/material-components/material-components-web/commit/2f8a227a289a56702fec6592a87cf8bab422326a))
* **textfield:** textarea min-width not set correctly for Chrome ([0a371b4](https://github.com/material-components/material-components-web/commit/0a371b4fe4ca4452618a867aac1731c6d3136b91))
* **textfield:** update outlined textarea specs ([524b7b8](https://github.com/material-components/material-components-web/commit/524b7b8127e74bc3d551bd3b81e951fc51682665))
* **top-app-bar:** Use superclass properties without trailing underscores ([863ac1b](https://github.com/material-components/material-components-web/commit/863ac1b0f1723883565ca813d56bba0a1c8a832f))
### Code Refactoring
* **linear-progress:** Restructure buffer DOM to allow translucent buffer ([98b8434](https://github.com/material-components/material-components-web/commit/98b843417ef6c0a10460532a37df389b0c7e936f))
* **linear-progress:** Restructure buffer DOM to allow translucent buffer ([9372e49](https://github.com/material-components/material-components-web/commit/9372e493954585c939f341486d0361efb87da806))
* **select:** Fix alignment issues, upgrade anchor to interactive element ([28d10a9](https://github.com/material-components/material-components-web/commit/28d10a96e1d5e5762d5a056ac805070e9fb6a4e1)), closes [#5428](https://github.com/material-components/material-components-web/issues/5428)
### Features
* **button:** Add button ripple-states mixin, for simpler customization of button ripple color. ([ed7f324](https://github.com/material-components/material-components-web/commit/ed7f324636287e95e8d966866a7c72af94377cf6))
* **button:** Expand outlined touch target to include side borders ([ce6cb70](https://github.com/material-components/material-components-web/commit/ce6cb7024d1da3b0e4fb5e2c67ba269dbb3098ec))
* **checkbox:** Add support for checkbox CSS-only `indeterminate` checkbox ([b273afa](https://github.com/material-components/material-components-web/commit/b273afa93441e6d0375f7df33d5b69d8a7e1cfa8))
* **chips:** Add chips styling ([1db5c9f](https://github.com/material-components/material-components-web/commit/1db5c9fc842292715f8b4603ce0b979066f1c639))
* **chips:** Add configurable primary action focus ([deb212d](https://github.com/material-components/material-components-web/commit/deb212de41e1073f7ff00af92e5f37bad0d8c4b0))
* **chips:** Add focus{in|out} handlers ([10af6cf](https://github.com/material-components/material-components-web/commit/10af6cf39cb2ae0a7deb9a951960f115f6ecdace))
* **chips:** Add keyCode support ([82fa986](https://github.com/material-components/material-components-web/commit/82fa986b95be4c16271df50effda1046d015d35c))
* **chips:** Add trailing action feature targeting test ([bec0659](https://github.com/material-components/material-components-web/commit/bec0659206aee793e6970d59c73f7969ab540b69))
* **chips:** Create trailing action business logic ([9ebee4c](https://github.com/material-components/material-components-web/commit/9ebee4ceb998e5fa651d4f147e5e39d43600db6e))
* **chips:** Expose trailing action chip files ([6b48781](https://github.com/material-components/material-components-web/commit/6b48781bf97d3b08b8f35b9eacde2b87748ae2e1))
* **chips:** Reposition trailing action touch target width mixin ([3846ce3](https://github.com/material-components/material-components-web/commit/3846ce311f65156f24dbd229100e660f1285bf5f))
* **chips:** Restructure trailing action mixins ([05f5e15](https://github.com/material-components/material-components-web/commit/05f5e1583b81bc00dbcd2ae21ee0acc43b3e13b4))
* **chips:** Use trailing action component in chip ([058cfd2](https://github.com/material-components/material-components-web/commit/058cfd23caa5c00f29c90f3d2fc9b813581ba974))
* **circular-progress:** Add foundation methods to get isDeterminate and progress value ([7d8f9c8](https://github.com/material-components/material-components-web/commit/7d8f9c8d73f16c01ed4a941ab9510377a0aae219))
* **circular-progress:** Add Sass styles and tests ([bd33cb5](https://github.com/material-components/material-components-web/commit/bd33cb56bdab7139052aeedbeec363f17b4dfc40))
* **circular-progress:** Add TS for foundation, adapter, component with tests ([548b1d4](https://github.com/material-components/material-components-web/commit/548b1d4057f21e066a4c494a57a0c068c23e18cd))
* **data-table:** Add base styles to support pagination. ([927fa90](https://github.com/material-components/material-components-web/commit/927fa902c3297a5a7cc9436e82cb81f3aabe1b4b))
* **data-table:** Add foundation methods to support loading state. ([e75deb8](https://github.com/material-components/material-components-web/commit/e75deb8540fa70236087d335c9cd6280bd643285))
* **data-table:** Added sort status label to sortable column header ([9833dc2](https://github.com/material-components/material-components-web/commit/9833dc28775a02fa4c7c490ae5df1ed198bbb398))
* **data-table:** Added styles for table in loading state ([35a32aa](https://github.com/material-components/material-components-web/commit/35a32aaeac17e290e2e9f9a1310c5a44a08f624a))
* **data-table:** Added styles to support column sorting. ([17b9699](https://github.com/material-components/material-components-web/commit/17b9699c4454a107043e5a1f9874a091089dd112))
* **data-table:** Added styles to support rows per page select menu in pagination ([3ee488f](https://github.com/material-components/material-components-web/commit/3ee488f1c0f65972459f2dbc74b6c3365786df4b))
* **data-table:** Added support for column sorting feature in data table ([06ef147](https://github.com/material-components/material-components-web/commit/06ef147b593d134fcd03f48fc3581d8fd6068865))
* **data-table:** Added support for row header cell and other a11y improvements. ([27533c1](https://github.com/material-components/material-components-web/commit/27533c19e9c72c5a27a33aaa764c1b6a05175cf5))
* **data-table:** Foundation changes to support column sorting ([6ee0355](https://github.com/material-components/material-components-web/commit/6ee03557260d0a23296e36cba5aaa76fe0cf96a6))
* **data-table:** Make rows per page wrap in new line when overflows ([09abc92](https://github.com/material-components/material-components-web/commit/09abc92198d1628c57eee5e75c58da52b223c322))
* **data-table:** Set progress indicator styles based on table body height ([c026422](https://github.com/material-components/material-components-web/commit/c0264227393df8eb9259a2b24c23b31fe0ca84f3))
* **dialog:** Add padding mixin ([ad0c0c1](https://github.com/material-components/material-components-web/commit/ad0c0c1034d0b9257a62d3dd9f5d27aada99f1f7))
* **dom:** Add keyboard support ([5f24faa](https://github.com/material-components/material-components-web/commit/5f24faacb1ef8996ae81f3a1c1e43910ba67b024))
* **drawer:** allow custom properties in width() ([39e6f71](https://github.com/material-components/material-components-web/commit/39e6f71e2e03b75512242d7520678c32c5af2b70))
* **fab:** Add outline in high-contrast mode ([deda86d](https://github.com/material-components/material-components-web/commit/deda86d8cc4665b334c4d21c541a4a30244fee72))
* **floating-label:** add required modifier class ([047e6b3](https://github.com/material-components/material-components-web/commit/047e6b337899a57290283cb0387f33738853cbc2))
* **form-field:** Add support for space-between ([e84b9c8](https://github.com/material-components/material-components-web/commit/e84b9c816d32da6dec058d92fc21dc5ac8fec787)), closes [#5747](https://github.com/material-components/material-components-web/issues/5747)
* **formfield:** add nowrap class/prop to MDC/MWC ([c4b4bba](https://github.com/material-components/material-components-web/commit/c4b4bba9659bf15207e79b1f63fcc9946404d9c7))
* **formfield:** Remove trailing underscores from private properties ([2f052d8](https://github.com/material-components/material-components-web/commit/2f052d82433a852d65785b1054ce4665ad1f6265))
* **iconbutton:** Add icon button variant which supports toggling aria label. ([f838c6e](https://github.com/material-components/material-components-web/commit/f838c6e55672268de4e6e3b31b154d4f9050242f))
* **iconbutton:** Remove trailing underscores from private properties ([119e214](https://github.com/material-components/material-components-web/commit/119e21426d73305fe348798cb7ce88077995fdd0))
* **linear-progress:** Add foundation methods to fetch progress and determinate state. ([4dc45af](https://github.com/material-components/material-components-web/commit/4dc45af6c4bc81f5734a24c160046d283c1e9a6d))
* **linearprogress:** Remove trailing underscores from private properties ([893eb18](https://github.com/material-components/material-components-web/commit/893eb1876220e5313f9db37365049b8c2282109c))
* **list:** add focus indicator in hi-contrast mode ([8602f1b](https://github.com/material-components/material-components-web/commit/8602f1b4da404816513733a21973ec9cbc9acfa3))
* **list:** Add mixin for selected item's text color ([bd8ca96](https://github.com/material-components/material-components-web/commit/bd8ca96788c9cb793288b6aa5c406b220be0bd9c))
* **menu:** Add mixin to flatten menu top when opened-below anchor ([1e17c49](https://github.com/material-components/material-components-web/commit/1e17c49b360fd0e01c9a74b92978031534003b5b))
* **menu-surface:** Add support for flipping menu corner horizontally. ([7b44824](https://github.com/material-components/material-components-web/commit/7b448240263b45c6b474c2f758cd1c02f3c708ad))
* **ripple:** Reorganize ripple opacities ([008c4d3](https://github.com/material-components/material-components-web/commit/008c4d3191f9c2a76732688504d2299420734cdd))
* **rtl:** allow values to be theme keys and custom props ([afb1c11](https://github.com/material-components/material-components-web/commit/afb1c11a9e9048ba7c2ed30e32e892ae483dfccc))
* **select:** Add menu invalid class ([4ba3c9a](https://github.com/material-components/material-components-web/commit/4ba3c9a319dad4101f4d24607a79c01390330acd))
* **select:** Add mixin for min-width ([09f5919](https://github.com/material-components/material-components-web/commit/09f591967a42e4dc27c0f7022d9ae71e94c07c3d))
* **select:** Add openMenu foundation method ([9b0b5f2](https://github.com/material-components/material-components-web/commit/9b0b5f2e034a7f8ab0e68e3afbd7c246447f53e7))
* **select:** Add styles for high-contrast mode in IE ([05cc5c2](https://github.com/material-components/material-components-web/commit/05cc5c20651eed3e40960074db919f0d030c46fb))
* **select:** Auto-align width of menu to select by default ([1b3dd84](https://github.com/material-components/material-components-web/commit/1b3dd846db4da7dcb1baaf2003e35e462cb799b7))
* **select:** Change root to inline-block & add fullwidth flag ([2673adb](https://github.com/material-components/material-components-web/commit/2673adb74397d55c9dcd8e5fd86b3efc87a13a28))
* **select:** changing density also also changes menu's list density ([68a2af1](https://github.com/material-components/material-components-web/commit/68a2af131b82e9b50e70754a2d653d6305dac4b9))
* **select:** Create additional state mixins ([744d751](https://github.com/material-components/material-components-web/commit/744d751a0c0f154d5d0d05def88203b68c3a26a5))
* **select:** extend typeahead to work when menu closed but select focused ([a0dc2b5](https://github.com/material-components/material-components-web/commit/a0dc2b5c4afbf3fd8274c752d43aeeeb11231e5f))
* **select:** flatten menu top when opened below ([912d902](https://github.com/material-components/material-components-web/commit/912d9021dab7712e0ab711fcaffb3933a960c171))
* **select:** gracefully display long labels ([21c4e4e](https://github.com/material-components/material-components-web/commit/21c4e4ed866944c090ae3d6dffe9f5e4725b7ffc))
* **select:** Implement density ([610c68d](https://github.com/material-components/material-components-web/commit/610c68d97646f523eaff0bb26c08baa5903e9211))
* **select:** introduce custom validity ([fd8f8f2](https://github.com/material-components/material-components-web/commit/fd8f8f2b77b0a17e25f78b5a510b7afe4bbd230b))
* **select:** lower dropdown icon size and list leading padding when dense ([32aa236](https://github.com/material-components/material-components-web/commit/32aa23641258671e0eac803c0f41ae78ecce32fd))
* **select:** make selected text more flexible ([2b420c5](https://github.com/material-components/material-components-web/commit/2b420c5b318b7ada726dec774d9e09624bca9822))
* **select:** Replace hardcoded leading margins for options with dummy graphic ([7461aad](https://github.com/material-components/material-components-web/commit/7461aad68924d0f3bb790987b01f802078ebc7df))
* **select:** Support typeahead ([b0fdca4](https://github.com/material-components/material-components-web/commit/b0fdca4921afd58de567bd53b29c9b6e44dac5c1)), closes [#5705](https://github.com/material-components/material-components-web/issues/5705)
* **select:** Update behavior on upArrow/downArrow ([d92d8c9](https://github.com/material-components/material-components-web/commit/d92d8c93ee6d9c030e6d373ac2b8670ac56417ad))
* **select:** Update helper-text interactions ([142b154](https://github.com/material-components/material-components-web/commit/142b1549ee0cf40b1f1531e79e53fe5e826f254d)), closes [#5463](https://github.com/material-components/material-components-web/issues/5463)
* **select:** use floating label's required class ([d86ad3b](https://github.com/material-components/material-components-web/commit/d86ad3b6081234359ff19547649f9d391ea8aa9e))
* **shape:** add shape custom properties ([0743288](https://github.com/material-components/material-components-web/commit/0743288fb04dc8578f0b850d31fad6c00c97ea1c))
* **text-field:** Truncate floating label width w/ icons ([c141801](https://github.com/material-components/material-components-web/commit/c141801d50516a18fe53d4bc78591cefb4f57623))
* **textfield:** add filled class variant ([b70bc60](https://github.com/material-components/material-components-web/commit/b70bc601ef570dab4598ae6f3ca51bbf884fac96))
* **textfield:** add filled textarea variant ([4497b86](https://github.com/material-components/material-components-web/commit/4497b86ed8b3e0ee0781dd6f795aa1ff332d2a3b))
* **textfield:** add forced LTR input ([490fbdc](https://github.com/material-components/material-components-web/commit/490fbdc092c5c59d63f83407b83b37fb524ed0e5))
* **textfield:** add prefix and suffix ([6601d24](https://github.com/material-components/material-components-web/commit/6601d24afdc3a3d0bd2a9b3fcca68c35c9415ec1)), closes [#1892](https://github.com/material-components/material-components-web/issues/1892)
* **textfield:** add specific label-floating class ([a88c8e4](https://github.com/material-components/material-components-web/commit/a88c8e4dc873ae74a3afbae0dc8635dfaa03e67b))
* **textfield:** allow character counter to be moved outside of the textarea. ([84e7ed5](https://github.com/material-components/material-components-web/commit/84e7ed5825d3109c229d0f1f6c3edf97a3548226))
* **textfield:** allow disabled textareas to scroll and resize ([b9776b1](https://github.com/material-components/material-components-web/commit/b9776b1d09b9ccfac38b3dc471dee2fd9fc8558a))
* **textfield:** Create float transition mixin ([ca61b65](https://github.com/material-components/material-components-web/commit/ca61b656fababdf25adaa307963d4f37e6d413ec))
* **textfield:** Limit notched outline max-width ([0ab62a6](https://github.com/material-components/material-components-web/commit/0ab62a65b17192a94102231ca63f54adc39675ae))
* **textfield:** move resize handle for textareas to bottom corner ([ed52af7](https://github.com/material-components/material-components-web/commit/ed52af7677ad37138b6660ca11fbdb209be05b46))
* **textfield:** required outlined modifier for textarea ([b10d0d7](https://github.com/material-components/material-components-web/commit/b10d0d7f1911b381a47d39b5d0bc4543089efb3e))
* **textfield:** support svg icons for textfield ([d91794c](https://github.com/material-components/material-components-web/commit/d91794c7ecafbaef7150d2c88226b96d7e4c4ea6))
* **theme:** add new property mixin and custom property support ([51512a4](https://github.com/material-components/material-components-web/commit/51512a4ac375a6175b4a533ff004ea90a4318c9e))
* **theme:** custom property fallback values are now optional ([01de070](https://github.com/material-components/material-components-web/commit/01de07011d8b4b121a061da66fafe610f5484a51))
* **typography:** add container baseline mixins for flexbox ([69edc6e](https://github.com/material-components/material-components-web/commit/69edc6e2899636cfccb117376bb64dc0a267c588))
### BREAKING CHANGES
* **button:** Correct misspelling of overflow for button's label-overflow-ellipsis mixin
* **button:** Correct misspelling of overflow for button's label-overflow-ellipsis mixin
* **button:** Removes button theme-baseline() mixin, moves mixin contents to base button Sass.
* **chips:** The chip adapter and foundation interfaces have changed. Chips now use the trailing action subcomponent.
* **data-table:** Added a wrapper element to data table's table element to fix horizontal scrolling issue when pagination controls are added.
* **floating-label:** all labels that are part of a required field should now add the mdc-floating-label--required class for required fields to avoid a FOUC
* **linear-progress:** DOM for linear progress buffer changed. MDCLinearProgressAdapter method `getBuffer`, `getPrimaryBar`, `setStyle` removed. MDCLinearProgressAdapter method `setBufferBarStyle`, `setPrimaryBarStyle` added.
* **linear-progress:** DOM for linear progress buffer changed. MDCLinearProgressAdapter method `getBuffer`, `getPrimaryBar`, `setStyle` removed. MDCLinearProgressAdapter method `setBufferBarStyle`, `setPrimaryBarStyle` added.
* **select:** Added adapter method `addMenuClass`, `removeMenuClass`
* **select:** Added adapter methods `isTypeaheadInProgress`, `typeaheadMatchItem`
* **select:** DOM structure for dropdown icon changed; `$dropdown-color` renamed to `$dropdown-icon-color`, `$dropdown-opacity` removed, `$disabled-dropdown-opacity` removed.
* **select:** HTML Markup significantly changed, see README; REMOVED adapter methods `isSelectedTextFocused`, `getSelectedTextAttr`, `setSelectedTextAttr`; ADDED adapter methods `isSelectAnchorFocused`, `getSelectAnchorAttr`, `setSelectAnchorAttr`; removed variables `outlined-dense-label-position-y`, `icon-padding`; added variables `minimum-height-for-filled-label`, `filled-baseline-top`, `selected-text-height`, `anchor-padding-left`, `anchor-padding-left-with-leading-icon`, `anchor-padding-right`.
* **select:** `density` mixin split into `filled-density`, `filled-with-leading-icon-density`; `height` mixin split into `filled-height`, `filled-with-leading-icon-height`
* **select:** `mdc-menu--fullwidth` class replaces custom width class for the menu markup in select
* **select:** adapter method removeAttributeAtIndex removed.
* **select:** added adapter method `removeSelectAnchorAttr`
* **select:** dropdown icon SVG markup now has `mdc-select__dropdown-icon-graphic` class.
* **select:** empty space around `mdc-list-item__text` spans removed in select markup
* **select:** helper text now persistent by default, `mdc-select-helper-text--persistent` removed
* **select:** non-outlined selects now require a `mdc-select--filled` class on its root
* **select:** root of mdc-select is now an inline-block element, use custom width class (i.e. `demo-width-class`) on the root instead of the anchor for width adjustments; alternately, use the new `mdc-select--fullwidth` on the root to expand width to that of its parent container
* **select:** variable `$outline-disabled-border` renamed to `$disabled-outline-color`; icon variable `$icon-opacity` removed, use alpha channel of `$icon-color` instead.
* **textfield:** Default textfields must now specify mdc-text-field--filled. Disabled outlined textfields no longer have a shaded background. Height mixin no longer specifies a baseline override, use typography's baseline-top mixin.
* **textfield:** mdc-text-field--dense and associated mixins/variables have been removed. Use the density() mixin instead.
* **textfield:** mdc-text-field--textarea must now include mdc-text-field--outlined modifier class
* **textfield:** mdc-text-field-SUB_ELEMENT imports have been removed
* **textfield:** removed the following variables: `$input-padding`, `$input-padding-top`, `$input-padding-bottom`, `$outlined-input-padding-top`, `$outlined-input-padding-bottom`, `$input-border-bottom`
* **textfield:** textareas must now add a `mdc-text-field__resizer` span around the textarea (and internal counter if present) if they are resizable
* **textfield:** textareas with internal character counters must specify the `mdc-text-field--with-internal-counter` class. Character counters should move after the textarea element.
* **theme:** `color-hash()` (and checkbox container-colors mixins) no longer works with `var()` values and now only works with custom property Maps created by `custom-properties.create()`
* **typography:** `typography.baseline-top()` and `typography.baseline-bottom()` are now private. Use `typography.baseline()` for containers and `typog
gitextract_wxuq3f08/ ├── .editorconfig ├── .eslintignore ├── .eslintrc.yaml ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── --bug-report.md │ │ └── --feature-request.md │ ├── semantic.yml │ └── workflows/ │ ├── release-canary.yml │ ├── release-nightly.yml │ ├── release-pull-request.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── .mdc-docsite.yml ├── .nvmrc ├── .sassrc.js ├── .stylelintignore ├── .stylelintrc.yaml ├── CHANGELOG.md ├── CHANGELOG_ARCHIVE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── app.yaml ├── docs/ │ ├── README.md │ ├── authoring-components.md │ ├── code/ │ │ ├── README.md │ │ ├── architecture.md │ │ ├── best_practices.md │ │ ├── readme_standards.md │ │ └── readme_template.md │ ├── codelabs/ │ │ └── codelabs-index.md │ ├── contribute/ │ │ ├── README.md │ │ ├── bug_fix.md │ │ ├── code_review.md │ │ └── feat.md │ ├── docsite-components.md │ ├── docsite-index.md │ ├── docsite-input-controls.md │ ├── docsite-tabs.md │ ├── examples.md │ ├── framework-wrappers.md │ ├── getting-started.md │ ├── importing-js.md │ ├── integrating-into-frameworks.md │ ├── local-development.md │ ├── migrating-from-mdl.md │ ├── open_source/ │ │ ├── README.md │ │ └── releases-and-branches.md │ ├── supported-browsers.md │ └── theming.md ├── jasmine-node.json ├── karma.conf.js ├── lerna.json ├── package.json ├── packages/ │ ├── README.md │ ├── material-components-web/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── index.scss │ │ ├── index.ts │ │ ├── material-components-web.scss │ │ └── package.json │ ├── mdc-animation/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _animation.scss │ │ ├── _functions.import.scss │ │ ├── _functions.scss │ │ ├── _index.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── animationframe.ts │ │ ├── index.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── animationframe.test.ts │ │ │ └── component.test.ts │ │ ├── types.ts │ │ └── util.ts │ ├── mdc-auto-init/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── constants.ts │ │ ├── index.ts │ │ ├── package.json │ │ └── test/ │ │ └── mdc-auto-init.test.ts │ ├── mdc-banner/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _banner-theme.scss │ │ ├── _banner.scss │ │ ├── _index.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── package.json │ │ ├── styles.scss │ │ └── test/ │ │ ├── component.test.ts │ │ └── foundation.test.ts │ ├── mdc-base/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── component.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── observer-foundation.ts │ │ ├── observer-proxy.ts │ │ ├── observer.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── foundation.test.ts │ │ │ ├── observer-foundation.test.ts │ │ │ ├── observer-proxy.test.ts │ │ │ ├── observer-tests.ts │ │ │ └── observer.test.ts │ │ └── types.ts │ ├── mdc-button/ │ │ ├── README.md │ │ ├── _button-base.scss │ │ ├── _button-filled-theme.scss │ │ ├── _button-filled.scss │ │ ├── _button-outlined-theme.scss │ │ ├── _button-outlined.scss │ │ ├── _button-protected-theme.scss │ │ ├── _button-protected.scss │ │ ├── _button-ripple.scss │ │ ├── _button-shared-theme.scss │ │ ├── _button-text-theme.scss │ │ ├── _button-text.scss │ │ ├── _button-theme.scss │ │ ├── _button.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── mdc-button.import.scss │ │ ├── mdc-button.scss │ │ ├── package.json │ │ ├── styles.scss │ │ └── test/ │ │ ├── feature-targeting-any.test.scss │ │ └── mdc-button.scss.test.ts │ ├── mdc-card/ │ │ ├── README.md │ │ ├── _card-shared-theme.scss │ │ ├── _elevated-card-theme.scss │ │ ├── _filled-card-theme.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _outlined-card-theme.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── mdc-card.import.scss │ │ ├── mdc-card.scss │ │ ├── package.json │ │ └── test/ │ │ ├── feature-targeting-any.test.scss │ │ └── mdc-card.scss.test.ts │ ├── mdc-checkbox/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _checkbox-custom-properties.scss │ │ ├── _checkbox-theme.scss │ │ ├── _checkbox.scss │ │ ├── _functions.import.scss │ │ ├── _functions.scss │ │ ├── _index.scss │ │ ├── _keyframes.import.scss │ │ ├── _keyframes.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-checkbox.import.scss │ │ ├── mdc-checkbox.scss │ │ ├── package.json │ │ └── test/ │ │ ├── component.test.ts │ │ ├── feature-targeting-any.test.scss │ │ ├── foundation.test.ts │ │ └── mdc-checkbox.scss.test.ts │ ├── mdc-chips/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _assist-chip-theme.scss │ │ ├── _chip-set-theme.scss │ │ ├── _chip-set.scss │ │ ├── _chip-theme.scss │ │ ├── _chip.scss │ │ ├── _filter-chip-theme.scss │ │ ├── _index.scss │ │ ├── _input-chip-theme.scss │ │ ├── _suggestion-chip-theme.scss │ │ ├── action/ │ │ │ ├── README.md │ │ │ ├── adapter.ts │ │ │ ├── component-ripple.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ ├── primary-foundation.ts │ │ │ ├── test/ │ │ │ │ ├── component-ripple.test.ts │ │ │ │ ├── component.test.ts │ │ │ │ ├── foundation.test.ts │ │ │ │ ├── primary-foundation.test.ts │ │ │ │ └── trailing-foundation.test.ts │ │ │ ├── trailing-foundation.ts │ │ │ └── types.ts │ │ ├── chip/ │ │ │ ├── README.md │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ ├── test/ │ │ │ │ ├── component.test.ts │ │ │ │ └── foundation.test.ts │ │ │ └── types.ts │ │ ├── chip-set/ │ │ │ ├── README.md │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ ├── test/ │ │ │ │ ├── component.test.ts │ │ │ │ └── foundation.test.ts │ │ │ └── types.ts │ │ ├── deprecated/ │ │ │ ├── README.md │ │ │ ├── _index.scss │ │ │ ├── _mixins.import.scss │ │ │ ├── _mixins.scss │ │ │ ├── _variables.import.scss │ │ │ ├── _variables.scss │ │ │ ├── chip/ │ │ │ │ ├── adapter.ts │ │ │ │ ├── component.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── foundation.ts │ │ │ │ ├── index.ts │ │ │ │ ├── mdc-chip.scss │ │ │ │ ├── test/ │ │ │ │ │ ├── component.test.ts │ │ │ │ │ └── foundation.test.ts │ │ │ │ └── types.ts │ │ │ ├── chip-set/ │ │ │ │ ├── adapter.ts │ │ │ │ ├── component.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── foundation.ts │ │ │ │ ├── index.ts │ │ │ │ ├── mdc-chip-set.scss │ │ │ │ └── test/ │ │ │ │ ├── component.test.ts │ │ │ │ └── foundation.test.ts │ │ │ ├── index.ts │ │ │ ├── mdc-chips.import.scss │ │ │ ├── mdc-chips.scss │ │ │ ├── test/ │ │ │ │ ├── feature-targeting-any.test.scss │ │ │ │ └── mdc-chips.scss.test.ts │ │ │ └── trailingaction/ │ │ │ ├── README.md │ │ │ ├── _index.scss │ │ │ ├── _mixins.scss │ │ │ ├── _variables.scss │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ ├── mdc-chip-trailing-action.scss │ │ │ ├── test/ │ │ │ │ ├── component.test.ts │ │ │ │ ├── feature-targeting-any.test.scss │ │ │ │ ├── foundation.test.ts │ │ │ │ └── mdc-chip-trailing-action.scss.test.ts │ │ │ └── types.ts │ │ ├── index.ts │ │ ├── package.json │ │ └── styles.scss │ ├── mdc-circular-progress/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _circular-progress-theme.scss │ │ ├── _circular-progress.scss │ │ ├── _index.scss │ │ ├── _keyframes.import.scss │ │ ├── _keyframes.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-circular-progress.import.scss │ │ ├── mdc-circular-progress.scss │ │ ├── package.json │ │ ├── styles.scss │ │ └── test/ │ │ ├── component.test.ts │ │ ├── feature-targeting-any.test.scss │ │ ├── foundation.test.ts │ │ └── mdc-circular-progress.scss.test.ts │ ├── mdc-data-table/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _data-table-cell-checkbox.scss │ │ ├── _data-table-cell.scss │ │ ├── _data-table-header-cell-checkbox-sorting.scss │ │ ├── _data-table-header-cell.scss │ │ ├── _data-table-pagination.scss │ │ ├── _data-table-progress-indicator.scss │ │ ├── _data-table-theme.scss │ │ ├── _data-table.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-data-table.import.scss │ │ ├── mdc-data-table.scss │ │ ├── package.json │ │ ├── styles.scss │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ ├── sass.test.scss │ │ │ └── styles.scss.test.ts │ │ └── types.ts │ ├── mdc-density/ │ │ ├── README.md │ │ ├── _density.scss │ │ ├── _functions.import.scss │ │ ├── _functions.scss │ │ ├── _index.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ └── package.json │ ├── mdc-dialog/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _dialog-custom-properties.scss │ │ ├── _dialog-theme.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-dialog.import.scss │ │ ├── mdc-dialog.scss │ │ ├── package.json │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ ├── mdc-dialog.scss.test.ts │ │ │ └── util.test.ts │ │ ├── types.ts │ │ └── util.ts │ ├── mdc-dom/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _dom.scss │ │ ├── _index.scss │ │ ├── _mixins.scss │ │ ├── announce.ts │ │ ├── events.ts │ │ ├── focus-trap.ts │ │ ├── index.ts │ │ ├── keyboard.ts │ │ ├── package.json │ │ ├── ponyfill.ts │ │ └── test/ │ │ ├── announce.test.ts │ │ ├── events.test.ts │ │ ├── feature-targeting-any.test.scss │ │ ├── focus-trap.test.ts │ │ ├── keyboard.test.ts │ │ ├── mdc-dom.scss.test.ts │ │ └── ponyfill.test.ts │ ├── mdc-drawer/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── common.import.scss │ │ ├── common.scss │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── dismissible/ │ │ │ ├── foundation.ts │ │ │ ├── mdc-drawer-dismissible.import.scss │ │ │ ├── mdc-drawer-dismissible.scss │ │ │ └── test/ │ │ │ └── foundation.test.ts │ │ ├── index.ts │ │ ├── mdc-drawer.import.scss │ │ ├── mdc-drawer.scss │ │ ├── modal/ │ │ │ ├── foundation.ts │ │ │ ├── mdc-drawer-modal.import.scss │ │ │ ├── mdc-drawer-modal.scss │ │ │ └── test/ │ │ │ └── foundation.test.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── mdc-drawer.scss.test.ts │ │ │ └── util.test.ts │ │ └── util.ts │ ├── mdc-elevation/ │ │ ├── README.md │ │ ├── _elevation-theme.scss │ │ ├── _elevation.scss │ │ ├── _functions.import.scss │ │ ├── _functions.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── mdc-elevation.scss │ │ ├── overlay-styles.scss │ │ ├── package.json │ │ ├── styles.scss │ │ └── test/ │ │ ├── feature-targeting-any.test.scss │ │ └── mdc-elevation.scss.test.ts │ ├── mdc-fab/ │ │ ├── README.md │ │ ├── _extended-fab-theme.scss │ │ ├── _fab-custom-properties.scss │ │ ├── _fab-small-theme.scss │ │ ├── _fab-theme.scss │ │ ├── _fab.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── mdc-fab.import.scss │ │ ├── mdc-fab.scss │ │ ├── package.json │ │ └── test/ │ │ ├── feature-targeting-any.test.scss │ │ └── mdc-fab.scss.test.ts │ ├── mdc-feature-targeting/ │ │ ├── README.md │ │ ├── _feature-targeting.scss │ │ ├── _functions.import.scss │ │ ├── _functions.scss │ │ ├── _index.scss │ │ └── package.json │ ├── mdc-floating-label/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _floating-label-theme.scss │ │ ├── _floating-label.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-floating-label.import.scss │ │ ├── mdc-floating-label.scss │ │ ├── package.json │ │ └── test/ │ │ ├── component.test.ts │ │ ├── feature-targeting-any.test.scss │ │ ├── foundation.test.ts │ │ └── mdc-floating-label.scss.test.ts │ ├── mdc-focus/ │ │ ├── README.md │ │ ├── _focus-ring-inward-theme.scss │ │ ├── _focus-ring-outward-theme.scss │ │ ├── _focus-ring-shared-theme.scss │ │ ├── _focus-ring-test-helper.scss │ │ ├── _focus-ring.scss │ │ ├── package.json │ │ └── test/ │ │ ├── focus-ring-inward-theme.test.scss │ │ └── focus-ring-outward-theme.test.scss │ ├── mdc-focus-ring/ │ │ ├── _focus-ring.scss │ │ └── package.json │ ├── mdc-form-field/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _form-field-theme.scss │ │ ├── _form-field.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-form-field.import.scss │ │ ├── mdc-form-field.scss │ │ ├── package.json │ │ └── test/ │ │ ├── component.test.ts │ │ ├── feature-targeting-any.test.scss │ │ ├── foundation.test.ts │ │ └── mdc-form-field.scss.test.ts │ ├── mdc-icon-button/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _icon-button-all-deprecated.scss │ │ ├── _icon-button-theme.scss │ │ ├── _icon-button.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-icon-button.import.scss │ │ ├── mdc-icon-button.scss │ │ ├── package.json │ │ ├── styles.scss │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ └── mdc-icon-button.scss.test.ts │ │ └── types.ts │ ├── mdc-image-list/ │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── mdc-image-list.scss │ │ ├── package.json │ │ └── test/ │ │ ├── feature-targeting-all.test.scss │ │ ├── feature-targeting-any.test.scss │ │ └── mdc-image-list.scss.test.ts │ ├── mdc-layout-grid/ │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── mdc-layout-grid.import.scss │ │ ├── mdc-layout-grid.scss │ │ └── package.json │ ├── mdc-line-ripple/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _functions.import.scss │ │ ├── _functions.scss │ │ ├── _index.scss │ │ ├── _line-ripple-theme.scss │ │ ├── _line-ripple.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-line-ripple.import.scss │ │ ├── mdc-line-ripple.scss │ │ ├── package.json │ │ └── test/ │ │ ├── component.test.ts │ │ ├── feature-targeting-any.test.scss │ │ ├── foundation.test.ts │ │ └── mdc-line-ripple.scss.test.ts │ ├── mdc-linear-progress/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _keyframes.import.scss │ │ ├── _keyframes.scss │ │ ├── _linear-progress-theme.scss │ │ ├── _linear-progress.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-linear-progress.import.scss │ │ ├── mdc-linear-progress.scss │ │ ├── package.json │ │ ├── styles.scss │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ └── mdc-linear-progress.scss.test.ts │ │ └── types.ts │ ├── mdc-list/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _evolution-mixins.scss │ │ ├── _evolution-variables.scss │ │ ├── _index.scss │ │ ├── _list-theme.scss │ │ ├── _list.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── events.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-list.import.scss │ │ ├── mdc-list.scss │ │ ├── package.json │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ └── mdc-list.scss.test.ts │ │ ├── typeahead.ts │ │ └── types.ts │ ├── mdc-menu/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _menu-custom-properties.scss │ │ ├── _menu-theme.scss │ │ ├── _menu.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-menu.import.scss │ │ ├── mdc-menu.scss │ │ ├── package.json │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ └── mdc-menu.scss.test.ts │ │ └── types.ts │ ├── mdc-menu-surface/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _menusurface-theme.scss │ │ ├── _menusurface.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-menu-surface.import.scss │ │ ├── mdc-menu-surface.scss │ │ ├── package.json │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ └── mdc-menu-surface.scss.test.ts │ │ └── types.ts │ ├── mdc-notched-outline/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _notched-outline-theme.scss │ │ ├── _notched-outline.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-notched-outline.import.scss │ │ ├── mdc-notched-outline.scss │ │ ├── package.json │ │ └── test/ │ │ ├── component.test.ts │ │ ├── feature-targeting-any.test.scss │ │ ├── foundation.test.ts │ │ └── mdc-notched-outline.scss.test.ts │ ├── mdc-progress-indicator/ │ │ ├── README.md │ │ ├── component.ts │ │ ├── foundation.ts │ │ └── package.json │ ├── mdc-radio/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _functions.import.scss │ │ ├── _functions.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _radio-all-deprecated.scss │ │ ├── _radio-theme.scss │ │ ├── _radio.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-radio.import.scss │ │ ├── mdc-radio.scss │ │ ├── package.json │ │ ├── styles.scss │ │ └── test/ │ │ ├── component.test.ts │ │ ├── feature-targeting-any.test.scss │ │ ├── foundation.test.ts │ │ └── mdc-radio.scss.test.ts │ ├── mdc-ripple/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _functions.import.scss │ │ ├── _functions.scss │ │ ├── _index.scss │ │ ├── _keyframes.import.scss │ │ ├── _keyframes.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _ripple-theme.scss │ │ ├── _ripple.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── common.scss │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-ripple.import.scss │ │ ├── mdc-ripple.scss │ │ ├── package.json │ │ ├── styles.scss │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation-activation.test.ts │ │ │ ├── foundation-deactivation.test.ts │ │ │ ├── foundation-general-events.test.ts │ │ │ ├── foundation.test.ts │ │ │ ├── helpers.ts │ │ │ ├── mdc-ripple.scss.test.ts │ │ │ └── util.test.ts │ │ ├── types.ts │ │ └── util.ts │ ├── mdc-rtl/ │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _rtl.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── package.json │ │ └── test/ │ │ ├── disable-include-rtl.scss.test.ts │ │ ├── disable-include-rtl.test.scss │ │ ├── rtl.scss.test.ts │ │ ├── rtl.test.scss │ │ ├── theme.scss.test.ts │ │ └── theme.test.scss │ ├── mdc-segmented-button/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── index.ts │ │ ├── package.json │ │ ├── segment/ │ │ │ ├── _segment-ripple.scss │ │ │ ├── _segment-theme.scss │ │ │ ├── _segment.scss │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ └── test/ │ │ │ ├── component.test.ts │ │ │ ├── constants.ts │ │ │ └── foundation.test.ts │ │ ├── segmented-button/ │ │ │ ├── _segmented-button-theme.scss │ │ │ ├── _segmented-button.scss │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ └── test/ │ │ │ ├── component.test.ts │ │ │ ├── constants.ts │ │ │ └── foundation.test.ts │ │ ├── styles.scss │ │ └── types.ts │ ├── mdc-select/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _select-filled-theme.scss │ │ ├── _select-filled.scss │ │ ├── _select-helper-text-theme.scss │ │ ├── _select-helper-text.scss │ │ ├── _select-icon-theme.scss │ │ ├── _select-icon.scss │ │ ├── _select-outlined-theme.scss │ │ ├── _select-outlined.scss │ │ ├── _select-ripple.scss │ │ ├── _select-shared-theme.scss │ │ ├── _select-theme.scss │ │ ├── _select.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── helper-text/ │ │ │ ├── README.md │ │ │ ├── _index.scss │ │ │ ├── _mixins.import.scss │ │ │ ├── _mixins.scss │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ ├── mdc-select-helper-text.scss │ │ │ └── test/ │ │ │ ├── component.test.ts │ │ │ └── foundation.test.ts │ │ ├── icon/ │ │ │ ├── README.md │ │ │ ├── _index.scss │ │ │ ├── _mixins.import.scss │ │ │ ├── _mixins.scss │ │ │ ├── _variables.import.scss │ │ │ ├── _variables.scss │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ ├── mdc-select-icon.scss │ │ │ └── test/ │ │ │ ├── component.test.ts │ │ │ └── foundation.test.ts │ │ ├── index.ts │ │ ├── mdc-select.import.scss │ │ ├── mdc-select.scss │ │ ├── package.json │ │ ├── styles.scss │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ └── mdc-select.scss.test.ts │ │ └── types.ts │ ├── mdc-shape/ │ │ ├── README.md │ │ ├── _functions.import.scss │ │ ├── _functions.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _shape.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── package.json │ │ └── test/ │ │ ├── feature-targeting-any.test.scss │ │ ├── mdc-shape.scss.test.ts │ │ └── shape.test.scss │ ├── mdc-slider/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _slider-theme.scss │ │ ├── _slider.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── package.json │ │ ├── styles.scss │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ ├── mdc-slider.scss.test.ts │ │ │ └── slider-theme.test.scss │ │ └── types.ts │ ├── mdc-snackbar/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _snackbar-theme.scss │ │ ├── _snackbar.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-snackbar.import.scss │ │ ├── mdc-snackbar.scss │ │ ├── package.json │ │ ├── styles.scss │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ ├── mdc-snackbar.scss.test.ts │ │ │ └── util.test.ts │ │ ├── types.ts │ │ └── util.ts │ ├── mdc-switch/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _switch-theme.scss │ │ ├── _switch.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── deprecated/ │ │ │ ├── _functions.import.scss │ │ │ ├── _functions.scss │ │ │ ├── _index.scss │ │ │ ├── _mixins.import.scss │ │ │ ├── _mixins.scss │ │ │ ├── _variables.import.scss │ │ │ ├── _variables.scss │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ ├── mdc-switch-deprecated.scss │ │ │ ├── mdc-switch.import.scss │ │ │ ├── mdc-switch.scss │ │ │ └── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ └── mdc-switch.scss.test.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── package.json │ │ ├── styles.scss │ │ └── test/ │ │ ├── component.test.ts │ │ └── foundation.test.ts │ ├── mdc-tab/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _tab-theme.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-tab.import.scss │ │ ├── mdc-tab.scss │ │ ├── package.json │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ └── mdc-tab.scss.test.ts │ │ └── types.ts │ ├── mdc-tab-bar/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _tab-bar-theme.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-tab-bar.import.scss │ │ ├── mdc-tab-bar.scss │ │ ├── package.json │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ └── mdc-tab-bar.scss.test.ts │ │ └── types.ts │ ├── mdc-tab-indicator/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _tab-indicator-theme.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── fading-foundation.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-tab-indicator.import.scss │ │ ├── mdc-tab-indicator.scss │ │ ├── package.json │ │ ├── sliding-foundation.ts │ │ └── test/ │ │ ├── component.test.ts │ │ ├── fading-foundation.test.ts │ │ ├── feature-targeting-any.test.scss │ │ ├── mdc-tab-indicator.scss.test.ts │ │ └── sliding-foundation.test.ts │ ├── mdc-tab-scroller/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-tab-scroller.import.scss │ │ ├── mdc-tab-scroller.scss │ │ ├── package.json │ │ ├── rtl-default-scroller.ts │ │ ├── rtl-negative-scroller.ts │ │ ├── rtl-reverse-scroller.ts │ │ ├── rtl-scroller.ts │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ ├── mdc-tab-scroller.scss.test.ts │ │ │ ├── rtl-default-scroller.test.ts │ │ │ ├── rtl-negative-scroller.test.ts │ │ │ ├── rtl-reverse-scroller.test.ts │ │ │ └── util.test.ts │ │ ├── types.ts │ │ └── util.ts │ ├── mdc-textfield/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _filled-text-field-theme.scss │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _outlined-text-field-theme.scss │ │ ├── _text-field-theme.scss │ │ ├── _text-field.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── character-counter/ │ │ │ ├── README.md │ │ │ ├── _index.scss │ │ │ ├── _mixins.import.scss │ │ │ ├── _mixins.scss │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ └── test/ │ │ │ ├── component.test.ts │ │ │ └── foundation.test.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── helper-text/ │ │ │ ├── README.md │ │ │ ├── _index.scss │ │ │ ├── _mixins.import.scss │ │ │ ├── _mixins.scss │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ └── test/ │ │ │ ├── component.test.ts │ │ │ └── foundation.test.ts │ │ ├── icon/ │ │ │ ├── README.md │ │ │ ├── _index.scss │ │ │ ├── _mixins.import.scss │ │ │ ├── _mixins.scss │ │ │ ├── _variables.import.scss │ │ │ ├── _variables.scss │ │ │ ├── adapter.ts │ │ │ ├── component.ts │ │ │ ├── constants.ts │ │ │ ├── foundation.ts │ │ │ ├── index.ts │ │ │ └── test/ │ │ │ ├── component.test.ts │ │ │ └── foundation.test.ts │ │ ├── index.ts │ │ ├── mdc-text-field.import.scss │ │ ├── mdc-text-field.scss │ │ ├── package.json │ │ ├── test/ │ │ │ ├── component.test.ts │ │ │ ├── feature-targeting-any.test.scss │ │ │ ├── foundation.test.ts │ │ │ └── mdc-text-field.scss.test.ts │ │ └── types.ts │ ├── mdc-theme/ │ │ ├── README.md │ │ ├── _all-theme-deprecated.scss │ │ ├── _color-custom-properties.scss │ │ ├── _color-palette.import.scss │ │ ├── _color-palette.scss │ │ ├── _css.scss │ │ ├── _custom-properties.scss │ │ ├── _functions.import.scss │ │ ├── _functions.scss │ │ ├── _gss.scss │ │ ├── _index.scss │ │ ├── _keys.scss │ │ ├── _map-ext.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _replace.scss │ │ ├── _selector-ext.scss │ │ ├── _shadow-dom.scss │ │ ├── _state.scss │ │ ├── _string-ext.scss │ │ ├── _theme-color.scss │ │ ├── _theme.scss │ │ ├── _tools.scss │ │ ├── _validate.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── mdc-theme.scss │ │ ├── package.json │ │ ├── styles.scss │ │ └── test/ │ │ ├── custom-properties.test.scss │ │ ├── feature-targeting-any.test.scss │ │ ├── mdc-theme.scss.test.ts │ │ ├── override.test.scss │ │ ├── replace.test.scss │ │ ├── shadow-dom.test.scss │ │ ├── theme-validate-keys.test.scss │ │ ├── theme.scss.test.ts │ │ ├── theme.test.scss │ │ └── validate.test.scss │ ├── mdc-tokens/ │ │ ├── _resolvers.scss │ │ ├── package.json │ │ ├── v0_132/ │ │ │ ├── _index.scss │ │ │ ├── _md-comp-assist-chip.scss │ │ │ ├── _md-comp-badge.scss │ │ │ ├── _md-comp-banner.scss │ │ │ ├── _md-comp-bottom-app-bar.scss │ │ │ ├── _md-comp-carousel-item.scss │ │ │ ├── _md-comp-checkbox.scss │ │ │ ├── _md-comp-circular-progress-indicator.scss │ │ │ ├── _md-comp-data-table.scss │ │ │ ├── _md-comp-date-input-modal.scss │ │ │ ├── _md-comp-date-picker-docked.scss │ │ │ ├── _md-comp-date-picker-modal.scss │ │ │ ├── _md-comp-dialog.scss │ │ │ ├── _md-comp-divider.scss │ │ │ ├── _md-comp-elevated-button.scss │ │ │ ├── _md-comp-elevated-card.scss │ │ │ ├── _md-comp-extended-fab-branded.scss │ │ │ ├── _md-comp-extended-fab-primary.scss │ │ │ ├── _md-comp-extended-fab-secondary.scss │ │ │ ├── _md-comp-extended-fab-surface.scss │ │ │ ├── _md-comp-extended-fab-tertiary.scss │ │ │ ├── _md-comp-fab-branded-large.scss │ │ │ ├── _md-comp-fab-branded.scss │ │ │ ├── _md-comp-fab-primary-large.scss │ │ │ ├── _md-comp-fab-primary-small.scss │ │ │ ├── _md-comp-fab-primary.scss │ │ │ ├── _md-comp-fab-secondary-large.scss │ │ │ ├── _md-comp-fab-secondary-small.scss │ │ │ ├── _md-comp-fab-secondary.scss │ │ │ ├── _md-comp-fab-surface-large.scss │ │ │ ├── _md-comp-fab-surface-small.scss │ │ │ ├── _md-comp-fab-surface.scss │ │ │ ├── _md-comp-fab-tertiary-large.scss │ │ │ ├── _md-comp-fab-tertiary-small.scss │ │ │ ├── _md-comp-fab-tertiary.scss │ │ │ ├── _md-comp-filled-autocomplete.scss │ │ │ ├── _md-comp-filled-button.scss │ │ │ ├── _md-comp-filled-card.scss │ │ │ ├── _md-comp-filled-icon-button.scss │ │ │ ├── _md-comp-filled-menu-button.scss │ │ │ ├── _md-comp-filled-select.scss │ │ │ ├── _md-comp-filled-text-field.scss │ │ │ ├── _md-comp-filled-tonal-button.scss │ │ │ ├── _md-comp-filled-tonal-icon-button.scss │ │ │ ├── _md-comp-filter-chip.scss │ │ │ ├── _md-comp-full-screen-dialog.scss │ │ │ ├── _md-comp-icon-button.scss │ │ │ ├── _md-comp-input-chip.scss │ │ │ ├── _md-comp-linear-progress-indicator.scss │ │ │ ├── _md-comp-list.scss │ │ │ ├── _md-comp-menu.scss │ │ │ ├── _md-comp-navigation-bar.scss │ │ │ ├── _md-comp-navigation-drawer.scss │ │ │ ├── _md-comp-navigation-rail.scss │ │ │ ├── _md-comp-outlined-autocomplete.scss │ │ │ ├── _md-comp-outlined-button.scss │ │ │ ├── _md-comp-outlined-card.scss │ │ │ ├── _md-comp-outlined-icon-button.scss │ │ │ ├── _md-comp-outlined-menu-button.scss │ │ │ ├── _md-comp-outlined-segmented-button.scss │ │ │ ├── _md-comp-outlined-select.scss │ │ │ ├── _md-comp-outlined-text-field.scss │ │ │ ├── _md-comp-plain-tooltip.scss │ │ │ ├── _md-comp-primary-navigation-tab.scss │ │ │ ├── _md-comp-radio-button.scss │ │ │ ├── _md-comp-rich-tooltip.scss │ │ │ ├── _md-comp-scrim.scss │ │ │ ├── _md-comp-search-bar.scss │ │ │ ├── _md-comp-search-view.scss │ │ │ ├── _md-comp-secondary-navigation-tab.scss │ │ │ ├── _md-comp-sheet-bottom.scss │ │ │ ├── _md-comp-sheet-floating.scss │ │ │ ├── _md-comp-sheet-side.scss │ │ │ ├── _md-comp-slider.scss │ │ │ ├── _md-comp-snackbar.scss │ │ │ ├── _md-comp-standard-menu-button.scss │ │ │ ├── _md-comp-suggestion-chip.scss │ │ │ ├── _md-comp-switch.scss │ │ │ ├── _md-comp-text-button.scss │ │ │ ├── _md-comp-time-input.scss │ │ │ ├── _md-comp-time-picker.scss │ │ │ ├── _md-comp-top-app-bar-large.scss │ │ │ ├── _md-comp-top-app-bar-medium.scss │ │ │ ├── _md-comp-top-app-bar-small-centered.scss │ │ │ ├── _md-comp-top-app-bar-small.scss │ │ │ ├── _md-ref-palette.scss │ │ │ ├── _md-ref-typeface.scss │ │ │ ├── _md-sys-color.scss │ │ │ ├── _md-sys-elevation.scss │ │ │ ├── _md-sys-motion.scss │ │ │ ├── _md-sys-shape.scss │ │ │ ├── _md-sys-state.scss │ │ │ └── _md-sys-typescale.scss │ │ └── v0_161/ │ │ ├── _index.scss │ │ ├── _md-comp-assist-chip.scss │ │ ├── _md-comp-badge.scss │ │ ├── _md-comp-banner.scss │ │ ├── _md-comp-bottom-app-bar.scss │ │ ├── _md-comp-carousel-item.scss │ │ ├── _md-comp-checkbox.scss │ │ ├── _md-comp-circular-progress-indicator.scss │ │ ├── _md-comp-data-table.scss │ │ ├── _md-comp-date-input-modal.scss │ │ ├── _md-comp-date-picker-docked.scss │ │ ├── _md-comp-date-picker-modal.scss │ │ ├── _md-comp-dialog.scss │ │ ├── _md-comp-divider.scss │ │ ├── _md-comp-elevated-button.scss │ │ ├── _md-comp-elevated-card.scss │ │ ├── _md-comp-extended-fab-branded.scss │ │ ├── _md-comp-extended-fab-primary.scss │ │ ├── _md-comp-extended-fab-secondary.scss │ │ ├── _md-comp-extended-fab-surface.scss │ │ ├── _md-comp-extended-fab-tertiary.scss │ │ ├── _md-comp-fab-branded-large.scss │ │ ├── _md-comp-fab-branded.scss │ │ ├── _md-comp-fab-primary-large.scss │ │ ├── _md-comp-fab-primary-small.scss │ │ ├── _md-comp-fab-primary.scss │ │ ├── _md-comp-fab-secondary-large.scss │ │ ├── _md-comp-fab-secondary-small.scss │ │ ├── _md-comp-fab-secondary.scss │ │ ├── _md-comp-fab-surface-large.scss │ │ ├── _md-comp-fab-surface-small.scss │ │ ├── _md-comp-fab-surface.scss │ │ ├── _md-comp-fab-tertiary-large.scss │ │ ├── _md-comp-fab-tertiary-small.scss │ │ ├── _md-comp-fab-tertiary.scss │ │ ├── _md-comp-filled-autocomplete.scss │ │ ├── _md-comp-filled-button.scss │ │ ├── _md-comp-filled-card.scss │ │ ├── _md-comp-filled-icon-button.scss │ │ ├── _md-comp-filled-menu-button.scss │ │ ├── _md-comp-filled-select.scss │ │ ├── _md-comp-filled-text-field.scss │ │ ├── _md-comp-filled-tonal-button.scss │ │ ├── _md-comp-filled-tonal-icon-button.scss │ │ ├── _md-comp-filter-chip.scss │ │ ├── _md-comp-full-screen-dialog.scss │ │ ├── _md-comp-icon-button.scss │ │ ├── _md-comp-input-chip.scss │ │ ├── _md-comp-linear-progress-indicator.scss │ │ ├── _md-comp-list.scss │ │ ├── _md-comp-menu.scss │ │ ├── _md-comp-navigation-bar.scss │ │ ├── _md-comp-navigation-drawer.scss │ │ ├── _md-comp-navigation-rail.scss │ │ ├── _md-comp-outlined-autocomplete.scss │ │ ├── _md-comp-outlined-button.scss │ │ ├── _md-comp-outlined-card.scss │ │ ├── _md-comp-outlined-icon-button.scss │ │ ├── _md-comp-outlined-menu-button.scss │ │ ├── _md-comp-outlined-segmented-button.scss │ │ ├── _md-comp-outlined-select.scss │ │ ├── _md-comp-outlined-text-field.scss │ │ ├── _md-comp-plain-tooltip.scss │ │ ├── _md-comp-primary-navigation-tab.scss │ │ ├── _md-comp-radio-button.scss │ │ ├── _md-comp-rich-tooltip.scss │ │ ├── _md-comp-scrim.scss │ │ ├── _md-comp-search-bar.scss │ │ ├── _md-comp-search-view.scss │ │ ├── _md-comp-secondary-navigation-tab.scss │ │ ├── _md-comp-sheet-bottom.scss │ │ ├── _md-comp-sheet-floating.scss │ │ ├── _md-comp-sheet-side.scss │ │ ├── _md-comp-slider.scss │ │ ├── _md-comp-snackbar.scss │ │ ├── _md-comp-standard-menu-button.scss │ │ ├── _md-comp-suggestion-chip.scss │ │ ├── _md-comp-switch.scss │ │ ├── _md-comp-text-button.scss │ │ ├── _md-comp-time-input.scss │ │ ├── _md-comp-time-picker.scss │ │ ├── _md-comp-top-app-bar-large.scss │ │ ├── _md-comp-top-app-bar-medium.scss │ │ ├── _md-comp-top-app-bar-small-centered.scss │ │ ├── _md-comp-top-app-bar-small.scss │ │ ├── _md-ref-palette.scss │ │ ├── _md-ref-typeface.scss │ │ ├── _md-sys-color.scss │ │ ├── _md-sys-elevation.scss │ │ ├── _md-sys-motion.scss │ │ ├── _md-sys-shape.scss │ │ ├── _md-sys-state.scss │ │ ├── _md-sys-typescale.scss │ │ ├── index.test.scss │ │ └── lib.test.scss │ ├── mdc-tooltip/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _plain-tooltip-theme.scss │ │ ├── _rich-tooltip-theme.scss │ │ ├── _tooltip-theme.scss │ │ ├── _tooltip.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── package.json │ │ ├── styles.scss │ │ └── test/ │ │ ├── component.test.ts │ │ ├── feature-targeting-any.test.scss │ │ ├── foundation.test.ts │ │ └── mdc-tooltip.scss.test.ts │ ├── mdc-top-app-bar/ │ │ ├── .npmignore │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── adapter.ts │ │ ├── component.ts │ │ ├── constants.ts │ │ ├── fixed/ │ │ │ ├── foundation.ts │ │ │ └── test/ │ │ │ └── foundation.test.ts │ │ ├── foundation.ts │ │ ├── index.ts │ │ ├── mdc-top-app-bar.import.scss │ │ ├── mdc-top-app-bar.scss │ │ ├── package.json │ │ ├── short/ │ │ │ ├── foundation.ts │ │ │ └── test/ │ │ │ └── foundation.test.ts │ │ ├── standard/ │ │ │ ├── foundation.ts │ │ │ └── test/ │ │ │ └── foundation.test.ts │ │ └── test/ │ │ ├── component.test.ts │ │ └── foundation.test.ts │ ├── mdc-touch-target/ │ │ ├── README.md │ │ ├── _index.scss │ │ ├── _mixins.import.scss │ │ ├── _mixins.scss │ │ ├── _touch-target.scss │ │ ├── _variables.import.scss │ │ ├── _variables.scss │ │ ├── package.json │ │ ├── styles.scss │ │ └── test/ │ │ ├── feature-targeting-any.test.scss │ │ └── mdc-touch-target.scss.test.ts │ └── mdc-typography/ │ ├── README.md │ ├── _functions.import.scss │ ├── _functions.scss │ ├── _index.scss │ ├── _mixins.import.scss │ ├── _mixins.scss │ ├── _typography.scss │ ├── _variables.import.scss │ ├── _variables.scss │ ├── mdc-typography.import.scss │ ├── mdc-typography.scss │ ├── package.json │ ├── styles.scss │ └── test/ │ ├── feature-targeting-any.test.scss │ └── mdc-typography.scss.test.ts ├── prettier.config.js ├── scripts/ │ ├── build/ │ │ ├── clean.js │ │ ├── environment.js │ │ └── path-resolver.js │ ├── canary-release.sh │ ├── check-pkg-for-release.js │ ├── cp-pkgs.js │ ├── dependency-test.sh │ ├── documentation/ │ │ ├── ts-api-table.hbs │ │ ├── ts-api-tables.hbs │ │ └── tsdoc.ts │ ├── pre-release.sh │ ├── tsconfig.json │ ├── verify-pkg-main.js │ └── webpack/ │ ├── copyright-banner-plugin.js │ ├── css-bundle-factory.js │ ├── css-cleanup-plugin.js │ ├── globber.js │ ├── js-bundle-factory.js │ └── plugin-factory.js ├── testing/ │ ├── dom/ │ │ ├── events.ts │ │ └── index.ts │ ├── featuretargeting/ │ │ ├── index.ts │ │ └── sass-test-compile.helper.ts │ ├── helpers/ │ │ ├── foundation.ts │ │ ├── jasmine.ts │ │ └── setup.ts │ └── ts-node.register.js ├── tsconfig-base.json ├── tsconfig-node.json ├── tsconfig-testing.json ├── tsconfig.json ├── tslint.json └── webpack.config.js
SYMBOL INDEX (2263 symbols across 293 files)
FILE: .sassrc.js
constant CWD (line 7) | const CWD = process.cwd()
FILE: karma.conf.js
constant HEADLESS_LAUNCHERS (line 24) | const HEADLESS_LAUNCHERS = {
constant USE_SAUCE (line 30) | const USE_SAUCE = Boolean(process.env.SAUCE_USERNAME && process.env.SAUC...
constant PROGRESS (line 31) | const PROGRESS = USE_SAUCE ? 'dots' : 'progress';
constant FILES_TO_USE (line 36) | const FILES_TO_USE = [
constant EXCLUDE_FILES (line 43) | const EXCLUDE_FILES = [
FILE: packages/mdc-animation/animationframe.ts
class AnimationFrame (line 28) | class AnimationFrame {
method request (line 36) | request(key: string, callback: FrameRequestCallback) {
method cancel (line 51) | cancel(key: string) {
method cancelAll (line 62) | cancelAll() {
method getQueue (line 74) | getQueue(): string[] {
FILE: packages/mdc-animation/types.ts
type StandardCssPropertyName (line 24) | type StandardCssPropertyName = 'animation'|'transform'|'transition';
type PrefixedCssPropertyName (line 26) | type PrefixedCssPropertyName =
type StandardJsEventType (line 29) | type StandardJsEventType =
type PrefixedJsEventType (line 32) | type PrefixedJsEventType = 'webkitAnimationEnd'|
type CssVendorProperty (line 35) | interface CssVendorProperty {
type JsVendorProperty (line 40) | interface JsVendorProperty {
type CssVendorPropertyMap (line 46) | type CssVendorPropertyMap = {
type JsVendorPropertyMap (line 49) | type JsVendorPropertyMap = {
FILE: packages/mdc-animation/util.ts
function isWindow (line 64) | function isWindow(windowObj: Window): boolean {
function getCorrectPropertyName (line 69) | function getCorrectPropertyName(
function getCorrectEventName (line 81) | function getCorrectEventName(
FILE: packages/mdc-auto-init/index.ts
type MDCAttachable (line 34) | interface MDCAttachable extends Function {
type InternalComponentRegistry (line 38) | interface InternalComponentRegistry {
constant CONSOLE_WARN (line 45) | const CONSOLE_WARN = console.warn.bind(console);
function emit (line 47) | function emit<T extends object>(
function mdcAutoInit (line 67) | function mdcAutoInit(root: ParentNode = document) {
FILE: packages/mdc-auto-init/test/mdc-auto-init.test.ts
class FakeComponent (line 27) | class FakeComponent {
method attachTo (line 28) | static attachTo(node: HTMLElement) {
method constructor (line 32) | constructor(readonly node: HTMLElement) {
class InvalidComponent (line 37) | class InvalidComponent {
method constructor (line 38) | constructor(readonly node: HTMLElement) {
type FakeHTMLElement (line 43) | interface FakeHTMLElement extends HTMLElement {
function getFixture (line 47) | function getFixture() {
function setupTest (line 55) | function setupTest() {
function setupInvalidTest (line 62) | function setupInvalidTest() {
type WindowWithCustomEvent (line 131) | interface WindowWithCustomEvent extends Window {
FILE: packages/mdc-banner/adapter.ts
type MDCBannerAdapter (line 33) | interface MDCBannerAdapter {
FILE: packages/mdc-banner/component.ts
class MDCBanner (line 34) | class MDCBanner extends MDCComponent<MDCBannerFoundation> {
method attachTo (line 35) | static override attachTo(root: HTMLElement) {
method initialize (line 49) | override initialize(
method initialSyncWithDOM (line 71) | override initialSyncWithDOM() {
method destroy (line 77) | override destroy() {
method layout (line 82) | layout() {
method open (line 90) | open() {
method close (line 103) | close(reason: CloseReason) {
method getDefaultFoundation (line 107) | override getDefaultFoundation() {
method isOpen (line 149) | get isOpen(): boolean {
method getText (line 153) | getText(): string {
method setText (line 157) | setText(text: string) {
method getPrimaryActionText (line 161) | getPrimaryActionText(): string {
method setPrimaryActionText (line 165) | setPrimaryActionText(actionButtonText: string) {
method getSecondaryActionText (line 170) | getSecondaryActionText(): string|null {
method setSecondaryActionText (line 175) | setSecondaryActionText(actionButtonText: string) {
method registerContentClickHandler (line 181) | private registerContentClickHandler(handler: SpecificEventListener<'cl...
method deregisterContentClickHandler (line 185) | private deregisterContentClickHandler(handler:
FILE: packages/mdc-banner/constants.ts
type CloseReason (line 57) | enum CloseReason {
type Action (line 70) | enum Action {
type MDCBannerCloseEventDetail (line 77) | interface MDCBannerCloseEventDetail {
type MDCBannerActionEventDetail (line 82) | interface MDCBannerActionEventDetail {
type MDCBannerFocusTrapFactory (line 87) | type MDCBannerFocusTrapFactory = (
FILE: packages/mdc-banner/foundation.ts
class MDCBannerFoundation (line 35) | class MDCBannerFoundation extends MDCFoundation<MDCBannerAdapter> {
method defaultAdapter (line 36) | static override get defaultAdapter(): MDCBannerAdapter {
method constructor (line 60) | constructor(adapter?: Partial<MDCBannerAdapter>) {
method destroy (line 64) | override destroy() {
method open (line 71) | open() {
method close (line 97) | close(reason: CloseReason) {
method isOpen (line 122) | isOpen(): boolean {
method handlePrimaryActionClick (line 126) | handlePrimaryActionClick(disableAutoClose = false) {
method handleSecondaryActionClick (line 134) | handleSecondaryActionClick(disableAutoClose = false) {
method layout (line 143) | layout() {
method handleAnimationTimerEnd (line 148) | private handleAnimationTimerEnd() {
FILE: packages/mdc-banner/test/component.test.ts
function setupTest (line 30) | function setupTest(fixture: HTMLElement) {
FILE: packages/mdc-base/component.ts
function toCamelCase (line 30) | function toCamelCase(str: string) {
class MDCComponent (line 36) | class MDCComponent<FoundationType extends MDCFoundation> {
method attachTo (line 37) | static attachTo(root: HTMLElement): MDCComponent<MDCFoundation<{}>> {
method constructor (line 48) | constructor(
method initialize (line 66) | initialize(..._args: unknown[]) {
method getDefaultFoundation (line 73) | getDefaultFoundation(): FoundationType {
method initialSyncWithDOM (line 82) | initialSyncWithDOM() {
method destroy (line 91) | destroy() {
method listen (line 112) | listen(
method unlisten (line 134) | unlisten(
method emit (line 146) | emit<T extends object>(
method safeSetAttribute (line 174) | protected safeSetAttribute(
FILE: packages/mdc-base/foundation.ts
class MDCFoundation (line 25) | class MDCFoundation<AdapterType extends {} = {}> {
method cssClasses (line 26) | static get cssClasses(): {[key: string]: string} {
method strings (line 33) | static get strings(): {[key: string]: string} {
method numbers (line 40) | static get numbers(): {[key: string]: number} {
method defaultAdapter (line 47) | static get defaultAdapter(): {} {
method constructor (line 54) | constructor(protected adapter: AdapterType = {} as AdapterType) {}
method init (line 56) | init() {
method destroy (line 61) | destroy() {
type MDCFoundationConstructor (line 70) | interface MDCFoundationConstructor<AdapterType extends object = any> {
type MDCFoundationDeprecatedConstructor (line 78) | interface MDCFoundationDeprecatedConstructor<
type MDCFoundationAdapter (line 92) | type MDCFoundationAdapter<T> =
FILE: packages/mdc-base/observer-foundation.ts
class MDCObserverFoundation (line 29) | class MDCObserverFoundation<Adapter> extends MDCFoundation<Adapter> {
method constructor (line 33) | constructor(adapter: Adapter) {
method destroy (line 37) | override destroy() {
method observe (line 54) | protected observe<T extends object>(
method observeProperty (line 91) | protected observeProperty<T extends object, K extends keyof T>(
method setObserversEnabled (line 103) | protected setObserversEnabled(target: object, enabled: boolean) {
method unobserve (line 110) | protected unobserve() {
FILE: packages/mdc-base/observer-proxy.ts
function mdcObserver (line 58) | function mdcObserver<C extends Constructor>(
type TargetObservers (line 109) | interface TargetObservers<T extends object> {
function observeProperty (line 149) | function observeProperty<T extends object, K extends keyof T>(
function installObserver (line 170) | function installObserver<T extends object>(target: T): TargetObservers<T> {
function setObserversEnabled (line 242) | function setObserversEnabled<T extends object>(
FILE: packages/mdc-base/observer.ts
type MDCObserver (line 30) | interface MDCObserver {
type Observer (line 70) | type Observer<T extends object, K extends keyof T = keyof T,
type ObserverRecord (line 81) | type ObserverRecord<T extends object, This = unknown> = {
function mdcObserver (line 116) | function mdcObserver<C extends Constructor>(
type TargetObservers (line 171) | interface TargetObservers<T extends object> {
function observeProperty (line 213) | function observeProperty<T extends object, K extends keyof T>(
function installObserver (line 242) | function installObserver<T extends object, K extends keyof T>(
function getDescriptor (line 339) | function getDescriptor<T extends object, K extends keyof T>(
function setObserversEnabled (line 365) | function setObserversEnabled<T extends object>(
FILE: packages/mdc-base/test/component.test.ts
class FakeComponent (line 28) | class FakeComponent extends MDCComponent<MDCFoundation> {
method getDefaultFoundation (line 33) | override getDefaultFoundation() {
method initialize (line 42) | override initialize(...args: unknown[]) {
method initialSyncWithDOM (line 47) | override initialSyncWithDOM() {
FILE: packages/mdc-base/test/observer-foundation.test.ts
class TestMDCObserverFoundation (line 30) | class TestMDCObserverFoundation extends MDCObserverFoundation<{}> {
method observe (line 31) | override observe<T extends object>(
method setObserversEnabled (line 36) | override setObserversEnabled(target: object, enabled: boolean) {
method unobserve (line 40) | override unobserve() {
FILE: packages/mdc-base/test/observer-tests.ts
function createObserverTests (line 32) | function createObserverTests(
FILE: packages/mdc-base/types.ts
type EventType (line 24) | type EventType = keyof GlobalEventHandlersEventMap;
type SpecificEventListener (line 25) | type SpecificEventListener<K extends EventType> =
type CustomEventListener (line 27) | type CustomEventListener<E extends Event> = (event: E) => void;
type WindowEventType (line 28) | type WindowEventType = keyof WindowEventMap;
type SpecificWindowEventListener (line 29) | type SpecificWindowEventListener<K extends WindowEventType> =
type Constructor (line 40) | type Constructor<T = any> = {
FILE: packages/mdc-checkbox/adapter.ts
type MDCCheckboxAdapter (line 31) | interface MDCCheckboxAdapter {
FILE: packages/mdc-checkbox/component.ts
constant CB_PROTO_PROPS (line 37) | const CB_PROTO_PROPS = ['checked', 'indeterminate'];
type MDCCheckboxFactory (line 40) | type MDCCheckboxFactory =
class MDCCheckbox (line 44) | class MDCCheckbox extends MDCComponent<MDCCheckboxFoundation> implements
method attachTo (line 46) | static override attachTo(root: HTMLElement) {
method ripple (line 50) | get ripple(): MDCRipple {
method checked (line 54) | get checked(): boolean {
method checked (line 58) | set checked(checked: boolean) {
method indeterminate (line 62) | get indeterminate(): boolean {
method indeterminate (line 66) | set indeterminate(indeterminate: boolean) {
method disabled (line 70) | get disabled(): boolean {
method disabled (line 74) | set disabled(disabled: boolean) {
method value (line 78) | get value(): string {
method value (line 82) | set value(value: string) {
method initialize (line 91) | override initialize() {
method initialSyncWithDOM (line 99) | override initialSyncWithDOM() {
method destroy (line 112) | override destroy() {
method getDefaultFoundation (line 121) | override getDefaultFoundation() {
method createRipple (line 150) | private createRipple(): MDCRipple {
method installPropertyChangeHooks (line 170) | private installPropertyChangeHooks() {
method uninstallPropertyChangeHooks (line 198) | private uninstallPropertyChangeHooks() {
method getNativeControl (line 211) | private getNativeControl(): HTMLInputElement {
function validDescriptor (line 223) | function validDescriptor(inputPropDesc: PropertyDescriptor|
FILE: packages/mdc-checkbox/foundation.ts
class MDCCheckboxFoundation (line 30) | class MDCCheckboxFoundation extends MDCFoundation<MDCCheckboxAdapter> {
method cssClasses (line 31) | static override get cssClasses() {
method strings (line 35) | static override get strings() {
method numbers (line 39) | static override get numbers() {
method defaultAdapter (line 43) | static override get defaultAdapter(): MDCCheckboxAdapter {
method constructor (line 63) | constructor(adapter?: Partial<MDCCheckboxAdapter>) {
method init (line 67) | override init() {
method destroy (line 73) | override destroy() {
method setDisabled (line 77) | setDisabled(disabled: boolean) {
method handleAnimationEnd (line 89) | handleAnimationEnd() {
method handleChange (line 105) | handleChange() {
method transitionCheckState (line 109) | private transitionCheckState() {
method determineCheckState (line 152) | private determineCheckState(): string {
method getTransitionAnimationClass (line 166) | private getTransitionAnimationClass(oldState: string, newState: string):
method updateAriaChecked (line 206) | private updateAriaChecked() {
FILE: packages/mdc-checkbox/test/component.test.ts
function getFixture (line 33) | function getFixture() {
function setupTest (line 54) | function setupTest() {
function setupMockFoundationTest (line 62) | function setupMockFoundationTest() {
method set (line 242) | set() {}
FILE: packages/mdc-checkbox/test/foundation.test.ts
constant DESC_UNDEFINED (line 31) | const DESC_UNDEFINED = {
function setupTest (line 38) | function setupTest() {
type CheckboxState (line 45) | interface CheckboxState {
function setupChangeHandlerTest (line 64) | function setupChangeHandlerTest() {
function testChangeHandler (line 82) | function testChangeHandler(
function withMockCheckboxDescriptorReturning (line 141) | function withMockCheckboxDescriptorReturning(
FILE: packages/mdc-chips/action/adapter.ts
type MDCChipActionAdapter (line 33) | interface MDCChipActionAdapter {
FILE: packages/mdc-chips/action/component-ripple.ts
function computePrimaryActionRippleClientRect (line 28) | function computePrimaryActionRippleClientRect(
constant GRAPHIC_SELECTED_WIDTH_STYLE_PROP (line 52) | const GRAPHIC_SELECTED_WIDTH_STYLE_PROP =
FILE: packages/mdc-chips/action/component.ts
type MDCChipActionFactory (line 52) | type MDCChipActionFactory = (
constant ALLOWED_ATTR_PREFIXES (line 57) | const ALLOWED_ATTR_PREFIXES = [
class MDCChipAction (line 69) | class MDCChipAction
method attachTo (line 73) | static override attachTo(root: HTMLElement): MDCChipAction {
method ripple (line 85) | get ripple(): MDCRipple {
method initialize (line 89) | override initialize(
method initialSyncWithDOM (line 103) | override initialSyncWithDOM() {
method destroy (line 116) | override destroy() {
method getDefaultFoundation (line 123) | override getDefaultFoundation() {
method setDisabled (line 157) | setDisabled(isDisabled: boolean) {
method isDisabled (line 161) | isDisabled(): boolean {
method setFocus (line 165) | setFocus(behavior: MDCChipActionFocusBehavior) {
method isFocusable (line 169) | isFocusable() {
method setSelected (line 173) | setSelected(isSelected: boolean) {
method isSelected (line 177) | isSelected(): boolean {
method isSelectable (line 181) | isSelectable(): boolean {
method actionType (line 185) | actionType(): MDCChipActionType {
method computeRippleClientRect (line 189) | private computeRippleClientRect(): DOMRect {
FILE: packages/mdc-chips/action/constants.ts
type MDCChipActionCssClasses (line 28) | enum MDCChipActionCssClasses {
type MDCChipActionInteractionTrigger (line 38) | enum MDCChipActionInteractionTrigger {
type MDCChipActionType (line 50) | enum MDCChipActionType {
type MDCChipActionEvents (line 59) | enum MDCChipActionEvents {
type MDCChipActionFocusBehavior (line 68) | enum MDCChipActionFocusBehavior {
type MDCChipActionAttributes (line 77) | enum MDCChipActionAttributes {
FILE: packages/mdc-chips/action/foundation.ts
method defaultAdapter (line 44) | static override get defaultAdapter(): MDCChipActionAdapter {
method constructor (line 55) | constructor(adapter?: Partial<MDCChipActionAdapter>) {
method handleClick (line 59) | handleClick() {
method handleKeydown (line 66) | handleKeydown(event: KeyboardEvent) {
method setDisabled (line 84) | setDisabled(isDisabled: boolean) {
method isDisabled (line 99) | isDisabled(): boolean {
method setFocus (line 112) | setFocus(behavior: MDCChipActionFocusBehavior) {
method isFocusable (line 138) | isFocusable() {
method setSelected (line 151) | setSelected(isSelected: boolean) {
method isSelected (line 161) | isSelected(): boolean {
method emitInteraction (line 166) | private emitInteraction(trigger: MDCChipActionInteractionTrigger) {
method emitNavigation (line 175) | private emitNavigation(key: string) {
method shouldNotifyInteractionFromKey (line 183) | private shouldNotifyInteractionFromKey(key: string): boolean {
method getTriggerFromKey (line 198) | private getTriggerFromKey(key: string): MDCChipActionInteractionTrigger {
FILE: packages/mdc-chips/action/primary-foundation.ts
class MDCChipPrimaryActionFoundation (line 31) | class MDCChipPrimaryActionFoundation extends MDCChipActionFoundation {
method isSelectable (line 32) | isSelectable() {
method actionType (line 36) | actionType() {
method shouldEmitInteractionOnRemoveKey (line 40) | protected shouldEmitInteractionOnRemoveKey() {
FILE: packages/mdc-chips/action/test/component.test.ts
type TestOptions (line 29) | interface TestOptions {
function getFixture (line 36) | function getFixture({
function setupTest (line 50) | function setupTest(options: TestOptions = {
FILE: packages/mdc-chips/action/test/foundation.test.ts
class SelectableMDCChipActionFoundation (line 28) | class SelectableMDCChipActionFoundation extends MDCChipActionFoundation {
method actionType (line 29) | actionType() {
method isSelectable (line 33) | isSelectable() {
method shouldEmitInteractionOnRemoveKey (line 37) | shouldEmitInteractionOnRemoveKey() {
class NonselectableMDCChipActionFoundation (line 42) | class NonselectableMDCChipActionFoundation extends MDCChipActionFoundati...
method actionType (line 43) | actionType() {
method isSelectable (line 47) | isSelectable() {
method shouldEmitInteractionOnRemoveKey (line 51) | shouldEmitInteractionOnRemoveKey() {
class SelectableDeletableMDCChipActionFoundation (line 56) | class SelectableDeletableMDCChipActionFoundation extends
method actionType (line 58) | actionType() {
method isSelectable (line 62) | isSelectable() {
method shouldEmitInteractionOnRemoveKey (line 66) | shouldEmitInteractionOnRemoveKey() {
FILE: packages/mdc-chips/action/trailing-foundation.ts
class MDCChipTrailingActionFoundation (line 31) | class MDCChipTrailingActionFoundation extends MDCChipActionFoundation {
method isSelectable (line 32) | isSelectable() {
method actionType (line 36) | actionType() {
method shouldEmitInteractionOnRemoveKey (line 40) | protected shouldEmitInteractionOnRemoveKey() {
FILE: packages/mdc-chips/action/types.ts
type MDCChipActionInteractionEventDetail (line 30) | interface MDCChipActionInteractionEventDetail {
type MDCChipActionNavigationEventDetail (line 40) | interface MDCChipActionNavigationEventDetail {
FILE: packages/mdc-chips/chip-set/adapter.ts
type MDCChipSetAdapter (line 36) | interface MDCChipSetAdapter {
FILE: packages/mdc-chips/chip-set/component.ts
class MDCChipSet (line 40) | class MDCChipSet extends MDCComponent<MDCChipSetFoundation> {
method attachTo (line 41) | static override attachTo(root: HTMLElement): MDCChipSet {
method initialize (line 51) | override initialize(
method initialSyncWithDOM (line 62) | override initialSyncWithDOM() {
method destroy (line 80) | override destroy() {
method getDefaultFoundation (line 87) | override getDefaultFoundation() {
method getChipIndexByID (line 147) | getChipIndexByID(chipID: string): number {
method getChipIdAtIndex (line 155) | getChipIdAtIndex(index: number): string {
method getSelectedChipIndexes (line 161) | getSelectedChipIndexes(): ReadonlySet<number> {
method setChipSelected (line 166) | setChipSelected(
method isChipSelected (line 172) | isChipSelected(index: number, action: MDCChipActionType) {
method addChip (line 177) | addChip(index: number) {
method removeChip (line 182) | removeChip(index: number) {
method isIndexValid (line 186) | private isIndexValid(index: number): boolean {
FILE: packages/mdc-chips/chip-set/constants.ts
type MDCChipSetAttributes (line 28) | enum MDCChipSetAttributes {
type MDCChipSetCssClasses (line 35) | enum MDCChipSetCssClasses {
type MDCChipSetEvents (line 42) | enum MDCChipSetEvents {
FILE: packages/mdc-chips/chip-set/foundation.ts
type FocusAction (line 34) | interface FocusAction {
type Operator (line 39) | enum Operator {
class MDCChipSetFoundation (line 47) | class MDCChipSetFoundation extends MDCFoundation<MDCChipSetAdapter> {
method defaultAdapter (line 48) | static override get defaultAdapter(): MDCChipSetAdapter {
method constructor (line 67) | constructor(adapter?: Partial<MDCChipSetAdapter>) {
method handleChipAnimation (line 71) | handleChipAnimation({detail}: ChipAnimationEvent) {
method handleChipInteraction (line 96) | handleChipInteraction({detail}: ChipInteractionEvent) {
method handleChipNavigation (line 117) | handleChipNavigation({detail}: ChipNavigationEvent) {
method getSelectedChipIndexes (line 161) | getSelectedChipIndexes(): ReadonlySet<number> {
method setChipSelected (line 176) | setChipSelected(
method isChipSelected (line 184) | isChipSelected(index: number, action: MDCChipActionType): boolean {
method removeChip (line 189) | removeChip(index: number) {
method addChip (line 201) | addChip(index: number) {
method focusNextChipFrom (line 210) | private focusNextChipFrom(
method focusPrevChipFrom (line 229) | private focusPrevChipFrom(
method getFocusableAction (line 244) | private getFocusableAction(
method getFirstFocusableAction (line 262) | private getFirstFocusableAction(index: number, actions: MDCChipActionT...
method getMatchingFocusableAction (line 277) | private getMatchingFocusableAction(
method focusChip (line 294) | private focusChip(
method supportsMultiSelect (line 310) | private supportsMultiSelect(): boolean {
method setSelection (line 315) | private setSelection(
method removeAfterAnimation (line 342) | private removeAfterAnimation(index: number, chipID: string) {
method focusNearestFocusableAction (line 369) | private focusNearestFocusableAction(index: number) {
method getNearestFocusableAction (line 388) | private getNearestFocusableAction(
FILE: packages/mdc-chips/chip-set/test/component.test.ts
type ActionOptions (line 34) | interface ActionOptions {
type ChipOptions (line 40) | interface ChipOptions {
type TestOptions (line 46) | interface TestOptions {
function actionFixture (line 51) | function actionFixture(
function chipFixture (line 61) | function chipFixture({primary, trailing, id}: ChipOptions): string {
function getFixture (line 69) | function getFixture({chips, isMultiselectable}: TestOptions): HTMLElement {
function setupTest (line 76) | function setupTest(options: TestOptions) {
function setupTestWithMocks (line 82) | function setupTestWithMocks(options: TestOptions) {
function actionChip (line 89) | function actionChip(id: string): ChipOptions {
function disabledActionChip (line 96) | function disabledActionChip(id: string): ChipOptions {
function filterChip (line 103) | function filterChip(id: string, isSelected: boolean): ChipOptions {
function multiActionInputChip (line 110) | function multiActionInputChip(id: string): ChipOptions {
FILE: packages/mdc-chips/chip-set/test/foundation.test.ts
type FakeAction (line 31) | interface FakeAction {
type FakeChip (line 38) | interface FakeChip {
function fakeMultiActionChip (line 43) | function fakeMultiActionChip(id: string): FakeChip {
function fakeSingleActionChip (line 63) | function fakeSingleActionChip(id: string): FakeChip {
function fakeDisabledMultiActionChip (line 83) | function fakeDisabledMultiActionChip(id: string): FakeChip {
function fakeSelectableChip (line 103) | function fakeSelectableChip(id: string, isSelected: boolean = false): Fa...
type TestOptions (line 115) | interface TestOptions {
function setupChipSetTest (line 126) | function setupChipSetTest(options: TestOptions) {
FILE: packages/mdc-chips/chip-set/types.ts
type MDCChipSetInteractionEventDetail (line 29) | interface MDCChipSetInteractionEventDetail {
type MDCChipSetRemovalEventDetail (line 37) | interface MDCChipSetRemovalEventDetail {
type MDCChipSetSelectionEventDetail (line 46) | interface MDCChipSetSelectionEventDetail {
type ChipInteractionEvent (line 55) | type ChipInteractionEvent = CustomEvent<MDCChipInteractionEventDetail>;
type ChipNavigationEvent (line 60) | type ChipNavigationEvent = CustomEvent<MDCChipNavigationEventDetail>;
type ChipAnimationEvent (line 65) | type ChipAnimationEvent = CustomEvent<MDCChipAnimationEventDetail>;
FILE: packages/mdc-chips/chip/adapter.ts
type MDCChipAdapter (line 35) | interface MDCChipAdapter {
FILE: packages/mdc-chips/chip/component.ts
type MDCChipFactory (line 39) | type MDCChipFactory =
class MDCChip (line 45) | class MDCChip extends MDCComponent<MDCChipFoundation> {
method attachTo (line 46) | static override attachTo(root: HTMLElement): MDCChip {
method initialize (line 55) | override initialize(
method initialSyncWithDOM (line 67) | override initialSyncWithDOM() {
method destroy (line 80) | override destroy() {
method getDefaultFoundation (line 87) | override getDefaultFoundation() {
method remove (line 176) | remove() {
method getActions (line 184) | getActions(): MDCChipActionType[] {
method getElementID (line 189) | getElementID(): string {
method isDisabled (line 193) | isDisabled(): boolean {
method setDisabled (line 197) | setDisabled(isDisabled: boolean) {
method isActionFocusable (line 202) | isActionFocusable(action: MDCChipActionType): boolean {
method isActionSelectable (line 207) | isActionSelectable(action: MDCChipActionType): boolean {
method isActionSelected (line 212) | isActionSelected(action: MDCChipActionType): boolean {
method setActionFocus (line 217) | setActionFocus(action: MDCChipActionType, focus: MDCChipActionFocusBeh...
method setActionSelected (line 222) | setActionSelected(action: MDCChipActionType, isSelected: boolean) {
method startAnimation (line 227) | startAnimation(animation: MDCChipAnimation) {
FILE: packages/mdc-chips/chip/constants.ts
type MDCChipCssClasses (line 27) | enum MDCChipCssClasses {
type MDCChipEvents (line 45) | enum MDCChipEvents {
type MDCChipAttributes (line 55) | enum MDCChipAttributes {
type MDCChipAnimation (line 63) | enum MDCChipAnimation {
FILE: packages/mdc-chips/chip/foundation.ts
type Navigation (line 35) | interface Navigation {
type Direction (line 40) | enum Direction {
type AnimationKeys (line 46) | enum AnimationKeys {
class MDCChipFoundation (line 54) | class MDCChipFoundation extends MDCFoundation<MDCChipAdapter> {
method defaultAdapter (line 55) | static override get defaultAdapter(): MDCChipAdapter {
method constructor (line 79) | constructor(adapter?: Partial<MDCChipAdapter>) {
method destroy (line 84) | override destroy() {
method getElementID (line 88) | getElementID() {
method setDisabled (line 92) | setDisabled(isDisabled: boolean) {
method isDisabled (line 105) | isDisabled(): boolean {
method getActions (line 115) | getActions(): MDCChipActionType[] {
method isActionFocusable (line 119) | isActionFocusable(action: MDCChipActionType): boolean {
method isActionSelectable (line 123) | isActionSelectable(action: MDCChipActionType): boolean {
method isActionSelected (line 127) | isActionSelected(action: MDCChipActionType): boolean {
method setActionFocus (line 131) | setActionFocus(action: MDCChipActionType, focus: MDCChipActionFocusBeh...
method setActionSelected (line 135) | setActionSelected(action: MDCChipActionType, isSelected: boolean) {
method startAnimation (line 140) | startAnimation(animation: MDCChipAnimation) {
method handleAnimationEnd (line 152) | handleAnimationEnd(event: AnimationEvent) {
method handleTransitionEnd (line 180) | handleTransitionEnd() {
method handleActionInteraction (line 192) | handleActionInteraction({detail}: ActionInteractionEvent) {
method handleActionNavigation (line 208) | handleActionNavigation({detail}: ActionNavigationEvent) {
method directionFromKey (line 242) | private directionFromKey(key: string, isRTL: boolean): Direction {
method navigateActions (line 256) | private navigateActions(nav: Navigation) {
method shouldRemove (line 263) | private shouldRemove({source, trigger}: MDCChipActionInteractionEventD...
method getRemovedAnnouncement (line 273) | private getRemovedAnnouncement(): string|undefined {
method getAddedAnnouncement (line 279) | private getAddedAnnouncement(): string|undefined {
method animateSelection (line 285) | private animateSelection(isSelected: boolean) {
method resetAnimationStyles (line 295) | private resetAnimationStyles() {
method updateSelectionStyles (line 302) | private updateSelectionStyles(isSelected: boolean) {
FILE: packages/mdc-chips/chip/test/component.test.ts
type ActionOptions (line 30) | interface ActionOptions {
type TestOptions (line 36) | interface TestOptions {
function actionFixture (line 42) | function actionFixture(
function getFixture (line 54) | function getFixture({primary, trailing, id}: TestOptions): HTMLElement {
function setupTest (line 62) | function setupTest(options: TestOptions) {
FILE: packages/mdc-chips/chip/types.ts
type MDCChipInteractionEventDetail (line 30) | interface MDCChipInteractionEventDetail {
type MDCChipNavigationEventDetail (line 40) | interface MDCChipNavigationEventDetail {
type MDCChipAnimationEventDetail (line 50) | interface MDCChipAnimationEventDetail {
type ActionInteractionEvent (line 61) | type ActionInteractionEvent =
type ActionNavigationEvent (line 67) | type ActionNavigationEvent =
FILE: packages/mdc-chips/deprecated/chip-set/adapter.ts
type MDCChipSetAdapter (line 31) | interface MDCChipSetAdapter {
FILE: packages/mdc-chips/deprecated/chip-set/component.ts
class MDCChipSet (line 41) | class MDCChipSet extends MDCComponent<MDCChipSetFoundation> {
method attachTo (line 42) | static override attachTo(root: HTMLElement) {
method chips (line 46) | get chips(): readonly MDCChip[] {
method selectedChipIds (line 53) | get selectedChipIds(): readonly string[] {
method initialize (line 72) | override initialize(chipFactory: MDCChipFactory = (el) => new MDCChip(...
method initialSyncWithDOM (line 77) | override initialSyncWithDOM() {
method destroy (line 102) | override destroy() {
method addChip (line 118) | addChip(chipEl: HTMLElement) {
method getDefaultFoundation (line 123) | override getDefaultFoundation() {
method instantiateChips (line 167) | private instantiateChips(chipFactory: MDCChipFactory): MDCChip[] {
method findChipIndex (line 180) | private findChipIndex(chipId: string): number {
FILE: packages/mdc-chips/deprecated/chip-set/foundation.ts
class MDCChipSetFoundation (line 33) | class MDCChipSetFoundation extends MDCFoundation<MDCChipSetAdapter> {
method strings (line 34) | static override get strings() {
method cssClasses (line 38) | static override get cssClasses() {
method defaultAdapter (line 42) | static override get defaultAdapter(): MDCChipSetAdapter {
method constructor (line 63) | constructor(adapter?: Partial<MDCChipSetAdapter>) {
method getSelectedChipIds (line 70) | getSelectedChipIds(): readonly string[] {
method select (line 79) | select(chipId: string) {
method handleChipInteraction (line 86) | handleChipInteraction({chipId}: MDCChipInteractionEventDetail) {
method handleChipSelection (line 99) | handleChipSelection({chipId, selected, shouldIgnore}:
method handleChipRemoval (line 117) | handleChipRemoval({chipId, removedAnnouncement}: MDCChipRemovalEventDe...
method handleChipNavigation (line 139) | handleChipNavigation({chipId, key, source}: MDCChipNavigationEventDeta...
method focusChipAction (line 177) | private focusChipAction(index: number, key: string, source: EventSourc...
method getDirection (line 201) | private getDirection(key: string): Direction {
method deselectImpl (line 217) | private deselectImpl(chipId: string, shouldNotifyClients = false) {
method deselectAndNotifyClients (line 230) | private deselectAndNotifyClients(chipId: string) {
method toggleSelect (line 237) | private toggleSelect(chipId: string) {
method removeFocusFromChipsExcept (line 245) | private removeFocusFromChipsExcept(index: number) {
method selectAndNotifyClients (line 254) | private selectAndNotifyClients(chipId: string) {
method selectImpl (line 258) | private selectImpl(chipId: string, shouldNotifyClients: boolean) {
FILE: packages/mdc-chips/deprecated/chip-set/test/component.test.ts
class FakeChip (line 51) | class FakeChip {
method constructor (line 60) | constructor(el: HTMLElement, readonly selected = false) {
function setupTest (line 72) | function setupTest() {
function setupMockFoundationTest (line 79) | function setupMockFoundationTest({hasSelection = false} = {}) {
FILE: packages/mdc-chips/deprecated/chip-set/test/foundation.test.ts
function setupChipNavigationTest (line 304) | function setupChipNavigationTest(chipIds: string[], isRTL = false) {
FILE: packages/mdc-chips/deprecated/chip/adapter.ts
type MDCChipAdapter (line 33) | interface MDCChipAdapter {
FILE: packages/mdc-chips/deprecated/chip/component.ts
type MDCChipFactory (line 41) | type MDCChipFactory =
class MDCChip (line 45) | class MDCChip extends MDCComponent<MDCChipFoundation> implements
method selected (line 50) | get selected(): boolean {
method selected (line 57) | set selected(selected: boolean) {
method shouldRemoveOnTrailingIconClick (line 65) | get shouldRemoveOnTrailingIconClick(): boolean {
method shouldRemoveOnTrailingIconClick (line 72) | set shouldRemoveOnTrailingIconClick(shouldRemove: boolean) {
method setShouldFocusPrimaryActionOnClick (line 79) | set setShouldFocusPrimaryActionOnClick(shouldFocus: boolean) {
method ripple (line 83) | get ripple(): MDCRipple {
method id (line 87) | get id(): string {
method attachTo (line 91) | static override attachTo(root: HTMLElement) {
method initialize (line 120) | override initialize(
method initialSyncWithDOM (line 151) | override initialSyncWithDOM() {
method destroy (line 194) | override destroy() {
method beginExit (line 218) | beginExit() {
method getDefaultFoundation (line 222) | override getDefaultFoundation() {
method setSelectedFromChipSet (line 315) | setSelectedFromChipSet(selected: boolean, shouldNotifyClients: boolean) {
method focusPrimaryAction (line 319) | focusPrimaryAction() {
method focusTrailingAction (line 323) | focusTrailingAction() {
method removeFocus (line 327) | removeFocus() {
method remove (line 331) | remove() {
FILE: packages/mdc-chips/deprecated/chip/constants.ts
type Direction (line 24) | enum Direction {
type EventSource (line 29) | enum EventSource {
FILE: packages/mdc-chips/deprecated/chip/foundation.ts
type FocusBehavior (line 40) | enum FocusBehavior {
class MDCChipFoundation (line 46) | class MDCChipFoundation extends MDCFoundation<MDCChipAdapter> {
method strings (line 47) | static override get strings() {
method cssClasses (line 51) | static override get cssClasses() {
method defaultAdapter (line 55) | static override get defaultAdapter(): MDCChipAdapter {
method constructor (line 98) | constructor(adapter?: Partial<MDCChipAdapter>) {
method isSelected (line 102) | isSelected() {
method isEditable (line 106) | isEditable() {
method isEditing (line 110) | isEditing() {
method setSelected (line 114) | setSelected(selected: boolean) {
method setSelectedFromChipSet (line 119) | setSelectedFromChipSet(selected: boolean, shouldNotifyClients: boolean) {
method getShouldRemoveOnTrailingIconClick (line 126) | getShouldRemoveOnTrailingIconClick() {
method setShouldRemoveOnTrailingIconClick (line 130) | setShouldRemoveOnTrailingIconClick(shouldRemove: boolean) {
method setShouldFocusPrimaryActionOnClick (line 134) | setShouldFocusPrimaryActionOnClick(shouldFocus: boolean) {
method getDimensions (line 138) | getDimensions(): DOMRect {
method beginExit (line 171) | beginExit() {
method handleClick (line 175) | handleClick() {
method handleDoubleClick (line 180) | handleDoubleClick() {
method handleTransitionEnd (line 189) | handleTransitionEnd(event: TransitionEvent) {
method handleFocusIn (line 253) | handleFocusIn(event: FocusEvent) {
method handleFocusOut (line 262) | handleFocusOut(event: FocusEvent) {
method handleTrailingActionInteraction (line 279) | handleTrailingActionInteraction() {
method handleKeydown (line 287) | handleKeydown(event: KeyboardEvent) {
method handleTrailingActionNavigation (line 327) | handleTrailingActionNavigation(event: MDCChipTrailingActionNavigationE...
method removeFocus (line 334) | removeFocus() {
method focusPrimaryAction (line 343) | focusPrimaryAction() {
method focusTrailingAction (line 351) | focusTrailingAction() {
method setPrimaryActionFocusable (line 362) | private setPrimaryActionFocusable(focusBehavior: FocusBehavior) {
method getFocusBehavior (line 370) | private getFocusBehavior(): FocusBehavior {
method focusNextAction (line 377) | private focusNextAction(key: string, source: EventSource) {
method getDirection (line 400) | private getDirection(key: string): Direction {
method removeChip (line 413) | private removeChip() {
method shouldStartEditing (line 419) | private shouldStartEditing(event: KeyboardEvent): boolean {
method shouldFinishEditing (line 423) | private shouldFinishEditing(event: KeyboardEvent): boolean {
method shouldNotifyInteraction (line 427) | private shouldNotifyInteraction(event: KeyboardEvent): boolean {
method isDeleteAction (line 431) | private isDeleteAction(event: KeyboardEvent): boolean {
method setSelectedImpl (line 438) | private setSelectedImpl(selected: boolean) {
method notifySelection (line 448) | private notifySelection(selected: boolean) {
method notifyIgnoredSelection (line 452) | private notifyIgnoredSelection(selected: boolean) {
method eventFromPrimaryAction (line 456) | private eventFromPrimaryAction(event: Event) {
method startEditing (line 461) | private startEditing() {
method finishEditing (line 466) | private finishEditing() {
FILE: packages/mdc-chips/deprecated/chip/test/component.test.ts
function getFixture (line 33) | function getFixture() {
function getFixtureWithCheckmark (line 44) | function getFixtureWithCheckmark() {
function addLeadingIcon (line 61) | function addLeadingIcon(root: HTMLElement) {
function addTrailingAction (line 69) | function addTrailingAction(root: HTMLElement, isFocusable?: boolean) {
function addFocusableTrailingAction (line 94) | function addFocusableTrailingAction(root: HTMLElement) {
class FakeRipple (line 98) | class FakeRipple {
method constructor (line 101) | constructor(readonly root: HTMLElement|null) {
function setupTest (line 106) | function setupTest() {
function setupMockRippleTest (line 112) | function setupMockRippleTest() {
function setupMockFoundationTest (line 118) | function setupMockFoundationTest(root = getFixture()) {
FILE: packages/mdc-chips/deprecated/chip/test/foundation.test.ts
function setupFocusOutTest (line 593) | function setupFocusOutTest(
function setupNavigationTest (line 641) | function setupNavigationTest({
function mockKeyboardEvent (line 663) | function mockKeyboardEvent(key: string) {
FILE: packages/mdc-chips/deprecated/chip/types.ts
type MDCChipInteractionEventDetail (line 26) | interface MDCChipInteractionEventDetail {
type MDCChipSelectionEventDetail (line 30) | interface MDCChipSelectionEventDetail extends
type MDCChipRemovalEventDetail (line 36) | interface MDCChipRemovalEventDetail extends
type MDCChipNavigationEventDetail (line 41) | interface MDCChipNavigationEventDetail extends
type MDCChipInteractionEvent (line 49) | interface MDCChipInteractionEvent extends Event {
type MDCChipSelectionEvent (line 53) | interface MDCChipSelectionEvent extends Event {
type MDCChipRemovalEvent (line 57) | interface MDCChipRemovalEvent extends Event {
type MDCChipNavigationEvent (line 61) | interface MDCChipNavigationEvent extends Event {
FILE: packages/mdc-chips/deprecated/trailingaction/adapter.ts
type MDCChipTrailingActionAdapter (line 33) | interface MDCChipTrailingActionAdapter {
FILE: packages/mdc-chips/deprecated/trailingaction/component.ts
type MDCChipTrailingActionFactory (line 39) | type MDCChipTrailingActionFactory =
class MDCChipTrailingAction (line 44) | class MDCChipTrailingAction extends
method ripple (line 47) | get ripple(): MDCRipple {
method attachTo (line 51) | static override attachTo(root: HTMLElement) {
method initialize (line 61) | override initialize(
method initialSyncWithDOM (line 72) | override initialSyncWithDOM() {
method destroy (line 84) | override destroy() {
method getDefaultFoundation (line 91) | override getDefaultFoundation() {
method isNavigable (line 115) | isNavigable() {
method focus (line 119) | focus() {
method removeFocus (line 123) | removeFocus() {
FILE: packages/mdc-chips/deprecated/trailingaction/constants.ts
type InteractionTrigger (line 24) | enum InteractionTrigger {
FILE: packages/mdc-chips/deprecated/trailingaction/foundation.ts
class MDCChipTrailingActionFoundation (line 31) | class MDCChipTrailingActionFoundation extends
method strings (line 33) | static override get strings() {
method defaultAdapter (line 37) | static override get defaultAdapter(): MDCChipTrailingActionAdapter {
method constructor (line 47) | constructor(adapter?: Partial<MDCChipTrailingActionAdapter>) {
method handleClick (line 51) | handleClick(event: MouseEvent) {
method handleKeydown (line 56) | handleKeydown(event: KeyboardEvent) {
method removeFocus (line 71) | removeFocus() {
method focus (line 75) | focus() {
method isNavigable (line 80) | isNavigable() {
method shouldNotifyInteractionFromKey (line 84) | private shouldNotifyInteractionFromKey(key: string): boolean {
method getTriggerFromKey (line 91) | private getTriggerFromKey(key: string): InteractionTrigger {
FILE: packages/mdc-chips/deprecated/trailingaction/test/component.test.ts
class FakeRipple (line 39) | class FakeRipple {
method constructor (line 42) | constructor(readonly root: HTMLElement|null) {
function setupTest (line 47) | function setupTest() {
function setupMockRippleTest (line 53) | function setupMockRippleTest() {
function setupMockFoundationTest (line 60) | function setupMockFoundationTest(root = getFixture()) {
FILE: packages/mdc-chips/deprecated/trailingaction/test/foundation.test.ts
function mockKeyDown (line 141) | function mockKeyDown(key: string) {
function mockClick (line 149) | function mockClick() {
FILE: packages/mdc-chips/deprecated/trailingaction/types.ts
type MDCChipTrailingActionInteractionEventDetail (line 26) | interface MDCChipTrailingActionInteractionEventDetail {
type MDCChipTrailingActionNavigationEventDetail (line 30) | interface MDCChipTrailingActionNavigationEventDetail {
type MDCChipTrailingActionInteractionEvent (line 36) | interface MDCChipTrailingActionInteractionEvent extends Event {
type MDCChipTrailingActionNavigationEvent (line 40) | interface MDCChipTrailingActionNavigationEvent extends Event {
FILE: packages/mdc-circular-progress/adapter.ts
type MDCCircularProgressAdapter (line 31) | interface MDCCircularProgressAdapter {
FILE: packages/mdc-circular-progress/component.ts
class MDCCircularProgress (line 31) | class MDCCircularProgress extends
method initialize (line 36) | override initialize() {
method attachTo (line 41) | static override attachTo(root: HTMLElement) {
method determinate (line 49) | set determinate(value: boolean) {
method progress (line 59) | set progress(value: number) {
method isClosed (line 66) | get isClosed() {
method open (line 73) | open() {
method close (line 80) | close() {
method getDefaultFoundation (line 84) | override getDefaultFoundation() {
FILE: packages/mdc-circular-progress/foundation.ts
class MDCCircularProgressFoundation (line 31) | class MDCCircularProgressFoundation extends
method cssClasses (line 34) | static override get cssClasses() {
method strings (line 38) | static override get strings() {
method defaultAdapter (line 42) | static override get defaultAdapter(): MDCCircularProgressAdapter {
method constructor (line 59) | constructor(adapter?: Partial<MDCCircularProgressAdapter>) {
method init (line 63) | override init() {
method setDeterminate (line 81) | setDeterminate(determinate: boolean) {
method isDeterminate (line 93) | isDeterminate() {
method setProgress (line 103) | setProgress(value: number) {
method getProgress (line 116) | getProgress() {
method open (line 123) | open() {
method close (line 132) | close() {
method isClosed (line 141) | isClosed() {
FILE: packages/mdc-circular-progress/test/component.test.ts
constant RADIUS (line 27) | const RADIUS = 18;
function getFixture (line 28) | function getFixture() {
function setupTest (line 114) | function setupTest() {
FILE: packages/mdc-data-table/adapter.ts
type MDCDataTableAdapter (line 35) | interface MDCDataTableAdapter {
FILE: packages/mdc-data-table/component.ts
class MDCDataTable (line 36) | class MDCDataTable extends MDCComponent<MDCDataTableFoundation> {
method attachTo (line 37) | static override attachTo(root: HTMLElement): MDCDataTable {
method initialize (line 54) | override initialize(
method initialSyncWithDOM (line 60) | override initialSyncWithDOM() {
method layout (line 104) | layout() {
method getHeaderCells (line 111) | getHeaderCells() {
method getRows (line 119) | getRows(): HTMLElement[] {
method getSelectedRowIds (line 126) | getSelectedRowIds(): Array<string|null> {
method setSelectedRowIds (line 134) | setSelectedRowIds(rowIds: string[]) {
method showProgress (line 141) | showProgress() {
method hideProgress (line 149) | hideProgress() {
method destroy (line 154) | override destroy() {
method getDefaultFoundation (line 179) | override getDefaultFoundation() {
method getRowByIndex (line 335) | private getRowByIndex(index: number): Element {
method getRowIdByIndex (line 339) | private getRowIdByIndex(index: number): string|null {
method handleHeaderRowClick (line 343) | private handleHeaderRowClick(event: Event): void {
method getSortStatusMessageBySortValue (line 361) | private getSortStatusMessageBySortValue(sortValue: SortValue): string {
method getLinearProgressElement (line 372) | private getLinearProgressElement(): HTMLElement {
method getLinearProgress (line 382) | private getLinearProgress(): MDCLinearProgress {
method getRowIdByRowElement (line 391) | private getRowIdByRowElement(rowElement: HTMLElement): string|null {
FILE: packages/mdc-data-table/constants.ts
type SortValue (line 101) | enum SortValue {
FILE: packages/mdc-data-table/foundation.ts
class MDCDataTableFoundation (line 34) | class MDCDataTableFoundation extends MDCFoundation<MDCDataTableAdapter> {
method defaultAdapter (line 35) | static override get defaultAdapter(): MDCDataTableAdapter {
method constructor (line 73) | constructor(adapter?: Partial<MDCDataTableAdapter>) {
method layout (line 82) | layout() {
method layoutAsync (line 96) | async layoutAsync(): Promise<void> {
method getRows (line 108) | getRows(): HTMLElement[] {
method getHeaderCells (line 115) | getHeaderCells(): Element[] {
method setSelectedRowIds (line 123) | setSelectedRowIds(rowIds: string[]) {
method getRowIds (line 142) | getRowIds(): Array<string|null> {
method getSelectedRowIds (line 154) | getSelectedRowIds(): Array<string|null> {
method handleHeaderRowCheckboxChange (line 168) | handleHeaderRowCheckboxChange() {
method handleRowCheckboxChange (line 186) | handleRowCheckboxChange(event: Event) {
method handleSortAction (line 206) | handleSortAction(eventData: SortActionEventData) {
method handleRowClick (line 266) | handleRowClick({rowId, row, altKey, ctrlKey, metaKey, shiftKey}:
method showProgress (line 282) | showProgress() {
method hideProgress (line 299) | hideProgress() {
method setHeaderRowCheckboxState (line 306) | private setHeaderRowCheckboxState() {
method selectRowAtIndex (line 323) | private selectRowAtIndex(rowIndex: number, selected: boolean) {
FILE: packages/mdc-data-table/test/component.test.ts
type ClassMap (line 29) | interface ClassMap {
function classMap (line 33) | function classMap(classesMap: ClassMap) {
type CheckboxTemplateProps (line 41) | interface CheckboxTemplateProps {
function mdcCheckboxTemplate (line 46) | function mdcCheckboxTemplate(props: Partial<CheckboxTemplateProps>) {
type IconButtonProps (line 60) | interface IconButtonProps {
function mdcIconButtonTemplate (line 65) | function mdcIconButtonTemplate(props: IconButtonProps) {
type DataTableHeaderCellTemplateProps (line 75) | interface DataTableHeaderCellTemplateProps {
function mdcDataTableHeaderCellTemplate (line 82) | function mdcDataTableHeaderCellTemplate(
type DataTableCellTemplateProps (line 108) | interface DataTableCellTemplateProps {
function mdcDataTableCellTemplate (line 113) | function mdcDataTableCellTemplate(props: Partial<DataTableCellTemplatePr...
type DataTableRowTemplateProps (line 122) | interface DataTableRowTemplateProps {
function mdcDataTableRowTemplate (line 129) | function mdcDataTableRowTemplate(props: DataTableRowTemplateProps) {
function progressIndicatorTemplate (line 153) | function progressIndicatorTemplate() {
type DataTableHeader (line 173) | interface DataTableHeader {
type DataTableData (line 179) | interface DataTableData {
type RenderComponentProps (line 218) | interface RenderComponentProps {
function renderComponent (line 224) | function renderComponent(props: RenderComponentProps): HTMLElement {
type SetupProps (line 278) | interface SetupProps {
function setupTest (line 283) | function setupTest(props: SetupProps = {}) {
function destroyProgress (line 817) | function destroyProgress(component: MDCDataTable, root: HTMLElement) {
FILE: packages/mdc-data-table/test/foundation.test.ts
function setupTest (line 68) | function setupTest() {
FILE: packages/mdc-data-table/types.ts
type MDCDataTableRowSelectionChangedEventDetail (line 26) | interface MDCDataTableRowSelectionChangedEventDetail {
type SortActionEventData (line 37) | interface SortActionEventData {
type SortActionEventDetail (line 47) | interface SortActionEventDetail {
type RowClickEventData (line 57) | interface RowClickEventData {
type RowClickEventDetail (line 67) | interface RowClickEventDetail extends RowClickEventData {}
type ProgressIndicatorStyles (line 73) | interface ProgressIndicatorStyles {
FILE: packages/mdc-dialog/adapter.ts
type MDCDialogAdapter (line 33) | interface MDCDialogAdapter {
FILE: packages/mdc-dialog/component.ts
class MDCDialog (line 39) | class MDCDialog extends MDCComponent<MDCDialogFoundation> {
method isOpen (line 40) | get isOpen() {
method escapeKeyAction (line 44) | get escapeKeyAction() {
method escapeKeyAction (line 48) | set escapeKeyAction(action) {
method scrimClickAction (line 52) | get scrimClickAction() {
method scrimClickAction (line 56) | set scrimClickAction(action) {
method autoStackButtons (line 60) | get autoStackButtons() {
method autoStackButtons (line 64) | set autoStackButtons(autoStack) {
method attachTo (line 68) | static override attachTo(root: HTMLElement) {
method initialize (line 91) | override initialize(
method initialSyncWithDOM (line 116) | override initialSyncWithDOM() {
method destroy (line 140) | override destroy() {
method layout (line 153) | layout() {
method open (line 157) | open() {
method close (line 161) | close(action = '') {
method getDefaultFoundation (line 165) | override getDefaultFoundation() {
method getInitialFocusEl (line 253) | private getInitialFocusEl(): HTMLElement|null {
FILE: packages/mdc-dialog/foundation.ts
type AnimationKeys (line 32) | enum AnimationKeys {
class MDCDialogFoundation (line 38) | class MDCDialogFoundation extends MDCFoundation<MDCDialogAdapter> {
method cssClasses (line 39) | static override get cssClasses() {
method strings (line 43) | static override get strings() {
method numbers (line 47) | static override get numbers() {
method defaultAdapter (line 51) | static override get defaultAdapter(): MDCDialogAdapter {
method constructor (line 96) | constructor(adapter?: Partial<MDCDialogAdapter>) {
method init (line 113) | override init() {
method destroy (line 120) | override destroy() {
method open (line 138) | open(dialogOptions?: DialogConfigOptions) {
method close (line 175) | close(action = '') {
method showSurfaceScrim (line 211) | showSurfaceScrim() {
method hideSurfaceScrim (line 222) | hideSurfaceScrim() {
method handleSurfaceScrimTransitionEnd (line 231) | handleSurfaceScrimTransitionEnd() {
method isOpen (line 236) | isOpen() {
method getEscapeKeyAction (line 240) | getEscapeKeyAction(): string {
method setEscapeKeyAction (line 244) | setEscapeKeyAction(action: string) {
method getScrimClickAction (line 248) | getScrimClickAction(): string {
method setScrimClickAction (line 252) | setScrimClickAction(action: string) {
method getAutoStackButtons (line 256) | getAutoStackButtons(): boolean {
method setAutoStackButtons (line 260) | setAutoStackButtons(autoStack: boolean) {
method getSuppressDefaultPressSelector (line 264) | getSuppressDefaultPressSelector(): string {
method setSuppressDefaultPressSelector (line 268) | setSuppressDefaultPressSelector(selector: string) {
method layout (line 272) | layout() {
method handleClick (line 279) | handleClick(event: MouseEvent) {
method handleKeydown (line 294) | handleKeydown(event: KeyboardEvent) {
method handleDocumentKeydown (line 330) | handleDocumentKeydown(event: KeyboardEvent) {
method handleScrollEvent (line 342) | private handleScrollEvent() {
method layoutInternal (line 351) | private layoutInternal() {
method handleAnimationTimerEnd (line 358) | private handleAnimationTimerEnd() {
method runNextAnimationFrame (line 368) | private runNextAnimationFrame(callback: () => void) {
method detectStackedButtons (line 377) | private detectStackedButtons() {
method toggleScrollableClasses (line 393) | private toggleScrollableClasses() {
method toggleScrollDividerHeader (line 409) | private toggleScrollDividerHeader() {
method toggleScrollDividerFooter (line 417) | private toggleScrollDividerFooter() {
FILE: packages/mdc-dialog/test/component.test.ts
constant DEFAULT_CONTENT (line 32) | const DEFAULT_CONTENT = html`Let Google help apps determine location.`;
function getFixture (line 34) | function getFixture(content: ReturnType<typeof html> = DEFAULT_CONTENT) {
function setupTest (line 70) | function setupTest(fixture = getFixture()) {
function setupTestWithMocks (line 94) | function setupTestWithMocks() {
FILE: packages/mdc-dialog/test/foundation.test.ts
constant ENTER_EVENTS (line 29) | const ENTER_EVENTS = [
function setupTest (line 78) | function setupTest(dialogOptions: {isFullscreen?: boolean} = {}) {
FILE: packages/mdc-dialog/types.ts
type MDCDialogCloseEventDetail (line 24) | interface MDCDialogCloseEventDetail {
type MDCDialogCloseEvent (line 30) | interface MDCDialogCloseEvent extends Event {
type DialogConfigOptions (line 38) | interface DialogConfigOptions {
FILE: packages/mdc-dialog/util.ts
type MDCDialogFocusTrapFactory (line 26) | type MDCDialogFocusTrapFactory = (
function createFocusTrapInstance (line 31) | function createFocusTrapInstance(
function isScrollable (line 39) | function isScrollable(el: HTMLElement|null): boolean {
function isScrollAtTop (line 49) | function isScrollAtTop(el: HTMLElement|null) {
function isScrollAtBottom (line 59) | function isScrollAtBottom(el: HTMLElement|null) {
function areTopsMisaligned (line 64) | function areTopsMisaligned(els: HTMLElement[]): boolean {
FILE: packages/mdc-dom/announce.ts
type AnnouncerPriority (line 27) | enum AnnouncerPriority {
type AnnouncerMessageOptions (line 35) | interface AnnouncerMessageOptions {
constant DATA_MDC_DOM_ANNOUNCE (line 43) | const DATA_MDC_DOM_ANNOUNCE = 'data-mdc-dom-announce';
function announce (line 48) | function announce(message: string, options?: AnnouncerMessageOptions) {
class Announcer (line 52) | class Announcer {
method getInstance (line 56) | static getInstance(): Announcer {
method constructor (line 65) | private constructor() {
method say (line 69) | say(message: string, options?: AnnouncerMessageOptions) {
method getLiveRegion (line 88) | private getLiveRegion(priority: AnnouncerPriority, ownerDocument: Docu...
method createLiveRegion (line 106) | private createLiveRegion(
FILE: packages/mdc-dom/events.ts
function applyPassive (line 28) | function applyPassive(globalObj: Window = window): boolean|
function supportsPassiveOption (line 35) | function supportsPassiveOption(globalObj: Window = window): boolean {
FILE: packages/mdc-dom/focus-trap.ts
constant FOCUS_SENTINEL_CLASS (line 24) | const FOCUS_SENTINEL_CLASS = 'mdc-dom-focus-sentinel';
class FocusTrap (line 33) | class FocusTrap {
method constructor (line 37) | constructor(
method trapFocus (line 45) | trapFocus() {
method releaseFocus (line 66) | releaseFocus() {
method wrapTabFocus (line 86) | private wrapTabFocus(el: HTMLElement) {
method focusInitialElement (line 111) | private focusInitialElement(
method getFocusableElements (line 120) | private getFocusableElements(root: HTMLElement): HTMLElement[] {
method createSentinel (line 142) | private createSentinel() {
type FocusOptions (line 153) | interface FocusOptions {
FILE: packages/mdc-dom/keyboard.ts
constant KEY (line 27) | const KEY = {
constant KEY_CODE (line 63) | const KEY_CODE = {
function normalizeKey (line 113) | function normalizeKey(event: KeyboardEvent): string {
function isNavigationEvent (line 131) | function isNavigationEvent(event: KeyboardEvent): boolean {
FILE: packages/mdc-dom/ponyfill.ts
function closest (line 30) | function closest(element: Element, selector: string): Element|null {
function matches (line 46) | function matches(element: Element, selector: string): boolean {
function estimateScrollWidth (line 60) | function estimateScrollWidth(element: Element): number {
FILE: packages/mdc-dom/test/announce.test.ts
constant LIVE_REGION_SELECTOR (line 27) | const LIVE_REGION_SELECTOR = `[${DATA_MDC_DOM_ANNOUNCE}="true"]`;
FILE: packages/mdc-dom/test/events.test.ts
method addEventListener (line 31) | addEventListener(
method removeEventListener (line 37) | removeEventListener() {}
method addEventListener (line 49) | addEventListener() {
method removeEventListener (line 52) | removeEventListener() {}
FILE: packages/mdc-dom/test/focus-trap.test.ts
constant FOCUS_SENTINEL_CLASS (line 28) | const FOCUS_SENTINEL_CLASS = 'mdc-dom-focus-sentinel';
function getFixture (line 30) | function getFixture() {
function setUp (line 63) | function setUp() {
function expectFocusTrapped (line 185) | function expectFocusTrapped(
FILE: packages/mdc-drawer/adapter.ts
type MDCDrawerAdapter (line 31) | interface MDCDrawerAdapter {
FILE: packages/mdc-drawer/component.ts
class MDCDrawer (line 41) | class MDCDrawer extends MDCComponent<MDCDismissibleDrawerFoundation> {
method attachTo (line 42) | static override attachTo(root: HTMLElement): MDCDrawer {
method open (line 50) | get open(): boolean {
method open (line 57) | set open(isOpen: boolean) {
method list (line 81) | get list(): MDCList|undefined {
method initialize (line 85) | override initialize(
method initialSyncWithDOM (line 97) | override initialSyncWithDOM() {
method destroy (line 123) | override destroy() {
method getDefaultFoundation (line 140) | override getDefaultFoundation() {
FILE: packages/mdc-drawer/dismissible/foundation.ts
class MDCDismissibleDrawerFoundation (line 30) | class MDCDismissibleDrawerFoundation extends
method strings (line 32) | static override get strings() {
method cssClasses (line 36) | static override get cssClasses() {
method defaultAdapter (line 40) | static override get defaultAdapter(): MDCDrawerAdapter {
method constructor (line 61) | constructor(adapter?: Partial<MDCDrawerAdapter>) {
method destroy (line 65) | override destroy() {
method open (line 77) | open() {
method close (line 97) | close() {
method isOpen (line 109) | isOpen(): boolean {
method isOpening (line 117) | isOpening(): boolean {
method isClosing (line 126) | isClosing(): boolean {
method handleKeydown (line 133) | handleKeydown(event: KeyboardEvent) {
method handleTransitionEnd (line 144) | handleTransitionEnd(event: TransitionEvent) {
method opened (line 174) | protected opened() {} // tslint:disable-line:no-empty
method closed (line 179) | protected closed() {} // tslint:disable-line:no-empty
method runNextAnimationFrame (line 185) | private runNextAnimationFrame(callback: () => void) {
method isElement (line 194) | private isElement(element: unknown): element is Element {
FILE: packages/mdc-drawer/modal/foundation.ts
class MDCModalDrawerFoundation (line 27) | class MDCModalDrawerFoundation extends MDCDismissibleDrawerFoundation {
method handleScrimClick (line 31) | handleScrimClick() {
method opened (line 38) | protected override opened() {
method closed (line 45) | protected override closed() {
FILE: packages/mdc-drawer/modal/test/foundation.test.ts
class MDCModalDrawerFoundationTest (line 28) | class MDCModalDrawerFoundationTest extends MDCModalDrawerFoundation {
method opened (line 29) | override opened() {
method closed (line 33) | override closed() {
FILE: packages/mdc-drawer/test/component.test.ts
type DrawerSetupOptions (line 34) | interface DrawerSetupOptions {
function getDrawerFixture (line 46) | function getDrawerFixture(options: Partial<DrawerSetupOptions>): HTMLEle...
function setupTest (line 85) | function setupTest(options: Partial<DrawerSetupOptions> = defaultSetupOp...
function setupTestWithMocks (line 92) | function setupTestWithMocks(
FILE: packages/mdc-drawer/test/util.test.ts
method trapFocus (line 36) | trapFocus() {}
method releaseFocus (line 37) | releaseFocus() {}
FILE: packages/mdc-drawer/util.ts
type MDCDrawerFocusTrapFactory (line 27) | type MDCDrawerFocusTrapFactory = (
function createFocusTrapInstance (line 32) | function createFocusTrapInstance(
FILE: packages/mdc-floating-label/adapter.ts
type MDCFloatingLabelAdapter (line 33) | interface MDCFloatingLabelAdapter {
FILE: packages/mdc-floating-label/component.ts
type MDCFloatingLabelFactory (line 31) | type MDCFloatingLabelFactory =
class MDCFloatingLabel (line 36) | class MDCFloatingLabel extends MDCComponent<MDCFloatingLabelFoundation> {
method attachTo (line 37) | static override attachTo(root: HTMLElement): MDCFloatingLabel {
method shake (line 46) | shake(shouldShake: boolean) {
method float (line 55) | float(shouldFloat: boolean) {
method setRequired (line 64) | setRequired(isRequired: boolean) {
method getWidth (line 68) | getWidth(): number {
method getDefaultFoundation (line 72) | override getDefaultFoundation() {
FILE: packages/mdc-floating-label/foundation.ts
class MDCFloatingLabelFoundation (line 31) | class MDCFloatingLabelFoundation extends
method cssClasses (line 33) | static override get cssClasses() {
method defaultAdapter (line 41) | static override get defaultAdapter(): MDCFloatingLabelAdapter {
method constructor (line 57) | constructor(adapter?: Partial<MDCFloatingLabelAdapter>) {
method init (line 65) | override init() {
method destroy (line 70) | override destroy() {
method getWidth (line 78) | getWidth(): number {
method shake (line 87) | shake(shouldShake: boolean) {
method float (line 101) | float(shouldFloat: boolean) {
method setRequired (line 117) | setRequired(isRequired: boolean) {
method setHideRequiredMarker (line 126) | setHideRequiredMarker(hideRequiredMarker: boolean) {
method getHideRequiredMarker (line 135) | getHideRequiredMarker(): boolean {
method handleShakeAnimationEnd (line 140) | private handleShakeAnimationEnd() {
FILE: packages/mdc-floating-label/test/component.test.ts
function setupTest (line 41) | function setupTest() {
FILE: packages/mdc-form-field/adapter.ts
type MDCFormFieldAdapter (line 33) | interface MDCFormFieldAdapter {
FILE: packages/mdc-form-field/component.ts
type MDCFormFieldInput (line 31) | interface MDCFormFieldInput {
class MDCFormField (line 36) | class MDCFormField extends MDCComponent<MDCFormFieldFoundation> {
method attachTo (line 37) | static override attachTo(root: HTMLElement) {
method labelEl (line 43) | private labelEl() {
method getDefaultFoundation (line 48) | override getDefaultFoundation() {
FILE: packages/mdc-form-field/foundation.ts
class MDCFormFieldFoundation (line 30) | class MDCFormFieldFoundation extends MDCFoundation<MDCFormFieldAdapter> {
method cssClasses (line 31) | static override get cssClasses() {
method strings (line 35) | static override get strings() {
method defaultAdapter (line 39) | static override get defaultAdapter(): MDCFormFieldAdapter {
method constructor (line 50) | constructor(adapter?: Partial<MDCFormFieldAdapter>) {
method init (line 58) | override init() {
method destroy (line 62) | override destroy() {
method handleClick (line 66) | private handleClick() {
FILE: packages/mdc-form-field/test/component.test.ts
function getFixture (line 28) | function getFixture() {
function setupTest (line 37) | function setupTest() {
FILE: packages/mdc-form-field/test/foundation.test.ts
function setupTest (line 50) | function setupTest() {
FILE: packages/mdc-icon-button/adapter.ts
type MDCIconButtonToggleAdapter (line 33) | interface MDCIconButtonToggleAdapter {
FILE: packages/mdc-icon-button/component.ts
class MDCIconButtonToggle (line 35) | class MDCIconButtonToggle extends
method attachTo (line 37) | static override attachTo(root: HTMLElement) {
method initialSyncWithDOM (line 45) | override initialSyncWithDOM() {
method destroy (line 52) | override destroy() {
method getDefaultFoundation (line 58) | override getDefaultFoundation() {
method ripple (line 82) | get ripple(): MDCRipple {
method on (line 86) | get on(): boolean {
method on (line 90) | set on(isOn: boolean) {
method createRipple (line 94) | private createRipple(): MDCRipple {
FILE: packages/mdc-icon-button/foundation.ts
class MDCIconButtonToggleFoundation (line 30) | class MDCIconButtonToggleFoundation extends
method cssClasses (line 38) | static override get cssClasses() {
method strings (line 42) | static override get strings() {
method defaultAdapter (line 46) | static override get defaultAdapter(): MDCIconButtonToggleAdapter {
method constructor (line 57) | constructor(adapter?: Partial<MDCIconButtonToggleAdapter>) {
method init (line 61) | override init() {
method handleClick (line 77) | handleClick() {
method isOn (line 82) | isOn(): boolean {
method toggle (line 86) | toggle(isOn: boolean = !this.isOn()) {
FILE: packages/mdc-icon-button/test/component.test.ts
function getFixture (line 33) | function getFixture() {
function setupTest (line 39) | function setupTest({createMockFoundation = false} = {}) {
FILE: packages/mdc-icon-button/types.ts
type MDCIconButtonToggleEventDetail (line 24) | interface MDCIconButtonToggleEventDetail {
FILE: packages/mdc-line-ripple/adapter.ts
type MDCLineRippleAdapter (line 33) | interface MDCLineRippleAdapter {
FILE: packages/mdc-line-ripple/component.ts
type MDCLineRippleFactory (line 30) | type MDCLineRippleFactory =
class MDCLineRipple (line 34) | class MDCLineRipple extends MDCComponent<MDCLineRippleFoundation> {
method attachTo (line 35) | static override attachTo(root: HTMLElement): MDCLineRipple {
method activate (line 42) | activate() {
method deactivate (line 49) | deactivate() {
method setRippleCenter (line 57) | setRippleCenter(xCoordinate: number) {
method getDefaultFoundation (line 61) | override getDefaultFoundation() {
FILE: packages/mdc-line-ripple/foundation.ts
class MDCLineRippleFoundation (line 31) | class MDCLineRippleFoundation extends
method cssClasses (line 33) | static override get cssClasses() {
method defaultAdapter (line 41) | static override get defaultAdapter(): MDCLineRippleAdapter {
method constructor (line 56) | constructor(adapter?: Partial<MDCLineRippleAdapter>) {
method init (line 64) | override init() {
method destroy (line 69) | override destroy() {
method activate (line 74) | activate() {
method setRippleCenter (line 79) | setRippleCenter(xCoordinate: number) {
method deactivate (line 83) | deactivate() {
method handleTransitionEnd (line 87) | handleTransitionEnd(event: TransitionEvent) {
FILE: packages/mdc-line-ripple/test/component.test.ts
function setupTest (line 41) | function setupTest() {
function setupMockFoundationTest (line 99) | function setupMockFoundationTest(root = getFixture()) {
FILE: packages/mdc-linear-progress/adapter.ts
type MDCLinearProgressAdapter (line 34) | interface MDCLinearProgressAdapter {
FILE: packages/mdc-linear-progress/component.ts
class MDCLinearProgress (line 32) | class MDCLinearProgress extends
method attachTo (line 34) | static override attachTo(root: HTMLElement) {
method determinate (line 38) | set determinate(value: boolean) {
method progress (line 42) | set progress(value: number) {
method buffer (line 46) | set buffer(value: number) {
method open (line 50) | open() {
method close (line 54) | close() {
method initialSyncWithDOM (line 58) | override initialSyncWithDOM() {
method getDefaultFoundation (line 64) | override getDefaultFoundation() {
FILE: packages/mdc-linear-progress/foundation.ts
class MDCLinearProgressFoundation (line 32) | class MDCLinearProgressFoundation extends
method cssClasses (line 35) | static override get cssClasses() {
method strings (line 39) | static override get strings() {
method defaultAdapter (line 43) | static override get defaultAdapter(): MDCLinearProgressAdapter {
method constructor (line 64) | constructor(adapter?: Partial<MDCLinearProgressAdapter>) {
method init (line 68) | override init() {
method setDeterminate (line 91) | setDeterminate(isDeterminate: boolean) {
method isDeterminate (line 118) | isDeterminate() {
method setProgress (line 122) | setProgress(value: number) {
method getProgress (line 130) | getProgress() {
method setBuffer (line 134) | setBuffer(value: number) {
method getBuffer (line 141) | getBuffer() {
method open (line 145) | open() {
method close (line 151) | close() {
method isClosed (line 156) | isClosed() {
method handleTransitionEnd (line 165) | handleTransitionEnd() {
method destroy (line 171) | override destroy() {
method restartAnimation (line 179) | restartAnimation() {
method setPrimaryBarProgress (line 185) | private setPrimaryBarProgress(progressValue: number) {
method setBufferBarProgress (line 196) | private setBufferBarProgress(progressValue: number) {
method calculateAndSetDimensions (line 201) | private calculateAndSetDimensions(width: number) {
FILE: packages/mdc-linear-progress/test/component.test.ts
type WithObserverFoundation (line 33) | interface WithObserverFoundation {
function roundPixelsToTwoDecimals (line 39) | function roundPixelsToTwoDecimals(val: string) {
function getFixture (line 44) | function getFixture() {
function setupTest (line 64) | function setupTest(hasMockFoundation = false) {
class MockObserver (line 178) | class MockObserver {
method constructor (line 181) | constructor(public callback: MDCResizeObserverCallback) {
method observe (line 185) | observe(element: HTMLElement) {
method disconnect (line 191) | disconnect() {}
method triggerResize (line 193) | triggerResize(width: number) {
FILE: packages/mdc-linear-progress/types.ts
type MDCResizeObserverEntry (line 26) | interface MDCResizeObserverEntry {
type MDCResizeObserver (line 30) | interface MDCResizeObserver {
type WithMDCResizeObserver (line 36) | interface WithMDCResizeObserver {
type MDCResizeObserverCallback (line 40) | type MDCResizeObserverCallback =
FILE: packages/mdc-list/adapter.ts
type MDCListAdapter (line 31) | interface MDCListAdapter {
FILE: packages/mdc-list/component.ts
type MDCListFactory (line 34) | type MDCListFactory =
class MDCList (line 38) | class MDCList extends MDCComponent<MDCListFoundation> {
method vertical (line 39) | set vertical(value: boolean) {
method listElements (line 43) | get listElements() {
method wrapFocus (line 48) | set wrapFocus(value: boolean) {
method typeaheadInProgress (line 55) | get typeaheadInProgress(): boolean {
method hasTypeahead (line 63) | set hasTypeahead(hasTypeahead: boolean) {
method singleSelection (line 67) | set singleSelection(isSingleSelectionList: boolean) {
method disabledItemsFocusable (line 71) | set disabledItemsFocusable(areDisabledItemsFocusable: boolean) {
method selectedIndex (line 75) | get selectedIndex(): MDCListIndex {
method selectedIndex (line 79) | set selectedIndex(index: MDCListIndex) {
method attachTo (line 83) | static override attachTo(root: HTMLElement) {
method initialSyncWithDOM (line 101) | override initialSyncWithDOM() {
method destroy (line 130) | override destroy() {
method layout (line 137) | layout() {
method getPrimaryText (line 173) | getPrimaryText(item: Element): string {
method initializeListType (line 188) | initializeListType() {
method setEnabled (line 226) | setEnabled(itemIndex: number, isEnabled: boolean) {
method typeaheadMatchItem (line 240) | typeaheadMatchItem(nextChar: string, startingIndex?: number): number {
method getDefaultFoundation (line 245) | override getDefaultFoundation() {
method ensureFocusable (line 336) | private ensureFocusable() {
method initialFocusIndex (line 348) | private initialFocusIndex(): number {
method getListItemIndex (line 369) | private getListItemIndex(el: Element) {
method handleFocusInEvent (line 390) | private handleFocusInEvent(event: FocusEvent) {
method handleFocusOutEvent (line 399) | private handleFocusOutEvent(event: FocusEvent) {
method handleKeydownEvent (line 408) | private handleKeydownEvent(event: KeyboardEvent) {
method handleClickEvent (line 422) | private handleClickEvent(event: MouseEvent) {
FILE: packages/mdc-list/events.ts
constant ELEMENTS_KEY_ALLOWED_IN (line 24) | const ELEMENTS_KEY_ALLOWED_IN = ['input', 'button', 'textarea', 'select'];
FILE: packages/mdc-list/foundation.ts
function isNumberArray (line 33) | function isNumberArray(selectedIndex: MDCListIndex): selectedIndex is nu...
type SelectionUpdateOptions (line 40) | interface SelectionUpdateOptions {
type ModifierKey (line 60) | type ModifierKey = NonNullable<(typeof handledModifierKeys)[number]>;
function createModifierChecker (line 63) | function createModifierChecker(event?: KeyboardEvent|MouseEvent) {
class MDCListFoundation (line 72) | class MDCListFoundation extends MDCFoundation<MDCListAdapter> {
method strings (line 73) | static override get strings() {
method cssClasses (line 77) | static override get cssClasses() {
method numbers (line 81) | static override get numbers() {
method defaultAdapter (line 85) | static override get defaultAdapter(): MDCListAdapter {
method constructor (line 126) | constructor(adapter?: Partial<MDCListAdapter>) {
method layout (line 130) | layout() {
method getFocusedItemIndex (line 151) | getFocusedItemIndex() {
method setWrapFocus (line 156) | setWrapFocus(value: boolean) {
method setVerticalOrientation (line 164) | setVerticalOrientation(value: boolean) {
method setSingleSelection (line 169) | setSingleSelection(value: boolean) {
method setDisabledItemsFocusable (line 177) | setDisabledItemsFocusable(value: boolean) {
method maybeInitializeSingleSelection (line 185) | private maybeInitializeSingleSelection() {
method getSelectedIndexFromDOM (line 199) | private getSelectedIndexFromDOM() {
method setHasTypeahead (line 222) | setHasTypeahead(hasTypeahead: boolean) {
method isTypeaheadInProgress (line 232) | isTypeaheadInProgress(): boolean {
method setUseActivatedClass (line 238) | setUseActivatedClass(useActivated: boolean) {
method setUseSelectedAttribute (line 246) | setUseSelectedAttribute(useSelected: boolean) {
method getSelectedIndex (line 250) | getSelectedIndex(): MDCListIndex {
method setSelectedIndex (line 254) | setSelectedIndex(index: MDCListIndex, options: SelectionUpdateOptions ...
method handleFocusIn (line 271) | handleFocusIn(listItemIndex: number) {
method handleFocusOut (line 282) | handleFocusOut(listItemIndex: number) {
method isIndexDisabled (line 299) | private isIndexDisabled(index: number) {
method handleKeydown (line 307) | handleKeydown(
method handleClick (line 502) | handleClick(
method focusNextElement (line 529) | focusNextElement(index: number) {
method focusPrevElement (line 558) | focusPrevElement(index: number) {
method focusFirstElement (line 584) | focusFirstElement() {
method focusLastElement (line 590) | focusLastElement() {
method focusInitialElement (line 596) | focusInitialElement() {
method setEnabled (line 608) | setEnabled(itemIndex: number, isEnabled: boolean): void {
method setSingleSelectionAtIndex (line 626) | private setSingleSelectionAtIndex(
method setAriaForSingleSelectionAtIndex (line 660) | private setAriaForSingleSelectionAtIndex(index: number) {
method getSelectionAttribute (line 689) | private getSelectionAttribute(): string {
method setRadioAtIndex (line 697) | private setRadioAtIndex(index: number, options: SelectionUpdateOptions...
method setCheckboxAtIndex (line 721) | private setCheckboxAtIndex(
method resolveSelectedIndices (line 769) | private resolveSelectedIndices(setCheckedItems: number[]): number[] {
method toggleCheckboxRange (line 797) | private toggleCheckboxRange(
method setTabindexAtIndex (line 839) | private setTabindexAtIndex(index: number) {
method isSelectableList (line 871) | private isSelectableList() {
method setTabindexToFirstSelectedOrFocusedItem (line 876) | private setTabindexToFirstSelectedOrFocusedItem() {
method getFirstSelectedOrFocusedItemIndex (line 881) | private getFirstSelectedOrFocusedItemIndex(): number {
method getFirstEnabledItem (line 919) | private getFirstEnabledItem(): number {
method isIndexValid (line 931) | private isIndexValid(index: MDCListIndex, validateListType = true) {
method isIndexInRange (line 956) | private isIndexInRange(index: number) {
method setSelectedIndexOnAction (line 971) | private setSelectedIndexOnAction(
method toggleCheckboxAtIndex (line 982) | private toggleCheckboxAtIndex(
method focusItemAtIndex (line 1017) | private focusItemAtIndex(index: number) {
method getEnabledListItemCount (line 1022) | private getEnabledListItemCount(): number {
method checkboxListToggleAll (line 1033) | private checkboxListToggleAll(
method typeaheadMatchItem (line 1077) | typeaheadMatchItem(
method typeaheadInitSortedIndex (line 1099) | private typeaheadInitSortedIndex() {
method clearTypeaheadBuffer (line 1107) | clearTypeaheadBuffer() {
FILE: packages/mdc-list/test/component.test.ts
function getFixture (line 29) | function getFixture() {
function getFixtureWithDisabledItems (line 56) | function getFixtureWithDisabledItems() {
function getTwoLineFixture (line 83) | function getTwoLineFixture() {
function setupTest (line 120) | function setupTest(root = getFixture()) {
FILE: packages/mdc-list/test/foundation.test.ts
function setupTest (line 29) | function setupTest() {
function setupTypeaheadTest (line 34) | function setupTypeaheadTest() {
function createMockMouseEvent (line 46) | function createMockMouseEvent(modifiers: string[]) {
function createMockKeyboardEvent (line 52) | function createMockKeyboardEvent(
FILE: packages/mdc-list/typeahead.ts
type TypeaheadState (line 33) | interface TypeaheadState {
function initState (line 48) | function initState(): TypeaheadState {
function initSortedIndex (line 69) | function initSortedIndex(
type TypeaheadMatchItemOpts (line 104) | interface TypeaheadMatchItemOpts {
function matchItem (line 129) | function matchItem(
function matchFirstChar (line 167) | function matchFirstChar(
function matchAllChars (line 232) | function matchAllChars(
function isTypingInProgress (line 281) | function isTypingInProgress(state: TypeaheadState) {
type HandleKeydownOpts (line 288) | interface HandleKeydownOpts {
function clearBuffer (line 303) | function clearBuffer(state: TypeaheadState) {
function handleKeydown (line 324) | function handleKeydown(opts: HandleKeydownOpts, state: TypeaheadState) {
FILE: packages/mdc-list/types.ts
type MDCListActionEventDetail (line 24) | interface MDCListActionEventDetail {
type MDCListActionEvent (line 31) | interface MDCListActionEvent extends Event {
type MDCListSelectionChangeDetail (line 36) | interface MDCListSelectionChangeDetail {
type MDCListSelectionChangeEvent (line 41) | interface MDCListSelectionChangeEvent extends Event {
type MDCListIndex (line 45) | type MDCListIndex = number|number[];
type MDCListTextAndIndex (line 51) | interface MDCListTextAndIndex {
FILE: packages/mdc-menu-surface/adapter.ts
type MDCMenuSurfaceAdapter (line 35) | interface MDCMenuSurfaceAdapter {
FILE: packages/mdc-menu-surface/component.ts
type RegisterFunction (line 33) | type RegisterFunction = () => void;
type MDCMenuSurfaceFactory (line 36) | type MDCMenuSurfaceFactory =
class MDCMenuSurface (line 40) | class MDCMenuSurface extends MDCComponent<MDCMenuSurfaceFoundation> {
method attachTo (line 41) | static override attachTo(root: HTMLElement): MDCMenuSurface {
method initialSyncWithDOM (line 59) | override initialSyncWithDOM() {
method destroy (line 92) | override destroy() {
method isOpen (line 99) | isOpen(): boolean {
method open (line 103) | open() {
method close (line 107) | close(skipRestoreFocus = false) {
method quickOpen (line 111) | set quickOpen(quickOpen: boolean) {
method setIsHoisted (line 119) | setIsHoisted(isHoisted: boolean) {
method setMenuSurfaceAnchorElement (line 124) | setMenuSurfaceAnchorElement(element: Element) {
method setFixedPosition (line 129) | setFixedPosition(isFixed: boolean) {
method setAbsolutePosition (line 143) | setAbsolutePosition(x: number, y: number) {
method setAnchorCorner (line 151) | setAnchorCorner(corner: Corner) {
method setAnchorMargin (line 155) | setAnchorMargin(margin: Partial<MDCMenuDistance>) {
method getDefaultFoundation (line 159) | override getDefaultFoundation() {
FILE: packages/mdc-menu-surface/constants.ts
type CornerBit (line 82) | enum CornerBit {
type Corner (line 96) | enum Corner {
FILE: packages/mdc-menu-surface/foundation.ts
type AutoLayoutMeasurements (line 31) | interface AutoLayoutMeasurements {
class MDCMenuSurfaceFoundation (line 41) | class MDCMenuSurfaceFoundation extends
method cssClasses (line 43) | static override get cssClasses() {
method strings (line 47) | static override get strings() {
method numbers (line 51) | static override get numbers() {
method Corner (line 55) | static get Corner() {
method defaultAdapter (line 62) | static override get defaultAdapter(): MDCMenuSurfaceAdapter {
method constructor (line 136) | constructor(adapter?: Partial<MDCMenuSurfaceAdapter>) {
method init (line 140) | override init() {
method destroy (line 155) | override destroy() {
method setAnchorCorner (line 168) | setAnchorCorner(corner: Corner) {
method flipCornerHorizontally (line 175) | flipCornerHorizontally() {
method setAnchorMargin (line 182) | setAnchorMargin(margin: Partial<MDCMenuDistance>) {
method setIsHoisted (line 190) | setIsHoisted(isHoisted: boolean) {
method setFixedPosition (line 197) | setFixedPosition(isFixedPosition: boolean) {
method isFixed (line 204) | isFixed() {
method setAbsolutePosition (line 209) | setAbsolutePosition(x: number, y: number) {
method setIsHorizontallyCenteredOnViewport (line 215) | setIsHorizontallyCenteredOnViewport(isCentered: boolean) {
method setQuickOpen (line 219) | setQuickOpen(quickOpen: boolean) {
method setMaxHeight (line 228) | setMaxHeight(maxHeight: number) {
method setOpenBottomBias (line 238) | setOpenBottomBias(bias: number) {
method isOpen (line 242) | isOpen() {
method open (line 249) | open() {
method close (line 286) | close(skipRestoreFocus = false) {
method handleBodyClick (line 328) | handleBodyClick(event: MouseEvent) {
method handleKeydown (line 337) | handleKeydown(event: KeyboardEvent) {
method handleResize (line 347) | private handleResize() {
method autoposition (line 352) | private autoposition() {
method getAutoLayoutmeasurements (line 399) | private getAutoLayoutmeasurements(): AutoLayoutMeasurements {
method getoriginCorner (line 442) | private getoriginCorner(): Corner {
method getMenuSurfaceMaxHeight (line 525) | private getMenuSurfaceMaxHeight(corner: Corner): number {
method getHorizontalOriginOffset (line 559) | private getHorizontalOriginOffset(corner: Corner): number {
method getVerticalOriginOffset (line 594) | private getVerticalOriginOffset(corner: Corner): number {
method adjustPositionForHoistedElement (line 616) | private adjustPositionForHoistedElement(position: Partial<MDCMenuDista...
method maybeRestoreFocus (line 659) | private maybeRestoreFocus() {
method hasBit (line 677) | private hasBit(corner: Corner, bit: CornerBit): boolean {
method setBit (line 681) | private setBit(corner: Corner, bit: CornerBit): Corner {
method unsetBit (line 685) | private unsetBit(corner: Corner, bit: CornerBit): Corner {
method isFinite (line 693) | private isFinite(num: number): boolean {
FILE: packages/mdc-menu-surface/test/component.test.ts
function getFixture (line 32) | function getFixture(open = false, fixedPosition = false) {
function getAnchorFixture (line 47) | function getAnchorFixture(menuFixture: HTMLElement) {
function setupTest (line 58) | function setupTest(
FILE: packages/mdc-menu-surface/test/foundation.test.ts
function setupTest (line 29) | function setupTest() {
type WithIsSurfaceOpen (line 42) | interface WithIsSurfaceOpen {
type AnchorDimension (line 47) | interface AnchorDimension {
function initAnchorLayout (line 145) | function initAnchorLayout(
function testFoundation (line 162) | function testFoundation(desc: string, runTests: ({mockAdapter, foundatio...
FILE: packages/mdc-menu-surface/types.ts
type MDCMenuDimensions (line 24) | interface MDCMenuDimensions {
type MDCMenuDistance (line 29) | interface MDCMenuDistance {
type MDCMenuPoint (line 36) | interface MDCMenuPoint {
FILE: packages/mdc-menu/adapter.ts
type MDCMenuAdapter (line 32) | interface MDCMenuAdapter {
FILE: packages/mdc-menu/component.ts
type MDCMenuFactory (line 42) | type MDCMenuFactory =
class MDCMenu (line 46) | class MDCMenu extends MDCComponent<MDCMenuFoundation> {
method attachTo (line 47) | static override attachTo(root: HTMLElement) {
method initialize (line 66) | override initialize(
method initialSyncWithDOM (line 74) | override initialSyncWithDOM() {
method destroy (line 102) | override destroy() {
method open (line 117) | get open(): boolean {
method open (line 121) | set open(value: boolean) {
method wrapFocus (line 129) | get wrapFocus(): boolean {
method wrapFocus (line 133) | set wrapFocus(value: boolean) {
method hasTypeahead (line 143) | set hasTypeahead(value: boolean) {
method typeaheadInProgress (line 152) | get typeaheadInProgress() {
method typeaheadMatchItem (line 169) | typeaheadMatchItem(nextChar: string, startingIndex?: number): number {
method layout (line 180) | layout() {
method items (line 191) | get items(): HTMLElement[] {
method singleSelection (line 201) | set singleSelection(singleSelection: boolean) {
method selectedIndex (line 212) | get selectedIndex(): MDCListIndex {
method selectedIndex (line 221) | set selectedIndex(index: MDCListIndex) {
method quickOpen (line 227) | set quickOpen(quickOpen: boolean) {
method setDefaultFocusState (line 237) | setDefaultFocusState(focusState: DefaultFocusState) {
method setAnchorCorner (line 244) | setAnchorCorner(corner: Corner) {
method setAnchorMargin (line 248) | setAnchorMargin(margin: Partial<MDCMenuDistance>) {
method setSelectedIndex (line 256) | setSelectedIndex(index: number) {
method setEnabled (line 265) | setEnabled(index: number, isEnabled: boolean): void {
method getOptionByIndex (line 272) | getOptionByIndex(index: number): Element|null {
method getPrimaryTextAtIndex (line 286) | getPrimaryTextAtIndex(index: number): string {
method setFixedPosition (line 294) | setFixedPosition(isFixed: boolean) {
method setIsHoisted (line 298) | setIsHoisted(isHoisted: boolean) {
method setAbsolutePosition (line 302) | setAbsolutePosition(x: number, y: number) {
method setAnchorElement (line 309) | setAnchorElement(element: Element) {
method getDefaultFoundation (line 313) | override getDefaultFoundation() {
FILE: packages/mdc-menu/constants.ts
type DefaultFocusState (line 43) | enum DefaultFocusState {
FILE: packages/mdc-menu/foundation.ts
class MDCMenuFoundation (line 31) | class MDCMenuFoundation extends MDCFoundation<MDCMenuAdapter> {
method cssClasses (line 32) | static override get cssClasses() {
method strings (line 36) | static override get strings() {
method numbers (line 40) | static override get numbers() {
method defaultAdapter (line 50) | static override get defaultAdapter(): MDCMenuAdapter {
method constructor (line 71) | constructor(adapter?: Partial<MDCMenuAdapter>) {
method destroy (line 75) | override destroy() {
method handleKeydown (line 79) | handleKeydown(event: KeyboardEvent) {
method handleItemAction (line 88) | handleItemAction(listItem: HTMLElement) {
method handleMenuSurfaceOpened (line 104) | handleMenuSurfaceOpened() {
method setDefaultFocusState (line 126) | setDefaultFocusState(focusState: DefaultFocusState) {
method getSelectedIndex (line 131) | getSelectedIndex() {
method setSelectedIndex (line 139) | setSelectedIndex(index: number) {
method setEnabled (line 169) | setEnabled(index: number, isEnabled: boolean): void {
method validatedIndex (line 185) | private validatedIndex(index: number): void {
FILE: packages/mdc-menu/test/component.test.ts
function getFixture (line 33) | function getFixture(open = false) {
function getFixtureWithMultipleSelectionGroups (line 64) | function getFixtureWithMultipleSelectionGroups(open = false) {
class FakeList (line 108) | class FakeList {
method constructor (line 118) | constructor(root: HTMLElement) {
class FakeMenuSurface (line 124) | class FakeMenuSurface {
function setupTestWithFakes (line 140) | function setupTestWithFakes(open = false) {
function setupTest (line 153) | function setupTest(open = false, fixture = getFixture) {
function setupTestWithMock (line 160) | function setupTestWithMock(options: {open?: boolean, fixture: Function} = {
FILE: packages/mdc-menu/test/foundation.test.ts
function setupTest (line 32) | function setupTest() {
FILE: packages/mdc-menu/types.ts
type MDCMenuItemEventDetail (line 27) | interface MDCMenuItemEventDetail {
type MDCMenuItemComponentEventDetail (line 34) | interface MDCMenuItemComponentEventDetail extends
type MDCMenuItemEvent (line 41) | interface MDCMenuItemEvent extends Event {
type MDCMenuItemComponentEvent (line 45) | interface MDCMenuItemComponentEvent extends Event {
FILE: packages/mdc-notched-outline/adapter.ts
type MDCNotchedOutlineAdapter (line 31) | interface MDCNotchedOutlineAdapter {
FILE: packages/mdc-notched-outline/component.ts
type MDCNotchedOutlineFactory (line 32) | type MDCNotchedOutlineFactory =
class MDCNotchedOutline (line 37) | class MDCNotchedOutline extends
method attachTo (line 39) | static override attachTo(root: HTMLElement): MDCNotchedOutline {
method initialSyncWithDOM (line 45) | override initialSyncWithDOM() {
method notch (line 66) | notch(notchWidth: number) {
method closeNotch (line 73) | closeNotch() {
method getDefaultFoundation (line 77) | override getDefaultFoundation() {
FILE: packages/mdc-notched-outline/foundation.ts
class MDCNotchedOutlineFoundation (line 30) | class MDCNotchedOutlineFoundation extends
method strings (line 32) | static override get strings() {
method cssClasses (line 36) | static override get cssClasses() {
method numbers (line 40) | static override get numbers() {
method defaultAdapter (line 48) | static override get defaultAdapter(): MDCNotchedOutlineAdapter {
method constructor (line 59) | constructor(adapter?: Partial<MDCNotchedOutlineAdapter>) {
method notch (line 67) | notch(notchWidth: number) {
method closeNotch (line 82) | closeNotch() {
FILE: packages/mdc-notched-outline/test/component.test.ts
function getFixture (line 28) | function getFixture() {
function setupTest (line 45) | function setupTest() {
FILE: packages/mdc-progress-indicator/component.ts
type MDCProgressIndicator (line 29) | interface MDCProgressIndicator {
FILE: packages/mdc-progress-indicator/foundation.ts
type MDCProgressIndicatorFoundation (line 29) | interface MDCProgressIndicatorFoundation {
FILE: packages/mdc-radio/adapter.ts
type MDCRadioAdapter (line 31) | interface MDCRadioAdapter {
FILE: packages/mdc-radio/component.ts
class MDCRadio (line 35) | class MDCRadio extends MDCComponent<MDCRadioFoundation> implements
method attachTo (line 37) | static override attachTo(root: HTMLElement) {
method checked (line 41) | get checked(): boolean {
method checked (line 45) | set checked(checked: boolean) {
method disabled (line 49) | get disabled() {
method disabled (line 53) | set disabled(disabled: boolean) {
method value (line 57) | get value() {
method value (line 61) | set value(value: string) {
method ripple (line 65) | get ripple(): MDCRipple {
method destroy (line 71) | override destroy() {
method getDefaultFoundation (line 76) | override getDefaultFoundation() {
method createRipple (line 93) | private createRipple(): MDCRipple {
method nativeControl (line 116) | private get nativeControl(): HTMLInputElement {
FILE: packages/mdc-radio/foundation.ts
class MDCRadioFoundation (line 30) | class MDCRadioFoundation extends MDCFoundation<MDCRadioAdapter> {
method cssClasses (line 31) | static override get cssClasses() {
method strings (line 35) | static override get strings() {
method defaultAdapter (line 39) | static override get defaultAdapter(): MDCRadioAdapter {
method constructor (line 47) | constructor(adapter?: Partial<MDCRadioAdapter>) {
method setDisabled (line 51) | setDisabled(disabled: boolean) {
FILE: packages/mdc-radio/test/component.test.ts
function getFixture (line 32) | function getFixture() {
function setupTest (line 45) | function setupTest() {
FILE: packages/mdc-radio/test/foundation.test.ts
function setupTest (line 27) | function setupTest() {
FILE: packages/mdc-ripple/adapter.ts
type MDCRippleAdapter (line 35) | interface MDCRippleAdapter {
FILE: packages/mdc-ripple/component.ts
type MDCRippleFactory (line 34) | type MDCRippleFactory =
class MDCRipple (line 38) | class MDCRipple extends MDCComponent<MDCRippleFoundation> implements
method attachTo (line 40) | static override attachTo(root: HTMLElement, opts: MDCRippleAttachOpts = {
method createAdapter (line 51) | static createAdapter(instance: MDCRippleCapableSurface): MDCRippleAdap...
method unbounded (line 97) | get unbounded(): boolean {
method unbounded (line 101) | set unbounded(unbounded: boolean) {
method activate (line 106) | activate() {
method deactivate (line 110) | deactivate() {
method layout (line 114) | layout() {
method getDefaultFoundation (line 118) | override getDefaultFoundation() {
method initialSyncWithDOM (line 122) | override initialSyncWithDOM() {
method setUnbounded (line 133) | private setUnbounded() {
FILE: packages/mdc-ripple/foundation.ts
type ActivationStateType (line 31) | interface ActivationStateType {
type FgTranslationCoordinates (line 40) | interface FgTranslationCoordinates {
type Coordinates (line 45) | interface Coordinates {
type EventHandlerNonNull (line 50) | interface EventHandlerNonNull {
type ActivationEventType (line 54) | type ActivationEventType = 'touchstart'|'pointerdown'|'mousedown'|'keydo...
type DeactivationEventType (line 55) | type DeactivationEventType = 'touchend'|'pointerup'|'mouseup'|'contextme...
constant ACTIVATION_EVENT_TYPES (line 59) | const ACTIVATION_EVENT_TYPES: ActivationEventType[] = [
constant POINTER_DEACTIVATION_EVENT_TYPES (line 68) | const POINTER_DEACTIVATION_EVENT_TYPES: DeactivationEventType[] = [
class MDCRippleFoundation (line 79) | class MDCRippleFoundation extends MDCFoundation<MDCRippleAdapter> {
method cssClasses (line 80) | static override get cssClasses() {
method strings (line 84) | static override get strings() {
method numbers (line 88) | static override get numbers() {
method defaultAdapter (line 92) | static override get defaultAdapter(): MDCRippleAdapter {
method constructor (line 134) | constructor(adapter?: Partial<MDCRippleAdapter>) {
method init (line 160) | override init() {
method destroy (line 179) | override destroy() {
method activate (line 209) | activate(event?: Event): void {
method deactivate (line 213) | deactivate(): void {
method layout (line 217) | layout(): void {
method setUnbounded (line 227) | setUnbounded(unbounded: boolean): void {
method handleFocus (line 236) | handleFocus(): void {
method handleBlur (line 242) | handleBlur(): void {
method supportsPressRipple (line 255) | private supportsPressRipple(): boolean {
method defaultActivationState (line 259) | private defaultActivationState(): ActivationStateType {
method registerRootHandlers (line 273) | private registerRootHandlers(supportsPressRipple: boolean) {
method registerDeactivationHandlers (line 287) | private registerDeactivationHandlers(event: Event) {
method deregisterRootHandlers (line 298) | private deregisterRootHandlers() {
method deregisterDeactivationHandlers (line 310) | private deregisterDeactivationHandlers() {
method removeCssVars (line 318) | private removeCssVars() {
method activateImpl (line 329) | private activateImpl(event?: Event) {
method checkElementMadeActive (line 407) | private checkElementMadeActive(event?: Event) {
method animateActivation (line 413) | private animateActivation() {
method getFgTranslationCoordinates (line 446) | private getFgTranslationCoordinates(): FgTranslationCoordinates {
method runDeactivationUXLogicIfReady (line 476) | private runDeactivationUXLogicIfReady() {
method rmBoundedActivationClasses (line 493) | private rmBoundedActivationClasses() {
method resetActivationState (line 500) | private resetActivationState() {
method deactivateImpl (line 511) | private deactivateImpl(): void {
method animateDeactivation (line 536) | private animateDeactivation({wasActivatedByPointer, wasElementMadeActi...
method layoutInternal (line 543) | private layoutInternal() {
method updateLayoutCssVars (line 579) | private updateLayoutCssVars() {
FILE: packages/mdc-ripple/test/component.test.ts
function getFixture (line 30) | function getFixture(unbounded = false) {
function setupTest (line 73) | function setupTest() {
FILE: packages/mdc-ripple/test/helpers.ts
function setupTest (line 28) | function setupTest(isCssVarsSupported = true) {
function testFoundation (line 50) | function testFoundation(
function createMockWindowForCssVariables (line 61) | function createMockWindowForCssVariables() {
FILE: packages/mdc-ripple/types.ts
type MDCRipplePoint (line 24) | interface MDCRipplePoint {
type MDCRippleAttachOpts (line 32) | interface MDCRippleAttachOpts {
type MDCRippleCapableSurface (line 42) | interface MDCRippleCapableSurface {
FILE: packages/mdc-ripple/util.ts
function supportsCssVariables (line 33) | function supportsCssVariables(
function getNormalizedEventCoords (line 62) | function getNormalizedEventCoords(
FILE: packages/mdc-segmented-button/segment/adapter.ts
type MDCSegmentedButtonSegmentAdapter (line 24) | interface MDCSegmentedButtonSegmentAdapter {
FILE: packages/mdc-segmented-button/segment/component.ts
type MDCSegmentedButtonSegmentFactory (line 40) | type MDCSegmentedButtonSegmentFactory =
class MDCSegmentedButtonSegment (line 47) | class MDCSegmentedButtonSegment extends
method ripple (line 50) | get ripple(): MDCRipple {
method attachTo (line 54) | static override attachTo(root: HTMLElement) {
method initialize (line 64) | override initialize(
method initialSyncWithDOM (line 75) | override initialSyncWithDOM() {
method destroy (line 83) | override destroy() {
method getDefaultFoundation (line 91) | override getDefaultFoundation(): MDCSegmentedButtonSegmentFoundation {
method setIndex (line 134) | setIndex(index: number) {
method setIsSingleSelect (line 143) | setIsSingleSelect(isSingleSelect: boolean) {
method isSelected (line 151) | isSelected(): boolean {
method setSelected (line 158) | setSelected() {
method setUnselected (line 165) | setUnselected() {
method getSegmentId (line 172) | getSegmentId(): string|undefined {
FILE: packages/mdc-segmented-button/segment/foundation.ts
class MDCSegmentedButtonSegmentFoundation (line 39) | class MDCSegmentedButtonSegmentFoundation extends
method defaultAdapter (line 41) | static override get defaultAdapter(): MDCSegmentedButtonSegmentAdapter {
method constructor (line 51) | constructor(adapter?: Partial<MDCSegmentedButtonSegmentAdapter>) {
method isSelected (line 59) | isSelected(): boolean {
method setSelected (line 66) | setSelected() {
method setUnselected (line 74) | setUnselected() {
method getSegmentId (line 82) | getSegmentId(): string|undefined {
method handleClick (line 94) | handleClick(): void {
method getDimensions (line 106) | getDimensions(): DOMRect {
method toggleSelection (line 113) | private toggleSelection() {
method setAriaAttr (line 127) | private setAriaAttr(value: string) {
FILE: packages/mdc-segmented-button/segmented-button/adapter.ts
type MDCSegmentedButtonAdapter (line 26) | interface MDCSegmentedButtonAdapter {
FILE: packages/mdc-segmented-button/segmented-button/component.ts
class MDCSegmentedButton (line 35) | class MDCSegmentedButton extends
method attachTo (line 37) | static override attachTo(root: HTMLElement): MDCSegmentedButton {
method segments (line 41) | get segments(): readonly MDCSegmentedButtonSegment[] {
method initialize (line 52) | override initialize(
method instantiateSegments (line 63) | private instantiateSegments(segmentFactory: MDCSegmentedButtonSegmentF...
method initialSyncWithDOM (line 70) | override initialSyncWithDOM() {
method destroy (line 95) | override destroy() {
method getDefaultFoundation (line 105) | override getDefaultFoundation(): MDCSegmentedButtonFoundation {
method getSelectedSegments (line 141) | getSelectedSegments(): readonly SegmentDetail[] {
method selectSegment (line 151) | selectSegment(indexOrSegmentId: number|string) {
method unselectSegment (line 161) | unselectSegment(indexOrSegmentId: number|string) {
method isSegmentSelected (line 171) | isSegmentSelected(indexOrSegmentId: number|string): boolean {
method mappedSegments (line 178) | private mappedSegments(): readonly SegmentDetail[] {
FILE: packages/mdc-segmented-button/segmented-button/foundation.ts
class MDCSegmentedButtonFoundation (line 32) | class MDCSegmentedButtonFoundation extends
method defaultAdapter (line 34) | static override get defaultAdapter(): MDCSegmentedButtonAdapter {
method constructor (line 44) | constructor(adapter?: Partial<MDCSegmentedButtonAdapter>) {
method selectSegment (line 54) | selectSegment(indexOrSegmentId: number|string) {
method unselectSegment (line 64) | unselectSegment(indexOrSegmentId: number|string) {
method getSelectedSegments (line 72) | getSelectedSegments(): readonly SegmentDetail[] {
method isSegmentSelected (line 83) | isSegmentSelected(indexOrSegmentId: number|string|undefined): boolean {
method isSingleSelect (line 94) | isSingleSelect(): boolean {
method handleSelected (line 106) | handleSelected(detail: SegmentDetail) {
method unselectPrevSelected (line 119) | private unselectPrevSelected(index: number) {
FILE: packages/mdc-segmented-button/segmented-button/test/component.test.ts
function getFixtureMultiWithLabel (line 33) | function getFixtureMultiWithLabel() {
function setupTest (line 50) | function setupTest() {
function setAllSelected (line 57) | function setAllSelected(els: NodeListOf<Element>) {
function setAllUnselected (line 63) | function setAllUnselected(els: NodeListOf<Element>) {
FILE: packages/mdc-segmented-button/segmented-button/test/constants.ts
type testIndices (line 42) | enum testIndices {
FILE: packages/mdc-segmented-button/types.ts
type SegmentDetail (line 28) | interface SegmentDetail {
type MDCSegmentedButtonEvent (line 38) | interface MDCSegmentedButtonEvent extends Event {
FILE: packages/mdc-select/adapter.ts
type MDCSelectAdapter (line 33) | interface MDCSelectAdapter {
FILE: packages/mdc-select/component.ts
class MDCSelect (line 45) | class MDCSelect extends MDCComponent<MDCSelectFoundation> {
method attachTo (line 46) | static override attachTo(root: HTMLElement): MDCSelect {
method initialize (line 76) | override initialize(
method initialSyncWithDOM (line 138) | override initialSyncWithDOM() {
method destroy (line 196) | override destroy() {
method value (line 227) | get value(): string {
method value (line 231) | set value(value: string) {
method setValue (line 235) | setValue(value: string, skipNotify = false) {
method selectedIndex (line 239) | get selectedIndex(): number {
method selectedIndex (line 243) | set selectedIndex(selectedIndex: number) {
method setSelectedIndex (line 247) | setSelectedIndex(selectedIndex: number, skipNotify = false) {
method disabled (line 252) | get disabled(): boolean {
method disabled (line 256) | set disabled(disabled: boolean) {
method leadingIconAriaLabel (line 263) | set leadingIconAriaLabel(label: string) {
method leadingIconContent (line 270) | set leadingIconContent(content: string) {
method helperTextContent (line 277) | set helperTextContent(content: string) {
method useDefaultValidation (line 287) | set useDefaultValidation(useDefaultValidation: boolean) {
method valid (line 294) | set valid(isValid: boolean) {
method valid (line 301) | get valid(): boolean {
method required (line 308) | set required(isRequired: boolean) {
method required (line 315) | get required(): boolean {
method layout (line 323) | layout() {
method layoutOptions (line 331) | layoutOptions() {
method getDefaultFoundation (line 343) | override getDefaultFoundation() {
method menuSetup (line 359) | private menuSetup(menuFactory: MDCMenuFactory) {
method createRipple (line 369) | private createRipple(): MDCRipple {
method getSelectAdapterMethods (line 387) | private getSelectAdapterMethods() {
method getCommonAdapterMethods (line 457) | private getCommonAdapterMethods() {
method getOutlineAdapterMethods (line 489) | private getOutlineAdapterMethods() {
method getLabelAdapterMethods (line 503) | private getLabelAdapterMethods() {
method getNormalizedXCoordinate (line 522) | private getNormalizedXCoordinate(event: MouseEvent|TouchEvent): number {
method isTouchEvent (line 529) | private isTouchEvent(event: MouseEvent|TouchEvent): event is TouchEvent {
method getFoundationMap (line 536) | private getFoundationMap(): Partial<MDCSelectFoundationMap> {
FILE: packages/mdc-select/foundation.ts
class MDCSelectFoundation (line 35) | class MDCSelectFoundation extends MDCFoundation<MDCSelectAdapter> {
method cssClasses (line 36) | static override get cssClasses() {
method numbers (line 40) | static override get numbers() {
method strings (line 44) | static override get strings() {
method defaultAdapter (line 52) | static override get defaultAdapter(): MDCSelectAdapter {
method constructor (line 119) | constructor(
method getSelectedIndex (line 134) | getSelectedIndex(): number {
method setSelectedIndex (line 138) | setSelectedIndex(index: number, closeMenu = false, skipNotify = false) {
method setValue (line 162) | setValue(value: string, skipNotify = false) {
method getValue (line 167) | getValue() {
method getDisabled (line 173) | getDisabled() {
method setDisabled (line 177) | setDisabled(isDisabled: boolean) {
method openMenu (line 202) | openMenu() {
method setHelperTextContent (line 212) | setHelperTextContent(content: string) {
method layout (line 222) | layout() {
method layoutOptions (line 239) | layoutOptions() {
method handleMenuOpened (line 246) | handleMenuOpened() {
method handleMenuClosing (line 258) | handleMenuClosing() {
method handleMenuClosed (line 262) | handleMenuClosed() {
method handleChange (line 275) | handleChange() {
method handleMenuItemAction (line 285) | handleMenuItemAction(index: number) {
method handleFocus (line 292) | handleFocus() {
method handleBlur (line 302) | handleBlur() {
method handleClick (line 309) | handleClick(normalizedX: number) {
method handleKeydown (line 330) | handleKeydown(event: KeyboardEvent) {
method notchOutline (line 365) | notchOutline(openNotch: boolean) {
method setLeadingIconAriaLabel (line 383) | setLeadingIconAriaLabel(label: string) {
method setLeadingIconContent (line 392) | setLeadingIconContent(content: string) {
method getUseDefaultValidation (line 398) | getUseDefaultValidation(): boolean {
method setUseDefaultValidation (line 402) | setUseDefaultValidation(useDefaultValidation: boolean) {
method setValid (line 406) | setValid(isValid: boolean) {
method isValid (line 423) | isValid() {
method setRequired (line 437) | setRequired(isRequired: boolean) {
method getRequired (line 447) | getRequired() {
method init (line 451) | override init() {
method blur (line 468) | private blur() {
method syncHelperTextValidity (line 479) | private syncHelperTextValidity(isValid: boolean) {
method setClickDebounceTimeout (line 506) | private setClickDebounceTimeout() {
FILE: packages/mdc-select/helper-text/adapter.ts
type MDCSelectHelperTextAdapter (line 31) | interface MDCSelectHelperTextAdapter {
FILE: packages/mdc-select/helper-text/component.ts
type MDCSelectHelperTextFactory (line 30) | type MDCSelectHelperTextFactory =
class MDCSelectHelperText (line 35) | class MDCSelectHelperText extends
method attachTo (line 37) | static override attachTo(root: HTMLElement): MDCSelectHelperText {
method foundationForSelect (line 42) | get foundationForSelect(): MDCSelectHelperTextFoundation {
method getDefaultFoundation (line 46) | override getDefaultFoundation() {
FILE: packages/mdc-select/helper-text/foundation.ts
class MDCSelectHelperTextFoundation (line 30) | class MDCSelectHelperTextFoundation extends
method cssClasses (line 32) | static override get cssClasses() {
method strings (line 36) | static override get strings() {
method defaultAdapter (line 44) | static override get defaultAdapter(): MDCSelectHelperTextAdapter {
method constructor (line 58) | constructor(adapter?: Partial<MDCSelectHelperTextAdapter>) {
method getId (line 65) | getId(): string|null {
method isVisible (line 72) | isVisible(): boolean {
method setContent (line 79) | setContent(content: string) {
method setValidation (line 91) | setValidation(isValidation: boolean) {
method setValidationMsgPersistent (line 104) | setValidationMsgPersistent(isPersistent: boolean) {
method getIsValidation (line 118) | getIsValidation() {
method getIsValidationMsgPersistent (line 126) | getIsValidationMsgPersistent() {
method setValidity (line 135) | setValidity(selectIsValid: boolean) {
method showToScreenReader (line 172) | private showToScreenReader() {
method hide (line 179) | private hide() {
FILE: packages/mdc-select/helper-text/test/component.test.ts
function setupTest (line 39) | function setupTest() {
FILE: packages/mdc-select/icon/adapter.ts
type MDCSelectIconAdapter (line 33) | interface MDCSelectIconAdapter {
FILE: packages/mdc-select/icon/component.ts
type MDCSelectIconFactory (line 30) | type MDCSelectIconFactory =
class MDCSelectIcon (line 34) | class MDCSelectIcon extends MDCComponent<MDCSelectIconFoundation> {
method attachTo (line 35) | static override attachTo(root: HTMLElement): MDCSelectIcon {
method foundationForSelect (line 40) | get foundationForSelect(): MDCSelectIconFoundation {
method getDefaultFoundation (line 44) | override getDefaultFoundation() {
FILE: packages/mdc-select/icon/foundation.ts
type InteractionEventType (line 30) | type InteractionEventType = 'click'|'keydown';
constant INTERACTION_EVENTS (line 32) | const INTERACTION_EVENTS: InteractionEventType[] = ['click', 'keydown'];
class MDCSelectIconFoundation (line 35) | class MDCSelectIconFoundation extends
method strings (line 37) | static override get strings() {
method defaultAdapter (line 45) | static override get defaultAdapter(): MDCSelectIconAdapter {
method constructor (line 65) | constructor(adapter?: Partial<MDCSelectIconAdapter>) {
method init (line 73) | override init() {
method destroy (line 81) | override destroy() {
method setDisabled (line 88) | setDisabled(disabled: boolean) {
method setAriaLabel (line 102) | setAriaLabel(label: string) {
method setContent (line 106) | setContent(content: string) {
method handleInteraction (line 110) | handleInteraction(event: MouseEvent|KeyboardEvent) {
FILE: packages/mdc-select/icon/test/component.test.ts
function setupTest (line 38) | function setupTest() {
FILE: packages/mdc-select/test/component.test.ts
constant LABEL_WIDTH (line 39) | const LABEL_WIDTH = 100;
class FakeLabel (line 41) | class FakeLabel {
method constructor (line 46) | constructor() {
class FakeBottomLine (line 51) | class FakeBottomLine {
class FakeOutline (line 58) | class FakeOutline {
class FakeMenu (line 64) | class FakeMenu {
class FakeIcon (line 81) | class FakeIcon {
class FakeHelperText (line 85) | class FakeHelperText {
function getFixture (line 89) | function getFixture() {
function getOutlineFixture (line 135) | function getOutlineFixture() {
function getHelperTextFixture (line 185) | function getHelperTextFixture(root = getFixture()) {
function setupTest (line 195) | function setupTest(
function setupWithMockFoundation (line 256) | function setupWithMockFoundation() {
FILE: packages/mdc-select/test/foundation.test.ts
constant LABEL_WIDTH (line 29) | const LABEL_WIDTH = 100;
function setupTest (line 86) | function setupTest(
FILE: packages/mdc-select/types.ts
type MDCSelectFoundationMap (line 27) | interface MDCSelectFoundationMap {
type MDCSelectEventDetail (line 32) | interface MDCSelectEventDetail {
type MDCSelectEvent (line 39) | interface MDCSelectEvent extends Event {
FILE: packages/mdc-slider/adapter.ts
type MDCSliderAdapter (line 35) | interface MDCSliderAdapter {
FILE: packages/mdc-slider/component.ts
class MDCSlider (line 38) | class MDCSlider extends MDCComponent<MDCSliderFoundation> {
method attachTo (line 39) | static override attachTo(root: HTMLElement, options: {
method getDefaultFoundation (line 55) | override getDefaultFoundation() {
method initialize (line 211) | override initialize({skipInitialUIUpdate}: {skipInitialUIUpdate?:
method initialSyncWithDOM (line 226) | override initialSyncWithDOM() {
method layout (line 231) | layout() {
method getValueStart (line 235) | getValueStart(): number {
method setValueStart (line 239) | setValueStart(valueStart: number) {
method getValue (line 243) | getValue(): number {
method setValue (line 247) | setValue(value: number) {
method getDisabled (line 252) | getDisabled(): boolean {
method setDisabled (line 257) | setDisabled(disabled: boolean) {
method setValueToAriaValueTextFn (line 265) | setValueToAriaValueTextFn(mapFn: ((value: number) => string)|null) {
method getThumbEl (line 269) | private getThumbEl(thumb: Thumb) {
method getInput (line 274) | private getInput(thumb: Thumb) {
method getRipple (line 279) | private getRipple(thumb: Thumb) {
method addTickMarks (line 285) | private addTickMarks(tickMarkContainer: HTMLElement, tickMarks: TickMa...
method updateTickMarks (line 299) | private updateTickMarks(
method createRipples (line 314) | private createRipples(): MDCRipple[] {
FILE: packages/mdc-slider/foundation.ts
type AnimationKeys (line 33) | enum AnimationKeys {
constant HAS_WINDOW (line 38) | const HAS_WINDOW = typeof window !== 'undefined';
class MDCSliderFoundation (line 46) | class MDCSliderFoundation extends MDCFoundation<MDCSliderAdapter> {
method constructor (line 127) | constructor(adapter?: Partial<MDCSliderAdapter>) {
method defaultAdapter (line 133) | static override get defaultAdapter(): MDCSliderAdapter {
method init (line 184) | override init() {
method destroy (line 258) | override destroy() {
method setMin (line 262) | setMin(value: number) {
method setMax (line 270) | setMax(value: number) {
method getMin (line 275) | getMin() {
method getMax (line 279) | getMax() {
method getValue (line 287) | getValue() {
method setValue (line 295) | setValue(value: number) {
method getValueStart (line 309) | getValueStart() {
method setValueStart (line 320) | setValueStart(valueStart: number) {
method setStep (line 333) | setStep(value: number) {
method setMinRange (line 344) | setMinRange(value: number) {
method setIsDiscrete (line 361) | setIsDiscrete(value: boolean) {
method getStep (line 367) | getStep() {
method getMinRange (line 371) | getMinRange() {
method setHasTickMarks (line 379) | setHasTickMarks(value: boolean) {
method getDisabled (line 384) | getDisabled() {
method setDisabled (line 391) | setDisabled(disabled: boolean) {
method getIsRange (line 414) | getIsRange() {
method layout (line 421) | layout({skipUpdateUI}: {skipUpdateUI?: boolean} = {}) {
method handleResize (line 433) | handleResize() {
method handleDown (line 440) | handleDown(event: PointerEvent|MouseEvent|TouchEvent) {
method handleMove (line 461) | handleMove(event: PointerEvent|MouseEvent|TouchEvent) {
method handleUp (line 485) | handleUp() {
method handleThumbMouseenter (line 509) | handleThumbMouseenter() {
method handleThumbMouseleave (line 519) | handleThumbMouseleave() {
method handleMousedownOrTouchstart (line 534) | handleMousedownOrTouchstart(event: MouseEvent|TouchEvent) {
method handlePointerdown (line 560) | handlePointerdown(event: PointerEvent) {
method handleInputChange (line 576) | handleInputChange(thumb: Thumb) {
method handleInputFocus (line 591) | handleInputFocus(thumb: Thumb) {
method handleInputBlur (line 603) | handleInputBlur(thumb: Thumb) {
method handleDragStart (line 618) | private handleDragStart(
method getThumbFromDownEvent (line 640) | private getThumbFromDownEvent(clientX: number, value: number): Thumb|n...
method getThumbFromMoveEvent (line 685) | private getThumbFromMoveEvent(clientX: number): Thumb|null {
method updateUI (line 710) | private updateUI(thumb?: Thumb) {
method updateThumbAndInputAttributes (line 726) | private updateThumbAndInputAttributes(thumb?: Thumb) {
method updateValueIndicatorUI (line 759) | private updateValueIndicatorUI(thumb?: Thumb) {
method updateTickMarksUI (line 775) | private updateTickMarksUI() {
method mapClientXOnSliderScale (line 795) | private mapClientXOnSliderScale(clientX: number): number {
method quantize (line 813) | private quantize(value: number): number {
method updateValue (line 821) | private updateValue(value: number, thumb: Thumb, {
method clampValue (line 852) | private clampValue(value: number, thumb: Thumb): number {
method updateThumbAndTrackUI (line 874) | private updateThumbAndTrackUI(thumb?: Thumb) {
method alignValueIndicator (line 942) | private alignValueIndicator(thumb: Thumb, thumbPos: number) {
method removeInitialStyles (line 1004) | private removeInitialStyles(isRtl: boolean) {
method resetTrackAndThumbAnimation (line 1023) | private resetTrackAndThumbAnimation() {
method updateOverlappingThumbsUI (line 1057) | private updateOverlappingThumbsUI(
method convertAttributeValueToNumber (line 1091) | private convertAttributeValueToNumber(
method validateProperties (line 1109) | private validateProperties({min, max, value, valueStart, step, minRang...
method registerEventHandlers (line 1182) | private registerEventHandlers() {
method deregisterEventHandlers (line 1225) | private deregisterEventHandlers() {
method handlePointerup (line 1266) | private handlePointerup() {
function isIOS (line 1273) | function isIOS() {
function getNumDecimalPlaces (line 1290) | function getNumDecimalPlaces(n: number): number {
FILE: packages/mdc-slider/test/component.test.ts
function createTestSuiteForSliderEvents (line 55) | function createTestSuiteForSliderEvents(eventType: 'pointer'|'mouse'|
function setUpTest (line 598) | function setUpTest(
function createEventFrom (line 700) | function createEventFrom(
FILE: packages/mdc-slider/test/foundation.test.ts
function setUpTest (line 1840) | function setUpTest() {
function setUpAndInit (line 1853) | function setUpAndInit({
type WithHasTickMarksAndDiscrete (line 1995) | interface WithHasTickMarksAndDiscrete {
FILE: packages/mdc-slider/types.ts
type TickMark (line 25) | enum TickMark {
type Thumb (line 34) | enum Thumb {
type MDCSliderChangeEventDetail (line 43) | interface MDCSliderChangeEventDetail {
FILE: packages/mdc-snackbar/adapter.ts
type MDCSnackbarAdapter (line 31) | interface MDCSnackbarAdapter {
FILE: packages/mdc-snackbar/component.ts
class MDCSnackbar (line 46) | class MDCSnackbar extends MDCComponent<MDCSnackbarFoundation> {
method attachTo (line 47) | static override attachTo(root: HTMLElement) {
method initialize (line 62) | override initialize(
method initialSyncWithDOM (line 67) | override initialSyncWithDOM() {
method destroy (line 88) | override destroy() {
method open (line 94) | open() {
method close (line 104) | close(reason = '') {
method getDefaultFoundation (line 108) | override getDefaultFoundation() {
method timeoutMs (line 140) | get timeoutMs(): number {
method timeoutMs (line 144) | set timeoutMs(timeoutMs: number) {
method closeOnEscape (line 148) | get closeOnEscape(): boolean {
method closeOnEscape (line 152) | set closeOnEscape(closeOnEscape: boolean) {
method isOpen (line 156) | get isOpen(): boolean {
method labelText (line 160) | get labelText(): string {
method labelText (line 166) | set labelText(labelText: string) {
method actionButtonText (line 170) | get actionButtonText(): string {
method actionButtonText (line 174) | set actionButtonText(actionButtonText: string) {
method registerKeyDownHandler (line 178) | private registerKeyDownHandler(handler: SpecificEventListener<'keydown...
method deregisterKeyDownHandler (line 182) | private deregisterKeyDownHandler(handler: SpecificEventListener<'keydo...
method registerSurfaceClickHandler (line 186) | private registerSurfaceClickHandler(handler: SpecificEventListener<'cl...
method deregisterSurfaceClickHandler (line 190) | private deregisterSurfaceClickHandler(handler:
method isActionButton (line 195) | private isActionButton(target: Element): boolean {
method isActionIcon (line 199) | private isActionIcon(target: Element): boolean {
FILE: packages/mdc-snackbar/foundation.ts
class MDCSnackbarFoundation (line 33) | class MDCSnackbarFoundation extends MDCFoundation<MDCSnackbarAdapter> {
method cssClasses (line 34) | static override get cssClasses() {
method strings (line 38) | static override get strings() {
method numbers (line 42) | static override get numbers() {
method defaultAdapter (line 46) | static override get defaultAdapter(): MDCSnackbarAdapter {
method constructor (line 65) | constructor(adapter?: Partial<MDCSnackbarAdapter>) {
method destroy (line 69) | override destroy() {
method open (line 80) | open() {
method close (line 112) | close(reason = '') {
method isOpen (line 136) | isOpen(): boolean {
method getTimeoutMs (line 140) | getTimeoutMs(): number {
method setTimeoutMs (line 144) | setTimeoutMs(timeoutMs: number) {
method getCloseOnEscape (line 160) | getCloseOnEscape(): boolean {
method setCloseOnEscape (line 164) | setCloseOnEscape(closeOnEscape: boolean) {
method handleKeyDown (line 168) | handleKeyDown(event: KeyboardEvent) {
method handleActionButtonClick (line 175) | handleActionButtonClick(_event: MouseEvent) {
method handleActionIconClick (line 179) | handleActionIconClick(_event: MouseEvent) {
method handleSecondaryActionButtonClick (line 183) | handleSecondaryActionButtonClick(_event: MouseEvent) {
method clearAutoDismissTimer (line 187) | private clearAutoDismissTimer() {
method handleAnimationTimerEnd (line 192) | private handleAnimationTimerEnd() {
method runNextAnimationFrame (line 202) | private runNextAnimationFrame(callback: () => void) {
FILE: packages/mdc-snackbar/test/component.test.ts
function getFixture (line 30) | function getFixture() {
function setupTest (line 46) | function setupTest(fixture = getFixture()) {
function setupTestWithMocks (line 69) | function setupTestWithMocks(fixture = getFixture()) {
FILE: packages/mdc-snackbar/types.ts
type MDCSnackbarAnnouncer (line 24) | type MDCSnackbarAnnouncer =
type MDCSnackbarAnnouncerFactory (line 26) | type MDCSnackbarAnnouncerFactory = () => MDCSnackbarAnnouncer;
type MDCSnackbarCloseEventDetail (line 28) | interface MDCSnackbarCloseEventDetail {
type MDCSnackbarCloseEvent (line 34) | interface MDCSnackbarCloseEvent extends Event {
FILE: packages/mdc-snackbar/util.ts
function announce (line 30) | function announce(ariaEl: HTMLElement, labelEl: HTMLElement = ariaEl) {
FILE: packages/mdc-switch/adapter.ts
type MDCSwitchState (line 29) | interface MDCSwitchState {
type MDCSwitchAdapter (line 52) | interface MDCSwitchAdapter {
type MDCSwitchRenderAdapter (line 65) | interface MDCSwitchRenderAdapter extends MDCSwitchAdapter {
FILE: packages/mdc-switch/component.ts
class MDCSwitch (line 37) | class MDCSwitch extends
method attachTo (line 45) | static override attachTo(root: HTMLButtonElement) {
method constructor (line 57) | constructor(
method initialize (line 63) | override initialize() {
method initialSyncWithDOM (line 67) | override initialSyncWithDOM() {
method destroy (line 79) | override destroy() {
method getDefaultFoundation (line 85) | override getDefaultFoundation() {
method createAdapter (line 89) | protected createAdapter(): MDCSwitchRenderAdapter {
method createRippleFoundation (line 109) | protected createRippleFoundation() {
method createRippleAdapter (line 113) | protected createRippleAdapter(): MDCRippleAdapter {
FILE: packages/mdc-switch/constants.ts
type CssClasses (line 27) | enum CssClasses {
type Selectors (line 36) | enum Selectors {
FILE: packages/mdc-switch/deprecated/adapter.ts
type MDCSwitchAdapter (line 31) | interface MDCSwitchAdapter {
FILE: packages/mdc-switch/deprecated/component.ts
class MDCSwitch (line 39) | class MDCSwitch
method attachTo (line 43) | static override attachTo(root: HTMLElement) {
method destroy (line 52) | override destroy() {
method initialSyncWithDOM (line 58) | override initialSyncWithDOM() {
method getDefaultFoundation (line 70) | override getDefaultFoundation() {
method ripple (line 97) | get ripple() {
method checked (line 101) | get checked() {
method checked (line 105) | set checked(checked) {
method disabled (line 109) | get disabled() {
method disabled (line 113) | set disabled(disabled) {
method createRipple (line 117) | private createRipple(): MDCRipple {
method nativeControl (line 160) | private get nativeControl() {
FILE: packages/mdc-switch/deprecated/foundation.ts
class MDCSwitchFoundation (line 30) | class MDCSwitchFoundation extends MDCFoundation<MDCSwitchAdapter> {
method strings (line 32) | static override get strings() {
method cssClasses (line 37) | static override get cssClasses() {
method defaultAdapter (line 42) | static override get defaultAdapter(): MDCSwitchAdapter {
method constructor (line 52) | constructor(adapter?: Partial<MDCSwitchAdapter>) {
method setChecked (line 57) | setChecked(checked: boolean) {
method setDisabled (line 64) | setDisabled(disabled: boolean) {
method handleChange (line 74) | handleChange(event: Event) {
method updateCheckedStyling (line 81) | private updateCheckedStyling(checked: boolean) {
method updateAriaChecked (line 89) | private updateAriaChecked(checked: boolean) {
FILE: packages/mdc-switch/deprecated/test/component.test.ts
function getFixture (line 36) | function getFixture(): HTMLElement {
function setupTest (line 49) | function setupTest() {
function setupMockFoundationTest (line 138) | function setupMockFoundationTest(root = getFixture()) {
FILE: packages/mdc-switch/deprecated/test/foundation.test.ts
function setupTest (line 27) | function setupTest() {
FILE: packages/mdc-switch/foundation.ts
class MDCSwitchFoundation (line 36) | class MDCSwitchFoundation extends MDCObserverFoundation<MDCSwitchAdapter> {
method constructor (line 37) | constructor(adapter: MDCSwitchAdapter) {
method init (line 45) | override init() {
method handleClick (line 56) | handleClick() {
method stopProcessingIfDisabled (line 64) | protected stopProcessingIfDisabled() {
class MDCSwitchRenderFoundation (line 80) | class MDCSwitchRenderFoundation extends MDCSwitchFoundation {
method init (line 86) | override init() {
method initFromDOM (line 101) | initFromDOM() {
method onDisabledChange (line 118) | protected onDisabledChange() {
method onProcessingChange (line 122) | protected onProcessingChange() {
method onSelectedChange (line 126) | protected onSelectedChange() {
method toggleClass (line 132) | private toggleClass(addClass: boolean, className: CssClasses) {
FILE: packages/mdc-switch/test/component.test.ts
function getFixture (line 35) | function getFixture() {
class MockMDCSwitch (line 61) | class MockMDCSwitch extends MDCSwitch {
method attachTo (line 62) | static override attachTo(root: HTMLButtonElement) {
method getDefaultFoundation (line 69) | override getDefaultFoundation() {
method createAdapter (line 77) | protected override createAdapter() {
function setupTest (line 84) | function setupTest() {
FILE: packages/mdc-switch/test/foundation.test.ts
function setupTest (line 31) | function setupTest() {
function setupTest (line 89) | function setupTest() {
FILE: packages/mdc-tab-bar/adapter.ts
type MDCTabBarAdapter (line 33) | interface MDCTabBarAdapter {
FILE: packages/mdc-tab-bar/component.ts
class MDCTabBar (line 40) | class MDCTabBar extends MDCComponent<MDCTabBarFoundation> {
method attachTo (line 41) | static override attachTo(root: HTMLElement): MDCTabBar {
method focusOnActivate (line 53) | set focusOnActivate(focusOnActivate: boolean) {
method useAutomaticActivation (line 59) | set useAutomaticActivation(useAutomaticActivation: boolean) {
method initialize (line 63) | override initialize(
method initialSyncWithDOM (line 72) | override initialSyncWithDOM() {
method destroy (line 92) | override destroy() {
method getDefaultFoundation (line 106) | override getDefaultFoundation() {
method activateTab (line 174) | activateTab(index: number) {
method scrollIntoView (line 182) | scrollIntoView(index: number) {
method getTabElements (line 189) | private getTabElements() {
method instantiateTabs (line 197) | private instantiateTabs(tabFactory: MDCTabFactory) {
method instantiatetabScroller (line 207) | private instantiatetabScroller(tabScrollerFactory: MDCTabScrollerFacto...
FILE: packages/mdc-tab-bar/foundation.ts
constant ACCEPTABLE_KEYS (line 30) | const ACCEPTABLE_KEYS = new Set<string>();
constant KEYCODE_MAP (line 40) | const KEYCODE_MAP = new Map<number, string>();
class MDCTabBarFoundation (line 51) | class MDCTabBarFoundation extends MDCFoundation<MDCTabBarAdapter> {
method strings (line 52) | static override get strings() {
method numbers (line 56) | static override get numbers() {
method defaultAdapter (line 60) | static override get defaultAdapter(): MDCTabBarAdapter {
method constructor (line 88) | constructor(adapter?: Partial<MDCTabBarAdapter>) {
method setUseAutomaticActivation (line 96) | setUseAutomaticActivation(useAutomaticActivation: boolean) {
method activateTab (line 100) | activateTab(index: number) {
method handleKeyDown (line 119) | handleKeyDown(event: KeyboardEvent) {
method handleTabInteraction (line 153) | handleTabInteraction(event: MDCTabInteractionEvent) {
method scrollIntoView (line 161) | scrollIntoView(index: number) {
method determineTargetFromKey (line 194) | private determineTargetFromKey(origin: number, key: string): number {
method calculateScrollIncrement (line 231) | private calculateScrollIncrement(
method calculateScrollIncrementRTL (line 261) | private calculateScrollIncrementRTL(
method findAdjacentTabIndexClosestToEdge (line 291) | private findAdjacentTabIndexClosestToEdge(
method findAdjacentTabIndexClosestToEdgeRTL (line 348) | private findAdjacentTabIndexClosestToEdgeRTL(
method getKeyFromEvent (line 378) | private getKeyFromEvent(event: KeyboardEvent): string {
method isActivationKey (line 385) | private isActivationKey(key: string) {
method indexIsInRange (line 393) | private indexIsInRange(index: number) {
method isRTL (line 400) | private isRTL(): boolean {
method scrollIntoViewImpl (line 408) | private scrollIntoViewImpl(index: number) {
method scrollIntoViewImplRTL (line 428) | private scrollIntoViewImplRTL(index: number) {
FILE: packages/mdc-tab-bar/test/component.test.ts
function getFixture (line 30) | function getFixture() {
class FakeTab (line 61) | class FakeTab {
class FakeTabScroller (line 73) | class FakeTabScroller {
function setupTest (line 110) | function setupTest() {
function setupMockFoundationTest (line 117) | function setupMockFoundationTest() {
FILE: packages/mdc-tab-bar/test/foundation.test.ts
function setupTest (line 29) | function setupTest() {
function setupScrollIntoViewTest (line 532) | function setupScrollIntoViewTest({
FILE: packages/mdc-tab-bar/types.ts
type MDCTabBarActivatedEventDetail (line 24) | interface MDCTabBarActivatedEventDetail {
type MDCTabBarActivatedEvent (line 30) | interface MDCTabBarActivatedEvent extends Event {
FILE: packages/mdc-tab-indicator/adapter.ts
type MDCTabIndicatorAdapter (line 31) | interface MDCTabIndicatorAdapter {
FILE: packages/mdc-tab-indicator/component.ts
type MDCTabIndicatorFactory (line 32) | type MDCTabIndicatorFactory =
class MDCTabIndicator (line 37) | class MDCTabIndicator extends MDCComponent<MDCTabIndicatorFoundation> {
method attachTo (line 38) | static override attachTo(root: HTMLElement): MDCTabIndicator {
method initialize (line 44) | override initialize() {
method computeContentClientRect (line 49) | computeContentClientRect(): DOMRect {
method getDefaultFoundation (line 53) | override getDefaultFoundation() {
method activate (line 81) | activate(previousIndicatorClientRect?: DOMRect) {
method deactivate (line 85) | deactivate() {
FILE: packages/mdc-tab-indicator/fading-foundation.ts
class MDCFadingTabIndicatorFoundation (line 27) | class MDCFadingTabIndicatorFoundation extends MDCTabIndicatorFoundation {
method activate (line 28) | activate() {
method deactivate (line 32) | deactivate() {
FILE: packages/mdc-tab-indicator/foundation.ts
method cssClasses (line 32) | static override get cssClasses() {
method strings (line 36) | static override get strings() {
method defaultAdapter (line 40) | static override get defaultAdapter(): MDCTabIndicatorAdapter {
method constructor (line 52) | constructor(adapter?: Partial<MDCTabIndicatorAdapter>) {
method computeContentClientRect (line 56) | computeContentClientRect(): DOMRect {
FILE: packages/mdc-tab-indicator/sliding-foundation.ts
class MDCSlidingTabIndicatorFoundation (line 27) | class MDCSlidingTabIndicatorFoundation extends
method activate (line 29) | activate(previousIndicatorClientRect?: DOMRect) {
method deactivate (line 60) | deactivate() {
FILE: packages/mdc-tab-indicator/test/component.test.ts
function getFixture (line 28) | function getFixture() {
function getFadingFixture (line 36) | function getFadingFixture() {
function setupTest (line 56) | function setupTest() {
function setupMockSlidingFoundationTest (line 95) | function setupMockSlidingFoundationTest(root = getFixture()) {
function setupMockFadingFoundationTest (line 102) | function setupMockFadingFoundationTest(root = getFadingFixture()) {
FILE: packages/mdc-tab-scroller/adapter.ts
type MDCTabScrollerAdapter (line 31) | interface MDCTabScrollerAdapter {
FILE: packages/mdc-tab-scroller/component.ts
type InteractionEventType (line 33) | type InteractionEventType =
type MDCTabScrollerFactory (line 37) | type MDCTabScrollerFactory =
class MDCTabScroller (line 41) | class MDCTabScroller extends MDCComponent<MDCTabScrollerFoundation> {
method attachTo (line 42) | static override attachTo(root: HTMLElement): MDCTabScroller {
method initialize (line 55) | override initialize() {
method initialSyncWithDOM (line 62) | override initialSyncWithDOM() {
method destroy (line 82) | override destroy() {
method getDefaultFoundation (line 98) | override getDefaultFoundation() {
method getScrollPosition (line 140) | getScrollPosition(): number {
method getScrollContentWidth (line 147) | getScrollContentWidth(): number {
method incrementScroll (line 156) | incrementScroll(scrollXIncrement: number) {
method scrollTo (line 164) | scrollTo(scrollX: number) {
FILE: packages/mdc-tab-scroller/foundation.ts
class MDCTabScrollerFoundation (line 35) | class MDCTabScrollerFoundation extends
method cssClasses (line 37) | static override get cssClasses() {
method strings (line 41) | static override get strings() {
method defaultAdapter (line 45) | static override get defaultAdapter(): MDCTabScrollerAdapter {
method constructor (line 81) | constructor(adapter?: Partial<MDCTabScrollerAdapter>) {
method init (line 85) | override init() {
method getScrollPosition (line 100) | getScrollPosition(): number {
method handleInteraction (line 113) | handleInteraction() {
method handleTransitionEnd (line 126) | handleTransitionEnd(event: Event) {
method incrementScroll (line 144) | incrementScroll(scrollXIncrement: number) {
method incrementScrollImmediate (line 157) | incrementScrollImmediate(scrollXIncrement: number) {
method scrollTo (line 175) | scrollTo(scrollX: number) {
method getRTLScroller (line 187) | getRTLScroller(): MDCTabScrollerRTL {
method calculateCurrentTranslateX (line 198) | private calculateCurrentTranslateX(): number {
method clampScrollValue (line 228) | private clampScrollValue(scrollX: number): number {
method computeCurrentScrollPositionRTL (line 233) | private computeCurrentScrollPositionRTL(): number {
method calculateScrollEdges (line 238) | private calculateScrollEdges(): MDCTabScrollerHorizontalEdges {
method scrollToImpl (line 251) | private scrollToImpl(scrollX: number) {
method scrollToImplRTL (line 265) | private scrollToImplRTL(scrollX: number) {
method getIncrementScrollOperation (line 276) | private getIncrementScrollOperation(scrollX: number):
method animate (line 296) | private animate(animation: MDCTabScrollerAnimation) {
method stopScrollAnimation (line 323) | private stopScrollAnimation() {
method getAnimatingScrollPosition (line 334) | private getAnimatingScrollPosition(): number {
method rtlScrollerFactory (line 348) | private rtlScrollerFactory(): MDCTabScrollerRTL {
method isRTL (line 397) | private isRTL(): boolean {
FILE: packages/mdc-tab-scroller/rtl-default-scroller.ts
class MDCTabScrollerRTLDefault (line 28) | class MDCTabScrollerRTLDefault extends MDCTabScrollerRTL {
method getScrollPositionRTL (line 29) | getScrollPositionRTL(): number {
method scrollToRTL (line 36) | scrollToRTL(scrollX: number): MDCTabScrollerAnimation {
method incrementScrollRTL (line 46) | incrementScrollRTL(scrollX: number): MDCTabScrollerAnimation {
method getAnimatingScrollPosition (line 56) | getAnimatingScrollPosition(scrollX: number): number {
method calculateScrollEdges (line 60) | private calculateScrollEdges(): MDCTabScrollerHorizontalEdges {
method clampScrollValue (line 69) | private clampScrollValue(scrollX: number): number {
FILE: packages/mdc-tab-scroller/rtl-negative-scroller.ts
class MDCTabScrollerRTLNegative (line 28) | class MDCTabScrollerRTLNegative extends MDCTabScrollerRTL {
method getScrollPositionRTL (line 29) | getScrollPositionRTL(translateX: number): number {
method scrollToRTL (line 34) | scrollToRTL(scrollX: number): MDCTabScrollerAnimation {
method incrementScrollRTL (line 43) | incrementScrollRTL(scrollX: number): MDCTabScrollerAnimation {
method getAnimatingScrollPosition (line 53) | getAnimatingScrollPosition(scrollX: number, translateX: number): number {
method calculateScrollEdges (line 57) | private calculateScrollEdges(): MDCTabScrollerHorizontalEdges {
method clampScrollValue (line 66) | private clampScrollValue(scrollX: number): number {
FILE: packages/mdc-tab-scroller/rtl-reverse-scroller.ts
class MDCTabScrollerRTLReverse (line 28) | class MDCTabScrollerRTLReverse extends MDCTabScrollerRTL {
method getScrollPositionRTL (line 29) | getScrollPositionRTL(translateX: number): number {
method scrollToRTL (line 35) | scrollToRTL(scrollX: number): MDCTabScrollerAnimation {
method incrementScrollRTL (line 44) | incrementScrollRTL(scrollX: number): MDCTabScrollerAnimation {
method getAnimatingScrollPosition (line 54) | getAnimatingScrollPosition(scrollX: number, translateX: number): number {
method calculateScrollEdges (line 58) | private calculateScrollEdges(): MDCTabScrollerHorizontalEdges {
method clampScrollValue (line 67) | private clampScrollValue(scrollX: number): number {
FILE: packages/mdc-tab-scroller/rtl-scroller.ts
method constructor (line 29) | constructor(protected readonly adapter: MDCTabScrollerAdapter) {}
FILE: packages/mdc-tab-scroller/test/component.test.ts
function getFixture (line 30) | function getFixture() {
function setupTest (line 40) | function setupTest() {
function setupScrollLeftTests (line 117) | function setupScrollLeftTests() {
function setupMockFoundationTest (line 202) | function setupMockFoundationTest(root = getFixture()) {
function setupTestRTL (line 237) | function setupTestRTL() {
FILE: packages/mdc-tab-scroller/test/foundation.test.ts
function setupTest (line 31) | function setupTest() {
function setupScrollToTest (line 37) | function setupScrollToTest({
function setupHandleInteractionTest (line 118) | function setupHandleInteractionTest({scrollLeft = 0, translateX = 99} = ...
function setupScrollToRTLTest (line 420) | function setupScrollToRTLTest() {
function setupNegativeScroller (line 473) | function setupNegativeScroller() {
function setupReverseScroller (line 509) | function setupReverseScroller() {
function setupDefaultScroller (line 545) | function setupDefaultScroller() {
FILE: packages/mdc-tab-scroller/test/util.test.ts
function createMockDocumentForHorizontalScrollbarHeight (line 27) | function createMockDocumentForHorizontalScrollbarHeight(height: number) {
FILE: packages/mdc-tab-scroller/types.ts
type MDCTabScrollerAnimation (line 35) | interface MDCTabScrollerAnimation {
type MDCTabScrollerHorizontalEdges (line 46) | interface MDCTabScrollerHorizontalEdges {
FILE: packages/mdc-tab-scroller/util.ts
function computeHorizontalScrollbarHeight (line 37) | function computeHorizontalScrollbarHeight(
FILE: packages/mdc-tab/adapter.ts
type MDCTabAdapter (line 31) | interface MDCTabAdapter {
FILE: packages/mdc-tab/component.ts
type MDCTabFactory (line 36) | type MDCTabFactory = (el: HTMLElement, foundation?: MDCTabFoundation) =>
class MDCTab (line 40) | class MDCTab extends MDCComponent<MDCTabFoundation> implements
method attachTo (line 42) | static override attachTo(root: HTMLElement): MDCTab {
method initialize (line 54) | override initialize(
method initialSyncWithDOM (line 72) | override initialSyncWithDOM() {
method destroy (line 79) | override destroy() {
method getDefaultFoundation (line 85) | override getDefaultFoundation() {
method active (line 128) | get active(): boolean {
method focusOnActivate (line 132) | set focusOnActivate(focusOnActivate: boolean) {
method activate (line 139) | activate(computeIndicatorClientRect?: DOMRect) {
method deactivate (line 146) | deactivate() {
method computeIndicatorClientRect (line 153) | computeIndicatorClientRect(): DOMRect {
method computeDimensions (line 157) | computeDimensions(): MDCTabDimensions {
method focus (line 164) | focus() {
FILE: packages/mdc-tab/foundation.ts
class MDCTabFoundation (line 31) | class MDCTabFoundation extends MDCFoundation<MDCTabAdapter> {
method cssClasses (line 32) | static override get cssClasses() {
method strings (line 36) | static override get strings() {
method defaultAdapter (line 40) | static override get defaultAdapter(): MDCTabAdapter {
method constructor (line 62) | constructor(adapter?: Partial<MDCTabAdapter>) {
method handleClick (line 66) | handleClick() {
method isActive (line 72) | isActive(): boolean {
method setFocusOnActivate (line 79) | setFocusOnActivate(focusOnActivate: boolean) {
method activate (line 86) | activate(previousIndicatorClientRect?: DOMRect) {
method deactivate (line 99) | deactivate() {
method computeDimensions (line 114) | computeDimensions(): MDCTabDimensions {
FILE: packages/mdc-tab/test/component.test.ts
function getFixture (line 30) | function getFixture() {
function setupTest (line 44) | function setupTest({useMockFoundation = false} = {}) {
FILE: packages/mdc-tab/test/foundation.test.ts
function setupTest (line 28) | function setupTest() {
FILE: packages/mdc-tab/types.ts
type MDCTabDimensions (line 29) | interface MDCTabDimensions {
type MDCTabInteractionEventDetail (line 36) | interface MDCTabInteractionEventDetail {
type MDCTabInteractionEvent (line 42) | interface MDCTabInteractionEvent extends Event {
FILE: packages/mdc-textfield/adapter.ts
type MDCTextFieldAdapter (line 35) | interface MDCTextFieldAdapter extends MDCTextFieldRootAdapter,
type MDCTextFieldRootAdapter (line 41) | interface MDCTextFieldRootAdapter {
type MDCTextFieldInputAdapter (line 82) | interface MDCTextFieldInputAdapter {
type MDCTextFieldLabelAdapter (line 120) | interface MDCTextFieldLabelAdapter {
type MDCTextFieldLineRippleAdapter (line 151) | interface MDCTextFieldLineRippleAdapter {
type MDCTextFieldOutlineAdapter (line 168) | interface MDCTextFieldOutlineAdapter {
FILE: packages/mdc-textfield/character-counter/adapter.ts
type MDCTextFieldCharacterCounterAdapter (line 31) | interface MDCTextFieldCharacterCounterAdapter {
FILE: packages/mdc-textfield/character-counter/component.ts
type MDCTextFieldCharacterCounterFactory (line 30) | type MDCTextFieldCharacterCounterFactory =
class MDCTextFieldCharacterCounter (line 35) | class MDCTextFieldCharacterCounter extends
method attachTo (line 37) | static override attachTo(root: HTMLElement): MDCTextFieldCharacterCoun...
method foundationForTextField (line 42) | get foundationForTextField(): MDCTextFieldCharacterCounterFoundation {
method getDefaultFoundation (line 46) | override getDefaultFoundation() {
FILE: packages/mdc-textfield/character-counter/foundation.ts
class MDCTextFieldCharacterCounterFoundation (line 30) | class MDCTextFieldCharacterCounterFoundation extends
method cssClasses (line 32) | static override get cssClasses() {
method strings (line 36) | static override get strings() {
method defaultAdapter (line 44) | static override get defaultAdapter(): MDCTextFieldCharacterCounterAdap...
method constructor (line 51) | constructor(adapter?: Partial<MDCTextFieldCharacterCounterAdapter>) {
method setCounterValue (line 56) | setCounterValue(currentLength: number, maxLength: number) {
FILE: packages/mdc-textfield/character-counter/test/component.test.ts
function setupTest (line 42) | function setupTest() {
FILE: packages/mdc-textfield/component.ts
class MDCTextField (line 46) | class MDCTextField extends
method attachTo (line 48) | static override attachTo(root: HTMLElement): MDCTextField {
method initialize (line 69) | override initialize(
method destroy (line 140) | override destroy() {
method initialSyncWithDOM (line 172) | override initialSyncWithDOM() {
method value (line 176) | get value(): string {
method value (line 183) | set value(value: string) {
method disabled (line 187) | get disabled(): boolean {
method disabled (line 194) | set disabled(disabled: boolean) {
method valid (line 198) | get valid(): boolean {
method valid (line 205) | set valid(valid: boolean) {
method required (line 209) | get required(): boolean {
method required (line 216) | set required(required: boolean) {
method pattern (line 220) | get pattern(): string {
method pattern (line 227) | set pattern(pattern: string) {
method minLength (line 231) | get minLength(): number {
method minLength (line 238) | set minLength(minLength: number) {
method maxLength (line 242) | get maxLength(): number {
method maxLength (line 249) | set maxLength(maxLength: number) {
method min (line 258) | get min(): string {
method min (line 265) | set min(min: string) {
method max (line 269) | get max(): string {
method max (line 276) | set max(max: string) {
method step (line 280) | get step(): string {
method step (line 287) | set step(step: string) {
method helperTextContent (line 294) | set helperTextContent(content: string) {
method leadingIconAriaLabel (line 301) | set leadingIconAriaLabel(label: string) {
method leadingIconContent (line 308) | set leadingIconContent(content: string) {
method trailingIconAriaLabel (line 315) | set trailingIconAriaLabel(label: string) {
method trailingIconContent (line 322) | set trailingIconContent(content: string) {
method useNativeValidation (line 332) | set useNativeValidation(useNativeValidation: boolean) {
method prefixText (line 339) | get prefixText(): string|null {
method prefixText (line 346) | set prefixText(prefixText: string|null) {
method suffixText (line 355) | get suffixText(): string|null {
method suffixText (line 362) | set suffixText(suffixText: string|null) {
method focus (line 371) | focus() {
method layout (line 378) | layout() {
method getDefaultFoundation (line 383) | override getDefaultFoundation() {
method getRootAdapterMethods (line 399) | private getRootAdapterMethods(): MDCTextFieldRootAdapter {
method getInputAdapterMethods (line 435) | private getInputAdapterMethods(): MDCTextFieldInputAdapter {
method getLabelAdapterMethods (line 456) | private getLabelAdapterMethods(): MDCTextFieldLabelAdapter {
method getLineRippleAdapterMethods (line 472) | private getLineRippleAdapterMethods(): MDCTextFieldLineRippleAdapter {
method getOutlineAdapterMethods (line 492) | private getOutlineAdapterMethods(): MDCTextFieldOutlineAdapter {
method getFoundationMap (line 507) | private getFoundationMap(): Partial<MDCTextFieldFoundationMap> {
method createRipple (line 522) | private createRipple(rippleFactory: MDCRippleFactory): MDCRipple|null {
FILE: packages/mdc-textfield/constants.ts
constant VALIDATION_ATTR_WHITELIST (line 61) | const VALIDATION_ATTR_WHITELIST = [
constant ALWAYS_FLOAT_TYPES (line 75) | const ALWAYS_FLOAT_TYPES = [
FILE: packages/mdc-textfield/foundation.ts
type PointerDownEventType (line 34) | type PointerDownEventType = 'mousedown'|'touchstart';
type InteractionEventType (line 35) | type InteractionEventType = 'click'|'keydown';
constant POINTERDOWN_EVENTS (line 37) | const POINTERDOWN_EVENTS: PointerDownEventType[] = ['mousedown', 'touchs...
constant INTERACTION_EVENTS (line 38) | const INTERACTION_EVENTS: InteractionEventType[] = ['click', 'keydown'];
class MDCTextFieldFoundation (line 41) | class MDCTextFieldFoundation extends MDCFoundation<MDCTextFieldAdapter> {
method cssClasses (line 42) | static override get cssClasses() {
method strings (line 46) | static override get strings() {
method numbers (line 50) | static override get numbers() {
method shouldAlwaysFloat (line 54) | private get shouldAlwaysFloat(): boolean {
method shouldFloat (line 59) | get shouldFloat(): boolean {
method shouldShake (line 64) | get shouldShake(): boolean {
method defaultAdapter (line 72) | static override get defaultAdapter(): MDCTextFieldAdapter {
method constructor (line 130) | constructor(
method init (line 162) | override init() {
method destroy (line 194) | override destroy() {
method handleTextFieldInteraction (line 216) | handleTextFieldInteraction() {
method handleValidationAttributeChange (line 227) | handleValidationAttributeChange(attributesList: string[]): void {
method notchOutline (line 245) | notchOutline(openNotch: boolean) {
method activateFocus (line 261) | activateFocus() {
method setTransformOrigin (line 282) | setTransformOrigin(event: TouchEvent|MouseEvent): void {
method handleInput (line 299) | handleInput() {
method autoCompleteFocus (line 308) | autoCompleteFocus() {
method deactivateFocus (line 317) | deactivateFocus() {
method getValue (line 334) | getValue(): string {
method setValue (line 341) | setValue(value: string): void {
method isValid (line 366) | isValid(): boolean {
method setValid (line 373) | setValid(isValid: boolean): void {
method setValidateOnValueChange (line 387) | setValidateOnValueChange(shouldValidate: boolean): void {
method getValidateOnValueChange (line 395) | getValidateOnValueChange(): boolean {
method setUseNativeValidation (line 405) | setUseNativeValidation(useNativeValidation: boolean): void {
method isDisabled (line 409) | isDisabled(): boolean {
method setDisabled (line 416) | setDisabled(disabled: boolean): void {
method setHelperTextContent (line 424) | setHelperTextContent(content: string): void {
method setLeadingIconAriaLabel (line 433) | setLeadingIconAriaLabel(label: string): void {
method setLeadingIconContent (line 442) | setLeadingIconContent(content: string): void {
method setTrailingIconAriaLabel (line 451) | setTrailingIconAriaLabel(label: string): void {
method setTrailingIconContent (line 460) | setTrailingIconContent(content: string): void {
method setcharacterCounter (line 470) | private setcharacterCounter(currentLength: number): void {
method isBadInput (line 488) | private isBadInput(): boolean {
method isNativeInputValid (line 496) | private isNativeInputValid(): boolean {
method styleValidity (line 503) | private styleValidity(isValid: boolean): void {
method styleFocused (line 534) | private styleFocused(isFocused: boolean): void {
method styleDisabled (line 546) | private styleDisabled(isDisabled: boolean): void {
method styleFloating (line 567) | private styleFloating(isFloating: boolean): void {
method getNativeInput (line 580) | private getNativeInput(): MDCTextFieldNativeInputElement {
FILE: packages/mdc-textfield/helper-text/adapter.ts
type MDCTextFieldHelperTextAdapter (line 31) | interface MDCTextFieldHelperTextAdapter {
FILE: packages/mdc-textfield/helper-text/component.ts
type MDCTextFieldHelperTextFactory (line 30) | type MDCTextFieldHelperTextFactory =
class MDCTextFieldHelperText (line 35) | class MDCTextFieldHelperText extends
method attachTo (line 37) | static override attachTo(root: HTMLElement): MDCTextFieldHelperText {
method foundationForTextField (line 42) | get foundationForTextField(): MDCTextFieldHelperTextFoundation {
method getDefaultFoundation (line 46) | override getDefaultFoundation() {
FILE: packages/mdc-textfield/helper-text/foundation.ts
class MDCTextFieldHelperTextFoundation (line 30) | class MDCTextFieldHelperTextFoundation extends
method cssClasses (line 32) | static override get cssClasses() {
method strings (line 36) | static override get strings() {
method defaultAdapter (line 44) | static override get defaultAdapter(): MDCTextFieldHelperTextAdapter {
method constructor (line 58) | constructor(adapter?: Partial<MDCTextFieldHelperTextAdapter>) {
method getId (line 63) | getId(): string|null {
method isVisible (line 67) | isVisible(): boolean {
method setContent (line 74) | setContent(content: string) {
method isPersistent (line 78) | isPersistent(): boolean {
method setPersistent (line 85) | setPersistent(isPersistent: boolean) {
method isValidation (line 96) | isValidation(): boolean {
method setValidation (line 104) | setValidation(isValidation: boolean) {
method showToScreenReader (line 115) | showToScreenReader() {
method setValidity (line 122) | setValidity(inputIsValid: boolean) {
method hide (line 151) | private hide() {
method refreshAlertRole (line 155) | private refreshAlertRole() {
FILE: packages/mdc-textfield/helper-text/test/component.test.ts
function setupTest (line 42) | function setupTest() {
FILE: packages/mdc-textfield/icon/adapter.ts
type MDCTextFieldIconAdapter (line 33) | interface MDCTextFieldIconAdapter {
FILE: packages/mdc-textfield/icon/component.ts
type MDCTextFieldIconFactory (line 30) | type MDCTextFieldIconFactory =
class MDCTextFieldIcon (line 35) | class MDCTextFieldIcon extends MDCComponent<MDCTextFieldIconFoundation> {
method attachTo (line 36) | static override attachTo(root: HTMLElement): MDCTextFieldIcon {
method foundationForTextField (line 41) | get foundationForTextField(): MDCTextFieldIconFoundation {
method getDefaultFoundation (line 45) | override getDefaultFoundation() {
FILE: packages/mdc-textfield/icon/foundation.ts
type InteractionEventType (line 30) | type InteractionEventType = 'click'|'keydown';
constant INTERACTION_EVENTS (line 32) | const INTERACTION_EVENTS: InteractionEventType[] = ['click', 'keydown'];
class MDCTextFieldIconFoundation (line 35) | class MDCTextFieldIconFoundation extends
method strings (line 37) | static override get strings() {
method cssClasses (line 41) | static override get cssClasses() {
method defaultAdapter (line 49) | static override get defaultAdapter(): MDCTextFieldIconAdapter {
method constructor (line 67) | constructor(adapter?: Partial<MDCTextFieldIconAdapter>) {
method init (line 75) | override init() {
method destroy (line 83) | override destroy() {
method setDisabled (line 90) | setDisabled(disabled: boolean) {
method setAriaLabel (line 104) | setAriaLabel(label: string) {
method setContent (line 108) | setContent(content: string) {
method handleInteraction (line 112) | handleInteraction(event: MouseEvent|KeyboardEvent) {
FILE: packages/mdc-textfield/icon/test/component.test.ts
function setupTest (line 41) | function setupTest() {
FILE: packages/mdc-textfield/test/component.test.ts
function getFixture (line 37) | function getFixture() {
function getHelperLineWithHelperText (line 48) | function getHelperLineWithHelperText() {
function getHelperLineWithCharacterCounter (line 56) | function getHelperLineWithCharacterCounter() {
function getFixtureWithPrefix (line 64) | function getFixtureWithPrefix() {
function getFixtureWithSuffix (line 75) | function getFixtureWithSuffix() {
class FakeRipple (line 92) | class FakeRipple {
method constructor (line 95) | constructor(readonly root: HTMLElement) {
class FakeLineRipple (line 100) | class FakeLineRipple {
method constructor (line 108) | constructor() {
class FakeHelperText (line 118) | class FakeHelperText {
method constructor (line 120) | constructor() {
class FakeCharacterCounter (line 125) | class FakeCharacterCounter {
method constructor (line 127) | constructor() {
class FakeIcon (line 132) | class FakeIcon {
method constructor (line 134) | constructor() {
class FakeLabel (line 139) | class FakeLabel {
method constructor (line 143) | constructor() {
class FakeOutline (line 150) | class FakeOutline {
method constructor (line 152) | constructor() {
function setupTest (line 330) | function setupTest(root = getFixture()) {
function setupMockFoundationTest (line 707) | function setupMockFoundationTest(root = getFixture()) {
FILE: packages/mdc-textfield/test/foundation.test.ts
constant LABEL_WIDTH (line 30) | const LABEL_WIDTH = 100;
FILE: packages/mdc-textfield/types.ts
type MDCTextFieldNativeInputElement (line 28) | type MDCTextFieldNativeInputElement =
type MDCTextFieldFoundationMap (line 33) | interface MDCTextFieldFoundationMap {
FILE: packages/mdc-tooltip/adapter.ts
type MDCTooltipAdapter (line 34) | interface MDCTooltipAdapter {
FILE: packages/mdc-tooltip/component.ts
constant ARIA_ATTR_PREFIX (line 40) | const ARIA_ATTR_PREFIX = [safeAttrPrefix`aria-`];
class MDCTooltip (line 43) | class MDCTooltip extends MDCComponent<MDCTooltipFoundation> {
method attachTo (line 44) | static override attachTo(root: HTMLElement) {
method initialize (line 60) | override initialize() {
method initialSyncWithDOM (line 77) | override initialSyncWithDOM() {
method destroy (line 123) | override destroy() {
method setTooltipPosition (line 149) | setTooltipPosition(position: {
method setAnchorBoundaryType (line 157) | setAnchorBoundaryType(type: AnchorBoundaryType) {
method setShowDelay (line 161) | setShowDelay(delayMs: number) {
method setHideDelay (line 165) | setHideDelay(delayMs: number) {
method hide (line 169) | hide() {
method isShown (line 173) | isShown() {
method attachScrollHandler (line 184) | attachScrollHandler(
method removeScrollHandler (line 197) | removeScrollHandler(
method getDefaultFoundation (line 206) | override getDefaultFoundation() {
FILE: packages/mdc-tooltip/constants.ts
type CssClasses (line 24) | enum CssClasses {
type XPosition (line 72) | enum XPosition {
type YPosition (line 83) | enum YPosition {
type AnchorBoundaryType (line 98) | enum AnchorBoundaryType {
type PositionWithCaret (line 118) | enum PositionWithCaret {
type YPositionWithCaret (line 138) | enum YPositionWithCaret {
type XPositionWithCaret (line 146) | enum XPositionWithCaret {
FILE: packages/mdc-tooltip/foundation.ts
type AnimationKeys (line 43) | enum AnimationKeys {
constant HAS_WINDOW (line 48) | const HAS_WINDOW = typeof window !== 'undefined';
class MDCTooltipFoundation (line 51) | class MDCTooltipFoundation extends MDCFoundation<MDCTooltipAdapter> {
method defaultAdapter (line 52) | static override get defaultAdapter(): MDCTooltipAdapter {
method constructor (line 131) | constructor(adapter?: Partial<MDCTooltipAdapter>) {
method init (line 168) | override init() {
method isShown (line 179) | isShown() {
method isRich (line 183) | isRich() {
method isPersistent (line 187) | isPersistent() {
method handleAnchorMouseEnter (line 191) | handleAnchorMouseEnter() {
method handleAnchorTouchstart (line 209) | handleAnchorTouchstart() {
method preventContextMenuOnLongTouch (line 219) | private preventContextMenuOnLongTouch(event: MouseEvent) {
method tooltipContainsRelatedTargetElement (line 229) | private tooltipContainsRelatedTargetElement(target: EventTarget|
method anchorOrTooltipContainsTargetElement (line 235) | private anchorOrTooltipContainsTargetElement(target: EventTarget|
method handleAnchorTouchend (line 242) | handleAnchorTouchend() {
method handleAnchorFocus (line 253) | handleAnchorFocus(event: FocusEvent) {
method handleAnchorMouseLeave (line 269) | handleAnchorMouseLeave() {
method handleAnchorClick (line 276) | handleAnchorClick() {
method handleDocumentClick (line 284) | handleDocumentClick(event: MouseEvent) {
method handleKeydown (line 300) | handleKeydown(event: KeyboardEvent) {
method handleAnchorBlur (line 322) | private handleAnchorBlur(event: FocusEvent) {
method handleTooltipMouseEnter (line 343) | private handleTooltipMouseEnter() {
method handleTooltipMouseLeave (line 347) | private handleTooltipMouseLeave() {
method handleRichTooltipFocusOut (line 354) | private handleRichTooltipFocusOut(event: FocusEvent) {
method handleWindowScrollEvent (line 374) | private handleWindowScrollEvent() {
method handleWindowChangeEvent (line 384) | private handleWindowChangeEvent() {
method show (line 393) | show() {
method hide (line 447) | hide() {
method handleTransitionEnd (line 499) | handleTransitionEnd() {
method clearAllAnimationClasses (line 522) | private clearAllAnimationClasses() {
method setTooltipPosition (line 527) | setTooltipPosition(position: {
method setAnchorBoundaryType (line 547) | setAnchorBoundaryType(type: AnchorBoundaryType) {
method setShowDelay (line 555) | setShowDelay(delayMs: number) {
method setHideDelay (line 559) | setHideDelay(delayMs: number) {
method isTooltipMultiline (line 563) | private isTooltipMultiline() {
method positionPlainTooltip (line 569) | private positionPlainTooltip() {
method positionRichTooltip (line 585) | private positionRichTooltip() {
method calculateTooltipStyles (line 650) | private calculateTooltipStyles(anchorRect: DOMRect|null) {
method calculateXTooltipDistance (line 672) | private calculateXTooltipDistance(anchorRect: DOMRect, tooltipWidth: n...
method determineValidPositionOptions (line 789) | private determineValidPositionOptions(...positions: number[]) {
method positionHonorsViewportThreshold (line 804) | private positionHonorsViewportThreshold(leftPos: number) {
method positionDoesntCollideWithViewport (line 813) | private positionDoesntCollideWithViewport(leftPos: number) {
method calculateYTooltipDistance (line 825) | private calculateYTooltipDistance(
method determineValidYPositionOptions (line 876) | private determineValidYPositionOptions(...positions: number[]) {
method yPositionHonorsViewportThreshold (line 889) | private yPositionHonorsViewportThreshold(yPos: number) {
method yPositionDoesntCollideWithViewport (line 898) | private yPositionDoesntCollideWithViewport(yPos: number) {
method calculateTooltipWithCaretStyles (line 905) | private calculateTooltipWithCaretStyles(anchorRect: DOMRect|null) {
method calculateXWithCaretDistanceOptions (line 958) | private calculateXWithCaretDistanceOptions(
method calculateYWithCaretDistanceOptions (line 990) | private calculateYWithCaretDistanceOptions(
method repositionTooltipOnAnchorMove (line 1017) | private repositionTooltipOnAnchorMove() {
method validateTooltipWithCaretDistances (line 1046) | private validateTooltipWithCaretDistances(
method generateBackupPositionOption (line 1121) | private generateBackupPositionOption(
method determineTooltipWithCaretDistance (line 1160) | private determineTooltipWithCaretDistance(
method caretPositionOptionsMapping (line 1201) | private caretPositionOptionsMapping(
method setCaretPositionStyles (line 1256) | private setCaretPositionStyles(position: PositionWithCaret, caretSize: {
method calculateCaretPositionOnTooltip (line 1296) | private calculateCaretPositionOnTooltip(
method clearShowTimeout (line 1485) | private clearShowTimeout() {
method clearHideTimeout (line 1492) | private clearHideTimeout() {
method attachScrollHandler (line 1505) | attachScrollHandler(
method removeScrollHandler (line 1517) | removeScrollHandler(
method destroy (line 1526) | override destroy() {
type CaretPosOnTooltip (line 1572) | interface CaretPosOnTooltip {
FILE: packages/mdc-tooltip/test/component.test.ts
function setupTestWithMockFoundation (line 33) | function setupTestWithMockFoundation(fixture: HTMLElement) {
FILE: packages/mdc-tooltip/test/foundation.test.ts
constant CARET_WIDTH (line 31) | const CARET_WIDTH = 24;
constant CARET_HEIGHT (line 32) | const CARET_HEIGHT = 32;
constant RICH_TOOLTIP_WIDTH (line 33) | const RICH_TOOLTIP_WIDTH = '300px';
constant RICH_TOOLTIP_HEIGHT (line 34) | const RICH_TOOLTIP_HEIGHT = '140px';
constant CARET_POSITION_STYLES (line 35) | const CARET_POSITION_STYLES = new Map([
constant CARET_POSITION_STYLES_RTL (line 212) | const CARET_POSITION_STYLES_RTL = new Map([
constant ANIMATION_FRAME (line 231) | const ANIMATION_FRAME = 1;
function expectTooltipToHaveBeenShown (line 236) | function expectTooltipToHaveBeenShown(
function expectTooltipToHaveBeenHidden (line 251) | function expectTooltipToHaveBeenHidden(
function expectTooltipNotToHaveBeenHidden (line 268) | function expectTooltipNotToHaveBeenHidden(
function setUpFoundationTestForRichTooltip (line 284) | function setUpFoundationTestForRichTooltip(
FILE: packages/mdc-top-app-bar/adapter.ts
type MDCTopAppBarAdapter (line 31) | interface MDCTopAppBarAdapter {
FILE: packages/mdc-top-app-bar/component.ts
class MDCTopAppBar (line 36) | class MDCTopAppBar extends MDCComponent<MDCTopAppBarBaseFoundation> {
method attachTo (line 37) | static override attachTo(root: HTMLElement): MDCTopAppBar {
method initialize (line 51) | override initialize(
method initialSyncWithDOM (line 72) | override initialSyncWithDOM() {
method destroy (line 96) | override destroy() {
method setScrollTarget (line 115) | setScrollTarget(target: EventTarget) {
method getDefaultFoundation (line 129) | override getDefaultFoundation() {
FILE: packages/mdc-top-app-bar/fixed/foundation.ts
class MDCFixedTopAppBarFoundation (line 28) | class MDCFixedTopAppBarFoundation extends MDCTopAppBarFoundation {
method handleTargetScroll (line 38) | override handleTargetScroll() {
FILE: packages/mdc-top-app-bar/foundation.ts
class MDCTopAppBarBaseFoundation (line 30) | class MDCTopAppBarBaseFoundation extends
method strings (line 32) | static override get strings() {
method cssClasses (line 36) | static override get cssClasses() {
method numbers (line 40) | static override get numbers() {
method defaultAdapter (line 48) | static override get defaultAdapter(): MDCTopAppBarAdapter {
method constructor (line 64) | constructor(adapter?: Partial<MDCTopAppBarAdapter>) {
method handleTargetScroll (line 69) | handleTargetScroll() {} // tslint:disable-line:no-empty
method handleWindowResize (line 71) | handleWindowResize() {} // tslint:disable-line:no-empty
method handleNavigationClick (line 73) | handleNavigationClick() {
FILE: packages/mdc-top-app-bar/short/foundation.ts
class MDCShortTopAppBarFoundation (line 29) | class MDCShortTopAppBarFoundation extends MDCTopAppBarBaseFoundation {
method isCollapsed (line 31) | get isCollapsed(): boolean {
method constructor (line 40) | constructor(adapter?: Partial<MDCTopAppBarAdapter>) {
method init (line 44) | override init() {
method setAlwaysCollapsed (line 63) | setAlwaysCollapsed(value: boolean) {
method getAlwaysCollapsed (line 73) | getAlwaysCollapsed() {
method handleTargetScroll (line 81) | override handleTargetScroll() {
method maybeCollapseBar (line 85) | private maybeCollapseBar() {
method uncollapse (line 102) | private uncollapse() {
method collapse (line 107) | private collapse() {
FILE: packages/mdc-top-app-bar/standard/foundation.ts
constant INITIAL_VALUE (line 28) | const INITIAL_VALUE = 0;
class MDCTopAppBarFoundation (line 31) | class MDCTopAppBarFoundation extends MDCTopAppBarBaseFoundation {
method constructor (line 77) | constructor(adapter?: Partial<MDCTopAppBarAdapter>) {
method destroy (line 84) | override destroy() {
method handleTargetScroll (line 92) | override handleTargetScroll() {
method handleWindowResize (line 118) | override handleWindowResize() {
method checkForUpdate (line 143) | private checkForUpdate(): boolean {
method moveTopAppBar (line 170) | private moveTopAppBar() {
method throttledResizeHandler (line 188) | private throttledResizeHandler() {
FILE: packages/mdc-top-app-bar/test/component.test.ts
function getFixture (line 33) | function getFixture(removeIcon = false) {
class FakeRipple (line 73) | class FakeRipple {
function setupTest (line 78) | function setupTest(removeIcon = false, rippleFactory = () => new FakeRip...
FILE: scripts/build/clean.js
function main (line 11) | function main() {
function removeDirectory (line 23) | function removeDirectory(directory) {
function removeFilesOfType (line 27) | function removeFilesOfType(type, extraIgnore = []) {
FILE: scripts/build/environment.js
class Environment (line 32) | class Environment {
method setBabelEnv (line 33) | setBabelEnv() {
method isDev (line 43) | isDev() {
method isProd (line 47) | isProd() {
method getNpmLifecycleEvent_ (line 51) | getNpmLifecycleEvent_() {
FILE: scripts/build/path-resolver.js
class PathResolver (line 33) | class PathResolver {
method constructor (line 34) | constructor({
method getProjectRootAbsolutePath (line 49) | getProjectRootAbsolutePath() {
method getAbsolutePath (line 77) | getAbsolutePath(...pathPartsRelativeToProjectRoot) {
method getRelativePath (line 94) | getRelativePath(absolutePathToFile, absolutePathToRoot = this.getProje...
method join (line 104) | join(...pathParts) {
method getFilename (line 113) | getFilename(filePath) {
method removeFileExtension (line 122) | removeFileExtension(filePath) {
FILE: scripts/check-pkg-for-release.js
constant CLI_PACKAGE_JSON_RELATIVE_PATH (line 42) | const CLI_PACKAGE_JSON_RELATIVE_PATH = process.argv[2];
constant PACKAGE_RELATIVE_PATH (line 47) | const PACKAGE_RELATIVE_PATH = CLI_PACKAGE_JSON_RELATIVE_PATH.replace('pa...
constant CLI_PACKAGE_JSON (line 55) | const CLI_PACKAGE_JSON = require(path.resolve(CLI_PACKAGE_JSON_RELATIVE_...
constant WEBPACK_CONFIG_RELATIVE_PATH (line 57) | const WEBPACK_CONFIG_RELATIVE_PATH = 'webpack.config.js';
constant WEBPACK_CONFIG (line 58) | const WEBPACK_CONFIG = require(path.resolve(WEBPACK_CONFIG_RELATIVE_PATH));
constant MASTER_TS_RELATIVE_PATH (line 60) | const MASTER_TS_RELATIVE_PATH = 'packages/material-components-web/index....
constant MASTER_CSS_RELATIVE_PATH (line 61) | const MASTER_CSS_RELATIVE_PATH = 'packages/material-components-web/mater...
constant MASTER_PACKAGE_JSON_RELATIVE_PATH (line 62) | const MASTER_PACKAGE_JSON_RELATIVE_PATH = 'packages/material-components-...
constant MASTER_PACKAGE_JSON (line 63) | const MASTER_PACKAGE_JSON = require(path.resolve(MASTER_PACKAGE_JSON_REL...
constant CSS_EXCLUDES (line 68) | const CSS_EXCLUDES = new Set([
constant JS_EXCLUDES (line 84) | const JS_EXCLUDES = new Set([
constant NOT_AUTOINIT (line 91) | const NOT_AUTOINIT = new Set([
function main (line 103) | function main() {
function checkPublicConfigForNewComponent (line 116) | function checkPublicConfigForNewComponent() {
function checkDependencyAddedInWebpackConfig (line 129) | function checkDependencyAddedInWebpackConfig() {
function checkJSDependencyAddedInWebpackConfig (line 139) | function checkJSDependencyAddedInWebpackConfig() {
function checkCSSDependencyAddedInWebpackConfig (line 156) | function checkCSSDependencyAddedInWebpackConfig() {
function checkDependencyAddedInMDCPackage (line 173) | function checkDependencyAddedInMDCPackage() {
function checkPkgDependencyAddedInMDCPackage (line 184) | function checkPkgDependencyAddedInMDCPackage() {
function checkCSSDependencyAddedInMDCPackage (line 196) | function checkCSSDependencyAddedInMDCPackage() {
function checkJSDependencyAddedInMDCPackage (line 210) | function checkJSDependencyAddedInMDCPackage() {
function checkComponentImportedAddedInMDCPackage (line 232) | function checkComponentImportedAddedInMDCPackage(ast) {
function checkAutoInitAddedInMDCPackage (line 248) | function checkAutoInitAddedInMDCPackage(ast) {
function checkComponentExportedAddedInMDCPackage (line 292) | function checkComponentExportedAddedInMDCPackage(ast) {
function checkUsedDependenciesMatchDeclaredDependencies (line 320) | function checkUsedDependenciesMatchDeclaredDependencies() {
function getPkgName (line 351) | function getPkgName() {
function getMissingDependencyMsg (line 361) | function getMissingDependencyMsg(missingDeps) {
function getUnusedDependencyMsg (line 376) | function getUnusedDependencyMsg(unusedDeps) {
function getPackageNamesWithVersions (line 389) | function getPackageNamesWithVersions(packageNames) {
FILE: scripts/cp-pkgs.js
constant ALL_IN_ONE_PACKAGE (line 37) | const ALL_IN_ONE_PACKAGE = 'material-components-web';
constant PACKAGES_DIRECTORY (line 38) | const PACKAGES_DIRECTORY = path.resolve(__dirname, '../packages');
constant PKG_RE (line 39) | const PKG_RE = /(?:material\-components\-web)|(?:mdc\.[a-zA-Z\-]+)/;
function toCamelCase (line 59) | function toCamelCase(dashedName) {
function cleanPkgDistDirs (line 66) | function cleanPkgDistDirs() {
function getAssetEntry (line 80) | function getAssetEntry(asset) {
function cpAsset (line 94) | async function cpAsset(asset) {
function dtsBundler (line 111) | function dtsBundler() {
FILE: scripts/documentation/tsdoc.ts
type MarkdownBuffer (line 8) | interface MarkdownBuffer {[s: string]: {
type ModuleMarkdown (line 12) | interface ModuleMarkdown {
type ModuleDocumentation (line 20) | interface ModuleDocumentation {
type ModuleEvent (line 24) | interface ModuleEvent {
type ModuleMethod (line 28) | interface ModuleMethod {
type ModuleProperty (line 33) | interface ModuleProperty {
type DocumentationContent (line 39) | interface DocumentationContent {
constant FOUNDATION (line 44) | const FOUNDATION = 'foundation';
constant ADAPTER (line 45) | const ADAPTER = 'adapter';
constant README_FILE (line 46) | const README_FILE = 'README.md';
class TypeScriptDocumentationGenerator (line 48) | class TypeScriptDocumentationGenerator {
method constructor (line 55) | constructor() {
method generateJSONFromFiles (line 65) | async generateJSONFromFiles() {
method generateDocs (line 80) | generateDocs(docData) {
method generateDocsForModule (line 119) | generateDocsForModule(esmodule: string): ModuleMarkdown | undefined {
method getDocumentationForEvents (line 141) | getDocumentationForEvents(esmodule: string): ModuleDocumentation {
method getDocumentationForMethods (line 159) | getDocumentationForMethods(esmodule: string): ModuleMethod[] {
method getDocumentationProperties (line 183) | getDocumentationProperties(esmodule: string): ModuleProperty[] {
method getFilePathName (line 207) | private getFilePathName(filePath: string): string {
method generateMarkdownFileFromBuffer (line 231) | async generateMarkdownFileFromBuffer(markdownBuffer: MarkdownBuffer) {
method setupTemplates (line 254) | private setupTemplates() {
method insertMethodDescriptionTable (line 271) | private async insertMethodDescriptionTable(
method sortByModuleType (line 310) | private sortByModuleType(a: ModuleMarkdown, b: ModuleMarkdown): number {
method shouldIgnoreDocumentationItem (line 331) | private shouldIgnoreDocumentationItem(item, opts = {hasDocumentation: ...
method cleanComment (line 341) | private cleanComment(comment) {
FILE: scripts/verify-pkg-main.js
function verifyPath (line 37) | function verifyPath(packageJson, jsonPath, packagePropertyKey) {
function logError (line 70) | function logError(message) {
FILE: scripts/webpack/copyright-banner-plugin.js
class CopyrightBannerPlugin (line 32) | class CopyrightBannerPlugin extends webpack.BannerPlugin {
method constructor (line 33) | constructor() {
FILE: scripts/webpack/css-bundle-factory.js
class CssBundleFactory (line 33) | class CssBundleFactory {
method constructor (line 34) | constructor({
method createCustomCss (line 57) | createCustomCss(
method createMainCssCombined (line 110) | createMainCssCombined(
method createMainCssALaCarte (line 136) | createMainCssALaCarte(
method createCssLoader_ (line 199) | createCssLoader_() {
FILE: scripts/webpack/css-cleanup-plugin.js
class CssCleanupPlugin (line 38) | class CssCleanupPlugin {
method constructor (line 39) | constructor({
method apply (line 54) | apply(compiler) {
method nukeEm_ (line 59) | nukeEm_() {
FILE: scripts/webpack/globber.js
class Globber (line 35) | class Globber {
method constructor (line 36) | constructor({
method getAbsolutePaths (line 53) | getAbsolutePaths(...pathPatternParts) {
method getChunks (line 82) | getChunks({filePathPattern, inputDirectory = this.pathResolver_.getPro...
FILE: scripts/webpack/js-bundle-factory.js
class JsBundleFactory (line 33) | class JsBundleFactory {
method constructor (line 34) | constructor({
method createCustomJs (line 53) | createCustomJs(
method createMainJsCombined (line 141) | createMainJsCombined(
method createMainJsALaCarte (line 167) | createMainJsALaCarte(
function toCamelCase (line 233) | function toCamelCase(dashedName) {
FILE: scripts/webpack/plugin-factory.js
class PluginFactory (line 34) | class PluginFactory {
method constructor (line 35) | constructor({globber} = {}) {
method createCopyrightBannerPlugin (line 39) | createCopyrightBannerPlugin() {
method createCssCleanupPlugin (line 43) | createCssCleanupPlugin({cleanupDirRelativePath} = {}) {
method createCssExtractorPlugin (line 50) | createCssExtractorPlugin(filename) {
FILE: testing/dom/events.ts
function emitEvent (line 29) | function emitEvent(
function createMouseEvent (line 48) | function createMouseEvent(
function createKeyboardEvent (line 83) | function createKeyboardEvent(
FILE: testing/dom/index.ts
function createFixture (line 40) | function createFixture<T extends HTMLElement = HTMLElement>(
FILE: testing/featuretargeting/sass-test-compile.helper.ts
type RenderOptions (line 62) | interface RenderOptions {
FILE: testing/helpers/foundation.ts
function getFoundationMethods (line 30) | function getFoundationMethods<C extends MDCFoundationConstructor>(
function createMockFoundation (line 52) | function createMockFoundation<C extends MDCFoundationConstructor>(
function createMockAdapter (line 65) | function createMockAdapter<C extends MDCFoundationDeprecatedConstructor>(
function verifyDefaultAdapter (line 96) | function
function captureHandlers (line 135) | function captureHandlers(
function getUnequalArrayMessage (line 147) | function getUnequalArrayMessage(
function checkNumTimesSpyCalledWithArgs (line 213) | function checkNumTimesSpyCalledWithArgs(
function arraysShallowEqual (line 221) | function arraysShallowEqual(expected: any[], actual: any[]) {
FILE: testing/helpers/jasmine.ts
type SpyGroupAnd (line 27) | interface SpyGroupAnd<T> {
type SpyGroup (line 33) | type SpyGroup<T> = jasmine.SpyObj<T>&{
function isSpy (line 38) | function isSpy(value: unknown): value is jasmine.Spy {
function spyOnAllFunctions (line 44) | function spyOnAllFunctions<T extends object>(obj: T) {
function spyOnAllPrototypeFunctions (line 76) | function spyOnAllPrototypeFunctions<T extends object>(obj: T) {
FILE: testing/helpers/setup.ts
type FoundationTest (line 31) | interface FoundationTest<F extends MDCFoundation> {
function setUpFoundationTest (line 43) | function setUpFoundationTest(
function setUpMdcTestEnvironment (line 63) | function setUpMdcTestEnvironment() {
FILE: webpack.config.js
constant OUTPUT (line 42) | const OUTPUT = {
Condensed preview — 1412 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (7,891K chars).
[
{
"path": ".editorconfig",
"chars": 232,
"preview": "# editorconfig.org\nroot = true\n\n[*]\nindent_style = space\nindent_size = 2\ntab_width = 2\ncontinuation_indent_size = 4 # In"
},
{
"path": ".eslintignore",
"chars": 74,
"preview": "**/node_modules\npackages/*/dist\n**/out\n*.pb.js\nscripts/documentation/*.js\n"
},
{
"path": ".eslintrc.yaml",
"chars": 1402,
"preview": "extends: google\nglobals:\n goog: false\nenv:\n browser: true\nplugins:\n - mocha\nparserOptions:\n ecmaVersion: 2017 # Enab"
},
{
"path": ".gitattributes",
"chars": 91,
"preview": "linguist-documentation\ndocs/* linguist-documentation\n/package-lock.json linguist-generated\n"
},
{
"path": ".github/ISSUE_TEMPLATE/--bug-report.md",
"chars": 1331,
"preview": "---\nname: \"\\U0001F41BBug report\"\nabout: Create a bug report to help us improve\ntitle: \"[ComponentName] title\"\nlabels: bu"
},
{
"path": ".github/ISSUE_TEMPLATE/--feature-request.md",
"chars": 1576,
"preview": "---\nname: \"\\U0001F64BFeature request\"\nabout: Suggest an idea or feature request for MDC Web\ntitle: ''\nlabels: feature-re"
},
{
"path": ".github/semantic.yml",
"chars": 175,
"preview": "# Config file for Semantic Pull Requests Probot\n# See https://github.com/probot/semantic-pull-requests\n\n# Always validat"
},
{
"path": ".github/workflows/release-canary.yml",
"chars": 1765,
"preview": "name: MDC Release (Canary)\n\n# This workflow creates a pre-release and publishes packages to NPM with canary\n# tag on eve"
},
{
"path": ".github/workflows/release-nightly.yml",
"chars": 1690,
"preview": "name: MDC Release (Nightly)\n\n# This workflow creates a pre-release and publishes packages to NPM with nightly\n# if reque"
},
{
"path": ".github/workflows/release-pull-request.yml",
"chars": 2082,
"preview": "name: MDC Release (Pull Request)\n\n# This workflow creates or updates (if already exists) a pull request with new\n# versi"
},
{
"path": ".github/workflows/release.yml",
"chars": 2418,
"preview": "name: MDC Release\n\n# This workflow does the following if repo does not have git tag that was updated in lerna.json\n# - "
},
{
"path": ".github/workflows/test.yml",
"chars": 3467,
"preview": "name: MDC Test\n\non:\n push:\n branches:\n - master\n pull_request:\n types: [opened, synchronize, reopened, edit"
},
{
"path": ".gitignore",
"chars": 471,
"preview": "# macOS filesystem\n.DS_Store\n\n# Editors and IDEs\n.idea/\n.vscode/\n\n# Generated files\n*.log\n*.sw*\nnode_modules/\n\n# Build o"
},
{
"path": ".mdc-docsite.yml",
"chars": 414,
"preview": "# Doc site configuration.\n# TODO(shyndman): Link to documentation.\nbasepath: /web\nsite_platform: web\nsite_title: Materia"
},
{
"path": ".nvmrc",
"chars": 8,
"preview": "10.16.3\n"
},
{
"path": ".sassrc.js",
"chars": 297,
"preview": "/**\n * Sass configuration file used by Parcel.js for running local demos.\n */\nconst path = require('path')\nconst glob = "
},
{
"path": ".stylelintignore",
"chars": 30,
"preview": "**/node_modules\n**/out\nbuild/\n"
},
{
"path": ".stylelintrc.yaml",
"chars": 2217,
"preview": "# Keep this file in sync with internal sass/stylelint/stylelintrc.yaml file.\nplugins:\n - stylelint-scss\n - stylelint-p"
},
{
"path": "CHANGELOG.md",
"chars": 237243,
"preview": "# Change Log\n\nAll notable changes to this project will be documented in this file.\nSee [Conventional Commits](https://co"
},
{
"path": "CHANGELOG_ARCHIVE.md",
"chars": 269653,
"preview": "# Change Log: Archive\n\n# [3.2.0](https://github.com/material-components/material-components-web/compare/v3.1.1...v3.2.0)"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 4529,
"preview": "# Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as\ncontributors and"
},
{
"path": "CONTRIBUTING.md",
"chars": 7726,
"preview": "# Contributing to Material Components Web (MDC Web)\n\nWe'd love for you to contribute and make Material Components for th"
},
{
"path": "LICENSE",
"chars": 1078,
"preview": "The MIT License\n\nCopyright (c) 2014-2020 Google, Inc.\n\nPermission is hereby granted, free of charge, to any person obtai"
},
{
"path": "README.md",
"chars": 5406,
"preview": "[](https://www.npmjs.com/package/material-components"
},
{
"path": "app.yaml",
"chars": 333,
"preview": "runtime: python27\napi_version: 1\nthreadsafe: true\n\nskip_files:\n- (?!^(demos|build))\n- ^.*.swp$\n- ^.*.swo$\n- ^.DS_Store$\n"
},
{
"path": "docs/README.md",
"chars": 592,
"preview": "<!--docs:\ntitle: \"Documentation\"\nlayout: landing\nsection: docs\npath: /docs/\n-->\n\n# Supporting documentation\n\nThis sectio"
},
{
"path": "docs/authoring-components.md",
"chars": 34465,
"preview": "<!--docs:\ntitle: \"Authoring Components\"\nlayout: landing\nsection: docs\npath: /docs/authoring-components/\n-->\n\n# Authoring"
},
{
"path": "docs/code/README.md",
"chars": 1432,
"preview": "# Code\n\n## Foundation / Adapter\n\nMDC Web has split each dynamic component's JavaScript into two pieces:\nFoundation and A"
},
{
"path": "docs/code/architecture.md",
"chars": 2763,
"preview": "# Architecture\n\nMDC Web is split into packages. Each package is either a Subsystem or a\nComponent. Subsystems apply to m"
},
{
"path": "docs/code/best_practices.md",
"chars": 5162,
"preview": "# Best Practices\n\nMDC Web follows naming and documentation best practices to keep our code\nconsistent, and our APIs user"
},
{
"path": "docs/code/readme_standards.md",
"chars": 4436,
"preview": "# README Standards\n\nMDC Web component documentation serves two purposes:\n\n* Populate the [Catalog Site](https://material"
},
{
"path": "docs/code/readme_template.md",
"chars": 2953,
"preview": "# README Template\n\nCopy the snippet and replace the following\n\n* Component name related\n * `COMPONENT_TITLE`: title cas"
},
{
"path": "docs/codelabs/codelabs-index.md",
"chars": 862,
"preview": "<!--docs:\ntitle: \"Codelabs\"\nlayout: landing\nsection: codelabs\npath: /codelabs/\n-->\n\n# Material Design Components Codelab"
},
{
"path": "docs/contribute/README.md",
"chars": 1099,
"preview": "# How to Contribute\n\nMDC Web is an open source project, so we encourage contributions! If you are\nlooking for a bug to f"
},
{
"path": "docs/contribute/bug_fix.md",
"chars": 951,
"preview": "# Fix a Bug\n\nFixing a bug begins with a GitHub issue, a new branch, and a failing test.\n_All bug fixes require test cove"
},
{
"path": "docs/contribute/code_review.md",
"chars": 2802,
"preview": "# Code Review\n\nMDC Web team members review every single pull request (PR) before it is merged\ninto the code base. We aim"
},
{
"path": "docs/contribute/feat.md",
"chars": 978,
"preview": "# Add a Feature\n\nAdding a feature begins with a new branch and a new API.\n_All new APIs require test coverage_. This tes"
},
{
"path": "docs/docsite-components.md",
"chars": 233,
"preview": "---\n# This file is used by the docsite to generate a component index.\ntitle: \"Components\"\nlayout: landing-no-drawer\nsect"
},
{
"path": "docs/docsite-index.md",
"chars": 4356,
"preview": "---\n# This file is used by the docsite to generate the platform index page.\ntitle: \"Material Components for the Web\"\nlay"
},
{
"path": "docs/docsite-input-controls.md",
"chars": 436,
"preview": "---\n# This file exists describes the directory housing the input components. If the\n# URL is visited, it will immediatel"
},
{
"path": "docs/docsite-tabs.md",
"chars": 355,
"preview": "---\n# This file exists describes the directory housing the tab components. If the\n# URL is visited, it will immediately "
},
{
"path": "docs/examples.md",
"chars": 759,
"preview": "<!--docs:\ntitle: \"Examples\"\nlayout: landing\nsection: docs\npath: /docs/examples/\n-->\n\n# Examples using MDC Web\n\n- [Shrine"
},
{
"path": "docs/framework-wrappers.md",
"chars": 2542,
"preview": "<!--docs:\ntitle: \"MDC Web on other frameworks\"\nnavTitle: \"Framework Wrappers\"\nlayout: landing\nsection: docs\npath: /docs/"
},
{
"path": "docs/getting-started.md",
"chars": 14822,
"preview": "<!--docs:\ntitle: \"Getting Started\"\nlayout: landing\nsection: docs\npath: /docs/getting-started/\n-->\n\n# Getting Started\n\n##"
},
{
"path": "docs/importing-js.md",
"chars": 3342,
"preview": "<!--docs:\ntitle: \"Importing JS Components\"\nnavTitle: \"Importing JS Components\"\nlayout: landing\nsection: docs\npath: /docs"
},
{
"path": "docs/integrating-into-frameworks.md",
"chars": 5314,
"preview": "<!--docs:\ntitle: \"Integrating MDC Web into Frameworks\"\nnavTitle: \"Framework Integration\"\nlayout: landing\nsection: docs\np"
},
{
"path": "docs/local-development.md",
"chars": 2256,
"preview": "# Local Development\n\nUse this document to run demos for local development of Material Components Web\nproject.\n\n## Create"
},
{
"path": "docs/migrating-from-mdl.md",
"chars": 15552,
"preview": "<!--docs:\ntitle: \"Migrating from Material Design Lite\"\nnavTitle: \"Migrating from MDL\"\nlayout: landing\nsection: docs\npath"
},
{
"path": "docs/open_source/README.md",
"chars": 2557,
"preview": "# Open Source Community\n\nIn addition to working within the Material Design team, MDC Web communicates\nwith its external "
},
{
"path": "docs/open_source/releases-and-branches.md",
"chars": 3249,
"preview": "# Releases and Branches\n\nThis document describes the branching and release strategy we use for MDC Web, and how it affec"
},
{
"path": "docs/supported-browsers.md",
"chars": 316,
"preview": "## MDC Web: Browser support\n\nWe officially support the last two versions of every major browser. Specifically, we test o"
},
{
"path": "docs/theming.md",
"chars": 20042,
"preview": "<!--docs:\ntitle: \"Theming Guide\"\nlayout: landing\nsection: docs\npath: /docs/theming/\n-->\n\n# Theming Guide\n\n## Overview\n\nM"
},
{
"path": "jasmine-node.json",
"chars": 238,
"preview": "{\n \"spec_dir\": \".\",\n \"spec_files\": [\n \"packages/**/test/*.scss.test.ts\"\n ],\n \"helpers\": [\n \"testing/ts-node.re"
},
{
"path": "karma.conf.js",
"chars": 3309,
"preview": "/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "lerna.json",
"chars": 350,
"preview": "{\n \"version\": \"14.0.0\",\n \"command\": {\n \"version\": {\n \"conventionalCommits\": true\n },\n \"publish\": {\n "
},
{
"path": "package.json",
"chars": 4368,
"preview": "{\n \"private\": true,\n \"description\": \"Material Components Web\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"bootstrap\": \"le"
},
{
"path": "packages/README.md",
"chars": 135,
"preview": "This folder contains all of our individual components as npm packages, along with the comprehensive\n`material-components"
},
{
"path": "packages/material-components-web/.npmignore",
"chars": 21,
"preview": "*.ts\n!*.d.ts\ntest/**\n"
},
{
"path": "packages/material-components-web/README.md",
"chars": 2042,
"preview": "# Material Components Web (MDC Web)\n\nThis package contains the master library for Material Components Web. It simply wra"
},
{
"path": "packages/material-components-web/index.scss",
"chars": 34,
"preview": "@use './material-components-web';\n"
},
{
"path": "packages/material-components-web/index.ts",
"chars": 5038,
"preview": "/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/material-components-web/material-components-web.scss",
"chars": 2818,
"preview": "//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/material-components-web/package.json",
"chars": 2447,
"preview": "{\n \"name\": \"material-components-web\",\n \"description\": \"Modular and customizable Material Design UI components for the "
},
{
"path": "packages/mdc-animation/.npmignore",
"chars": 21,
"preview": "*.ts\n!*.d.ts\ntest/**\n"
},
{
"path": "packages/mdc-animation/README.md",
"chars": 3085,
"preview": "<!--docs:\ntitle: \"Animation\"\nlayout: detail\nsection: components\nexcerpt: \"Animation timing curves and utilities for smoo"
},
{
"path": "packages/mdc-animation/_animation.scss",
"chars": 1993,
"preview": "//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-animation/_functions.import.scss",
"chars": 39,
"preview": "@forward \"./index\" as mdc-animation-*;\n"
},
{
"path": "packages/mdc-animation/_functions.scss",
"chars": 1239,
"preview": "//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-animation/_index.scss",
"chars": 48,
"preview": "@forward \"./variables\";\n@forward \"./functions\";\n"
},
{
"path": "packages/mdc-animation/_variables.import.scss",
"chars": 148,
"preview": "@forward \"./index\" as mdc-animation-* hide mdc-animation-enter, mdc-animation-exit-permanent, mdc-animation-exit-tempora"
},
{
"path": "packages/mdc-animation/_variables.scss",
"chars": 1328,
"preview": "//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-animation/animationframe.ts",
"chars": 2924,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-animation/index.ts",
"chars": 1320,
"preview": "/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-animation/package.json",
"chars": 552,
"preview": "{\n \"name\": \"@material/animation\",\n \"description\": \"Animation Variables and Mixins used by Material Components for the "
},
{
"path": "packages/mdc-animation/test/animationframe.test.ts",
"chars": 3698,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-animation/test/component.test.ts",
"chars": 3616,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-animation/types.ts",
"chars": 1988,
"preview": "/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-animation/util.ts",
"chars": 3208,
"preview": "/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-auto-init/.npmignore",
"chars": 21,
"preview": "*.ts\n!*.d.ts\ntest/**\n"
},
{
"path": "packages/mdc-auto-init/README.md",
"chars": 7425,
"preview": "<!--docs:\ntitle: \"Auto Init\"\nlayout: detail\nsection: components\nexcerpt: \"Utilities for declarative, DOM-based initializ"
},
{
"path": "packages/mdc-auto-init/constants.ts",
"chars": 1277,
"preview": "/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-auto-init/index.ts",
"chars": 4693,
"preview": "/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-auto-init/package.json",
"chars": 507,
"preview": "{\n \"name\": \"@material/auto-init\",\n \"description\": \"Declarative, easy-to-use auto-initialization for Material Component"
},
{
"path": "packages/mdc-auto-init/test/mdc-auto-init.test.ts",
"chars": 5879,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-banner/.npmignore",
"chars": 21,
"preview": "*.ts\n!*.d.ts\ntest/**\n"
},
{
"path": "packages/mdc-banner/README.md",
"chars": 8018,
"preview": "<!--docs:\ntitle: \"Banner\"\nlayout: detail\nsection: components\nexcerpt: \"A banner displays a prominent message and related"
},
{
"path": "packages/mdc-banner/_banner-theme.scss",
"chars": 14979,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-banner/_banner.scss",
"chars": 6060,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-banner/_index.scss",
"chars": 27,
"preview": "@forward './banner-theme';\n"
},
{
"path": "packages/mdc-banner/adapter.ts",
"chars": 2918,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-banner/component.ts",
"chars": 6964,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-banner/constants.ts",
"chars": 2835,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-banner/foundation.ts",
"chars": 5065,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-banner/index.ts",
"chars": 1241,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-banner/package.json",
"chars": 957,
"preview": "{\n \"name\": \"@material/banner\",\n \"description\": \"The Material Components Web banner component.\",\n \"version\": \"14.0.0\","
},
{
"path": "packages/mdc-banner/styles.scss",
"chars": 1159,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-banner/test/component.test.ts",
"chars": 11577,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-banner/test/foundation.test.ts",
"chars": 10072,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/.npmignore",
"chars": 21,
"preview": "*.ts\n!*.d.ts\ntest/**\n"
},
{
"path": "packages/mdc-base/README.md",
"chars": 10655,
"preview": "<!--docs:\ntitle: \"Base\"\nlayout: detail\nsection: components\nexcerpt: \"Base foundation and component classes.\"\npath: /cata"
},
{
"path": "packages/mdc-base/_index.scss",
"chars": 21,
"preview": "@forward \"./mixins\";\n"
},
{
"path": "packages/mdc-base/_mixins.import.scss",
"chars": 34,
"preview": "@forward \"./index\" as mdc-base-*;\n"
},
{
"path": "packages/mdc-base/_mixins.scss",
"chars": 1467,
"preview": "//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-base/component.ts",
"chars": 7116,
"preview": "/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/foundation.ts",
"chars": 3632,
"preview": "/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/index.ts",
"chars": 1210,
"preview": "/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/observer-foundation.ts",
"chars": 4287,
"preview": "/**\n * @license\n * Copyright 2021 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/observer-proxy.ts",
"chars": 8738,
"preview": "/**\n * @license\n * Copyright 2021 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/observer.ts",
"chars": 13087,
"preview": "/**\n * @license\n * Copyright 2021 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/package.json",
"chars": 439,
"preview": "{\n \"name\": \"@material/base\",\n \"description\": \"The set of base classes for Material Components for the web\",\n \"version"
},
{
"path": "packages/mdc-base/test/component.test.ts",
"chars": 7876,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/test/foundation.test.ts",
"chars": 2381,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/test/observer-foundation.test.ts",
"chars": 7066,
"preview": "/**\n * @license\n * Copyright 2021 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/test/observer-proxy.test.ts",
"chars": 1494,
"preview": "/**\n * @license\n * Copyright 2021 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/test/observer-tests.ts",
"chars": 12324,
"preview": "/**\n * @license\n * Copyright 2021 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/test/observer.test.ts",
"chars": 1352,
"preview": "/**\n * @license\n * Copyright 2021 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-base/types.ts",
"chars": 1866,
"preview": "/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-button/README.md",
"chars": 13243,
"preview": "<!--docs:\ntitle: \"Buttons\"\nlayout: detail\nsection: components\nexcerpt: \"Web Buttons\"\niconId: button\npath: /catalog/butto"
},
{
"path": "packages/mdc-button/_button-base.scss",
"chars": 8305,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-filled-theme.scss",
"chars": 4404,
"preview": "//\n// Copyright 2021 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-filled.scss",
"chars": 2977,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-outlined-theme.scss",
"chars": 8978,
"preview": "//\n// Copyright 2021 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-outlined.scss",
"chars": 3116,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-protected-theme.scss",
"chars": 3570,
"preview": "//\n// Copyright 2021 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-protected.scss",
"chars": 2929,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-ripple.scss",
"chars": 2132,
"preview": "//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-shared-theme.scss",
"chars": 22217,
"preview": "//\n// Copyright 2021 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-text-theme.scss",
"chars": 4294,
"preview": "//\n// Copyright 2021 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-text.scss",
"chars": 2154,
"preview": "//\n// Copyright 2021 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button-theme.scss",
"chars": 1365,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_button.scss",
"chars": 5129,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_index.scss",
"chars": 1139,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_mixins.import.scss",
"chars": 8160,
"preview": "@forward \"@material/base\" as mdc-base-*;\n@forward \"@material/feature-targeting\" as mdc-feature-*;\n@forward \"@material/th"
},
{
"path": "packages/mdc-button/_mixins.scss",
"chars": 1739,
"preview": "//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/_variables.import.scss",
"chars": 7072,
"preview": "@forward \"@material/density\" as mdc-density-* hide mdc-density-prop-value;\n@forward \"@material/theme/all-theme-deprecate"
},
{
"path": "packages/mdc-button/_variables.scss",
"chars": 1374,
"preview": "//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/mdc-button.import.scss",
"chars": 3047,
"preview": "@forward \"@material/base/mixins\" as mdc-base-*;\n@forward \"@material/theme/variables\" as mdc-theme-*;\n@forward \"@material"
},
{
"path": "packages/mdc-button/mdc-button.scss",
"chars": 1133,
"preview": "//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/package.json",
"chars": 907,
"preview": "{\n \"name\": \"@material/button\",\n \"description\": \"The Material Components for the web button component\",\n \"version\": \"1"
},
{
"path": "packages/mdc-button/styles.scss",
"chars": 1159,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-button/test/feature-targeting-any.test.scss",
"chars": 904,
"preview": "@use '../mixins' as button;\n@use '@material/feature-targeting/feature-targeting';\n\n@mixin test($query) {\n .test {\n @"
},
{
"path": "packages/mdc-button/test/mdc-button.scss.test.ts",
"chars": 1406,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-card/README.md",
"chars": 11668,
"preview": "<!--docs:\ntitle: \"Cards\"\nlayout: detail\nsection: components\nexcerpt: \"Cards contain content and actions about a single s"
},
{
"path": "packages/mdc-card/_card-shared-theme.scss",
"chars": 4238,
"preview": "//\n// Copyright 2022 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-card/_elevated-card-theme.scss",
"chars": 2611,
"preview": "//\n// Copyright 2022 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-card/_filled-card-theme.scss",
"chars": 2609,
"preview": "//\n// Copyright 2022 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-card/_index.scss",
"chars": 45,
"preview": "@forward \"./variables\";\n@forward \"./mixins\";\n"
},
{
"path": "packages/mdc-card/_mixins.import.scss",
"chars": 7597,
"preview": "@forward \"@material/base\" as mdc-base-*;\n@forward \"@material/feature-targeting\" as mdc-feature-*;\n@forward \"@material/th"
},
{
"path": "packages/mdc-card/_mixins.scss",
"chars": 11540,
"preview": "//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-card/_outlined-card-theme.scss",
"chars": 3896,
"preview": "//\n// Copyright 2022 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-card/_variables.import.scss",
"chars": 6315,
"preview": "@forward \"@material/feature-targeting\" as mdc-feature-*;\n@forward \"@material/theme/all-theme-deprecated\" as mdc-theme-* "
},
{
"path": "packages/mdc-card/_variables.scss",
"chars": 1490,
"preview": "//\n// Copyright 2018 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-card/mdc-card.import.scss",
"chars": 2301,
"preview": "@forward \"@material/base/mixins\" as mdc-base-*;\n@forward \"@material/theme/variables\" as mdc-theme-*;\n@forward \"@material"
},
{
"path": "packages/mdc-card/mdc-card.scss",
"chars": 1158,
"preview": "//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-card/package.json",
"chars": 744,
"preview": "{\n \"name\": \"@material/card\",\n \"version\": \"14.0.0\",\n \"description\": \"The Material Components for the web card componen"
},
{
"path": "packages/mdc-card/test/feature-targeting-any.test.scss",
"chars": 543,
"preview": "@use '../mixins' as card;\n@use '@material/feature-targeting/feature-targeting';\n\n@mixin test($query) {\n .test {\n @in"
},
{
"path": "packages/mdc-card/test/mdc-card.scss.test.ts",
"chars": 1404,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-checkbox/.npmignore",
"chars": 21,
"preview": "*.ts\n!*.d.ts\ntest/**\n"
},
{
"path": "packages/mdc-checkbox/README.md",
"chars": 10082,
"preview": "<!--docs:\ntitle: \"Checkboxes\"\nlayout: detail\nsection: components\nexcerpt: \"Checkboxes allow the user to select multiple "
},
{
"path": "packages/mdc-checkbox/_checkbox-custom-properties.scss",
"chars": 1390,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-checkbox/_checkbox-theme.scss",
"chars": 26804,
"preview": "//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-checkbox/_checkbox.scss",
"chars": 18552,
"preview": "//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-checkbox/_functions.import.scss",
"chars": 8693,
"preview": "@forward \"@material/animation\" as mdc-animation-*;\n@forward \"@material/ripple\" as mdc-* hide $mdc-dark-ink-opacities, $m"
},
{
"path": "packages/mdc-checkbox/_functions.scss",
"chars": 1223,
"preview": "//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-checkbox/_index.scss",
"chars": 93,
"preview": "@forward \"./variables\";\n@forward \"./mixins\";\n@forward \"./keyframes\";\n@forward \"./functions\";\n"
},
{
"path": "packages/mdc-checkbox/_keyframes.import.scss",
"chars": 8855,
"preview": "@forward \"@material/animation\" as mdc-animation-* hide mdc-animation-enter, mdc-animation-exit-permanent, mdc-animation-"
},
{
"path": "packages/mdc-checkbox/_keyframes.scss",
"chars": 1286,
"preview": "//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-checkbox/_mixins.import.scss",
"chars": 7230,
"preview": "@forward \"@material/animation\" as mdc-animation-*;\n@forward \"@material/density\" as mdc-density-*;\n@forward \"@material/fe"
},
{
"path": "packages/mdc-checkbox/_mixins.scss",
"chars": 1908,
"preview": "//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-checkbox/_variables.import.scss",
"chars": 8703,
"preview": "@forward \"@material/ripple\" as mdc-* hide $mdc-dark-ink-opacities, $mdc-fade-in-duration, $mdc-fade-out-duration, $mdc-l"
},
{
"path": "packages/mdc-checkbox/_variables.scss",
"chars": 1562,
"preview": "//\n// Copyright 2017 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-checkbox/adapter.ts",
"chars": 1892,
"preview": "/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-checkbox/component.ts",
"chars": 7918,
"preview": "/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-checkbox/constants.ts",
"chars": 2478,
"preview": "/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-checkbox/foundation.ts",
"chars": 7060,
"preview": "/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-checkbox/index.ts",
"chars": 1241,
"preview": "/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-checkbox/mdc-checkbox.import.scss",
"chars": 1910,
"preview": "@forward \"@material/animation/variables\" as mdc-animation-*;\n@forward \"@material/density/variables\" as mdc-density-*;\n@f"
},
{
"path": "packages/mdc-checkbox/mdc-checkbox.scss",
"chars": 1458,
"preview": "//\n// Copyright 2016 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-checkbox/package.json",
"chars": 900,
"preview": "{\n \"name\": \"@material/checkbox\",\n \"description\": \"The Material Components for the web checkbox component\",\n \"version\""
},
{
"path": "packages/mdc-checkbox/test/component.test.ts",
"chars": 11908,
"preview": "/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-checkbox/test/feature-targeting-any.test.scss",
"chars": 589,
"preview": "@use '../mixins' as checkbox;\n@use '@material/feature-targeting/feature-targeting';\n\n@mixin test($query) {\n .test {\n "
},
{
"path": "packages/mdc-checkbox/test/foundation.test.ts",
"chars": 14515,
"preview": "/**\n * @license\n * Copyright 2019 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-checkbox/test/mdc-checkbox.scss.test.ts",
"chars": 1408,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-chips/.npmignore",
"chars": 21,
"preview": "*.ts\n!*.d.ts\ntest/**\n"
},
{
"path": "packages/mdc-chips/README.md",
"chars": 2839,
"preview": "<!--docs:\ntitle: \"Chips\"\nlayout: detail\nsection: components\nexcerpt: \"Chips are compact elements that represent an attri"
},
{
"path": "packages/mdc-chips/_assist-chip-theme.scss",
"chars": 3348,
"preview": "//\n// Copyright 2021 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-chips/_chip-set-theme.scss",
"chars": 2807,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-chips/_chip-set.scss",
"chars": 2534,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-chips/_chip-theme.scss",
"chars": 49771,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-chips/_chip.scss",
"chars": 16664,
"preview": "//\n// Copyright 2020 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-chips/_filter-chip-theme.scss",
"chars": 4865,
"preview": "//\n// Copyright 2021 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-chips/_index.scss",
"chars": 54,
"preview": "@forward './chip-theme';\n@forward './chip-set-theme';\n"
},
{
"path": "packages/mdc-chips/_input-chip-theme.scss",
"chars": 3566,
"preview": "//\n// Copyright 2021 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-chips/_suggestion-chip-theme.scss",
"chars": 3489,
"preview": "//\n// Copyright 2021 Google Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// o"
},
{
"path": "packages/mdc-chips/action/README.md",
"chars": 8625,
"preview": "<!--docs:\ntitle: \"Chip action\"\nlayout: detail\nsection: components\nexcerpt: \"Chip actions represent interactions regions "
},
{
"path": "packages/mdc-chips/action/adapter.ts",
"chars": 1902,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-chips/action/component-ripple.ts",
"chars": 2288,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-chips/action/component.ts",
"chars": 6485,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-chips/action/constants.ts",
"chars": 2605,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
},
{
"path": "packages/mdc-chips/action/foundation.ts",
"chars": 6795,
"preview": "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtainin"
}
]
// ... and 1212 more files (download for full content)
About this extraction
This page contains the full source code of the material-components/material-components-web GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1412 files (7.2 MB), approximately 2.0M tokens, and a symbol index with 2263 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.