material-web/CHANGELOG.md
2023-09-06 20:16:50 +00:00

104 KiB

Changelog

1.0.0-pre.17 (2023-09-06)

⚠ BREAKING CHANGES

  • slider: replace label-text-type tokens with -font, -size, -line-height, and -weight. Additionally, rename label-label-* tokens to a single label-*
  • list: replace *-type font tokens with -font, -size, -line-height, and -weight
  • chips: replace label-text-type tokens with label-text-font, -size, -line-height, and -weight
  • text-field,select: replace *-type font tokens with -font, -size, -line-height, and -weight
  • fab: replace label-text-type tokens with -font, -size, -line-height, and -weight
  • dialogs: replace headline-text-type and supporting-text-type tokens with -font, -size, -line-height, and -weight
  • button: replace label-text-type tokens with label-text-font, -size, -line-height, and -weight
  • circularprogress: make default width 4px
  • textfield: The field component must add the resizable attribute rather than using CSS. CSS resize can still customize the direction (defaults to both).
  • list,menu,select: menu harnesses will not automatically open menus in quick mode anymore and interactions in menu and list harnesses will not automatically go to the first item but rather the menu roots.
  • iconbutton: change slot="selectedIcon" to slot="selected" for toggle icon buttons.
  • tabs: secondary tabs always have inline icons
  • tabs: remove variant attributes and change md-tab to md-primary-tab, or md-secondary-tab if using `variant="secondary"
  • menu: allow anchoring with idref string and set element ref on anchorElement
  • tokens: Change "radio-button" and "progress-indicator" Sass token APIs to "radio" and "progress". This matches the tag names of their components.
  • tabs: Remove --md-*tab-divider tokens and use md-tabs::part(divider) and --md-divider-* tokens
  • tabs: tabs cannot be disabled per spec. If disabled tabs are required, use pointer-events: none and CSS to style them.
  • iconbutton: change visibility of willUpdate to protected

Features

  • color: add color folder for md-sys-color theming APIs (cdd9b26)
  • color: add color folder for md-sys-color theming APIs (87af9aa)
  • focus,ripple: allow setting element.control = elementRef (1e7aff5)
  • menu: allow anchoring with idref string and set element ref on anchorElement (5ba348d)
  • select: dispatch select-(open|close)(ing|ed) events (1a1fb93), closes #4798
  • switch: add required and form validity (9694191)

Bug Fixes

  • add aria-hidden="true" to ripple, focus ring, and elevation (2295f12)
  • badge: center align value text (cc195a9)
  • button: remove font shorthand tokens (8894c20)
  • button: update demos to fix a11y (4b61e8d)
  • chips: apply cursor styling (9389e26)
  • chips: linear navigation not working in VoiceOver (dfc87f3)
  • chips: remove font shorthand tokens (87ad1da)
  • circularprogress: make default width 4px (c864d3b)
  • dialog, select: allow fixed selects to render correctly in dialogs (d6aa6b2)
  • dialog: content not displaying on Safari (9b7647b), closes #4728
  • dialog: not showing if opened before connected (d25c5e9), closes #4728
  • dialogs: remove font shorthand tokens (81e11e0)
  • fab: remove font shorthand tokens (f77ee36)
  • iconbutton: change visibility of willUpdate to protected (dffff2d)
  • iconbutton: rename selectedIcon slot to selected (9647f5e)
  • iconbutton: update demos to fix a11y (a9091fe)
  • labs: remove font shorthand tokens (acd40a2)
  • list,menu: restrict type to only supported aria roles (32a8c44)
  • list: remove font shorthand tokens (ca2cd56)
  • list: remove internal md3-* class prefix (641142d)
  • menu,list,select: do not stopPropagation on native events when handled only prevent default (b85b57f)
  • radio: make host radio role to fix a11y (0711f8c)
  • ripple and focus ring not centered in Safari (0e8afc0)
  • select, menu: allow item selection while animation is running in non-overflow contexts (b905807)
  • select: announce typeahead selection when select is closed (2c892c4)
  • slider: display tick marks when forced-colors is active (2f9cc20)
  • slider: remove font shorthand tokens (6988a49)
  • tabs: add nocollapse so isTab doesn't get minified (17ddcd3)
  • tabs: incorrect layout and primary indicator width (0467c48)
  • tabs: make indicator animation faster (b542d2a)
  • tabs: remove disabled tabs (d18db2a)
  • tabs: remove divider tokens in favor of md-divider (13690a3)
  • tabs: secondary tabs always have inline icons (6b2955b)
  • tabs: split md-tab into md-primary-tab and md-secondary-tab (5b13b5c)
  • tabs: use instanceof to check for a Tab (58497f1)
  • testing: harness not applying :active to parents (327eeaf)
  • testing: remove font shorthand tokens (01a99a5)
  • text-field,select: remove font shorthand tokens (0c5a2a2)
  • textfield: don't transition colors when disabling (11cc472)
  • textfield: line breaks not visible in Firefox (541c0e9), closes #4581
  • textfield: show overflowing content like popups and focus rings (ecac7ec), closes #4071
  • textfield: textarea resize handle overlapping outline (cdd2ea6)
  • tokens: rename token override files (59c44fc)

Reverts

  • feat(color): add color folder for md-sys-color theming APIs (a528393)

Miscellaneous Chores

Tests

  • list,menu,select: clean up internal testing patterns from harnesses (fcfc696)

1.0.0-pre.16 (2023-08-21)

⚠ BREAKING CHANGES

  • list-item: remove duplicate list-item menu-item from custom prop names

Features

  • fab: do not require has-icon (156ca3c)
  • iconbutton: add touch target configs (0862c58)
  • list: change default host display to flex so max-width can be set without user setting display (aa3fe3d)
  • switch: add touch target configs (8bad07b)
  • tab: add logical container shape tokens (dbed51c)
  • textfield: support inputmode attribute (5d0cbf5)

Bug Fixes

  • button: href and target default value is now an empty string (d665864)
  • button: add value to form when submitting (f23fac1), closes #4526
  • button: incorrect HCM colors (b144227)
  • checkbox: not working after formAssociated changes (33803ab), closes #4747
  • chips: avatar input chips are rounded by default (b7671fb)
  • chips: make forced-color border color explicit (cd8f2fc)
  • chips: per spec, trailing focus rings are always circles (fc9b945)
  • elevation: don't transition border-radius (7d616fa)
  • iconbutton: make target type stricter (c874cd5)
  • iconbutton: rename selectedAriaLabel to ariaLabelSelected along with attribute (2bbab09)
  • icon: don't allow user text selection by default (53aab28)
  • list: use margin over padding on slotted content and fix extraneous spacing (1530aca)
  • menu: make overriding default styles less likely (626b4ef)
  • progress: incorrect HCM colors (f39da54)
  • slider: fix accessibility issues (e836dc3)
  • slider: focus ring too small (8942568)
  • switch: unselected handle too big with selected icon only (ecf83a0)
  • textfield: add form validity support (a167cab), closes #4435
  • textfield: focus indicator and outline are 3px (bbb7840)

Miscellaneous Chores

Code Refactoring

  • list-item: remove duplicate list-item menu-item from custom prop names (2d9352e)

1.0.0-pre.15 (2023-08-10)

⚠ BREAKING CHANGES

  • dialog: See https://github.com/material-components/material-web/discussions/4675 for more details.
  • fab: Replace reduced-touch-target with touch-target="none"
  • checkbox: Checkbox's size is now smaller by default. Add margin or touch-target="wrapper" to increase it to the previous size.
  • radio: Radio's size is now smaller by default. Add margin or touch-target="wrapper" to increase it to the previous size.
  • dialog: Fullscreen dialogs weren't matching spec, so we're removing them for now to avoid future breaking changes. They will be re-added later.
  • list,menu: list-item-link and menu-item-link have been removed and their functionality has been added to menu-item and list-item respectively.
  • dialog: use autofocus attribute instead of dialog-focus
  • dialog: Use dialog.open, dialog.show(), and dialog.close() instead.
  • dialog: dialog actions can set their own layout with a container element.
  • dialog: Material dialogs are always modal.
  • select: select will now show an arrow indicator and will apply default styles to slotted icons
  • icon: Remove css custom properties from icon and prefer applying normal css properties on host except for font-family.
  • menu: subclassing events is not supported in ES5 so all menu-related events now use CustomEvent rather than subclassing Event
  • button: Buttons submit forms by default, like <button>. Add type="button" to not submit forms.
  • checkbox: Design is still exploring error-state checkboxes. If needed, theme with an error color and set aria-invalid.
  • iconbutton: Remove "unselected" from --md-*-icon-button-* custom properties.
  • button: Rename "md-tonal-button" elements, imports, and tokens to "md-filled-tonal-button"
  • iconbutton: rename to
  • dialog: remove transitions
  • dialog: remove content and divider tokens
  • dialog: remove transition and scrim tokens
  • switch: Rename --md-switch-unselected-<token> to --md-switch-<token>
  • button: Rename --md-<button>-spacing-<token> to --md-<button>-<token>-space. Rename --md-<button>-with-icon-* to --md-<button>-with-leading-icon-*.
  • dialog: remove draggable
  • dialog: remove fullscreen tokens
  • radio: Rename --md-radio-unselected-<token> to --md-radio-<token>

Features

  • button: add touch target configs (1f46179)
  • checkbox: add required and form validity (5606eef)
  • checkbox: add touch target configurations (f574b00)
  • chips: add touch target configs (2300eb6)
  • fab: add touch target configurations (8588a3f)
  • icon: add aria-hidden true by default (08d50e2)
  • iconbutton: add form submission (c0da72b)
  • list,menu: add css shadow parts to sub components (65d04a3)
  • radio: add touch target configurations (7c461ca)

Bug Fixes

  • button: rename &lt;md-tonal-button&gt; to <md-filled-tonal-button> (cc26ef6)
  • button: rename spacing tokens (2329d2b)
  • button: type is submit by default (97f5b61)
  • checkbox: remove error property (ce248dc)
  • dialog: misspelled transition (fa103cb), closes #4638
  • dialog: remove content and divider tokens (5adbf73)
  • dialog: remove draggable (2568d4f)
  • dialog: remove fullscreen temporarily (39ae5a6)
  • dialog: remove fullscreen tokens (8b896e0)
  • dialog: remove modeless (d8ac9ce)
  • dialog: remove stacked (500472b)
  • dialog: remove toggleShow() (b992b15)
  • dialog: remove transition and scrim tokens (e581142)
  • dialog: remove transitions (2d1c580)
  • dialog: use autofocus attribute instead of dialog-focus (50fd2f3)
  • filter-chip: make click event preventDefault proof (041cb21)
  • filter-chip: move click event to inner button (22b5b21)
  • focus: allow --md-focus-ring-* cascading again (1fa5cf3)
  • icon-button: delegates focus (db2010d)
  • iconbutton: remove unselected token prefix (0a63c26)
  • iconbutton: rename <md-standard-icon-button> to (a117b06)
  • radio: remove "unselected" prefix from tokens (fb1c603)
  • segmentedbutton: add back container height token (db8be0a)
  • segmentedbutton: add back shape token (c148bf6)
  • select: add trailing icon indicator and fix icon token application (4ab2e39)
  • switch: remove unselected token prefix (3681b58)

Miscellaneous Chores

Code Refactoring

  • dialog: match native &lt;dialog&gt; and fix spacing (2996a8b)
  • icon: remove css custom props from icon and apply values directly on host (ff60a88)
  • list,menu: add href to (list|menu)-item and remove (menu|list)-item-link (09cb6da)
  • menu: events no longer subclass Event but rather use CustomEvent (043d548)

1.0.0-pre.14 (2023-07-24)

⚠ BREAKING CHANGES

  • Rename @material/web/<component>/lib to @material/web/<component>/internal. Prefer not using internal files.
  • focus: Change @material/web/focus/focus-ring.js to @material/web/focus/md-focus-ring.js.
  • menu: Rename @material/web/menu/lib to @material/web/menu/internal. Prefer not using internal files.
  • list: Rename @material/web/list/lib to @material/web/list/internal. Prefer not using internal files.
  • focus: Rename @material/web/focus/lib to @material/web/focus/internal. Prefer not using internal files.
  • icon: Rename @material/web/icon/lib to @material/web/icon/internal. Prefer not using internal files.
  • iconbutton: Rename @material/web/iconbutton/lib to @material/web/iconbutton/internal. Prefer not using internal files.
  • field: Rename @material/web/field/lib to @material/web/field/internal. Prefer not using internal files.
  • divider: Rename @material/web/divider/lib to @material/web/divider/internal. Prefer not using internal files.
  • chips: Rename @material/web/chips/lib to @material/web/chips/internal. Prefer not using internal files.
  • elevation: Rename @material/web/elevation/lib to @material/web/elevation/internal. Prefer not using internal files.
  • fab: Rename @material/web/fab/lib to @material/web/fab/internal. Prefer not using internal files.
  • dialog: Rename @material/web/dialog/lib to @material/web/dialog/internal. Prefer not using internal files.
  • checkbox: Rename @material/web/checkbox/lib to @material/web/checkbox/internal. Prefer not using internal files.
  • button: Rename @material/web/button/lib to @material/web/button/internal. Prefer not using internal files.
  • checkbox: Rename --md-checkbox-unselected-<token> to --md-checkbox-<token>
  • progress: rename progress property to value
  • progress: remove circular progress slots
  • focus: Set --md-focus-ring-* tokens directly on <md-focus-ring> elements. Focus rings are exposed with ::part(focus-ring).
  • linearprogress: remove linearprogress directory
  • circularprogress: remove circularprogress directory
  • field: remove resizable, use css resize: both
  • textfield: Rename --md-*-field-container-padding-vertical to --md-*-field-top-space and --md-*-field-bottom-space. Rename --md-filled-*-field-with-label-container-padding-vertical to --md-filled-*-field-with-label-top-space and --md-filled-*-field-with-label-bottom-space
  • textfield: Rename --md-*-field-container-padding-horizontal to --md-*-field-leading-space and --md-*-field-trailing-space
  • textfield: Rename --md-*-field-supporting-text-padding to --md-*-field-supporting-text-leading-space and --md-*-field-supporting-text-trailing-space. Rename --md-*-field-supporting-text-padding-top to --md-*-field-supporting-text-top-space
  • textfield: Rename --md-*-text-field-input-text-prefix-padding and --md-*-text-field-input-text-suffix-padding to --md-*-text-field-input-text-prefix-trailing-space and --md-*-text-field-input-text-suffix-leading-space

Features

  • add component convenience bundles (ae407b0)
  • all: expose focus-ring parts (243e231)
  • checkbox: dispatch input event (154861c)
  • progress: add max property (02a509b)
  • select: expose menu and field CSS shadow parts (c512808), closes #4291
  • textfield: add textarea type (ff2e089)

Bug Fixes

  • button: remove md3-* class prefixes (2dabbdc)
  • button: rename "lib" directory to "internal" (601ebb6)
  • checkbox: add a11y to demos (89b99a7)
  • checkbox: do not announce icon for screen readers (921f185)
  • checkbox: fix broken "lib" to "internal" sass import (2147af7)
  • checkbox: reduce forced-colors size (b5712f3)
  • checkbox: remove "unselected" prefix from tokens (66d7b8b)
  • checkbox: rename "lib" directory to "internal" (c4ac9f7)
  • checkbox: screen readers announce errors as invalid (ec02fe4)
  • chips: rename "lib" directory to "internal" (a8880f7)
  • circularprogress: remove circularprogress directory (48edec0)
  • dialog: rename "lib" directory to "internal" (aaa672b)
  • divider: rename "lib" directory to "internal" (7fc17c9)
  • elevation: rename "lib" directory to "internal" (0432e6d)
  • fab: rename "lib" directory to "internal" (5618b5e)
  • field: keep label in same spot when resizing (e1f8819)
  • field: move padding to slotted content (0ab5fd5)
  • field: remove resizable, use css resize: both (6734344)
  • field: rename "lib" directory to "internal" (dac3639)
  • field: use margin for textarea content (7fdd0c4)
  • focus: move --md-focus-ring tokens to host (f7eff48)
  • focus: rename "lib" directory to "internal" (77110d7)
  • focus: rename import to md-focus-ring.ts (d49f9b8)
  • iconbutton: rename "lib" directory to "internal" (38b1b69)
  • icon: rename "lib" directory to "internal" (21b7bec)
  • linearprogress: remove linearprogress directory (bac10a6)
  • list,menu,select: update layout tokens to latest values and fix targets (e9ef7ec)
  • list: rename "lib" directory to "internal" (c6e6f65)
  • menu: rename "lib" directory to "internal" (a8c2fa9)
  • progress: add shared class (75058ca)
  • progress: remove circular progress slots (aea4d5e)
  • progress: remove circular progress will-change CSS (0f7e881)
  • progress: rename progress property to value (a2b4f61)
  • progress: squash linearprogress and circular progress into progress (15df1d5)
  • progress: update circular demos (c1aac11)
  • rename "lib" directory to "internal" (6ec3f06)
  • textfield: rename container-padding-horizontal token (447886d)
  • textfield: rename container-padding-vertical tokens (86aba33)
  • textfield: rename prefix/suffix padding tokens (53966af)
  • textfield: rename supporting-text-padding tokens (4f37b44)

Miscellaneous Chores

1.0.0-pre.13 (2023-07-10)

⚠ BREAKING CHANGES

  • segmentedbutton: remove with-* token prefixes
  • button: remove with-* prefix from tokens
  • dialog: remove with-icon prefix from with-icon-icon-color and with-icon-icon-size
  • textfield: remove autocomplete-specific features for now

Features

  • field: add supporting/error text logic (b4b3e67)

Bug Fixes

  • button: remove with-* prefix from tokens (25be982)
  • dialog: fire a change event when using arrow keys. (65d31a6)
  • dialog: fix two close icons in demo (dc0ac97)
  • dialog: remove with-icon prefix from with-icon-icon-color and with-icon-icon-size (1893e08)
  • dialog: use dialog-action and dialog-focus in demo (332836c)
  • segmentedbutton: remove with-* token prefixes (cc786d1)
  • supported tokens were not being verified (2922914)
  • tab: add closure conformance types (d80b7b5)
  • textfield: make label strict string type (6762b00)
  • textfield: remove autocomplete-specific features for now (8fee0a7)

Miscellaneous Chores

1.0.0-pre.12 (2023-06-28)

⚠ BREAKING CHANGES

  • button: remove unnecessary property preventClickDefault
  • slider: change compound attribute names to kebab-case
  • iconbutton: rename attribute flipiconinrtl to flip-icon-in-rtl
  • menu: rename typeaheadBufferDelay and list-tab-index for consistency
  • select: change compound attribute names to kebab-case
  • dialog: change compound attribute names to kebab-case
  • list: change compound attribute names to kebab-case
  • field: change compound attribute names to kebab-case
  • button: normalize compound properties to have kebab-cased attributes
  • textfield: compound properties should have kebab-case attributes
  • tabs: change compound attribute names to kebab case
  • switch: change showonlyselectedicon to show-only-selected-icon

Features

  • chips: add high contrast support (950cd4f)
  • dialog: redispatch the native cancel event (826262f), closes #1583
  • fab: add label only mode (0fd4f45)
  • fab: set aria hidden on the icon slot if element has aria-label or label (fb4d9c8)
  • list,menu: expose activate next and prev items (30937ac)

Bug Fixes

  • button: normalize compound properties to have kebab-cased attributes (1a6fc29)
  • button: remove unnecessary property preventClickDefault (9244524)
  • chips: incorrect input leading icon color (b13271b)
  • chips: incorrect rtl up/down behavior and add unit tests (2cd235d)
  • dialog: change compound attribute names to kebab-case (82d17ca)
  • dialog: focus before animation to fix a11y (61e5e87)
  • field: change compound attribute names to kebab-case (2937aef)
  • iconbutton: rename attribute flipiconinrtl to flip-icon-in-rtl (a5e4354)
  • labs: compound properties should have kebab-case attributes (28f897b)
  • list: change compound attribute names to kebab-case (0e3fe72)
  • menu: close menu when escape is pressed on list root (d5035db)
  • menu: rename typeaheadBufferDelay and list-tab-index for consistency (3f22ed0)
  • repo: remove "." from workspace config (d436c8f)
  • select: change compound attribute names to kebab-case (224a73b)
  • select: fixed menu select not 100% window width (a968759)
  • slider: change compound attribute names to kebab-case (83d9ede)
  • switch: change showonlyselectedicon to show-only-selected-icon (a8e489e)
  • tabs: change compound attribute names to kebab case (a9d030a)
  • textfield: compound properties should have kebab-case attributes (34dfcb4)
  • wireit sass watch memory leak (8b1507e)

Miscellaneous Chores

1.0.0-pre.11 (2023-06-16)

Features

  • chips: add basic chip set component (919a9d3)
  • chips: add multi-action chip navigation (2444734)
  • chips: add scrolling chip set example (938bf38)
  • chips: add single select filter chip set (f8bb2f1)
  • list: expose list item role (2be1b78)

Bug Fixes

  • chips: add aria grid/listbox models to chip set (fcdb126)
  • chips: misaligned trailing action ripple (9c0336a)
  • chips: remove selected event from input chips (a33fcbb)
  • slider: default values to between min and max to better match native input (2ef3606)
  • slider: fix slider focus ring inheritance weakness (e44c903)
  • testing: use sys-color-* theming for dark mode tests (b1172d8)

Miscellaneous Chores

1.0.0-pre.10 (2023-06-05)

⚠ BREAKING CHANGES

  • ripple: Remove ripple directives and attach like focus rings (parent, for attribute, or with .attach()
  • all: Remove any -focus-state-layer- custom properties (they don't do anything)
  • ripple: Set border-radius: 50% and remove unbounded attribute

Features

  • add labs and internal folders for non-client code (4b0c98c)
  • button: adds type property to support form submit and reset (545ce0d)
  • ripple: add semantic and imperative attaching (d65327d)
  • slider: add full form association support (ae70f1e)
  • textfield: add form association support (e842f79)

Bug Fixes

  • all: remove focus state layer tokens (933fc2e)
  • focus: split attachable logic into separate controller (fbd680a)
  • radio: checked styles not displaying (8fb5cd8), closes #4347
  • ripple: remove ripple directive (33daf19)
  • ripple: remove unbounded (b69e242)
  • ripple: restrict manually controllable methods (ea2f04a)
  • ripple: wrong start point for pressing unbounded ripples (88b5cfe)
  • select: inherit width of the host (086565c)
  • slider: improve step support for non-integer values and stepping from min (68c2721)
  • slider: prevent lower handle moving beyond upper and visa versa (f9da935)
  • slider: renames withTickMarks to tickmarks and withLabel to labeled (0e94e28)
  • ssr: make "for" attribute watcher SSR compatible (f47bdc3)

Miscellaneous Chores

1.0.0-pre.9 (2023-05-25)

⚠ BREAKING CHANGES

  • ripple: Use border-radius instead of --md-ripple-shape
  • focus: inward focus rings must be specified with inward rather than a negative offset.
  • textfield: Explicit "defaultValue" has been removed. Set the 'value' attribute to communicate a default value for resetting (similar to native )
  • iconbutton: font icons require using directly

Features

  • checkbox: add full form association support (a61f79c)
  • chips: add input chips (d029b63)
  • chips: add removable filter chips (748d70e)
  • iconbutton: add disabled container opacity tokens (d84d48c)
  • iconbutton: add disabled-icon-opacity token (7403ce1)
  • listitem: add noninteractive to list item (57f7ae2)
  • radio: add full form association support (9dc8613)
  • slider: adds explicit multi-value support via range=true, valueStart, valueEnd (7ab37e4)
  • switch: add disabled handle opacity tokens (c623c94)
  • switch: add disabled icon opacity tokens (61550d2)
  • switch: add disabled track tokens (a2045f5)
  • switch: add full form association support (921a905)
  • tabs: adds tabs and tab element (cbb24df)
  • tabs: improves support for dynamically adding/removing tabs (dd5f3f0)

Bug Fixes

  • button: theme mixin not validating (c566a64)
  • chips: add touch target (55c9701)
  • chips: incorrect shape custom property names (6fa8243)
  • demo: fix demos in internal catalog and fix some broken stories in catalog (2c5e2b9)
  • focus: corrected outward/inward animations (26d69c2)
  • formAssociated being stripped from closure (c1ba0fb)
  • ripple: remove shape token and will-change (a6c988b)
  • switch: add missing tokens (b1e9c4a)
  • tabs: adds a11y roles for tablist/tab (0da80a0)
  • tabs: high contrast and reduced motion styling; improve tab marshaling (6116c34)
  • textfield: remove defaultValue (2317c5a)

Miscellaneous Chores

Code Refactoring

  • iconbutton: remove <md-icon> (ec47f9b)

1.0.0-pre.8 (2023-05-08)

Features

  • focus: improve usability (34d8db0)

Bug Fixes

  • checkbox: incorrect logical shape var names (c2ca4f8)
  • checkbox: support logical shapes (e62b16b)
  • chips: incorrect shape custom property names (7ce0e25)
  • focus: control not working when for reflects as empty (f83db36)
  • focus: update focus-ring tokens (5934de0)
  • listitem: hide android tap color since we have ripple (0d3d032)
  • menu: fix submenu closing when already opened and all menus closing when hovering over menuitem (f6d72f9)
  • ripple: ensure ripple occurs when a keyboard generated click happens after a pointer click (016b851)
  • slider: disabled slider no longer displays pressed handle color when pressed (4c229d9)
  • testing: don't fire focus events twice (04d3496)
  • tokens: bugs with component values() functions (beb5f81)

Miscellaneous Chores

1.0.0-pre.7 (2023-04-24)

⚠ BREAKING CHANGES

  • button: remove label property

Features

  • aria: add aria delegation (e0bbe38)
  • chips: add filter chips (ae91366)
  • circular-progress: adds screenshot tests for circular-progress element (e4a29c6)
  • linear-progress: adds linear-progress element (1c7fcf3)
  • linear-progress: adds linear-progress screenshot tests (212601d)
  • select: implement select (9c202f5)

Bug Fixes

  • actionelement: remove actionelement (b7af8ec)
  • button: closure conformance issue (9e23477)
  • button: fix template typo (a44bc3a)
  • button: remove label property (e398099)
  • chips: remove flat prefixes (4fa83bf)
  • dialog: fixes #4080: corrects dialog fullscreen height (b3a6dac)
  • elevation: tidy up tokens and update roadmap (301eb9a)
  • icon: hide font ligature overflowing text (2eb914e)
  • listitem: border-radius token affects ripple and focus-ring (c738f92)
  • menu,list: new sys token mismatch between menu and list (55df403)
  • menu: submenus will open correctly on click (9d7b291)
  • navigationtab: remove actionelement (6da677f)
  • remove @ariaProperty decorator (7b52c45)
  • remove role attribute from elements (0a35ff5)
  • segmentedbutton: remove actionelement (9442df8)
  • slider: ensure scrolling is prevented on mobile browsers (743451b)
  • slider: fixes #4061 and reduce use of private custom properties (9312a24)
  • slider: fixes label focus and ranged handle dragging on Safari (72b48da)
  • slider: fixes ripple hover state after interaction on Firefox (356d1bc)
  • ssr: try to remove event listener calls on server (5e1fe1c)
  • testing: remove unnecessary type def (5553da3)

Miscellaneous Chores

1.0.0-pre.6 (2023-04-10)

⚠ BREAKING CHANGES

  • elevation: remove elevation surfaces
  • iconbutton: rename selected aria label property, add documentation
  • elevation: remove surface for tonal surface update
  • iconbutton: combine button, link, and toggle variants into single components
  • button: merge standard and link buttons

Features

  • all: use system typography tokens in components (1bc73d2)
  • circular-progress: adds circular-progress element (3adab6a)
  • focus: export the keydown handler (d7fdfda)
  • focus: implement focus ring animation (85232d5)
  • iconbutton: combine button, link, and toggle variants into single components (0aa39e8)
  • iconbutton: rename selected aria label property, add documentation (5d3af37)
  • list,menu: implement forced colors (712aab3)
  • tokens: generate v0.170 (2b9daea)
  • tokens: generate v0.172 (189ef06)
  • typography: add system custom properties for typography (bcfed09)

Bug Fixes

  • button: incorrect theme custom properties (2c1c80d), closes #4095
  • button: merge standard and link buttons (acfdbb4)
  • button: tonal surface update (50157e6)
  • checkbox: tonal surface update (7279356)
  • chips: tonal surface update (60ef2ab)
  • complete tonal surface update (7368e2a)
  • dialog: tonal surface update (c64f416)
  • elevation: remove elevation surfaces (d801a5f)
  • fab: tonal surface update (92a9071)
  • iconbutton: tonal surface update (52b45f1)
  • list: fix strong focus first keyboard nav (6398186)
  • menu: close menu on focusout and make it configurable (3445b63)
  • menu: properly implement selected state (bfa1bec)
  • menu: tonal surface update (7ccc21e)
  • navigationbar: tonal surface update (ebe666e)
  • navigationbar: tonal surface update (a5fe8f3)
  • navigationdrawer: tonal surface update (4f9df51)
  • radio: tonal surface update (b5065a6)
  • ripple: tonal surface update (f08a9db)
  • slider: tonal surface update (9a020b9)
  • switch: tonal surface update (6ccc759)
  • textfield: tonal surface update (f15d8ca)

Miscellaneous Chores

  • elevation: remove surface for tonal surface update (d12ed3e)
  • update next version (fba9672)
  • update next version (58b4df3)
  • update next version (a878783)

1.0.0-pre.5 (2023-03-21)

⚠ BREAKING CHANGES

  • remove old menusurface, autocomplete, and tokens v0.160
  • fab: remove disabled state
  • iconbutton: properly size iconbutton to 40x40
  • focus: refactor focus ring to better match component shape

Features

  • button: add label slot (24298e6)
  • chips: add basic assist chip (27762d8)
  • chips: add disabled styles (324e856)
  • chips: add focus ring (9eb861f)
  • chips: add icon support (7e02a15)
  • chips: add link chips (06bdb86)
  • chips: add ripple (9582e00)
  • chips: add suggestion chips (f3fe55e)
  • field,menu: create a surface client rect api for positioning (533ae6c)
  • icon: add icon documentation (912d66e)
  • list-item: expose / override host focus (d005d72)
  • list: add spacing tokens and inherit min-width (35147b2)
  • menu: prepare menu to support md-select (193b220)

Bug Fixes

  • button: enable separate color and opacity tokens (f90aab2)
  • button: text button background not transparent (6700947)
  • dialog: incorrect elevation layering (028e44e)
  • elevation: disable pointer-events (6155278)
  • fab: remove disabled state (c368e7d), closes #4045
  • focus: refactor focus ring to better match component shape (61ff279)
  • iconbutton: allow icon button to be asymmetrically sized (8a37ce2)
  • iconbutton: properly size iconbutton to 40x40 (567d340)
  • menu: flatten submenu slot query (ddac76e)
  • menu: incorrect elevation (427d33d)
  • testing: token tests not working in Safari Chrome (618a505)
  • tokens: add override files for all tokens (2623c1d)

Miscellaneous Chores

  • remove old menusurface, autocomplete, and tokens v0.160 (878b914)
  • update next version (405ec53)

1.0.0-pre.4 (2023-03-08)

⚠ BREAKING CHANGES

  • icon,iconbutton,list: use material symbols for icons

Features

  • field: add resizability (fd605d5)
  • tokens: generate tokens v0.161 (e2cd832)

Bug Fixes

  • all: update non-menu components to v0.161 (828d7ae)
  • icon,iconbutton,list: use material symbols for icons (232982e)
  • icon: mark icon and icon button as beta (ff3d379)
  • text-field: apply suffix-color and icon size tokens (a969fda)
  • text-field: remove indicator expansion animation (d755d10)
  • textfield: outlined label jumping horizontally with leading icon (c98f5e0)
  • update license year and holder (510a867), closes #3073

Miscellaneous Chores

1.0.0-pre.3 (2023-02-22)

⚠ BREAKING CHANGES

  • slider: fix ripple end hover state when leaving handle
  • controller: fix label activation utility on slotted elements
  • dialog: fix exception when opening when compiled with advanced closure settings
  • ripple: rename press methods to event handlers
  • ripple: rename focus methods to event handlers
  • ripple: rename hover methods to event handlers
  • navigation,badge: migrate to -text-type tokens
  • fab: move to label-text-type token, shape corners
  • segementedbutton: move to label-text-type token
  • list,menu: move to -text-type tokens
  • dialog: migrate to header-type and supporting-text-type tokens
  • button: replace label-text-* tokens with label-text-type
  • field & dependents: convert to use text-type tokens
  • all: checkbox container-width/height tokens have been renamed to container-size
  • ripple: remove "state-layer" from token names
  • all: use shape.resolve-tokens and remove shape.resolve-theme

Features

  • shape, string-ext: Allow shape corners to fall back to a single custom property (1afd925)
  • slider: adds slider element (f0f5ae5)
  • tokens: generate v0.160 (20de321)
  • typography: implement resolve-tokens function to use -text-type (1550e8e)

Bug Fixes

  • all: update tokens to 0.160 (9025af3)
  • all: use shape.resolve-tokens and remove shape.resolve-theme (44a8d74)
  • button: replace label-text-* tokens with label-text-type (69f9a17)
  • controller: fix label activation utility on slotted elements (8b58f98)
  • dialog: fix exception when opening when compiled with advanced closure settings (c63a1d9)
  • dialog: migrate to header-type and supporting-text-type tokens (66948a4)
  • docs: fix documentation to show using -type tokens (c955055)
  • fab: move to label-text-type token, shape corners (8c01aee)
  • field & dependents: convert to use text-type tokens (cc5a7db)
  • list,menu: move to -text-type tokens (45a6d45)
  • navigation,badge: migrate to -text-type tokens (7b86677)
  • ripple: remove "state-layer" from token names (ff84a66)
  • ripple: rename focus methods to event handlers (6e97717)
  • ripple: rename hover methods to event handlers (cde7ca0)
  • ripple: rename press methods to event handlers (0cc7d29)
  • segementedbutton: move to label-text-type token (bd125fe)
  • slider: fix ripple end hover state when leaving handle (535d889)
  • slider: use label-label-text-type font token (ad889ea)
  • testing: convert test-table to use -type tokens (2046401)
  • testing: remove header-cell-text-tracking (43ce8c1)
  • typograph: remove typography resolver (2a8ba18)

Miscellaneous Chores

1.0.0-pre.2 (2023-02-06)

⚠ BREAKING CHANGES

  • iconbutton: Make a few API improvements
  • textfield: remove container-height token
  • iconbutton: normalize toggle variant API with regular icon button
  • iconbutton: remove icon properties, use slots instead

Features

  • divider: add divider component (9431c16)
  • menu,list: expose menu theme mixins and remove divider (e15c4b8)
  • tokens: generate tokens v0.152 (c61f46c)

Bug Fixes

  • all: remove [@requirecss](https://github.com/requirecss) comments (80590ae)
  • forms: fix form association for switch, checkbox, and radio, including label activation (1ddba0c)
  • switch: update to latest animations, and implement sizing tokens (9e9bf84)

Miscellaneous Chores

Code Refactoring

  • iconbutton: Make a few API improvements (c72e7fd)
  • iconbutton: normalize toggle variant API with regular icon button (31391eb)
  • iconbutton: remove icon properties, use slots instead (36f1a1a)
  • textfield: remove container-height token (1d81416)

1.0.0-pre.1 (2023-01-09)

⚠ BREAKING CHANGES

  • button: Remove icon property from Button, require slotted icons

Bug Fixes

  • button: remove icon property from Button, require slotted icons (d3b517a)
  • icon, iconbutton: Cleanup styling (12c9364)
  • icon: Remove fixed left-to-right direction to fix RTL styling (5a27f05)
  • radio: update motion to current spec (95897b3)

Miscellaneous Chores

1.0.0-pre.0 (2023-01-09)

⚠ BREAKING CHANGES

  • focus-ring, button: Button shape properties are now of the form --md-text-button-container-shape-start-start
  • formfield: Removed Formfield. The element can now be used, e.g. <label>Checkbox <md-checkbox></md-checkbox></label>.
  • checkbox: Removed reducedTouchTarget. Instead, set the width and height on the checkbox.

Features

  • add _focus-ring.scss partial to expose theming the focus ring (c47f800)
  • add filled-tonal-icon-button sass partial (30d9c33)
  • add more detail to error message on sass color function. (c293a8d)
  • all: Implement stubs for lit-localize support (e72ca03)
  • autocomplete: Add base render functions (c289678)
  • autocomplete: Add example in demo on how to filter items (75d6b82)
  • autocomplete: Add filled autocomplete theming api support (ef9bdd1)
  • autocomplete: Add keyboard support (d2ea3ce)
  • autocomplete: Add opening and closing upon interaction (530b6d3)
  • autocomplete: Create autocomplete item and connect action to fill value (c3aa552)
  • autocomplete: Create MdAutocompleteList to unset min-width. (e77d472)
  • autocomplete: Create MdAutocompleteSurface to adjust width (cc4603e)
  • button: Add outlines in high contrast mode (HCM) to Button (9ec33ba)
  • checkbox: Checkbox now supports form submission and label activation by using FormController and setting formAssociated. (7b84fca)
  • checkbox: refactor and simplify rendering/style logic (27f7ea8)
  • controller: add label activation support to FormController (4e3054b)
  • controller: add stringConverter for empty reflecting attributes (2a0d563)
  • elevation: create md-elevation component (9eb7bf0)
  • field: add leading/trailing content styles (dc7d949)
  • focus-ring, button: Match focus ring shape to button shape (7fad3a5)
  • form-field: Added theme styles to form field (17075f4)
  • icon-button: Implement isRTL helper library, and refactor icon-button to use it. (5dd43fa)
  • iconbutton: Add internal linkAttributes (10cf00b)
  • icon: Implement tokens for md-icon (0327283)
  • list-item: Added isActive() method to check active status and minor fixes to keyboard navigation (9f410f6)
  • list: Add basic keyboard navigation to M3 list (ee35bfe)
  • list: Add component styles to match spec layout (a6ddbaa)
  • list: Add customizable aria-label/role attributes to list, and customizable role to list item. (8f63406)
  • list: Add list elevation overlay and overlay color/opacity to theme API. (ebb9a4b)
  • list: Add listId property (78f125d)
  • list: Add ripple to M3 list (4d292f4)
  • list: Add support for aria active descendant, id (d9b1deb)
  • list: Add support for fetching list items. (4b79baa)
  • list: Added aria-checked attribute support to list item. (2c06c2e)
  • list: Added avatar web component to list (899a4e6)
  • list: Added focus ring to list item (2d2b3bb)
  • list: Added image web component to list (4587cbc)
  • list: Added list divider web component (d2a1b2e)
  • list: Added options list to M3 list (74704d7)
  • list: Added soy template annotations for image classes slot (c277252)
  • list: Added test harnesses to list (bf29bc3)
  • list: Added video web component to list (261b6ef)
  • list: Created a separate style module for icon web component in list (e64cdbe)
  • menu: Add aria-label support in menu, and set role=menu/menuitem for menu and menu item components. (7e35820)
  • menu: Add initial menu base component class. (60c4a41)
  • menu: Add menu button component. This manages focus automatically on menu open, setting focus to menu item (rather than menu root) if the menu open originated from a keyboard event. (a29ac8b)
  • menu: Add menu foundation/adapter and Sass (forked from MDC). (de29937)
  • menu: Fix menu closing on menu item click. (d37e23d)
  • menu: Implement menu theming API. Use menu surface/list/list item theme() mixins to style subcomponents. (f305806)
  • menusurface: Add flipMenuHorizontally property, add unit tests. (884c3a2)
  • menusurface: Add menu surface theming API. (5e70115)
  • menusurface: Add menusurface class (forked from MWC/MDC). (5f51f26)
  • radio: change SingleSelectionController to a ReactiveController (b0e87c5)
  • ripple: Create a ripple directive (6746d0f)
  • sass: Added pick() function to map-ext (10c506c)
  • switch: add ripple to switch (4a8c333)
  • switch: add warning for handle-height and handle-width which are not yet implmented. (e2f3c28)
  • switch: added action-element to fire event on press. (85e85b2)
  • switch: mark opacity tokens as hardcoded. (ad1db85)
  • switch: Switch now supports label activation by setting formAssociated. (7473f46)
  • switch: use tokens to shape the focus ring (ed58af1)
  • text-field: add blur and jsdoc (5241b76)
  • text-field: add character counter (1cc64f5)
  • text-field: add error text (58848f6)
  • text-field: add icons (424596e)
  • text-field: add min, max, and step (c73b59c)
  • text-field: add minLength and maxLength (0c8a91f)
  • text-field: add native validation APIs (e2e2c9d)
  • text-field: add pattern (810a9a4)
  • text-field: add placeholder color tokens (b945f30)
  • text-field: add prefix and suffix (8e68857)
  • text-field: add selection APIs (091a124)
  • text-field: add SSR ariaLabelledBy property (e0386ac)
  • text-field: add support for text-align: end (bf3cb81)
  • text-field: add supporting text (77cc80e)
  • text-field: add textDirection (4bab4b5)
  • text-field: add valueAsNumber and valueAsDate (7792ae1)
  • text-field: announce error messages (973a982)
  • text-field: error/errorText will override reportValidity (c757bfa)
  • theming: add theming by color-scheme mixin. (6ea69ec)

Bug Fixes

  • button, fab: Ensure elevation is correct when focused and hovering (6e0775d)
  • button: Move event listeners to anchor to fix focus ring (e8ba229)
  • button: Remove aria-label and aria-haspopup attributes from Button HTML if not set (5e2a46e)
  • button: Replace &lt;mwc-icon&gt; with <md-icon> (8720a77)
  • button: Use correct padding for Text Button (61eb08e)
  • button: use new elevation component (2f1a8df)
  • button: use new elevation component (545c2eb)
  • checkbox: Fixes incorrect styling of native input which also caused tapping to check to sometimes fail. (dd6a56b)
  • checkbox: Make focus ring circular (f330c51)
  • checkbox: Remove unused methods and cleanup styles (9152fed)
  • checkbox: Update checkbox to use property bindings for disabled and checked on internal input element. (73ed7a0)
  • chips: Remove unused import (e65ebd8)
  • decorators: ariaProperty not triggering re-renders from data changes (a171c8f)
  • field: content not expanding (d0d5340)
  • field: supporting text typography not resolving (a96664b)
  • focus: Update focus ring to new design (601c331)
  • formfield: fix broken import (b4bcf4e)
  • formfield: Removed Formfield. (753a03b)
  • list,textfield: Fix TS 4.9 compliation of role property override. (c70198a)
  • list: Changed Headline text from slot content to text property of list item (62092b7)
  • list: Fixed layout of list variants. (a885a1f)
  • list: Fixed list item icon padding (07aaa8a)
  • list: Modify list focus ring horizontal offset to prevent horizontal overflow. (a88be95)
  • list: Removed unnecessary options list variant (6b6d651)
  • list: use new elevation component (527b273)
  • menu: Fix focus management bugs (TAB on menu item closes menu without restoring focus to anchor element, on menu open, menu respects focusState option (first item, last item, or list root). (305b790)
  • menu: use new elevation component (563518b)
  • navigationdrawer: use new elevation component (c2fe5e1)
  • radio: Radio supports form association and label activation by using FormController and setting formAssociated. (91c2425)
  • radio: update rendering and styles (3aff084)
  • ripple: Improves fix for Safari ripple overflow due to https://bugs.webkit.org/show_bug.cgi?id=247546 to handle hover and pressed states. (8a35672)
  • styling: Removes tap highlight color visible on mobile Safari for checkbox, radio, iconbutton, and textfield. (eec25b3)
  • tab: Fixes how tabs renders icons. (f7e1bbb)
  • text-field: container-shape not working for outlined variant (6b25914)
  • text-field: correctly resizes when setting width (7285b3a)
  • text-field: ensure value can overwrite defaultValue (58ae98c)
  • text-field: fixed setting width to less than <input> width (a5849b9)
  • text-field: label floating after type changes (17d92f6)
  • text-field: rename readonly to readOnly (4e6f01d)

Miscellaneous Chores