Skip to content

Latest commit

 

History

History
1384 lines (1062 loc) · 151 KB

CHANGELOG.md

File metadata and controls

1384 lines (1062 loc) · 151 KB

Changelog

2.2.0 (2024-09-17)

Features

  • field,textfield: add container slot for custom background content (44c13cd)

Bug Fixes

  • checkbox: add override to symbol properties (a9ee4f5)
  • remove the input entirely and replace it with a touch target (cf84a27)
  • remove unnecessary css variable prefixes (5044e6e)
  • Replace aria-hidden attribute with inert attribute in <md-radio> component (192f17e)
  • Set touch target to display: none (a696121)

2.1.0 (2024-08-20)

Features

  • switch: add touch target token (b8f362a)
  • textfield,field: add leading/trailing icon spacing tokens (c1991c4)

Bug Fixes

  • changed checkmark to check in md-icon selected slot (2e2817b)

2.0.0 (2024-07-23)

⚠ BREAKING CHANGES

  • tokens: Sass component tokens, such as tokens.md-comp-checkbox-values(), return var(--md-<component>, <value>) instead of just the CSS value. Use $exclude-custom-properties: true to remove them.
  • querySelector for [role] and [aria-*] attributes may no longer work. See @material/web/migrations/v2/README.md and @material/web/migrations/v2/query-selector-aria.ts.

Features

  • button: add soft-disabled attribute for focusable disabled buttons (48124ba)
  • check for server before creating treewalker from document (0d50ed9)
  • chips: add label slot (7ec70c4)
  • chips: add new soft-disabled attribute for focusable disabled chips (750b886)
  • iconbutton: add soft-disabled attribute for focusable disabled icon buttons (281c092)

Bug Fixes

  • add typecast (1482bff)
  • aria-labels announcing twice with "group" on components (5df9410)
  • chips: add truncation support (713f0a8)
  • tokens: tokens.md-comp-*-values() include custom properties by default (55b4650)

1.5.1 (2024-06-25)

Bug Fixes

  • checkbox: sass theme mixin not working (46d66ed), closes #5651
  • dialog: have content expand to fill height (17aa21a)
  • menu: resolve aborted animations as false rather than reject (4f7ff4f), closes #5638
  • switch: pressing enter toggles the switch (99ec9e2)

1.5.0 (2024-05-23)

Features

  • menu: allow customizing scrollbar-width (1bf8b5f)
  • select: make required asterisk optional (8f194a5)
  • textfield: make required asterisk optional (be5bb43)

Bug Fixes

  • button: add part attribute to button (a2b5c91)
  • dialog: focus is trapped for a11y, use no-focus-trap to disable (0aea436)
  • docs: progress.webp not playing (2f0c99a), closes #5569
  • menu: getBoundingClientRect() and getClientRects() not working (e1f9cbc)

1.4.1 (2024-04-15)

Bug Fixes

  • dialog: update info comment with autocomplete -> autofocus (fc4c999)
  • select: select.click() opens the menu (7a6cf16)

1.4.0 (2024-03-21)

Features

  • menu: add no-navigation-wrap to fix select accessibility (c6ffd70)
  • typography: add @material/web/typography/md-typescale classes (36dd77e)

