material-web/CHANGELOG.md

428 lines
20 KiB
Markdown
Raw Normal View History

2018-10-08 22:19:17 +03:00
# 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/).
2020-03-19 23:32:43 +03:00
<!-- ## Unreleased -->
## [v0.14.0] - 2020-03-19
### 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
- mwc-select now has --mdc-select-disabled-dropdown-icon-color
### 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.
- **BREAKING** Components must now import `@observer` manually from `@material/mwc-base/observer`;
2020-02-04 02:05:02 +03:00
2020-02-06 23:15:57 +03:00
### 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
- mwc-select's --mdc-select-disabled-ink-color now colors the selected text
2020-03-13 02:59:57 +03:00
- inconsistencies on how `<contol>-list-item`s' state of controls and element
- `list` sets initial `tabindex` when initialized with `noninteractive` and then set to false
2020-02-04 02:05:02 +03:00
## [0.13.0] - 2020-02-03
2020-01-31 02:44:52 +03:00
### Added
- End-alignment to `mwc-textfield` and `mwc-textarea`
2020-02-01 07:08:50 +03:00
- 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`
2020-01-31 02:44:52 +03:00
### Fixed
- Fixed mwc-dialog not removing keydown event listener on close.
2019-12-17 02:49:33 +03:00
## [0.12.0] - 2019-12-16
2019-12-02 08:49:39 +03:00
### Changed
- **BREAKING:VISUAL** Wrap mwc-button label in a slot
- Remove mwc-button border-radius from ripple
- Make mwc-button internal button overflow none
2019-12-04 07:26:56 +03:00
### Added
- Added custom properties to style `mwc-radio`'s colors
2019-12-03 12:00:51 +03:00
- CSS styling options to `mwc-tab`
- `active` attribute to `mwc-tab` when (de)activated
2019-12-04 11:07:11 +03:00
- Added custom properties to style `mwc-checkbox`'s colors
2019-12-13 09:39:51 +03:00
- Added `show` and `close` methods to `mwc-dialog`
2019-12-04 07:26:56 +03:00
2019-12-02 08:49:39 +03:00
### Fixed
2019-12-02 08:59:55 +03:00
- **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.
2019-12-04 08:36:32 +03:00
- **BREAKING:VISUAL** `mwc-checkbox` default display is changed from inline to inline-block.
2019-12-02 08:49:39 +03:00
2019-11-27 02:33:34 +03:00
## [0.11.1] - 2019-11-26
### Fixed
- Restore removed code in linear progress adapter
2019-11-27 00:45:16 +03:00
## [0.11.0] - 2019-11-26
2019-10-15 02:24:27 +03:00
### Added
- CSS styling options to `mwc-button`
- CSS styling options to `mwc-textfield`
2019-10-22 18:02:56 +03:00
- README for `mwc-drawer`
- README for `mwc-checkbox`
- README for `mwc-formfield`
2019-10-22 18:02:56 +03:00
- Demo for `mwc-drawer` without a header in the drawer
2019-11-06 07:04:35 +03:00
- `--mdc-icon-button-size` and `--mdc-icon-size` to `mwc-icon-button`
2019-10-15 02:24:27 +03:00
### Changed
2019-10-15 02:24:27 +03:00
- **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`.
2019-11-07 06:27:04 +03:00
- **BREAKING** `Slider.discrete` removed and `Slider.pin` added.
2019-11-06 07:07:39 +03:00
- `mwc-dialog` will now search its flattened distributed nodes and their trees
for a focusable element.
2019-11-06 07:01:20 +03:00
- **BREAKING** `mwc-slider` now emits bubbling and composed `input` and `change`
2019-11-14 04:26:33 +03:00
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`.
2019-11-09 04:58:10 +03:00
- **BREAKING:VISUAL** the digits inside the `Slider`'s pin will be rounded to at
most 3 decimal digits.
2019-11-09 03:48:45 +03:00
- **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 `<img>` or
`<svg>` icons instead of a named "icon" slot.
2019-10-12 00:29:02 +03:00
### Fixed
- Fixed checkbox ripple visibility when focused while being unchecked.
- Fixed app content not being expanded inside drawer.
2019-11-06 07:01:20 +03:00
- Fixed issue where slider when resized or scrolled will not respond to touch
as expected.
2019-11-06 07:02:42 +03:00
- Fixed issue where `mwc-ripple` would not ripple when parent was a shadow root
2019-11-06 07:04:35 +03:00
- **BREAKING:VISUAL** Fixed sizing of the `mwc-icon-button` in `mwc-snackbar`
- Fixed `mwc-icon-button` icon at end layout.
- `mwc-slider` can now have its pin and markers added and changed
dynamically.
- Fixed `mwc-icon-button` icon at end layout.
- `mwc-slider` can now have its pin and markers added and changed
dynamically.
- Fixed `mwc-dialog` race-condition bug with the blocking elements polyfill that
could occur if the dialog was disconnected before it had finished opening.
2019-11-27 00:45:16 +03:00
- Fixed `mwc-button` alignment issues when some buttons have icons and others do
not.
2019-10-12 00:29:02 +03:00
## [0.10.0] - 2019-10-11
2019-10-10 02:37:14 +03:00
### Added
- `mwc-textfield` ink and fill css variables
### Changed
- **BREAKING** Removed `mwc-icon-font.js` import. Most users should load the
Material Icons and Roboto fonts by adding the following to their HTML file:
```html
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet">
```
See the [Fonts](https://github.com/material-components/material-components-web-components#fonts)
section of the README for more details.
- **BREAKING** Moved `@material/mwc-textfield/character-counter/mwc-character-counter-directive.js`
to `@material/mwc-textfield/mwc-character-counter-directive.js`.
### Fixed
- Fixed `mwc-dialog`'s issues with working on older browsers.
- `<mwc-radio>` groups are now correctly synchronized when stamped using a
lit-html `map` or `repeat`, and any other time the radio is not created and
connected at the same time ([#282](https://github.com/material-components/material-components-web-components/issues/282)).
2019-09-27 04:34:02 +03:00
## [0.9.1] - 2019-09-30
2019-10-16 22:32:37 +03:00
### Fixed
- Fixed missing `@material/mwc-base` dep on `@material/mwc-dialog`.
2019-09-27 04:34:02 +03:00
## [0.9.0] - 2019-09-26
mwc-dialog (#462) * initial scaffolding for dialog * add focus and blur functions to mwc-button * flesh out dialog implementation * do not display action footer if no actions slotted * only layout on listeners if open * run formatter * scrollable actually is handled by adapter / found * fix reversing of actions * - slotchange + `hideActions`, buttons->actions * fix slotted styles * remove style tag mutation * change style dependencies * don't leak mdc in dialog actions and initial-focus atributes * make action and focus attributes configurable * add css custom properties to dialog * forgot to change checkbox to dialog * dialog was made in 2019 * button -> action and remove isVisible * removed leaky events from dialog lifecycle * clean up tsconfig * add unit tests * textfield -> dialog * run formatter * fix multiple dialogs * fix scrolling * try to make max-width better * initial pass at making older tests pass * escape key on document instead * run formatter * fix lint issues * try more arcane keyboardevent for older browsers * fix styling associated with multiple in sec action * fix focus on textfield * also fix blur on textfield * mwc-dialog demo * add dialog to the main demo page * fix typo in demo * fix style edge case max-width too small cause jump * redo change to max-width jumping * first half of readme * include video tag in static urlify script * finish readme * regenerate package-lock * fix readme typo * change confirmation gif size * cleanup extraneous readme code * do not override mdcfoundation.open * make stacked a css change rather than DOM * make stacked a css change rather than DOM impl * add color swatches to readme * fix all test file copyright dates * add in the styles for the list in the readme * use formfield in confirmation example * scrollable degification * make styled example the same as spec page * dedupe initial focused example readme * small dialog readme fixes * update initial focus readme example * moved alert example to top and commented out Simple example * update standard gif to be static * move event listeners to open an close * readme change suggestions * HTMLSlotElement removed from public props * make public props lit element props * primary-action => primaryAction; d-i-f => dIF; * implement suggestions * run formatter * resolve merge issues
2019-09-13 04:14:47 +03:00
### Added
- Implemented `mwc-dialog`
- `mwc-textfield.layout` method.
### Changed
- **BREAKING:** Added custom `.focus()` and `.blur()` functions to mwc-button
that cause the button to ripple as when tab focusing.
- **BREAKING:** mwc-textfield's custom `.focus()` function will now call
`.focus()` on the native internal input causing the caret to appear instead of
just forcing focus styles to appear.
- **BREAKING:** mwc-textfield's custom `.blur()` function will now call
`.blur()` on the native internal input instead of just forcing focus styles to
disapprear.
- **BREAKING** `mwc-base/base-element` no longer exports any of the
`lit-element` or `lit-html` APIs (e.g. `LitElement`, `customElement`,
`classMap`). Users should import directly from the `lit-element` and
`lit-html` modules instead.
- **BREAKING** `mwc-textfield` and `mwc-textarea` will now update their `.value`
on the native `input`'s `input` event instead of `change`.
### Fixed
- `<mwc-drawer>` can now be used with Rollup (via version bump to pick up
[WICG/inert#135](https://github.com/WICG/inert/pull/135)).
- `<mwc-textfield>` and `<mwc-textarea>` will now have the same height between
their filled and outlined variants with helper text on older browsers.
- `mwc-textfield[required]` and `mwc-textarea[required]` will now have their
required asterisk colored correctly when customized.
- `<mwc-textfield>` and `<mwc-textarea>` can now have basic usability in IE.
- `mwc-textarea[disabled][outlined]` will no longer have a filled-in background
as is per material spec.
- `mwc-textarea[disabled]label="string!"][value="string!"]` will now float the
label to the correct spot.
2019-09-04 02:41:30 +03:00
2019-09-04 02:41:30 +03:00
## [0.8.0] - 2019-09-03
### Changed
- Published JavaScript files no longer include inlined TypeScript helpers such
as `__decorate`. Instead, helpers are now imported from the
[`tslib`](https://github.com/microsoft/tslib) module dependency. This reduces
code size by allowing multiple components to share the same helpers, and
eliminates *"this has been rewritten to undefined"* errors from Rollup.
([#439](https://github.com/material-components/material-components-web-components/pull/439))
- **BREAKING** Renamed component *`base`* modules:
([#440](https://github.com/material-components/material-components-web-components/pull/440)):
- `icon-button-toggle-base.ts``mwc-icon-button-toggle-base.ts`
- `icon-button-base.ts``mwc-icon-button-base.ts`
- `top-app-bar-fixed-base.ts``mwc-top-app-bar-fixed-base.ts`
2019-08-28 05:40:35 +03:00
## [0.7.1] - 2019-08-27
### Added
- Added "module" field in all packages' `package.json` manifests
2019-08-28 05:42:53 +03:00
([#434](https://github.com/material-components/material-components-web-components/pull/434))
2019-08-28 00:19:20 +03:00
## [0.7.0] - 2019-08-27
### Added
- New components:
- [`<mwc-textfield>`](https://github.com/material-components/material-components-web-components/tree/master/packages/textfield) ([#297](https://github.com/material-components/material-components-web-components/pull/297))
- [`<mwc-textarea>`](https://github.com/material-components/material-components-web-components/tree/master/packages/textarea) ([#297](https://github.com/material-components/material-components-web-components/pull/297))
- [`<mwc-icon-button-toggle>`](https://github.com/material-components/material-components-web-components/tree/master/packages/icon-button-toggle) ([#370](https://github.com/material-components/material-components-web-components/pull/370))
- [`<mwc-top-app-bar-fixed>`](https://github.com/material-components/material-components-web-components/tree/master/packages/top-app-bar-fixed) ([#379](https://github.com/material-components/material-components-web-components/pull/379))
- Added support for `<svg>` and `<img>` icons to `<mwc-icon-button>` and
`<mwc-icon-button-toggle>`.
([#358](https://github.com/material-components/material-components-web-components/pull/358))
- Added `--mdc-snackbar-action-color` CSS custom property to `<mwc-snackbar>` to
override the default action button color
([#354](https://github.com/material-components/material-components-web-components/pull/354)).
- Added a default slot to `<mwc-top-app-bar>` and `<mwc-top-app-bar-fixed>`
which takes page content and automatically applies the correct `padding-top`
([#370](https://github.com/material-components/material-components-web-components/pull/370)).
- Added documentation for:
- [`<mwc-button>`](https://github.com/material-components/material-components-web-components/tree/master/packages/button)
([#366](https://github.com/material-components/material-components-web-components/pull/366))
- [`<mwc-fab>`](https://github.com/material-components/material-components-web-components/tree/master/packages/fab)
([#361](https://github.com/material-components/material-components-web-components/pull/361))
- [`<mwc-icon-button>`](https://github.com/material-components/material-components-web-components/tree/master/packages/icon-button)
([#370](https://github.com/material-components/material-components-web-components/pull/370))
- [`<mwc-radio>`](https://github.com/material-components/material-components-web-components/tree/master/packages/radio)
([#377](https://github.com/material-components/material-components-web-components/pull/377))
- [`<mwc-snackbar>`](https://github.com/material-components/material-components-web-components/tree/master/packages/snackbar)
([#355](https://github.com/material-components/material-components-web-components/pull/355))
- [`<mwc-top-app-bar>`](https://github.com/material-components/material-components-web-components/tree/master/packages/top-app-bar)
([#379](https://github.com/material-components/material-components-web-components/pull/379))
### Changed
- **BREAKING** The Material Icons font is no longer loaded automatically
([#314](https://github.com/material-components/material-components-web-components/pull/314)).
This allows more control over how fonts are loaded (e.g. serving fonts from a
different server, or loading multiple fonts with a single request). Most users
should now add tags like this to their HTML page:
```html
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet">
```
- **BREAKING** The *toggling* behavior of `<mwc-icon-button>` has been removed
(i.e. `offIcon`), and is now instead supported by the dedicated
[`<mwc-icon-button-toggle>`](https://github.com/material-components/material-components-web-components/tree/master/packages/icon-button-toggle)
component
([#370](https://github.com/material-components/material-components-web-components/pull/370)).
- **BREAKING** The *short* layout for `<mwc-top-app-bar>` has been removed, and
is no longer supported because it is not part of the Material Design
specification
([#422](https://github.com/material-components/material-components-web-components/pull/422)).
- **BREAKING** The *fixed* layout for `<mwc-top-app-bar>` has been removed, and
is now instead implemented by the dedicated `<mwc-top-app-bar-fixed>`
component
([#379](https://github.com/material-components/material-components-web-components/pull/379)).
### Fixed
- Fixed bug where `<mwc-snackbar>` `open` method threw if called immediately
after construction (before `firstUpdated`)
([#356](https://github.com/material-components/material-components-web-components/pull/356)).
- Fixed bug where setting the `<mwc-snackbar>` `labelText` property could throw
an exception and fail to render
([#412](https://github.com/material-components/material-components-web-components/pull/412)).
- Buttons slotted into `<mwc-snackbar>` now render with the correct default
styles
([#354](https://github.com/material-components/material-components-web-components/pull/354)).
- Fixed layout issue affecting scrolling `<mwc-tab-bar>` in Firefox
([#349](https://github.com/material-components/material-components-web-components/pull/349)).
- Fixed bug where `<mwc-icon>` icons did not render in IE11
([#353](https://github.com/material-components/material-components-web-components/pull/353)).
- Fixed bug where setting the `checked` property on an `<mwc-radio>` did not
result in the other radios in the group becoming unchecked
([#373](https://github.com/material-components/material-components-web-components/pull/373)).
- Fixed bug where `<mwc-drawer>` did not work in IE
([WICG/inert#129](https://github.com/WICG/inert/pull/129)).
- Fixed `dense` and `prominent` styling bugs in `<mwc-top-app-bar>`
([#379](https://github.com/material-components/material-components-web-components/pull/379)).
2019-06-06 01:19:28 +03:00
## [0.6.0] - 2019-06-05
- Upgrade lerna to 3.x
- Upgrade typescript to 3.4, add config for tsbuildinfo files needed for incremental compilation mode
- Add README notes that component set is in experimental status.
- Remove draft components, simplify package listing.
- Prepare drawer, icon-button, linear-progress, slider, snackbar, tab components, and top-app-bar for release.
- Fix typing for event listeners in adapters due to typescript update.
- Add wicg-inert and blocking-elements dependencies to mwc-drawer
2019-03-27 01:38:15 +03:00
## [0.5.0] - 2019-03-26
- Update to mdc 1.0
- Rewrite Adapters and Foundations with Typescript types
- Disable pointer-events on disabled buttons
## [0.4.0] - 2019-03-11
- Update to mdc 0.44
- fix button label issues
## [0.3.6] - 2019-02-05
- Use `static get styles()` on all components
- Clean up dependencies
- Implement drawer focus trapping
- Add tests
- Setup travis CI
- Update to lit-html 1.0
## [0.3.5] - 2019-01-11
- Update lit and lit-element dependencies
- Publish mwc-drawer
## [0.3.4] - 2018-12-13
- Update to lit-element 0.6.5 and lit-html 1.0.0-rc.1
## [0.3.3] - 2018-12-03
- Fix ripple directive for lit-html 0.13
## [0.3.2] - 2018-11-16
2018-10-10 22:19:39 +03:00
- Move event listeners to the class with lit-element 0.6.2
- Add `@eventOptions({passive: true})` to event handlers in tab-bar-scroller
- More efficient scrolling behavior, as `preventDefault` is never called
- Implement icon-button in typescript
2018-10-08 22:19:17 +03:00
## [0.3.1] - 2018-10-08
- Fix demo publishing
- Update to lit-element 0.6.2
- Add dependencies to lit-html where necessary
- Add explicit `.js` endings to imports, where necessary
- Fill in CHANGELOG
## [0.3.0] - 2018-10-04
- Rewrite elements in typescript
- Add `ripple` lit directive to add a material ripple to any component
- Add `@observe` decorator to tie data changes into base MDC Foundation handlers
- Add a watcher for styling and typescript changes
## [0.2.1] - 2018-09-21
- Update to lit-element 0.6.1
## [0.2.0] - 2018-09-13
- Use lit-element 0.6
## [0.1.2] - 2018-06-14
- Use lit-element 0.5
## [0.1.1] - 2018-05-09
- Add READMEs and examples
## [0.1.0] - 2018-05-08
- Initial WIP of components