# Change Log
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## Unreleased
### Added
- `inputMode` to `mwc-textfield` and `mwc-textarea`
- `readOnly` to `mwc-textfield` and `mwc-textarea`
- CSS custom properties for typography
- Added `autoValidate` property on textfield
- `mwc-button` now has a slot for `icon` and `trailingIcon`
- **BREAKING** setting `mwc-list-item.selected` will update selection in the parent list
- `mwc-ripple` now has CSS properties `--mdc-ripple-color`, `--mdc-ripple-fg-opacity`, and `--mdc-ripple-hover-opacity`
- Added `RippleHandlers` to `mwc-ripple` to provide an easy integration point for calling ripple API.
- Added `light` property to `mwc-ripple` to help style ripples on dark surfaces.
- `mwc-select` can now select items by setting `mwc-select.value`.
- Exposed --mdc-shape-medium on mwc-menu-surface
- Added `focusOnActivate` property to `mwc-tab`
- `true` by default, set to `false` to disable focusing on tab activation
### Changed
- **BREAKING** `--mdc-button-text-transform` has been renamed to `--mdc-typography-button-text-transform`
- **BREAKING** `--mdc-button-letter-spacing` has been renamed to `--mdc-typography-button-letter-spacing`
- **BREAKING** `--mdc-tab-text-transform` has been renamed to `--mdc-typography-button-text-transform`
- **BREAKING:VISUAL** textfield will now only validate on blur instead of input without `autoValidate` prop
- **BREAKING:VISUAL** `mwc-tab`'s default slot now has name `icon`
- `mdcFoundation` and `mdcFoundationClass` are now optional in BaseElement.
- Remove `export *` from BaseElement and FormElement.
- **BREAKING:A11Y** mwc-list will no longer update items on slotchange but on first render and on list item connect meaning list dividers will only add role="separator" in those cases
- Make FormElement and `mwc-formfield` support asynchronous ripple properties
- **BREAKING** Remove `active` property from `mwc-ripple`.
- Use `activate()` and `deactivate()` methods instead
- **BREAKING** `mwc-ripple` now requires implementing event handlers manually in the parent component.
### Fixed
- Setting `scrollTarget` on `mwc-top-app-bar` will update listeners
- Fixed sass imports of `_index.scss` files
- Fixed issue with caret jumping to end of input on textfield
- mwc-list-item now works on IE
- mwc-select's `updateComplete` will now properly await child custom elements' `updateComplete`s
- **BREAKING** Disabled icon buttons no longer have pointer events
- `mwc-textfield` will not set `value` on the internal input tag on `input` event causing caret jumping in Safari
- `mwc-select`'s `--mdc-select-ink-color` actually does something now
- Setting `disabled` on `mwc-ripple` will hide the ripple
- mwc-menu's x and y anchor margins now work for all corners
## [0.13.0] - 2020-02-03
### Added
- End-alignment to `mwc-textfield` and `mwc-textarea`
- Implemented:
- `mwc-select`
- `mwc-menu`
- `mwc-menu-surface`
- `mwc-list`
- `mwc-list-item`
- Base / utils.ts
- `isNodeElement` - performant node -> element checking
- `deepActiveElementPath` - finds the deepest `activeElement` node
- `doesElementContainFocus` - determines is ancestor of `activeElement`
- `mwc-radio.global` - groups radios across document rather than shadow root
- Style underline of filled textfield
- `--mdc-text-field-idle-line-color`
- `--mdc-text-field-hover-line-color`
### Fixed
- Fixed mwc-dialog not removing keydown event listener on close.
## [0.12.0] - 2019-12-16
### Changed
- **BREAKING:VISUAL** Wrap mwc-button label in a slot
- Remove mwc-button border-radius from ripple
- Make mwc-button internal button overflow none
### Added
- Added custom properties to style `mwc-radio`'s colors
- CSS styling options to `mwc-tab`
- `active` attribute to `mwc-tab` when (de)activated
- Added custom properties to style `mwc-checkbox`'s colors
- Added `show` and `close` methods to `mwc-dialog`
### Fixed
- **BREAKING:VISUAL** `mwc-tab` will now automatically size slotted images. Also
slotted image will override icon font.
### Changed
- **BREAKING** `mwc-tab` can now only have slotted content via the
`hasImageIcon` flag.
- **BREAKING:VISUAL** `mwc-checkbox` default display is changed from inline to inline-block.
## [0.11.1] - 2019-11-26
### Fixed
- Restore removed code in linear progress adapter
## [0.11.0] - 2019-11-26
### Added
- CSS styling options to `mwc-button`
- CSS styling options to `mwc-textfield`
- README for `mwc-drawer`
- README for `mwc-checkbox`
- README for `mwc-formfield`
- Demo for `mwc-drawer` without a header in the drawer
- `--mdc-icon-button-size` and `--mdc-icon-size` to `mwc-icon-button`
### Changed
- **BREAKING** `Dialog.title` renamed to `Dialog.heading` and
`--mdc-dialog-title-ink-color` renamed to `--mdc-dialog-heading-ink-color` as
it caused clashes with `HTMLElement.prototype.title`.
- Updated material dependencies to `4.0.0-canary.735147131.0`.
- **BREAKING** `Slider.discrete` removed and `Slider.pin` added.
- `mwc-dialog` will now search its flattened distributed nodes and their trees
for a focusable element.
- **BREAKING** `mwc-slider` now emits bubbling and composed `input` and `change`
events instead of `MDCSlider:input` and `MDCSlider:change`.
- **BREAKING:VISUAL** the digits inside the `Slider`'s pin will be rounded to at
most 3 decimal digits.
- **BREAKING** `LinearProgress.determinate = false` removed in favor of `LinearProgres.indeterminate = false`.
- **BREAKING** `LinearProgress.buffer = 0` default value changed to `1`.
- **BREAKING:VISUAL** `mwc-linear-progress` had `--mdc-theme-secondary` applied
to its buffer bar's background color. This custom property's name was changed
to `--mdc-linear-progress-buffer-color`.
- **BREAKING:VISUAL** the digits inside the `Slider`'s pin will be rounded to at
most 3 decimal digits.
- **BREAKING** `LinearProgress.determinate = false` removed in favor of `LinearProgres.indeterminate = false`.
- **BREAKING** `LinearProgress.buffer = 0` default value changed to `1`.
- **BREAKING:VISUAL** `mwc-linear-progress` had `--mdc-theme-secondary` applied
to its buffer bar's background color. This custom property's name was changed
to `--mdc-linear-progress-buffer-color`.
- **BREAKING** `mwc-icon-button` will now use its default slot for `` or
`