Bug Fixes

  • button,fab,chips,labs: text-transform inherits through shadow root (758e615)
  • elevation: expose md-elevation ::part in all components (b74e3dd)
  • elevation: limit elevation transition to box-shadow and opacity (34c0a67)
  • publish .css files for [@import](https://github.com/import)-ing (cde649c)
  • rename internal &lt;styles&gt;.css.js to <styles>.css (c35bad0)
  • switch: reflect selected state in input event (8d201e0)
  • tabs: default scroll-behavior: smooth not working (274ce3e), closes #5497
  • textfield: no longer inherits text-align from parents (668f0ee), closes #5509
  • typography: rename md-typescale.js to md-typescale-styles.js (1e47fd7)
  • use explicit CSSResult[] types for static styles (ce41b7b)

1.3.0 (2024-02-22)

Features

  • add --md-sys-shape-* tokens for all components (41bac9e)
  • tabs: expose activeTabIndex (4bce86d), closes #5297
  • tokens: add component custom properties to Sass values (feff721)

Bug Fixes

  • icon: fix uncentered icons when using WCAG text spacing overrides (b23e321)
  • labs: hasConstructed and constructor deprecated, changing tabIndex update in connectedCallback (fb086bb)
  • labs: removing hasConstructed and setting privateIsConstructed to handle setting tabIndex (ea518d0)
  • labs: update tabIndex once the element is connected to the DOM (a6b8c09)
  • menu: left arrow in submenu closes submenu in closure (2049323)
  • remove :host-context rtl selectors (f2ff867)

1.2.0 (2024-01-24)

Features

  • select: add keyboard support for arrow end and home (8912019)
  • select: add menuAlign to allow end-aligning the select menu (50a9ffa)
  • select: support width fit-content (4bb9418)
  • textfield: add no-spinner to remove number spin buttons (3c6e550)

Bug Fixes

  • button: add missing sass imports (37fad06)
  • chips: filter's click.preventDefault() not working when also updating selected (5dc870b)
  • dialog: buttons not reflecting value attribute when setting property (35913a6), closes #5409
  • dialog: immediate escape key not firing cancel event in Chrome 120 (be3dc6f), closes #5313
  • dialog: text is now selectable (4ae9db6)
  • forms correctly focus the first invalid control instead of last (7dd7a68)
  • labs: add card support for high contrast mode (53ec44b)
  • labs: card content not clickable with outline fix (9c5cff8), closes #5312
  • menu: --md-menu-item-container-color not working (86bd6f8)
  • progress: prevent unnecessary animation to run when not visible (4de5e74)
  • rename and move internal/controller/events (eca1357)
  • ripple: multiple touches causing ripples to start from center (cef1b74), closes #5349
  • select: allow aria-expanded to be set to false (73725be), closes #5360
  • select: clicking select toggles the menu rather than just open (043bbad)
  • select: ensure md-select selection logic uses fresh DOM references (8942715)
  • select: expose SelectOption interface (edb3559)
  • slider: move ripple and focus ring beneath handle (68b078b)
  • slider: nested dir attributes do not break on chrome 120+ (57168f6)
  • tabs: --md-elevation-level no longer leaks into tabs (ddf1fb0), closes #5137
  • tabs: tabs.scrollToTab() not working (eb7c17e)
  • textfield: counter showing when max length is 0 or removed (9973b90)
  • textfield: error styles not removing when an unrelated control is invalid (3151fd8)
  • textfield: focus style lost after reportValidity() during change (6efc904)
  • textfield: remove Firefox high contrast mode background on linux (926edfb)
  • tokens: moved '_values.scss' to 'internal/_values.scss' (b986b1e)

Performance Improvements

  • ripple: don't process events in high contrast mode (839667d)

1.1.1 (2023-12-13)

Bug Fixes

  • formAssociated disabled attribute not working (ab04299)

1.1.0 (2023-12-12)

Features

  • chips: add filter chip selected-icon slot to customize checkmark (89b4c2e)
  • chips: add tokens to customize padding (c9e8de0)
  • chip: trailing remove icon can now be customized (b44b90c)
  • chip: trailing remove icon can now be customized (49a6be1)
  • chip: trailing remove icon can now be customized (76883cd)
  • menu,select: allow menu and select typeahead to read default slot text content (af49b64)
  • menu: add document-level positioning (2b591ca), closes #5120
  • menu: add popover functionality (7859b39), closes #2023 #5120
  • radio: add required constraint validation (b5686ea), closes #4316
  • select: match menu width to select and introduce clamp-menu-width (a5a40b6)
  • switch: add slot icons (9255be1)

Bug Fixes

  • 5182: dialog icon padding error (257e9c6)
  • add @material/web@nightly publishes (91c1221)
  • behaviors: add focusable behavior to labs (d1ef1fe)
  • behaviors: validation not reporting when form tries to submit (c53a419)
  • button: allow overriding cursor using CSS (798f5ae)
  • button: allow overriding min-width and user-select (1852238)
  • button: allow overriding padding and gap (5bb4a42)
  • button: don't show overflowing labels (8dcb3f6)
  • button: height increases when label wraps (7cd657b)
  • button: labels not truncating, add support for multiline with text-wrap: wrap (5d964ad)
  • button: sometimes submits form even when click listener prevents default (9e3f080), closes #5032
  • checkbox: checked and indeterminate not updated during input event (e78a52f)
  • chip: disabled attribute prevents click event. (2dba006)
  • chip: disabled attribute prevents click event. (d501ddd)
  • chip: make tap highlight transparent (c3bfbaa)
  • Circular progress isn't circular in flex column display (075119c)
  • docs: prepare docs generator for mixin version of lit analyzer (5e0000a)
  • fab: make tap highlight transparent (4e8053d)
  • filter-chip: reflect correct value on click event (0b4d4c2)
  • list-item: hide headline overflow and fix width. (4697407)
  • list-item: make tap highlight transparent (cca0789)
  • menu: declare popover API types (bf8d3f6)
  • menu: declare popover property type on HTMLElement (3d8c7ac)
  • menu: escape not closing menus with submenus (bd88880)
  • menu: shift tab into anchor closes menu (c4cbd36)
  • progress: allow linear progress to fill flex containers (a450e42), closes #5042
  • segmented-button: make tap highlight transparent (e4728bd)
  • select,textfield: native form validation shows error state (6b5ab21)
  • select: focus() delegates properly, focus on reporting validity (897d977)
  • select: form failure no longer throws non-focusable error (a5a6974), closes #5078
  • select: select menu render is over most stacking contexts with popover (a2b3204)
  • tabs: allow changing tab padding (dd005df)
  • tabs: fields intended to be accessed from templates must be exported (b7be1cb)
  • text-field: wrap text in textarea (4fce487)

1.0.1 (2023-10-18)

Bug Fixes

  • catalog: align one liners to center (fbc1fa6)
  • catalog: center items in blockquotes (5235b3e)
  • checkbox: cursor should be pointer when not disabled (18fe451), closes #5079
  • fab: cursor should be pointer (5280c6e), closes #5017
  • list: list items will not escape their parent when parent width is restricted (4b00a95)
  • list: show pointer cursor for button list items (16480d0), closes #5045
  • md-item: exclude start slot from hidden overflow (5607059)
  • md-item: exclude start slot from hidden overflow (e087141)
  • menu,select: enter clicks href items (8ae8c02)
  • menu: fix menu item fade in order animation (73eb15e), closes #5014
  • menu: fix menu OOB from resizing window (863109e), closes #5063
  • menu: fix menu tapping behaviors on iOS and do not close on anchor click (8bbb4b4)
  • menu: fix submenu SSR left keyboard close navigation (d6f7220)
  • radio: cursor should be pointer except when disabled (7779987)
  • select: cursor on select options should be pointer (ff250dc), closes #5066
  • slider: slider knob has size to drag on ios safari (6298cd2), closes #5016
  • switch: cursor should be pointer except when disabled (9a3ff28), closes #5075
  • tabs: revert isTab check so it is possible to create your own tab (db3c865)
  • tabs: revert isTab check so it is possible to create your own tab (e10186e)
  • tabs: use md-tab attribute to brand individual tab children (8ec0813)
  • textfield: calling focus on textfield with a leading icon focuses the input (8f999d4)
  • textfield: forward the multiple field to the native input (03e5a7e), closes #5064
  • textfield: missing focused left border for textarea in HCM (9194cc9)
  • tabs: use md-tab attribute to brand individual tab children

Reverts

  • fix(tabs)!: use md-tab attribute to brand individual tab children (d1f3887)
  • pardon the mess, "use md-tab attribute to brand individual tab children" is not a breaking change (43af3ba)

1.0.0 (2023-09-26)

⚠ BREAKING CHANGES

  • list: the new ListController behavior no longer waits for event.preventDefault asynchronously because it was causing keyboard navigations to scroll the page.
  • list: <md-list-item> now uses slots instead of properties and has removed many prescriptive items (such as avatar, image, and video items). The default slot can be used for any custom content. html <md-list-item> <div slot="overline">OVERLINE</div> <div slot="headline">First line</div> <div slot="supporting-text">Second+ lines</div> <div slot="trailing-supporting-text">Trailing</div> <md-icon slot="start">star</md-icon> <md-icon slot="end">star</md-icon> </md-list-item> Add type="button" or type="link" for interactive list items.
  • menu: Several enums in menu had their values changed from SCREAM_CASE to kebab-case to follow style guide. They are NAVIGABLE_KEYS -> NavigableKey, SELECTION_KEY -> SelectionKey, CLOSE_REASON -> CloseReason, KEYDOWN_CLOSE_KEY -> KeydownCloseKey
  • menu,select: refactor fixed property to positioning="fixed" in Menu and menuFixed to menuPositioning="fixed"
  • menu: This change refactors menu-item to no longer subclass or import from list-item. It also refactors it to use md-item directly which means that the API of menu item has moved from properties to slots. start-* and end-* slots are now just start and end, many tokens are now gone in favor of slotting. headline property is now a slot="headline" slot. Typeahead search text can now be set via typeaheadText which defaults to the slotted headline textContent. select-option now has the displayText which is used to display text in the md-select when the option is selected; defaults to the slotted headline textContent.
  • menu: We have deleted md-sub-menu-item. Instead it is recommended to use md-sub-menu which can have md-menu-item[slot=item] and md-menu[slot=menu] slotted into it. This makes sub-menu-item accessible for screen readers using linear navigation
  • menu: Menu no longer uses md-list internally which means the list-related properties such as list-tabindex and type should now be on the host of md-menu. The new attributes should be tabindex and role respectively.
  • iconbutton: Replace container-size tokens with container-width and container-height.
  • list: the noninteractive property has been replaced by the interactive property, and by default, a list-item will no longer show a ripple or focus ring. What to change:
    • To preserve prior default behavior, add the interactive attribute explicitly.
    • Any setting of a truthy noninteractive attribute or property can be removed as it's the new default behavior.
  • menu: rename corner and focus state values lowercase with dashes
  • chips: chips now follow the aria toolbar pattern. Chip sets are toolbars and chips are buttons or links. Filter chips are toggle buttons. What to change:
    • Remove type attribute from <md-chip-set> (you can mix and match chip types!)
    • Remove single-select from <md-chip-set>. Use JS to control filter chips if single selection is required. Radio filter chips will come in a future update.
    • Disabled chips CAN be focused with the keyboard if always-focusable is set.
    • Filter chips no longer dispatch a "selected" event. Listen to "click" and use event.target.selected instead.
    • ArrowUp and ArrowDown no longer navigate between chips. These are reserved for chip actions, like dropdown menu chips.
  • list,menu,select: the data-variant=".." selectors in list-item and all variants have been removed in favor of their respective slots. e.g. a slotted icon of the form md-icon[slot=end][data-variant=icon] should now be md-icon[slot=end-icon].
  • menu: menu selected container color changed to secondary-container
  • list:
  • list: Aria and roles on List have been moved to the host element. list-tabindex attribute should be migrated to tabindex attribute. type attribute should be migrated to role attribute.
  • list,menu,select: removed active from list-item, menu-item, and select-option. Instead, List uses tabindex to track whether something is focusable.
  • select: option.selected no longer reflects. Set the attribute instead if relying on the attribute for styles/queries.
  • dialog: if overriding margin on a dialog's content, swap it to padding. If a dialog's slotted first or last child has built-in margin (such as <h3> or <p>), remove the top/bottom margin as needed (since margin swapped to padding, there's no more margin collapsing).
  • tabs: Rename the selected index property on md-tabs to activeTabIndex (active-tab-index attribute). Rename select-on-focus to auto-activate
  • typography: composite -type tokens are no longer supported. Use discrete -font, -size, -line-height, and -weight tokens instead.
  • tabs: replace label-text-type tokens with -font, -size, -line-height, and -weight
  • tabs: rename selected to active for primary and secondary tabs.
  • textfield: replace slot names leadingicon and trailingicon with leading-icon and trailing-icon
  • select: replace leadingicon and trailingicon slot names with leading-icon and trailing-icon
  • navigationtab: change slot names activeIcon and inactiveIcon to active-icon and inactive-icon

Features

  • chips: swap to toolbar a11y pattern (16bfac1)
  • iconbutton: update tokens to v0.192 (e8b5b29)
  • item: add &lt;md-item&gt; layout component (ffe4f79)
  • items: add &lt;md-item&gt; to @material/web/labs (b35212a)
  • list,menu,select: add slots for specific slotted variants (ed68995)
  • menu: create a Menu interface for easier md-menu wrapping (5fad4f0)
  • menu: do not close menu if anchor is clicked (c7c276f)
  • menu: implement md-sub-menu (54fbb2e)
  • menu: menus will resize and flip corners to stay in viewport (235a203)
  • menu: update tokens to v0.192 (94b5c81)
  • select: add required and form association (4ad2336), closes #4903
  • tabs: add tabs property to retrieve tab elements (bf48fc3)
  • typography: add typography Sass APIs (8e480de)

Bug Fixes

  • aria polyfill overrides user values and user values override internals values (8aa4faf)
  • catalog: remove TODO from home page (af27ff8)
  • dialog: change content margin to padding (8613fe6)
  • dialog: not delegating focus in closure (375b766)
  • iconbutton: allow prevent default click for toggles (ed539c6), closes #4857
  • iconbutton: fix HCM disabled opacity and outlined (1163315)
  • linearprogress: linear progress buffer dots now visible in HCM (70bfea8)
  • list,menu: clicking items in a list followed by keyboard nav functions as expected (af171df)
  • list,menu: list items left right keyboard navigation (fad6104)
  • list: list items are now noninteractive by default (3b5cbc4)
  • list: text items are no longer tabbable, links cannot be disabled (54c4ddb)
  • list: update tokens to 0.192 (58539b1)
  • menu,select: fix final aria issues (aeb5103)
  • menu: allow submenus to close when focus is lost (7a19c7e)
  • menu: apply padding to dividers per spec (df52d92)
  • menu: expose item custom properties and fix selected color (d27ef2e)
  • menu: fix submenus on mobile (368991c)
  • menu: menu's default focus behavior follows google accessibility practices (2927245)
  • menu: update default min width to spec and allow max-width to inherit (2e25bf8)
  • navigationtab: change slot names activeIcon and inactiveIcon to active-icon and inactive-icon (f019ac3)
  • radio: dispatches input event on select (e444de3)
  • select: change slot names to kebab-case (059dad5)
  • select: don't reflect selected attribute (573caae)
  • select: select can reopen when animation interrupted (78e7c17)
  • select: update select docs and fix initial selection (5e4434b)
  • slider: border should only appear when handle nubs are overlapping (6e72a8e)
  • slider: label should not changed size when stacked (b50d5c8)
  • slider: make tickmarks visible when slider is disabled (e9d1e7d)
  • tabs: a11y and tabs sometimes not activating (58f2446)
  • tabs: remove font shorthand tokens (88eb175)
  • tabs: remove previously selected tab property (70ce0d2)
  • tabs: remove public indicator property (d296316)
  • tabs: rename tab selected to active (23b291b)
  • tabs: scrollable divider not taking up full width (a0fca90)
  • tabs: setting active on tab selects them (1442f9b)
  • textfield,focus,ripple: fix textfield SSR (f576b60)
  • textfield: add demo a11y and fix outlined label navigation (7866a93)
  • textfield: broken required validity on Safari (c26a578), closes #4796
  • textfield: change slot names to kebab-case (82e9e92)
  • textfield: don't show focus indicator when focused on icon (61c8f6d)
  • textfield: remove icon that appears in search input in chrome and safari (86aaacd)
  • tokens: generate tokens v0.192 (116b448)
  • tokens: update components to v0.192 (cfd053c)

Miscellaneous Chores

Code Refactoring

  • list,menu,select: remove active concept and now parent controls tabIndex and focus (d446315)
  • list,menu,select: remove data-variant slotted variant selectors (1f31df8)
  • list: move list aria to host (9447ec7)
  • list: refactor list to reuse ListController (6d0c7e8)
  • list: refactor list using md-item (7536774)
  • menu,select: rename fixed to positioning (63b0142)
  • menu: pull logic out of menuitem into a controller & change enum vals (1217b62)
  • menu: refactor menu-item to use md-item and not rely on md-list-item (2a1d877)
  • menu: remove sub-menu-item in favor of sub-menu (d6cbf74)
  • menu: rename corner and focus state values lowercase with dashes (6e54048)
  • menu: update menu to use host-aria (0384507)

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 #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