Skip to content

Latest commit

 

History

History
1479 lines (1282 loc) · 232 KB

CHANGELOG.md

File metadata and controls

1479 lines (1282 loc) · 232 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

14.0.0 (2022-04-27)

Bug Fixes

  • button: update HCM shim to use the existing focus-ring (a657abb)
  • checkbox: Add explicit system color for checkmark in HCM. (8c4da22)
  • checkbox: move forced-colors theme out of static styles (bbd1126)
  • checkbox: Update checkbox theme styles mixin to accept css vars (c14e977)
  • chips: Fix typography selector in GMDC-Wiz chips theming (43c7d87)
  • datatable: Adjust data table last row border-radius to support setting row background-color. (ba78e87)
  • dialog: Render dividers in Firefox 94 on Windows HCM (fae6c65)
  • dialog: Set default z-index for close button in FloatingSheet dialog. (3366a71)
  • fab: Add focus ring in HCM. (d57ec74)
  • focus-ring: add 2d padding customizability, RTL bugfix (f81fb1d)
  • focus-ring: box-sizing bugfix to content-box. If box-sizing border-box is inherited the ring spacing will collapse. (e58552c)
  • focus-ring: ignore pointer events (3ef470e)
  • focus-ring: RTL bugfix (e00181e)
  • iconbutton: Fixed max width and height for high contrast mode focus ring on icon buttons. Display only in forced colors mode. (cf42927)
  • iconbutton: Set icon button ripple z-index to -1. (586e740)
  • list: Improve a11y for multi-select lists (9736ddc)
  • list: Remove conflicting validation for checkbox list in setEnabled (353ca7e)
  • list: Update lastSelectedIndex when toggling a checkbox range (dcba26f)
  • menusurface: Add a getOwnerDocument() method to MDCMenuSurfaceAdapter to provide a reference to the document that owns the menu surface DOM element. (3486659)
  • radio: Fix disabled state in Firefox Windows high contrast mode (23043ac)
  • radio: Modify theme styles Sass mixin validation to validate only keys (390220e)
  • select: Add border to select menu in HCM. (5d80969)
  • select: revert down/up arrow on anchor changing selected index (43d08ba)
  • slider: Fix bug where secondary click moves slider thumb. (3ab9565)
  • slider: Fix IE11 bug - unset is unsupported in IE. (f460e23)
  • slider: In updateUI, fix behavior to match jsdoc claim that when thumb param is undefined it updates both thumbs. Input attributes were not being updated at all. (cc4ed13)
  • slider: Make the slider errors easier to debug by providing all relevant values in the error message. (8687937)
  • snackbar: address Trusted Types violation (cbd9358)
  • tooltip: Adjusts logic in validateTooltipWithCaretDistances method. (3e30054)
  • typography: Fixes typography theme-styles mixin... the value being retreived from the $theme map and css property name was swapped. The mixin would request font-size/font-weight/letter-spacing from the $theme map (which expects size/weight/tracking)... so these values would always be null. (32b3913)
  • Remove /** @override */ tags from TypeScript code. (c3cdff0)
  • Simplify MDCAttachable interface to be any object (Function) that has attachTo. (05db65e)
  • Snackbar action button ripple color is applied to the ripple element. (4e66fb2)
  • Work around bug in Sass (037285f), closes sass/sass#3259
  • switch: Restore Firefox 94 HCM outlines (39cf14b)
  • textfield: Fix breaking tests due to no valid pointerId being associated with pointer events. (15db4f1)
  • tooltip: Only sends notification of a tooltip being hidden if showTimeout is not set (indicating that this tooltip is about to be re-shown). (6ca8b8f)

Features

  • banner: Add disableAutoClose params for both banner actions to prevent the banner buttons from automatically closing the banner. Add adapter #notifyActionClicked method. (b094eaa)
  • chips: add focus ring styles (783f6fd)
  • chips: Added elevation tint layer color support in chips (c78ff04)
  • data-table: separate table structure into its own mixin (9f9d928)
  • dialog: Add styling for floating sheets (78305b6)
  • dialog: Add styling for floating sheets with content padding (3e20c1d)
  • Dialog: Adds an API to hide the header for GMDC Fullscreen Dialog in non-fullscreen mode (ab4aba1)
  • Dialog: Adds an API to set custom position for GMDC Dialog (ea9b5b4)
  • Dialog: Adds an API to set custom z-index for GMDC Dialog (96ea061)
  • focus-ring: added a new mixin so we can override just the focus-ring color (641ed08)
  • focus-ring: added a new mixin so we can override just the focus-ring radius (7321d62)
  • iconbutton: Add link icon button Sass. (9803d2d)
  • mdc-list: introduce selection change event (7d8ea46)
  • menu: allow preferentially opening surface below anchor (261f2db)
  • MenuSurface: Add opening event for menus. (53b3cad)
  • select: Add theming mixin boilerplate code to select (ae8a6a3)
  • select: Add validation getter methods. (bdf1d37)
  • select: Added theme mixins to MDC select (dcfe49c)
  • slider: Add minRange param to range sliders to request a minimum gap between the two thumbs. (8fffcb5)
  • slider: Add an option to hide focus styles after pointer interaction. (ec54d90)
  • slider: Keep the slider value indicator within the bounds of the slider if possible. (c047f7c)
  • state: make context aware (b2fe352)
  • switch: Add high contrast mode focus ring to switch (f31a833)
  • text-field: Add theming mixin boilerplate code to text-field (eb382f3)
  • text-field: Added theme mixins to MDC text field (344d528)
  • textfield: adding input-font-size mixin (207230e)
  • theme: allow custom property strings in theme.validate-theme() (4e372fb)
  • add new class and mixin for open state of a menu item (9a02b6e)
  • Indicate which thumb valueToAriaValueTextFn and valueToValueIndicatorTextFn functions are called for. (b6510c8)
  • textfield: adding input-font-family mixin (991fb99)
  • Describe how to add child lists into a list item. (758ce31)

BREAKING CHANGES

  • MenuSurface: Adds #notifyOpening method to menu surface adapter.

PiperOrigin-RevId: 444830518

  • slider: Adds #getValueIndicatorContainerWidth method to slider adapter.

PiperOrigin-RevId: 419837612

13.0.0 (2021-09-24)

Bug Fixes

  • Fix missing $ripple-target param for ripple mixin (1340ee9)
  • banner: Adjusting theme api selectors to use mdc-button. (15981e9)
  • banner: Correcting incorrect theme values passed through to button's theme-mixin. (0de2f2e)
  • banner: exclude source from npm package (#7381) (d48a017), closes #7360
  • banner: Removing action-<state>-label-text-color values from MDC light-theme map. (d97f8f1)
  • button: cleanup outlined button theme keys (28d0d75)
  • button: fix touch target reset in context of link buttons (3b8d442)
  • button: remove negative padding around icons (d470693)
  • button: remove rem/em transformers from typography theme-styles (a395972)
  • button: stack ripple behind content (e1e69fd)
  • density: typo in variable exports (6df682e)
  • dom: Support providing an owner document for announcer messages. (6236f35)
  • elevation: reduce warnings when not providing elevation tokens (adb9f1a)
  • iconbutton: Fix icon button theme keys/light theme values based on updated tokens. (42d175e)
  • menu: apply elevation overlay to new lists (0ad12ed)
  • sass: Wrap templated calc expressions in strings (818f4ee), closes #7391
  • slider: Reorder such that dragstart event is emitted before any other events when handling drag start. (877e3fb)
  • slider: Replace innerHTML with firstChild (37d4db8)
  • Fix compilation issues with TypeScript 4.4 (7246447)
  • switch: add pointer cursor (12f5622)
  • switch: distribute correct css (#7292) (7b6bcb8)
  • switch: elevation theme custom properties not working (2865629)
  • switch: use correct colors for icons in all HCM themes (d86fb6f)
  • theme: ensure state selectors negate properly (7249a30)
  • tooltip: Add a getActiveElement() method to MDCTooltipAdapter to delegate getting the active element from the correct document. (e334676)
  • tooltip: Adjust tooltip focusout handler. Ensures that interactive tooltips remain open when ChromeVox uses linear navigation to read non-focusable content inside the tooltip. (7c96e6b)
  • tooltip: non-persistent tooltips disappear on scroll (1f9259b)
  • update combined mdc package to use new switch CSS (077dcfc), closes #7304
  • tooltip: allow the Mac zoom service to access plain tooltip contents (510cf90)

Code Refactoring

  • fab: Deprecate legacy Fab theme mixins (83bdd02)
  • iconbutton: Forward only theme mixins from MDC icon button index module. (0a90693)
  • theme: Rename validate-keys() to validate-theme() (2fb068f)

Features

  • button: add custom props to outlined button theme-styles (bf405d2)
  • button: add custom props to protected button theme-styles (4ca11fe)
  • button: add custom props to text button theme-styles (3dd6110)
  • button: add missing transitions to box-shadow/border (3b92903)
  • button: add static-styles-without-ripple for MWC consumption (f4241a4)
  • button: add theme mixin that emits custom properties instead (4c40586)
  • button: emit custom properties fill button theme-styles (a80c8b2)
  • button: m3 elevation + icon base theme modules (2da3606)
  • button: resolve elevation keys in theme mixin (843342f)
  • chips: Add theming Sass mixin to MDC Filter Chip (8390093)
  • chips: Add theming Sass mixin to MDC input & suggestion Chip (860ad06)
  • chips: Added theme mixins to Assist Chip (d4e16a6)
  • chips: Export all non-deprecated members through chips index (8647986)
  • chips: Rename action's exported members to avoid naming collisions (b49359c)
  • chips: Rename chip set's exported members to avoid naming collisions (13db34b)
  • chips: Rename chip's exported members to avoid naming collisions (470bd34)
  • data-table: Implement row click feature to MDC data table (8de07c0)
  • data-table: use new select + list templates for pagination (08398f8)
  • dialog: Add theme styles mixin to dialog (21ece53)
  • dialog: Separate static styles from dialog core-styles mixin (43d2eed)
  • fab: create theming file for small fabs (d082790)
  • fab: prepare fab-extended for theming in MWC (ce25bc3)
  • iconbutton: Add .mdc-icon-button--display-flex class that centers icon via flexbox. When using the new theme API, the icon button should have this class. (8355e14)
  • iconbutton: Add MDC theme mixin that declares custom properties. (fa7520f)
  • iconbutton: Add theme styles mixin. (65aa63b)
  • menu: Added getter method to check fixed position status of menu (fb76c50)
  • menu: Adds option to prevent focus from being restored after an item action. (65084ba)
  • select: start compatibility work for evolution lists (e8554db)
  • theme: Added validate-theme-keys() mixin to validate theme keys only (457d89a)

BREAKING CHANGES

  • menu: Adds new menu adapter method:

    /**

    • @return the attribute string if present on an element at the index
    • provided, null otherwise. */ getAttributeFromElementAtIndex(index: number, attr: string): string|null;

PiperOrigin-RevId: 398575780

  • iconbutton: MDC iconbutton _index Sass module will only export theme mixins.

PiperOrigin-RevId: 391773229

  • theme: Renamed Sass mixins validate-keys() to validate-theme() in @material/theme

PiperOrigin-RevId: 390671152

  • fab: Renamed Fab's mixins to deprecate legacy theme mixins.

PiperOrigin-RevId: 387378201

12.0.0 (2021-07-27)

Bug Fixes

  • base: observer now listens to superclass properties (88a33cd)
  • button: allow Mac zoom service to access button label (29ac6ec)
  • button: Fix non-text buttons with icons to have reduced horizontal padding on the side with the icon. (197f64f)
  • chips: Add documentation for action (3db4d16)
  • chips: Add documentation for chip; update action docs (22b83ad)
  • chips: Add stubbed component methods along with tests (06930c9)
  • chips: Document chip set; add root readme (5b6a460)
  • chips: Hide HCM focus indicator for presentational actions (8c7d994)
  • chips: Update chip set links (4a7939c)
  • circular-progress: set explicit line-height to prevent inheritance (e8e39ad), closes #7118
  • dialog: prevent programmatic click on disabled default button (e0c3462)
  • fab: Fixed Fab ripple (84f3db9), closes #7053
  • icon-button: prevent icon shift on press in IE11 (8fc2927)
  • linear-progress: allow parent visibility prop to propagate to bar (e543628)
  • list: Add core-styles mixin. (fc7c4e5)
  • list: density configuration mixins do not account for leading avatars (3674c62)
  • list: Ensure trailing-only variants have leading padding in RTL contexts. (81e2d4f)
  • list: Fixed the selected + focused state of list item in HCM (8ba3e29)
  • list: Reset selectedIndex to UNSET_INDEX if #setSingleSelection(true) is called and there are no selected list items. (4eecdea)
  • list: Selection lists without a selection focus first item. (03f525f)
  • list: Use more descriptive foundation method comments (08d791f)
  • mdc-list: invalid syntax in generated .d.ts bundle (ce82846)
  • menu: correct menu opening delay (a618380), closes #5682 #4411
  • menu-surface: slightly delay focus restoration to prevent lost focus on mobile devices (9f68a93)
  • ripple: ensure custom properties are always emitted (caa73ae)
  • rtl: do not emit if a left/right value or replacement is null (ec4ac52)
  • rtl: mixins work with pseudo elements (f5b6110)
  • switch: export temporary deprecated version (bd68539)
  • switch: misaligned handle when inside some flex containers (ea1e1b8)
  • switch: move ripple behind handle (3e4c6dc)
  • switch: overlay colors not showing and support -5 density (33579e0)
  • switch: prevent collapsing in flex containers (22f390c)
  • switch: track colors can have opacity and not bleed through (d923db7)
  • tabscroller: remove trailing underscore (105b15b)
  • text-field: remove disabled white patch in high contrast mode for Firefox 89+ (17553e9)
  • prepare for #7183 (#7188) (77b94e8)
  • text-field: show filled textarea label in Firefox 89+ high contrast (90e08fc)
  • textfield: announce error message again if user blurs already invalid field (75900a5)
  • tooltip: Adding missing return statement into MDCTooltipComponent#isShown method. (4d95812)
  • tooltip: Fixing component definition of MDCTooltipAdatper#deregisterAnchorEventHandler. (d928692)
  • tooltip: Fixing logic for determining whether or not the user intends a tooltip to be hidden from the screenreader or not. (cf5b9eb)
  • Remove lint check from test actions (#7185) (1ee1fbf)
  • touch-target: incorrect position in rtl when width is set (bd1b4e9)

Build System

  • set AMD module module names within UMD bundles (#7233) (9808de0)

Code Refactoring

  • checkbox: Deprecated old checkbox theme mixin (22d29cb)
  • iconbutton: Move ripple target to inner element (33c9a73)

Features

  • base: add MDCObserverFoundation class (33e6f50)
  • button: Add focus indicator to link buttons in HCM. (cad4896)
  • button: add typography & state layer keys to theming API (068fd50)
  • button: employ elevation token resolvers in theming API (ebb5c73)
  • button: move icon-size to theming API (85e9a6a)
  • card: Moving ripple into a mdc-card__ripple element rather than the mdc-card__primary-action. (8ace3b8)
  • checkbox: Added new theme mixin in checkbox to match token keys (33a9548)
  • checkbox: Added new theme mixin in checkbox to match token keys (8e60818)
  • chips: Support presentational actions (8c68530)
  • dialog: removing call to #close within #destroy. (5631828)
  • dom: add forced-colors-mode mixin (8416fb9)
  • elevation: Create elevation resolver mixin (5dfec7a)
  • elevation: Create resolver function (c18b592)
  • elevation: Simplify box-shadow custom property support (de48eff)
  • elevation: Support custom properties in resolver (07a7375)
  • fab: Added mixin that auto-generates custom properties for Fab (8530d35)
  • fab: Added mixin to auto-generate custom properties for Fab (14767a8)
  • fab: Use elevation resolvers (6e9fc4a)
  • fab: Use elevation resolvers in custom property themes (3f691ec)
  • iconbutton: Add support for increased touch target to icon button. (f43af56)
  • list: Add public #getFocusedItemIndex to foundation. Also add a forceUpdate option to #setSelectedIndex that forces a UI update of the selected item. (5d06051)
  • list: Basic support for three-line lists. (4bb5eea)
  • menu: Add public #getSelectedIndex to foundation. (f705e80)
  • radio: Added theme mixin that declares custom properties in MDC radio (b87ebf7)
  • radio: Added theme styles mixin to MDC radio (464a002)
  • radio: Added theme styles mixin to Radio (5823407)
  • ripple: Added theme styles and theme mixin to Ripple (a2b0f4c)
  • select: Add #getUseDefaultValidation method to foundation. (adeac05)
  • shape: add shape map theme value support (ec31ae1)
  • slider: Expose changing certain props after initialization to support MWC (3f36ac7)
  • switch: add custom property theming support (f147a22)
  • switch: add density custom property support (598fccc)
  • switch: add new component and foundation (ef43e6d)
  • switch: add updated density styles (cb162da)
  • switch: add updated RTL styles (573dc7f)
  • switch: update switch to new design spec (0ce2fdb)
  • switch: update theme keys (00b5899)
  • switch: Use elevation token resolvers (e1703be)
  • tabs: Add theming API to tabs (bd25779)
  • tabs: Added theme-styles() mixin to tabs (e38d744)
  • test: Add overline support to two- and three-line lists. (38d1846)
  • test: Add shape radius mixins to list. (d5f1f7c)
  • theme: add map-ext.split() helper function (ec22e1d)
  • theme: add state selector mixins (d20dc6d)
  • theme: gss.annotate supports named arguments (c50d20b)
  • theme: theme.property() supports custom prop declarations (474836a)
  • tooltip: Adding foundation methods to allow users to configure the tooltip show and hide delay time. (08db3d7)
  • tooltip: Adds logic for generating a new tooltip position when all "standard" positions for tooltip w/ caret are invalid. (9bc0eff)
  • tooltip: Adds logic to determine valid position options for tooltip w/caret, and select which should be used. (2ebfc53)
  • tooltip: Adjusting transform-origin for tooltips with caret so that the entrance animation originates from the caret. (1a8d064)
  • Create token package with resolvers (9405502)
  • tooltip: Adjusting logic and styles so the caret better matches spec. (55ad2d7)
  • tooltip: Fixes ordering of values provided to tranform-origin. (25751d2)
  • tooltip: Plain tooltips remain visible if the user hovers over them. (ccce99c)

Reverts

  • checkbox: Added new theme mixin in checkbox to match token keys (b4c3f51)

BREAKING CHANGES

  • tooltip: - Tooltips intended to be hidden from the screen reader should be annotated with data-hide-tooltip-from-screenreader="true" (in addition to using data-tooltip-id rather than aria-describedby.

PiperOrigin-RevId: 386490861

  • Breaking change for the UMD-case where the exports are bound to a global variable. Previously the entry-point would appear in camel-case, but now it's matching the actual package name in dash-case. This is unfortunately not avoidable with the current Webpack tooling. i.e. previous UMD users relying on the globals (which are rather rare anyway), would need to switch from window.mdc.circularProgress to window.mdc['circular-progress].
  • checkbox: Renamed old checkbox theme mixin for deprecation

PiperOrigin-RevId: 384568221

  • iconbutton: Icon button now requires an inner ripple element with class mdc-icon-button__ripple. See README for details.

PiperOrigin-RevId: 372153409

11.0.0 (2021-04-15)

Bug Fixes

  • banner: Use role alertdialog. (a07b6d4)
  • button: add missing feature-targeting import (71fe9a0)
  • button: Fixed button's icon size scaling on browser zoom (bc104ba)
  • chips: Expose deprecated resources in top-level TypeScript file (67d780c)
  • chips: Fix incorrect references between deprecated and non-deprecated resources (f8579b7)
  • chips: Make chips wrap by default (24255c4)
  • chips: Remove obsolete chips resources now in chips/deprecated/* (87ac2fd)
  • chips: Remove obsolete resources (40dd242)
  • chips: rename deprecated trailing action classes (48f4b67)
  • chips: Un-remove obsolete chips resources now in chips/deprecated/* (7cf6782)
  • chips: Use deprecated chips in autoinit (d2a39d3)
  • circular-progress: add annotation (06dead2)
  • dialog: Add transparent border to dialog surface for HCM support. (b2fa996)
  • dialog: Remove the unnecessary border on the dialog title when not needed, this adds an extra line in the UI on high contrast mode. With margins it is possible to keep the previous spacing and only add the border when needed. (3344d12)
  • dom: do not cache focusable elements in focus-trap (7899e0f)
  • fab: add alternate decorator only when necessary (0fd56a8)
  • fab: Apply extended shape radius in Extended FAB's theme mixin (81911b7)
  • list: Correcting the selector mapping for CHILD_ELEMENTS_TO_TOGGLE_TABINDEX and FOCUSABLE_CHILD_ELEMENTS. (8943b99), closes #6829 #6829
  • list: do not activate typeahead on certain modifier keys (f1b1fd5)
  • progress-indicators: hide from screenreaders on close (d3a6862)
  • ripple: Update states-selector() to use :active:active to match active specificity styles. (faa7d32)
  • select: do not conduct anchor typeahead when modifier keys pressed (6f678a9)
  • select: set hidden input value before firing change event (2d6ba2c), closes #6904
  • shape: duplication bug with nested custom properties (f77a4dd)
  • slider: Fire custom input event on input change (i.e. value change via keyboard), mirroring the native input event behavior for range inputs. (ec8f846)
  • slider: Fix #quantize to use min value as the baseline. (0f358dd)
  • slider: Fix JS floating point rounding errors by rounding values to a set number of decimal places based on the step size. (6072ed6)
  • slider: Fix track height. (67eb0df)
  • slider: Improve HCM borders, add missing @noflip annotations. (e7202cb)
  • slider: Modify behavior such that for range sliders, presses in the middle of the range change the value (of the closest thumb). This provides a single-pointer alternative option to an otherwise gesture-based interaction. (0b8cff7)
  • slider: Throttle slider UI updates. (7d6a4bb)
  • slider: Throw error for invalid initial values based on the step. (3955d8d)
  • tab: Update ripple adapter to reflect sass ripple-target. (97c4d40)
  • theme: do not emit when theme.property() replacements are null (aa0aaf0)
  • theme: parsing error when @import-ing mdc-theme (b62b126)
  • theme: replace works for multiple replacements (95322b1)
  • update README to correct links. (71e615b)
  • tooltip: flip precedence of data-tooltip-id and aria-describedby when finding TT id (b2d22df)
  • typography: do not emit styles when setting null from global variable (f5f1b61)

Code Refactoring

  • snackbar: Update a11y structure (c60449b)
  • tooltip: Moved the anchor element blur event listener from the component to within the foundation. (0b4a4b2)
  • typography: Rename typography Sass function from pxToRem() to px-to-rem() (8f0a11e)

Features

  • base: add non-statics foundation constructor type (e3ec22f)
  • base: add observer mixin (4ceb422)
  • chips: Expose "action" component (03d34bb)
  • chips: Expose "chip" component (cbc57c6)
  • chips: Expose "chipset" component (d6c5bcf)
  • chips: Expose top-level resources (fefc668)
  • chips: Remove touch target wrapper selector from chip set spacing (367d88b)
  • chips: Start deprecation of chip (e683bdf)
  • chips: Start deprecation of chip root directory (73a2271)
  • chips: Start deprecation of chip set (148e8cf)
  • chips: Start deprecation of chip trailing action (9eeb35c)
  • chips: Truncate long chip labels by default (f5c6db8)
  • dialog: Adding resize and orientationchange event handlers into MDCDialogFoundation. (1e06534)
  • dialog: Adds support for "surface-scrim" over full-screen dialogs. This prevents a "double scrim" from appearing when showing a secondary dialog over a full-screen dialog on larger screens. (cddb035)
  • dom: add option to skip restoring focus on release focus (5c0ab74)
  • dom: add tab key keyboard.ts (dc9c840)
  • fab: Add theming API to Extended FABs (f19c86d)
  • fab: Added $focus-outline-width param to extended-padding() FAB mixin (8ecd7c9)
  • fab: Added focus outline theme keys to FAB theme mixin (d6d8d04)
  • fab: Added theme mixin to primary FAB variant. (f19bbc4)
  • fab: border custom prop support & add CPs for padding (a6b3101)
  • fix: Ensure that secondary controls do not ripple. (1f636b2)
  • fix: Fix divider layout in right-to-left locales. (f524626)
  • fix: Remove old MDC list class names, preparing to release evolution. (5f0fc44)
  • fix: Remove the "evolution" prefix from list evolution's class names. (0cde52f)
  • fix: Simplify divider styles to reflect new design guidance. (f77c508)
  • linear-progress: add getBuffer (9c85d50)
  • list: Add "deprecated" aliases for old list mixins / variables. (f9cac96)
  • list: Add missing "deprecated" aliases for old list mixin. (302c7a9)
  • list: Finalize list mixin/variable rename. (c97d7d8)
  • list: Rename deprecated MDC list class names. (a678806)
  • list: Rename deprecated MDC list class names. (941ca3b)
  • list: Update deprecated list class names so evolution can become default. (606e767)
  • list: Update styles to reference "deprecated" mixins/variables. (3201cae)
  • list: Update styles to remove "evolution" prefix from mixins/variables. (f9c9e39)
  • menu: add maxHeight setter (bf670da)
  • menu-surface: add option to always horizontally center on viewport (23ea2d8)
  • ripple: add active() mixin for styling active styles. (9f2e85f)
  • select: allow programmatic change without firing event (79ce087), closes #6166
  • slider: Add mixin to customize thumb color in the activated (hover, focus, pressed) state. (94f50b2)
  • Add support for "mdc-deprecated-list-*" class names. (9e52f55)
  • switch: add high-contrast mode focus shim mixin (c91e8d1)
  • theme: add configuration support for custom-properties (1f318ff)
  • theme: add create-varname() for custom properties (b522724)
  • theme: add key store (07ff0c4)
  • tooltip: Adding logic to position the caret relative to the tooltip. (76da787)
  • tooltip: Adding touchstart/touchend event listeners to tooltip. This allows tooltips attached to non-focusable elements to be surfaced on mobile. (7cd26af)
  • tooltip: Creating an mdc-tooltip__surface-animation class that holds all the style properties responsible for animating the tooltip in and out of the page. The existing mdc-tooltip__surface class will hold all the style properties that impact the visual appearance of the tooltip. (56fc269)
  • tooltip: Expose method that allows users to register additional scroll handlers on elements in the DOM. This should be used in situations where the tooltip anchor is a child of a scrollable element, and will ensure that the tooltip remains attached to the anchor when this element is scrolled. (24609b8)

BREAKING CHANGES

  • typography: Renamed typography Sass function from pxToRem() to px-to-rem()

PiperOrigin-RevId: 368489085

  • fix: the old list implementation has been deprecated and now requires that class names use an "mdc-deprecated-list-" prefix. The new implementation (list evolution), no longer uses a prefix ("mdc-evolution-list-" is now just "mdc-list-*").

PiperOrigin-RevId: 364441086

  • snackbar: Dom structure change, see README.md

PiperOrigin-RevId: 363926666

  • tooltip: Added adapter method:
    • registerAnchorEventHandler( evtType: K, handler: SpecificEventListener): void;
    • deregisterAnchorEventHandler( evtType: K, handler: SpecificEventListener): void;

PiperOrigin-RevId: 358401984

10.0.0 (2021-02-05)

Bug Fixes

  • data-table: fix style ordering wrt select & use new variable-width mixin (afb6889), closes #6599
  • dialog: add property to customize suppressDefaultPressSelector (772cc10)
  • linear-progress: fix RTL rendering (c7c5da2)
  • list: add support for density scaling. (419e035)
  • list: add support for non-interactive list roles. (fc8b045)
  • list: ensure divider appears in IE high contrast mode. (eff7b46)
  • menu: Remove anchorSize height from calculations when anchored to bottom (1631198)
  • notched-outline: fix notched outline no-label style (99cfb6b)
  • select: debounce click on anchor (b39094d)
  • select: set aria-expanded false earlier when menu closes (df00c2b)
  • slider: Add aria-hidden to value indicator container, to avoid duplicate value announcements for screenreader users. (9687353)
  • slider: Adjust hidden input dimensions to take slider dimensions, such that screenreader focus indicators show a highlight around the entire slider. (fd22355)
  • slider: Fire custom change event on input change. (07deaec)
  • slider: Fix bug where value indicator container took space and could be hovered over / clicked when hidden. (832668d)
  • slider: Mark ripple event handler as passive. Fixes #6746 (abdd100)
  • slider: Remove big step options. Now that we're using a native range input, big step is not customizable - we follow browser defaults for big step. (ae27b44)
  • slider: Update both thumbs' value indicator UI's if layout is invoked with undefined thumb. (489d4c2)
  • slider: Use pointer-events: none instead of visibility: hidden to hide the value indicator container. Adding visibility: hidden removes the exit animation since the value indicator is immediately hidden. (a94bd8d)
  • slider: Use mouse/touch events on iOS, to work around pointer events bug. (671d72d), closes #6715
  • tabs: Expose min width mixin and set to 90px per spec. (c4ab987)
  • theme: ensure either() works with false values (8e66dbf)
  • tooltip: Adds "will-change" into CSS to prevent the tooltip from "jittering" when animating in. (7a003ac)
  • tooltip: Change foundation to check for "dialog" on the anchor element's aria-haspopup attribute instead of checking for "true". (b8a1a58)
  • tooltip: Clear hideTimeout in handleAnchorMouseEnter so that the tooltip will not be hidden if the user rapidly moves the mouse in and out of the anchor element. (365c693)
  • tooltip: Fix rich tooltip tests to not use aria-describedby to associate rich tooltips with their anchor elements. This is because interactive rich tooltips should not be used with aria-describedby per a11y guidance. (251ac04)
  • adjust meta baseline and update color mixins. (07f3e01)

Code Refactoring

  • Remove MDC theme's deep-get, used sass:map's get API instead. (37fbae1)

Features

  • banner: Add mobile-stacked variant support to banner. (a0b2db2)
  • button: Add in HCM support to the mdc button as an opt-in mixin. (121e1f3)
  • button: consolidate states into button mixins (637d15d)
  • button: thread state keys through theme config (05f2496)
  • checkbox: Add CSS custom properties to MDC checkbox for density theming (9244508)
  • checkbox: Add validation to MDC Checkbox theme mixin (2d5f32d)
  • circular-progress: do not require HTML without whitespaces (8648b82)
  • dialog: add custom property for z-index (776c186)
  • dialog: Adding styling for scroll bar dividers, and adding logic to show said dividers only when content is scrolled "behind" the header or footer of the dialog. (e383944)
  • dialog: Adds and defines styling for the "header bar" on a full-screen dialog. (089de51)
  • iconbutton: Add in HCM support to the mdc iconbutton as an opt-in mixin. (fd61b04)
  • linear-progress: remove aria-valuemin/max attrs for indeterminate (4321323)
  • list: support ctrl + a keyboard shortcut (eefef49), closes #6366
  • list: Update the MDC component for List Evolution. (766981c)
  • menu,select: enable fixed menu position in mwc-select (b9adb7a), closes #2062
  • select: add mixin for variable width (30c11bf)
  • slider: Add hidden input to slider, to support forms submission. This is also prep for moving to use an <input type="range"> behind the scenes, in order to support touch-based AT's. (b98d15d)
  • slider: Modify continuous slider to use step value by default, and give clients the option to customize step value for continuous sliders. (7ad038e)
  • slider: Use input with type="range" to back slider component. This ensures that sliders can be adjusted with touch-based assistive technologies, as the current ARIA spec for sliders is not compatible with e.g. TalkBack/Android. (9083b7d)
  • snackbar: Add 1px transparent border for high contrast support (15a4d40)
  • theme: add either() utility function (5268222)
  • theme: add validation option to disallow custom properties (fec7b42)
  • theme: Added validation mixin to validate provided theme configuration keys (1c156d6)
  • theme: allow lists in replace maps (d2959b1)
  • theme: emit CSS var() declarations when provided a standalone custom prop (1a3a396)
  • tooltip: Add positioning adjustment and position specification for rich tooltips. Rich tooltips default to the END position and does not support CENTER positioning. (384a8ee)
  • tooltip: Added persistent variant for rich tooltips that shows/hides based on mouse clicks on the anchor element. Clicks on elements other than the anchor will also hide the persistent variant. (9775856)
  • tooltip: Adds transform-origin on tooltip surface so tooltip entrance animation has a direction based on its alignment with the anchor element. (623af86)
  • tooltip: Adjust tooltip position on scroll and resize events. This ensures that the tooltip remains pinned to the anchor element despite page movement. (a415276)
  • tooltip: Adjusting tooltip positioning logic so that the tooltip remains within the viewport even if the anchor element is partially off-screen. (482ff90)
  • tooltip: Change rich tooltip to use position absolute instead of fixed and rely on a position relative parent element so that if the parent has a transform, perspective, or filter property set to something other than none, the positioning would still work. (0c95c9f)
  • tooltip: Define styling to set the full-screen dialog size depending on the viewport size. (fe13dd1)
  • tooltip: Expose hide and isShown methods in the MDCTooltip component. This allows MDC clients to create their own class to enforce only one tooltip being shown at a time. (c5e18b0)
  • tooltip: Hide rich tooltip if mouse leaves rich tooltip. Rich tooltip persists if mouse leaves rich tooltip and enters anchor. (6d8574f)
  • tooltip: Reducing minimum threshold distance between tooltip and viewport from 32px to 8px. (23491cf)
  • tooltip: Restore focus to the anchor element when the ESC button is pressed while the focus is in the tooltip for rich tooltips. Default rich tooltips should have focus restored to anchor and not have rich tooltips show. (eabf9d5)
  • tooltip: Set up base sass for rich tooltip. Rich tooltips are currently in development and is not yet ready for use. (4ae94ff)
  • tooltip: Set up rich tooltip to persist if mouse leaves anchor and enters rich tooltip. (c927a5d)
  • tooltip: The aria-expanded attribute of the anchor element will only be changed for anchor elements with interactive rich tooltips. Non-interactive rich tooltip anchor elements do not have the aria-haspopup and aria-expanded attributes. (c5dda80)
  • tooltip: When the anchor element blurs, the rich tooltip will only be hidden if the focus is changed to a non-rich tooltip element. (6871336)
  • Added global variable to conditionally emit CSS selector fallback declarations (7b0e2b3)
  • tooltip: When the rich tooltip element focuses out, hide the rich tooltip if the new focused element is not the anchor element or an element within the rich tooltip. (1085c3b)

BREAKING CHANGES

  • theme: custom-properties.apply() has been renamed to declaration() to better align with css.declaration()
  • tooltip: Added adapter methods:
    • getComputedStyleProperty(propertyName: string): string;
    • getParentBoundingRect(): ClientRect|null;
  • tooltip: Added adapter method:
    • tooltipContainsElement(element: HTMLElement): boolean;
  • Removed deep-get() API from mdc-theme, use sass:map's get() API instead.
  • tooltip: Added adapter method:
    • anchorContainsElement(element: HTMLElement): boolean;
  • slider: Slider is now backed by an input of type="range". Additionally, adapter methods (focusInput, isInputFocused, registerInputEventHandler, deregisterInputEventHandler) were added.
  • tooltip: Added adapter methods:
    • setAnchorAttribute(attr: string, value: string): void;
    • registerEventHandler( evtType: K, handler: SpecificEventListener): void;
    • deregisterEventHandler( evtType: K, handler: SpecificEventListener): void;
  • slider: Adds slider adapter methods (get/setInputValue, get/setInputAttribute, removeInputAttribute). Slider DOM structure now contains a hidden input.

9.0.0 (2020-12-29)

Bug Fixes

  • data-table: fix style ordering wrt select & use new variable-width mixin (afb6889), closes #6599
  • list: add support for density scaling. (419e035)
  • list: add support for non-interactive list roles. (fc8b045)
  • list: ensure divider appears in IE high contrast mode. (eff7b46)
  • Adding tests. (240c5f7)
  • adjust meta baseline and update color mixins. (07f3e01)
  • Document stylelint exceptions (f89d8b8)
  • notched-outline: fix notched outline no-label style (99cfb6b)
  • select: debounce click on anchor (b39094d)
  • slider: Adjust hidden input dimensions to take slider dimensions, such that screenreader focus indicators show a highlight around the entire slider. (fd22355)
  • slider: Fix bug where value indicator container took space and could be hovered over / clicked when hidden. (832668d)
  • slider: Remove big step options. Now that we're using a native range input, big step is not customizable - we follow browser defaults for big step. (ae27b44)
  • slider: Update both thumbs' value indicator UI's if layout is invoked with undefined thumb. (489d4c2)
  • tabs: Expose min width mixin and set to 90px per spec. (c4ab987)

Code Refactoring

  • Remove MDC theme's deep-get, used sass:map's get API instead. (37fbae1)

Features

  • banner: Add mobile-stacked variant support to banner. (a0b2db2)
  • checkbox: Add CSS custom properties to MDC checkbox for density theming (9244508)
  • checkbox: Add validation to MDC Checkbox theme mixin (2d5f32d)
  • circular-progress: do not require HTML without whitespaces (8648b82)
  • linear-progress: remove aria-valuemin/max attrs for indeterminate (4321323)
  • list: support ctrl + a keyboard shortcut (eefef49), closes #6366
  • select: add mixin for variable width (30c11bf)
  • slider: Add hidden input to slider, to support forms submission. This is also prep for moving to use an <input type="range"> behind the scenes, in order to support touch-based AT's. (b98d15d)
  • slider: Modify continuous slider to use step value by default, and give clients the option to customize step value for continuous sliders. (7ad038e)
  • slider: Use input with type="range" to back slider component. This ensures that sliders can be adjusted with touch-based assistive technologies, as the current ARIA spec for sliders is not compatible with e.g. TalkBack/Android. (9083b7d)
  • theme: Added validation mixin to validate provided theme configuration keys (1c156d6)
  • tooltip: Add positioning adjustment and position specification for rich tooltips. Rich tooltips default to the END position and does not support CENTER positioning. (384a8ee)
  • tooltip: Added persistent variant for rich tooltips that shows/hides based on mouse clicks on the anchor element. Clicks on elements other than the anchor will also hide the persistent variant. (9775856)
  • tooltip: Adjust tooltip position on scroll and resize events. This ensures that the tooltip remains pinned to the anchor element despite page movement. (a415276)
  • tooltip: Adjusting tooltip positioning logic so that the tooltip remains within the viewport even if the anchor element is partially off-screen. (482ff90)
  • tooltip: Hide rich tooltip if mouse leaves rich tooltip. Rich tooltip persists if mouse leaves rich tooltip and enters anchor. (6d8574f)
  • tooltip: Make persistent rich tooltips persist when click target is within the rich tooltip. (fb194dd)
  • tooltip: Reducing minimum threshold distance between tooltip and viewport from 32px to 8px. (23491cf)
  • tooltip: Restore focus to the anchor element when the ESC button is pressed while the focus is in the tooltip for rich tooltips. Default rich tooltips should have focus restored to anchor and not have rich tooltips show. (eabf9d5)
  • tooltip: Set up base sass for rich tooltip. Rich tooltips are currently in development and is not yet ready for use. (4ae94ff)
  • tooltip: Set up rich tooltip to persist if mouse leaves anchor and enters rich tooltip. (c927a5d)
  • tooltip: The aria-expanded attribute of the anchor element will only be changed for anchor elements with interactive rich tooltips. Non-interactive rich tooltip anchor elements do not have the aria-haspopup and aria-expanded attributes. (c5dda80)
  • tooltip: When the anchor element blurs, the rich tooltip will only be hidden if the focus is changed to a non-rich tooltip element. (6871336)
  • tooltip: When the rich tooltip element focuses out, hide the rich tooltip if the new focused element is not the anchor element or an element within the rich tooltip. (1085c3b)
  • Added global variable to conditionally emit CSS selector fallback declarations (7b0e2b3)

BREAKING CHANGES

  • tooltip: Added adapter method:
    • tooltipContainsElement(element: HTMLElement): boolean; Rich tooltips are currently in development and is not yet ready for use.

PiperOrigin-RevId: 346325244

  • Removed deep-get() API from mdc-theme, use sass:map's get() API instead.

PiperOrigin-RevId: 345257138

  • tooltip: Added adapter method:
    • anchorContainsElement(element: HTMLElement): boolean; Rich tooltips are currently in development and is not yet ready for use.

PiperOrigin-RevId: 345221617

  • slider: Slider is now backed by an input of type="range". Additionally, adapter methods (focusInput, isInputFocused, registerInputEventHandler, deregisterInputEventHandler) were added.

PiperOrigin-RevId: 344116908

  • tooltip: Added adapter methods:
    • setAnchorAttribute(attr: string, value: string): void;
    • registerEventHandler( evtType: K, handler: SpecificEventListener): void;
    • deregisterEventHandler( evtType: K, handler: SpecificEventListener): void; Rich tooltips are currently in development and is not yet ready for use.

PiperOrigin-RevId: 343894231

  • slider: Adds slider adapter methods (get/setInputValue, get/setInputAttribute, removeInputAttribute). Slider DOM structure now contains a hidden input.

PiperOrigin-RevId: 343157208

8.0.0 (2020-11-02)

Bug Fixes

  • banner: Update image to graphic and support material icons (346069c)
  • card: ensure border-adjacent content renders correctly. (790ca85)
  • checkbox: Use secondary and on-secondary as default colors (b95172e), closes #5730
  • chip-set: crash when only item is removed (a653b68)
  • chips: Handle IE/Edge specific key names in keyboard navigation logic (3657f88)
  • circular-progress: Add .npmignore file to ignore typescript files when publishing (#5801) (f172b0f), closes #5800
  • circular-progress: Default all variables (430fd02)
  • circular-progress: display properly inside button (2bd09a7)
  • circular-progress: display properly inside button (000d648), closes #6388
  • circular-progress: fix determinate transition typo & 4 color keyframes (a301636)
  • circular-progress: Fix naming in package.json and add to jsBundleFactory (86f7cad)
  • circular-progress: Force LTR layout (6a40ef2)
  • circular-progress: Switch mixins import to [@use](https://github.com/use) (098ae32)
  • circular-progress: use theme.property() for color mixins (7bd5075)
  • data-table: Add noflip annotation to header cell text align (843f636)
  • data-table: Check if data table has checkboxes on destroy (164c073)
  • data-table: Fix icon misalignment in sort icon button when sorted down (610c26c)
  • data-table: Fix JS error in IE11 when setting multiple styles (d548d7a)
  • data-table: Fix pagination box height (eb28b6e)
  • data-table: Fix row checkbox cell's leading padding to match spec (38ef450)
  • data-table: Fixed default feature targeting query params of sort mixins (e33c49e)
  • data-table: Hover styles for sortable header cell (d580805)
  • data-table: partial rollback of #6390 (da72839)
  • data-table: Reverse the arrow direction icon for column sorting (a7c827f)
  • data-table: Set progress indicator height to table body offset height (c678a9d)
  • data-table: unable to redefine colors in class-based themi… (#5751) (4d48051)
  • data-table: unable to redefine colors in class-based theming (4b45b66)
  • datatable: Fix updating the header checkbox when there are no rows in a datatable (2ccf996)
  • dom: Make dom selectors in dom/announce tests scoped (fc65fd0)
  • elevation: Use relative path when importing theme Sass file. (405a29a)
  • linear-progress: disable animations when closed (a831d47)
  • linear-progress: performance for indeterminate animations in modern browsers (fc0eb50)
  • linear-progress: Temporary rollback of #5656 while updating downstream dependencies (9cf5e98)
  • list: No longer emits action event when disabled item selected (f352d03), closes #5571
  • mdc-dialog: second dialog data-mdc-dialog-initial-focus doesn't work (a0ec7e2)
  • menu-surface: Use margin_to_edge as a viewport margin in calculations for autopositioning. (4b04cdb)
  • menusurface: Fixing bug where body click listener is not being properly deregistered. (5511c52), closes #6557
  • menusurface: synchronous quick menu does not close on button click (45a6615)
  • radio: disabled state in IE high contrast mode (774dcfc)
  • segmented-button: Fixed unit test in IE11 (#6271) (b96fbfc)
  • segmented-button: Move include statements to avoid nested classes (#6380) (bcc5829)
  • segmented-button: Use empty clientRect in default adapter (#6343) (9f9aac8)
  • select: Deduplicate change events (4ad1274), closes #5570
  • select: do not emit change event when same value selected twice (e07a708)
  • select: ensure enough space for label when outlined menu opening above (66b8ed7)
  • select: float label on hidden-input initial value (744bfe5)
  • select: move label before selected text for screenreader a11y (e139d62)
  • select: prevent dropdown icon focus on IE (b9dff0a), closes #6323
  • select: prevent helper text from announcing when hidden (e056052)
  • select: remove gap when outlined opened above with no label (2fe7012)
  • select: remove min-width & dynamic width resizing (d4cd83a)
  • select: remove unnecessary bottom line focus selector (32fb314)
  • select: revert 2fed2c1 that delegates to list for single selection logic (38197b4)
  • shape: remove deprecated functions (e2ea4a9)
  • slider: Fix bugs with setting slider position before component initialization: (9110147)
  • slider: Move inactive track before active track, so active track consistently overlaps inactive track. (0b7ac96)
  • slider: Remove width: 100% to account for margin around slider track. (16c563e)
  • snackbar: remove use of @at-root (98d0296)
  • snackbar: Update a11y structure to announce label and actions (40d8e47)
  • snackbar: Update a11y structure to announce snackbar correctly (a3176c8)
  • switch: Adjust track width to 36px, align thumb and track. (d716225)
  • switch: always set track to transparent border (9a169f4)
  • switch: use CSS custom properties for theming (d6315ef)
  • textfield: affix outlined alignment Safari bug (ad4df58)
  • textfield: autofill filled label not floating correctly (abcdbcf)
  • textfield: clean up input padding (8639c26)
  • textfield: error when notching outline with no label (b0ed593), closes #6452
  • textfield: helper text a11y interactions (8a39352)
  • textfield: IE11 label overlapping placeholder (781434a)
  • textfield: move notched outline/label before input (9e2f6c4)
  • textfield: remove absolute positioning from icons (1e13d1d)
  • textfield: remove Chrome icons for date types (4951e76)
  • textfield: remove deprecated dense variant in favor of density (776291e), closes #4142
  • textfield: remove fullwidth variant (69a35e8)
  • theme: add validation to host-aware to ensure proper usage (defa599)
  • theme: do not throw error when setting custom props and null (85a5272)
  • theme: property() mixin not working with theme key strings (c1fec42), closes #6158
  • server-side rendering errors in linear progress and slider (7d0b983)
  • update circular-progress import paths (10e8c19)
  • theme: Remove duplicate @forward in theme index module (b2e80a5)
  • theme: variable overrides not working with @use/with (2d72f36)
  • typography: change $styles font-size to a Number (6d1ea97)
  • update types and deprecate old ponyfill (af332d5)

Code Refactoring

  • circular-progress: move all sizing params from CSS to markup (58ce529)
  • linear-progress: Restructure buffer DOM to allow translucent buffer (98b8434)
  • linear-progress: Restructure buffer DOM to allow translucent buffer (9372e49)
  • radio: forward only theme mixins from MDC radio index module (72258f8)
  • select: consolidate state theming to single mixins (e8bf5b2)
  • theme: move CSS declarations to utility mixin (96a6405)

Documentation

  • select: update markup to include new selectedText container (47b500a)

Features

  • animation: Add a linear animation method (c250ec5)
  • animation: Create animation frame helper class (e34e411)
  • banner: Add banner component into MDC catalog (aa3a3e5)
  • banner: Add fixed banner variant (fd8af3d)
  • banner: Add fixed-width mixin. (c61db90)
  • banner: Defining a z-index mixin. (ccc64ee)
  • banner: Expose layout method. (4794b25)
  • banner: Update banner to be mobile friendly. (dbc449b)
  • banner: Update close() to use CloseReason and provide programmatic way of closing (ff88df6)
  • banner: Update content to be leading as default and add support for optional centered. (8d5b84f)
  • button: Expand outlined touch target to include side borders (ce6cb70)
  • card: Add transparent outline to elevated card, so card boundary is shown on high-contrast mode. (c71ebfa)
  • checkbox: Add CSS custom properties to MDC checkbox theme mixins (66669e3)
  • checkbox: Add support for checkbox CSS-only indeterminate checkbox (b273afa)
  • checkbox: Added theme configuration support to checkbox (58eaa9f)
  • checkbox: Added theme configuration support to checkbox (fbf73c2)
  • checkbox: Separate static styles from checkbox styles (150f427)
  • checkbox: Separate static styles from checkbox styles (ff87000)
  • checkbox: Separate static styles from checkbox styles (4f55400)
  • chips: Add chips styling (1db5c9f)
  • chips: Add focus{in|out} handlers (10af6cf)
  • chips: Add keyCode support (82fa986)
  • chips: Add trailing action feature targeting test (bec0659)
  • chips: Create trailing action business logic (9ebee4c)
  • chips: Expose trailing action chip files (6b48781)
  • chips: Restructure trailing action mixins (05f5e15)
  • circular-progress: Add foundation methods to get isDeterminate and progress value (7d8f9c8)
  • circular-progress: Add Sass styles and tests (bd33cb5)
  • circular-progress: Add TS for foundation, adapter, component with tests (548b1d4)
  • circular-progress: support track color (e27c580)
  • data-table: Add base styles to support pagination. (927fa90)
  • data-table: Add foundation methods to support loading state. (e75deb8)
  • data-table: Add progress indicator / loading feature to data table (4497ace)
  • data-table: Add support for applying row checkbox density (291b355)
  • data-table: Added styles for table in loading state (35a32aa)
  • data-table: Added styles to support column sorting. (17b9699)
  • data-table: Added support for sticky header row in data table (599b8c3)
  • data-table: Foundation changes to support column sorting (6ee0355)
  • data-table: Set progress indicator styles based on table body height (c026422)
  • dom: Add keyboard support (5f24faa)
  • drawer: expose --mdc-theme-surface custom prop (319bf66), closes #6466
  • elevation: add custom props for overlay (4c354a3)
  • fab: Add focus outline mixins to MDC Fab (0f60323)
  • fab: Add focus outline mixins to MDC Fab (7a9afaf)
  • fab: support css custom props for extended-padding (01db890)
  • form-field: Add support for space-between (e84b9c8), closes #5747
  • formfield: add nowrap class/prop to MDC/MWC (c4b4bba)
  • iconbutton: Add icon button variant which supports toggling aria label. (f838c6e)
  • linear-progress: Add foundation methods to fetch progress and determinate state. (4dc45af)
  • list: Add transparent-border for aria-activedescendant usage (8388a9b)
  • menu: Add mixin to flatten menu top when opened-below anchor (1e17c49)
  • menu-surface: Add transition to height for menu resizing animation. (1e7cb61)
  • ripple: Add will-change opt-out param (e590b37)
  • ripple: Reorganize ripple opacities (008c4d3)
  • segmented-button: add adapters and foundations (#6165) (6ed717d)
  • segmented-button: Add component outlines (#6222) (a0f1202)
  • segmented-button: Add initial Sass styles (#6141) (7555383)
  • segmented-button: Add MDC segmented button into material-components-web (596e984)
  • segmented-button: Add new package for segmented button (#6073) (d561860)
  • segmented-button: Add ripple and touch-target support (#6277) (e3b7462)
  • segmented-button: Add select validations for singleSelect (#6381) (2e8c3dd)
  • segmented-button: Added foundation business logic (#6198) (e6e2301)
  • segmented-button: Implement components (#6223) (ac405ea)
  • select: move selectedText into its own text node (0bc41a9)
  • select: support hidden input (fda053e), closes #5428
  • select: truncate with ellipses by default (83d83f1)
  • slider: Add hooks into dragStart/dragEnd events to slider foundation. (85a1fa9)
  • slider: Add M2 version of slider. (8158544)
  • slider: Add support for customizing tick marks opacity, and document tick mark DOM structure for rendering tick marks before component initialization. (238216f)
  • slider: Add support for setting aria-valuetext on slider thumbs. (fd608ff)
  • slider: Add support for styling initial thumb/track before component JS initialization. (08ca4d0)
  • slider: Add support for theming disabled colors. (d52b165)
  • snackbar: Update stacked layout to add an additional 8px on the label's right padding (521afaf)
  • textfield: add autovalidation customization (2ab716c)
  • textfield: add filled class variant (b70bc60)
  • textfield: add forced LTR input (490fbdc)
  • textfield: add prefix and suffix (6601d24), closes #1892
  • textfield: add specific label-floating class (a88c8e4)
  • textfield: Create float transition mixin (ca61b65)
  • textfield: Limit notched outline max-width (0ab62a6)
  • textfield: Using touch-target-mixins to increase the touch target size on trailing icons on text fields. (174c0be)
  • theme: add calc() string replacement to property mixin (79414bf)
  • theme: add deep-get utility (fb5a4cd)
  • theme: add shadow-dom host-aware helpers (0a2e7fc), closes #6295
  • theme: add state helper functions (0809012)
  • tooltip: Add 500ms delay before showing tooltip. (a1c6559)
  • tooltip: add position options for y-axis (91ab1c6)
  • tooltip: Add tooltip component into MDC catalog. (b9394dc)
  • tooltip: Adding option to render tooltips as hidden from a screenreader. This should only be utilized in situations where the tooltip label hold information duplicated from an accessible name on the anchor element (e.g. tooltip label is the same as the aria-label on an icon button) (546277d)
  • tooltip: Adding transparent border around tooltip so it is distinguished from the background in high contrast mode. (02e372c)
  • tooltip: Adjusting tooltip z-index so tooltip appears above other content on the page. (c285200)
  • tooltip: Adjustments to tooltip structure. (19bea2a)
  • tooltip: Center align tooltip label text. (5dac1f6)
  • tooltip: Creating method to clear any in-progress animations before starting new ones. (61f1a8d)
  • tooltip: Defining a z-index mixin. (f4848eb)
  • tooltip: Foundation will now send a notification when the tooltip has been hidden. Methods added into the adapter to allow for this functionality. (9274f85)
  • typography: add container baseline mixins for flexbox (69edc6e)
  • add custom property support for select, textfield, and notched outline (ec23858)

Reverts

  • "Include tooltip directory for future copybara syncs." (#6185) (b0c456d)
  • feat(checkbox): Added theme configuration support to checkbox (cf80012)

BREAKING CHANGES

  • banner: Added wrapper div to text/graphic for mobile friendly view, see README.md for more info.
  • typography: typography.baseline-top() and typography.baseline-bottom() are now private. Use typography.baseline() for containers and typography.text-baseline() for text with $top and $bottom params.
  • banner: Dom structure change, see README.md
  • select: selected text node now needs to be wrapped in an outer mdc-select__selected-text-container span; see README for updated markup
  • datatable: Header checkboxes will now be unchecked if layout is called when there are no rows.
  • banner: Updated adapter to use CloseReason types
  • checkbox: Renamed mixin ripple() => ripple-styles() in MDC checkbox
  • checkbox: Renamed mixin ripple() => ripple-styles() in MDC checkbox
  • checkbox: Renamed mixin ripple() => ripple-styles() in MDC checkbox
  • theme: $ie-fallback variable has been moved and renamed to $enable-fallback-declarations in @material/theme/css
  • select: select theming mixins which were previously "stateful" (e.g. hover-label-color()) are combined into the non-stateful mixin (e.g. label-color()). The default state of the mixin can be set as normal, or a Map of states can be provided to optionally set one or more states of the mixin (e.g. label-color((hover: blue))). See the @material/theme/state package for more details.
  • textfield: adapter method getAttr added on helper text subcomponent; adapter method setInputAttr and removeInputAttr added on main component
  • textfield: the notched outline and label should now appear before the input in the text field's DOM structure for a11y navigation
  • slider: This upgrades the old slider to a new version of slider that adheres to the M2 design spec. Changes include:
  • M2 design (primary instead of secondary color used, larger active track and thumb, improved tick marks UI)
  • Range (two-thumb slider) slider
  • Pointer events support (for browsers that support pointer events)
  • High contrast mode support
  • Improved accessibility (follows WAI-ARIA spec for slider)
  • circular-progress: DOM Changed. See README for updated markup. $default-size, $stroke-width, and $container-side-length variables removed.
  • snackbar: The right padding of the label for the mdc-snackbar--stacked variant will now have an additional 8px
  • data-table: New adapter method replacing getTableBodyHeight() => getTableHeaderHeight() and changed return types of this method.
  • textfield: Default textfields must now specify mdc-text-field--filled. Disabled outlined textfields no longer have a shaded background. Height mixin no longer specifies a baseline override, use typography's baseline-top mixin.
  • textfield: mdc-text-field--dense and associated mixins/variables have been removed. Use the density() mixin instead.
  • textfield: removed the following variables: $input-padding, $input-padding-top, $input-padding-bottom, $outlined-input-padding-top, $outlined-input-padding-bottom, $input-border-bottom
  • linear-progress: DOM for linear progress buffer changed. MDCLinearProgressAdapter method getBuffer, getPrimaryBar, setStyle removed. MDCLinearProgressAdapter method setBufferBarStyle, setPrimaryBarStyle added.
  • linear-progress: DOM for linear progress buffer changed. MDCLinearProgressAdapter method getBuffer, getPrimaryBar, setStyle removed. MDCLinearProgressAdapter method setBufferBarStyle, setPrimaryBarStyle added.
  • radio: MDC radio _index Sass module will only export theme mixins

7.0.0 (2020-06-23)

Bug Fixes

  • base: Add EDITING and EDITABLE states to the chip. (cf3b664)
  • base: Causes internal text in a chip to not overflow and instead be truncated by ellipsis. (b83d720)
  • base: Make the root property public (51d4535)
  • base: Remove "foundation_" from MDCComponent (8c6d7e0)
  • base: Remove trailing underscore "adapter_" (5b5f62f)
  • base: Remove trailing underscore from superclass properties (62b5f37)
  • button: Correct misspelling of overflow (29debfe)
  • button: Correct misspelling of overflow (99d2fc9)
  • button: Correct misspelling of overflow (28d32f8)
  • button: Move theme-baseline() into base Sass. (080965f)
  • button: Remove misspelled label-overlow-ellipsis (e59906a)
  • checkbox: Use secondary and on-secondary as default colors (b95172e), closes #5730
  • checkbox: Use superclass properties without trailing underscores (2e218db)
  • chips: Handle IE/Edge specific key names in keyboard navigation logic (3657f88)
  • chips: Use superclass properties without trailing underscores (cf7747e)
  • circular-progress: Add .npmignore file to ignore typescript files when publishing (#5801) (f172b0f), closes #5800
  • circular-progress: fix determinate transition typo & 4 color keyframes (a301636)
  • circular-progress: Fix naming in package.json and add to jsBundleFactory (86f7cad)
  • circular-progress: Force LTR layout (6a40ef2)
  • circular-progress: Switch mixins import to [@use](https://github.com/use) (098ae32)
  • circularprogress: Use superclass properties without trailing underscores (da05f66)
  • data-table: Fix pagination box height (eb28b6e)
  • data-table: Fixed alignment of numeric header cell with sort button. (2139200)
  • data-table: Fixed default feature targeting query params of sort mixins (e33c49e)
  • data-table: Fixed horizontal scrolling issue with pagination controls (b065a4d)
  • data-table: Hover styles for sortable header cell (d580805)
  • data-table: Make row checkbox table cell fixed even when table is wide (a6ac8f6)
  • data-table: not inverting text alignment in rtl (bd8d1aa)
  • data-table: Removed overflow-x from root element (4ebce8d)
  • data-table: Reverse the arrow direction icon for column sorting (a7c827f)
  • data-table: unable to redefine colors in class-based themi… (#5751) (4d48051)
  • data-table: unable to redefine colors in class-based theming (4b45b66)
  • datatable: Use superclass properties without trailing underscores (862d0d7)
  • dialog: Change scale(1) to transform:none (9ea5207)
  • dialog: Only equalize paddings for scrollable dialogs with titles, since there is no added divider between title/content in this case. (8135cc0)
  • dialog: Use superclass properties without trailing underscores (b4e2fe9)
  • dom: Clear out announcer regions on document click (c67667e)
  • drawer: Use superclass properties without trailing underscores (a66493c)
  • floating-label: Use superclass properties without trailing underscores (5cea261)
  • form-field: Use superclass properties without trailing underscores (7fd792b)
  • icon-button: Use superclass properties without trailing underscores (740860e)
  • line-ripple: Use superclass properties without trailing underscores (a4aae3d)
  • linear-progress: Temporary rollback of #5656 while updating downstream dependencies (9cf5e98)
  • linear-progress: Use superclass properties without trailing underscores (8e17857)
  • list: No longer emits action event when disabled item selected (f352d03), closes #5571
  • list: Preserve aspect ratio of the original image when using it as the icon or avatar for a list. (be4a19f)
  • list: Remove obsolete non-interactive class & :not selectors (2553e86)
  • list: Use superclass properties without trailing underscores (4847dd7)
  • menu: Do not set selectedIndex for menu items that have a negative recomputedIndex. (ef3a095)
  • menu: Use superclass properties without trailing underscores (0008c8a)
  • menu-surface: Use margin_to_edge as a viewport margin in calculations for autopositioning. (4b04cdb)
  • menu-surface: Use superclass properties without trailing underscores (62abbc8)
  • menusurface: open and closed events not fired when already opened or closed (9cff431)
  • menusurface: synchronous quick menu does not close on button click (45a6615)
  • notched-outline: Use superclass properties without trailing underscores (49bf31d)
  • radio: Use superclass properties without trailing underscores (541638f)
  • ripple: Use superclass properties without trailing underscores (6167cd0)
  • select: Also set font size for icon (c113fc9)
  • select: clean up helper text interactions (654934d)
  • select: Close menu on anchor click when menu is open (8fa22aa)
  • select: Deduplicate change events (4ad1274), closes #5570
  • select: Fix redundant calculations & allow resyncing foundation to options (ff4bc63), closes #5646 #5646 #5686 #5783
  • select: fix screenreader click interactions (8904f3c)
  • select: fully separate density mixins for filled variants (d66d22b)
  • select: Make compatible with rich list-items (0a7895f)
  • select: Remove pointer events where unnecessary (0e052b2)
  • select: Set aria-selected="false" properly (730920f)
  • select: Update disabled state (f83e008)
  • select: Update dropdown arrow icon transitions (15d6544)
  • select: Update markup in tests and README (e3eacef)
  • select: Use key constants from DOM package (388b042)
  • select: Use superclass properties without trailing underscores (c472bbb)
  • slider: avoid server side rendering error (95c7355)
  • slider: mobile sliding regression (e844443), closes #5894
  • slider: two change events fired on each up (d10412c)
  • snackbar: Use superclass properties without trailing underscores (39b0b8e)
  • snackbar: Use superclass properties without trailing underscores (5ea0f3f)
  • switch: always set track to transparent border (9a169f4)
  • switch: use CSS custom properties for theming (d6315ef)
  • tab: Use superclass properties without trailing underscores (a4b2e61)
  • tab-bar: Use superclass properties without trailing underscores (f2de07c)
  • tab-indicator: Use superclass properties without trailing underscores (d30a214)
  • tab-scroller: Use superclass properties without trailing underscores (96dba1d)
  • text-field: Use superclass properties without trailing underscores (e6165eb)
  • textfield: clean up input padding (8639c26)
  • textfield: core-styles now applies sub-element core-styles (bcdad99), closes #5927
  • textfield: IE11 label overlapping placeholder (781434a)
  • fix show/hide clauses in import-only files (148e448)
  • textfield: remove absolute positioning from icons (1e13d1d)
  • mark all packages as side-effect-free (be7cb05)
  • server-side rendering errors in linear progress and slider (7d0b983)
  • textfield: remove deprecated dense variant in favor of density (776291e), closes #4142
  • textfield: textarea density label position is now correct (2f8a227)
  • textfield: textarea min-width not set correctly for Chrome (0a371b4)
  • textfield: update outlined textarea specs (524b7b8)
  • top-app-bar: Use superclass properties without trailing underscores (863ac1b)

Code Refactoring

  • linear-progress: Restructure buffer DOM to allow translucent buffer (98b8434)
  • linear-progress: Restructure buffer DOM to allow translucent buffer (9372e49)
  • select: Fix alignment issues, upgrade anchor to interactive element (28d10a9), closes #5428

Features

  • button: Add button ripple-states mixin, for simpler customization of button ripple color. (ed7f324)
  • button: Expand outlined touch target to include side borders (ce6cb70)
  • checkbox: Add support for checkbox CSS-only indeterminate checkbox (b273afa)
  • chips: Add chips styling (1db5c9f)
  • chips: Add configurable primary action focus (deb212d)
  • chips: Add focus{in|out} handlers (10af6cf)
  • chips: Add keyCode support (82fa986)
  • chips: Add trailing action feature targeting test (bec0659)
  • chips: Create trailing action business logic (9ebee4c)
  • chips: Expose trailing action chip files (6b48781)
  • chips: Reposition trailing action touch target width mixin (3846ce3)
  • chips: Restructure trailing action mixins (05f5e15)
  • chips: Use trailing action component in chip (058cfd2)
  • circular-progress: Add foundation methods to get isDeterminate and progress value (7d8f9c8)
  • circular-progress: Add Sass styles and tests (bd33cb5)
  • circular-progress: Add TS for foundation, adapter, component with tests (548b1d4)
  • data-table: Add base styles to support pagination. (927fa90)
  • data-table: Add foundation methods to support loading state. (e75deb8)
  • data-table: Added sort status label to sortable column header (9833dc2)
  • data-table: Added styles for table in loading state (35a32aa)
  • data-table: Added styles to support column sorting. (17b9699)
  • data-table: Added styles to support rows per page select menu in pagination (3ee488f)
  • data-table: Added support for column sorting feature in data table (06ef147)
  • data-table: Added support for row header cell and other a11y improvements. (27533c1)
  • data-table: Foundation changes to support column sorting (6ee0355)
  • data-table: Make rows per page wrap in new line when overflows (09abc92)
  • data-table: Set progress indicator styles based on table body height (c026422)
  • dialog: Add padding mixin (ad0c0c1)
  • dom: Add keyboard support (5f24faa)
  • drawer: allow custom properties in width() (39e6f71)
  • fab: Add outline in high-contrast mode (deda86d)
  • floating-label: add required modifier class (047e6b3)
  • form-field: Add support for space-between (e84b9c8), closes #5747
  • formfield: add nowrap class/prop to MDC/MWC (c4b4bba)
  • formfield: Remove trailing underscores from private properties (2f052d8)
  • iconbutton: Add icon button variant which supports toggling aria label. (f838c6e)
  • iconbutton: Remove trailing underscores from private properties (119e214)
  • linear-progress: Add foundation methods to fetch progress and determinate state. (4dc45af)
  • linearprogress: Remove trailing underscores from private properties (893eb18)
  • list: add focus indicator in hi-contrast mode (8602f1b)
  • list: Add mixin for selected item's text color (bd8ca96)
  • menu: Add mixin to flatten menu top when opened-below anchor (1e17c49)
  • menu-surface: Add support for flipping menu corner horizontally. (7b44824)
  • ripple: Reorganize ripple opacities (008c4d3)
  • rtl: allow values to be theme keys and custom props (afb1c11)
  • select: Add menu invalid class (4ba3c9a)
  • select: Add mixin for min-width (09f5919)
  • select: Add openMenu foundation method (9b0b5f2)
  • select: Add styles for high-contrast mode in IE (05cc5c2)
  • select: Auto-align width of menu to select by default (1b3dd84)
  • select: Change root to inline-block & add fullwidth flag (2673adb)
  • select: changing density also also changes menu's list density (68a2af1)
  • select: Create additional state mixins (744d751)
  • select: extend typeahead to work when menu closed but select focused (a0dc2b5)
  • select: flatten menu top when opened below (912d902)
  • select: gracefully display long labels (21c4e4e)
  • select: Implement density (610c68d)
  • select: introduce custom validity (fd8f8f2)
  • select: lower dropdown icon size and list leading padding when dense (32aa236)
  • select: make selected text more flexible (2b420c5)
  • select: Replace hardcoded leading margins for options with dummy graphic (7461aad)
  • select: Support typeahead (b0fdca4), closes #5705
  • select: Update behavior on upArrow/downArrow (d92d8c9)
  • select: Update helper-text interactions (142b154), closes #5463
  • select: use floating label's required class (d86ad3b)
  • shape: add shape custom properties (0743288)
  • text-field: Truncate floating label width w/ icons (c141801)
  • textfield: add filled class variant (b70bc60)
  • textfield: add filled textarea variant (4497b86)
  • textfield: add forced LTR input (490fbdc)
  • textfield: add prefix and suffix (6601d24), closes #1892
  • textfield: add specific label-floating class (a88c8e4)
  • textfield: allow character counter to be moved outside of the textarea. (84e7ed5)
  • textfield: allow disabled textareas to scroll and resize (b9776b1)
  • textfield: Create float transition mixin (ca61b65)
  • textfield: Limit notched outline max-width (0ab62a6)
  • textfield: move resize handle for textareas to bottom corner (ed52af7)
  • textfield: required outlined modifier for textarea (b10d0d7)
  • textfield: support svg icons for textfield (d91794c)
  • theme: add new property mixin and custom property support (51512a4)
  • theme: custom property fallback values are now optional (01de070)
  • typography: add container baseline mixins for flexbox (69edc6e)

BREAKING CHANGES

  • button: Correct misspelling of overflow for button's label-overflow-ellipsis mixin
  • button: Correct misspelling of overflow for button's label-overflow-ellipsis mixin
  • button: Removes button theme-baseline() mixin, moves mixin contents to base button Sass.
  • chips: The chip adapter and foundation interfaces have changed. Chips now use the trailing action subcomponent.
  • data-table: Added a wrapper element to data table's table element to fix horizontal scrolling issue when pagination controls are added.
  • floating-label: all labels that are part of a required field should now add the mdc-floating-label--required class for required fields to avoid a FOUC
  • linear-progress: DOM for linear progress buffer changed. MDCLinearProgressAdapter method getBuffer, getPrimaryBar, setStyle removed. MDCLinearProgressAdapter method setBufferBarStyle, setPrimaryBarStyle added.
  • linear-progress: DOM for linear progress buffer changed. MDCLinearProgressAdapter method getBuffer, getPrimaryBar, setStyle removed. MDCLinearProgressAdapter method setBufferBarStyle, setPrimaryBarStyle added.
  • select: Added adapter method addMenuClass, removeMenuClass
  • select: Added adapter methods isTypeaheadInProgress, typeaheadMatchItem
  • select: DOM structure for dropdown icon changed; $dropdown-color renamed to $dropdown-icon-color, $dropdown-opacity removed, $disabled-dropdown-opacity removed.
  • select: HTML Markup significantly changed, see README; REMOVED adapter methods isSelectedTextFocused, getSelectedTextAttr, setSelectedTextAttr; ADDED adapter methods isSelectAnchorFocused, getSelectAnchorAttr, setSelectAnchorAttr; removed variables outlined-dense-label-position-y, icon-padding; added variables minimum-height-for-filled-label, filled-baseline-top, selected-text-height, anchor-padding-left, anchor-padding-left-with-leading-icon, anchor-padding-right.
  • select: density mixin split into filled-density, filled-with-leading-icon-density; height mixin split into filled-height, filled-with-leading-icon-height
  • select: mdc-menu--fullwidth class replaces custom width class for the menu markup in select
  • select: adapter method removeAttributeAtIndex removed.
  • select: added adapter method removeSelectAnchorAttr
  • select: dropdown icon SVG markup now has mdc-select__dropdown-icon-graphic class.
  • select: empty space around mdc-list-item__text spans removed in select markup
  • select: helper text now persistent by default, mdc-select-helper-text--persistent removed
  • select: non-outlined selects now require a mdc-select--filled class on its root
  • select: root of mdc-select is now an inline-block element, use custom width class (i.e. demo-width-class) on the root instead of the anchor for width adjustments; alternately, use the new mdc-select--fullwidth on the root to expand width to that of its parent container
  • select: variable $outline-disabled-border renamed to $disabled-outline-color; icon variable $icon-opacity removed, use alpha channel of $icon-color instead.
  • textfield: Default textfields must now specify mdc-text-field--filled. Disabled outlined textfields no longer have a shaded background. Height mixin no longer specifies a baseline override, use typography's baseline-top mixin.
  • textfield: mdc-text-field--dense and associated mixins/variables have been removed. Use the density() mixin instead.
  • textfield: mdc-text-field--textarea must now include mdc-text-field--outlined modifier class
  • textfield: mdc-text-field-SUB_ELEMENT imports have been removed
  • textfield: removed the following variables: $input-padding, $input-padding-top, $input-padding-bottom, $outlined-input-padding-top, $outlined-input-padding-bottom, $input-border-bottom
  • textfield: textareas must now add a mdc-text-field__resizer span around the textarea (and internal counter if present) if they are resizable
  • textfield: textareas with internal character counters must specify the mdc-text-field--with-internal-counter class. Character counters should move after the textarea element.
  • theme: color-hash() (and checkbox container-colors mixins) no longer works with var() values and now only works with custom property Maps created by custom-properties.create()
  • typography: typography.baseline-top() and typography.baseline-bottom() are now private. Use typography.baseline() for containers and typography.text-baseline() for text with $top and $bottom params.

6.0.0 (2020-04-22)

Bug Fixes

  • auto-init: Fixed issue with multiple default exports (#5464) (8ddd5c6)
  • button: Fix outline & ink color according to spec guidance (#5268) (ee1a68c)
  • button: Fixed parameter default value in height mixin (#5244) (b0cecf1)
  • checkbox: change checkbox event type from change to click and add some logic for IE browser (#5316) (2e491de), closes #4893
  • checkbox: Disabled state colors in IE11 high contrast mode (#5263) (d6a1d4b)
  • checkbox: Replace unique-id with custom color hash functio… (#5404) (7be9e4a)
  • checkbox: update disabled color values (#5209) (821871e)
  • checkbox: Use secondary and on-secondary as default colors (b95172e), closes #5730
  • chips: .d.ts file generated with syntax error (d154836)
  • chips: .d.ts file generated with syntax error (#5577) (98f7faa)
  • chips: Do not throw error if chip set becomes empty (#5290) (f978109)
  • chips: Fix browser back nav in FF when removing chip with… (#5537) (a1a0deb)
  • chips: Handle IE/Edge specific key names in keyboard navigation logic (3657f88)
  • chips: Move touch target inside primary action (ad3bbf7)
  • circular-progress: Add .npmignore file to ignore typescript files when publishing (#5801) (f172b0f), closes #5800
  • circular-progress: fix determinate transition typo & 4 color keyframes (a301636)
  • circular-progress: Fix naming in package.json and add to jsBundleFactory (86f7cad)
  • circular-progress: Force LTR layout (6a40ef2)
  • circular-progress: Switch mixins import to [@use](https://github.com/use) (098ae32)
  • core: Fix canary release by excluding test files from default tsconfig (#5317) (c916008)
  • data-table: change svg attribute name viewbox to viewBox (#5483) (#5493) (f3adce8)
  • data-table: Fix pagination box height (eb28b6e)
  • data-table: Fixed default feature targeting query params of sort mixins (e33c49e)
  • data-table: Hover styles for sortable header cell (d580805)
  • data-table: Reverse the arrow direction icon for column sorting (a7c827f)
  • data-table: unable to redefine colors in class-based themi… (#5751) (4d48051)
  • data-table: unable to redefine colors in class-based theming (4b45b66)
  • dialog: Move aria roles from dialog root to dialog surface… (#5239) (c704b71)
  • elevation: Update overlay color mixin (#5331) (b723dfa)
  • fab: Add missing dep to fab package.json. (#5236) (e0f6fd9)
  • fab: Add overflow: visible to make touch target visible in… (#5241) (5850080)
  • fab: Adjust fab line-height (#5254) (525989b)
  • fab: Adjust fab line-height to center text (#5258) (591a6ad)
  • floatinglabel: Estimate hidden scroll width (#5448) (981ec9b)
  • linear-progress: Temporary rollback of #5656 while updating downstream dependencies (9cf5e98)
  • linear-progress: support aria attributes (#5248) (7084b40), closes #5248
  • list: Ensure disabled colors apply to primary and secondary text (#5322) (878a08b)
  • list: No longer emits action event when disabled item selected (f352d03), closes #5571
  • menu-surface: Use margin_to_edge as a viewport margin in calculations for autopositioning. (4b04cdb)
  • menusurface: open and closed events not fired when already opened or closed (9cff431)
  • menusurface: synchronous quick menu does not close on button click (45a6615)
  • notched-outline: Restore component test (#5449) (4269133)
  • radio: update disabled color values (#5210) (491fddc)
  • select: Deduplicate change events (4ad1274), closes #5570
  • select: Do not fire change event on programmatic change (#5255) (ec72968)
  • select: Fix notch outline width when floating (#5319) (1c494e5)
  • slider: slider track not visible (#5512) (f2426d2)
  • slider: two change events fired on each up (d10412c)
  • slider: use secondary custom property color for slider container (#5132) (aa8e43e)
  • slider: Visual bug when slider value is displayed as "-0" (3fc3ab5)
  • snackbar: add explicit width for label to wrap in ie11 (#5497) (cd49033)
  • snackbar: adjust mixins to meet spec (#5477) (f16f15b)
  • switch: add transform transition to switch control to avoid overflow-x issues (8c11ea2)
  • switch: always set track to transparent border (9a169f4)
  • switch: fix strict generic checks (7f5e0c2)
  • switch: handle aria-checked correctly. (#5202) (#5357) (d245a1a)
  • switch: set track border to be transparent (#5323) (397905b)
  • switch: use CSS custom properties for theming (d6315ef)
  • testing: Revert change from #5299. (#5324) (5fb62be)
  • textfield: add placeholder mixins and fix disabled colors (#5360) (0a40ced)
  • textfield: add separate classes for leading/trailing icons (#5367) (70c708d)
  • textfield: change root element to (#5439) (d8d9502)
  • textfield: clean up input padding (8639c26)
  • textfield: hide filled-variant floating label at <52px (#5553) (5ff3380)
  • textfield: IE11 label overlapping placeholder (781434a)
  • textfield: incorrect mixin forward path (#5554) (3e782d8)
  • textfield: move ripple to separate element (c541ebe)
  • textfield: outlined trailing icon's position (#5496) (93e2288)
  • textfield: prevent placeholder styles from collapsing with minifiers (d07c78d)
  • add missing SASS dependencies (#5337) (d2ae6e1)
  • textfield: remove absolute positioning from icons (1e13d1d)
  • textfield: remove deprecated dense variant in favor of density (776291e), closes #4142
  • textfield: use correct disabled colors for IE11 high contrast (5353985)
  • Remove edge detection for CSS custom properties (#5264) (fe444ac)
  • server-side rendering errors in linear progress and slider (7d0b983)

Code Refactoring

  • migrate to the Sass module system (#5453) (faa9af3)
  • grid-list: Deprecate component (#5499) (cf33f11)
  • linear-progress: Restructure buffer DOM to allow translucent buffer (98b8434)
  • linear-progress: Restructure buffer DOM to allow translucent buffer (9372e49)
  • select: Fix alignment issues, upgrade anchor to interactive element (28d10a9), closes #5428
  • touchtarget: Rename mdc-touch-target-component => mdc… (#5245) (afe0dd1)

Features

  • button: Add disabled state color mixins (#5232) (b5eb51e)
  • button: Add overflow ellipsis mixin (#5352) (47949b0)
  • button: Expand outlined touch target to include side borders (ce6cb70)
  • button: Setup elevation overlay (#5256) (3cbee6d)
  • card: Add elevation overlay structure (#5282) (aa0eba4)
  • checkbox: Add support for checkbox CSS-only indeterminate checkbox (b273afa)
  • chips: Add chips styling (1db5c9f)
  • chips: Add elevation overlay structure (#5279) (3e560b3)
  • chips: Add focus{in|out} handlers (10af6cf)
  • chips: Add keyCode support (82fa986)
  • chips: Add trailing action feature targeting test (bec0659)
  • chips: Announce when chips are removed (b3f70eb)
  • chips: Consolidate interaction event handlers (#5251) (5729943)
  • chips: Create trailing action business logic (9ebee4c)
  • chips: Expose trailing action chip files (6b48781)
  • chips: Restructure trailing action mixins (05f5e15)
  • circular-progress: Add foundation methods to get isDeterminate and progress value (7d8f9c8)
  • circular-progress: Add Sass styles and tests (bd33cb5)
  • circular-progress: Add TS for foundation, adapter, component with tests (548b1d4)
  • data-table: Add base styles to support pagination. (927fa90)
  • data-table: Add foundation methods to support loading state. (e75deb8)
  • data-table: Added styles for table in loading state (35a32aa)
  • data-table: Added styles to support column sorting. (17b9699)
  • data-table: Foundation changes to support column sorting (6ee0355)
  • data-table: Set progress indicator styles based on table body height (c026422)
  • dialog: Add elevation overlay structure (#5283) (b8bc4a2)
  • dom: Add focus trap utility. (#5505) (63f357d)
  • dom: Add keyboard support (5f24faa)
  • dom: Create announcer utility (32c1df1)
  • elevation: Add elevation overlay mixins (#5249) (b4cfdc4)
  • elevation: Update elevation mixins (#5304) (ba879b6)
  • fab: Add elevation overlay structure (#5278) (e89750d)
  • fab: Add outline in high-contrast mode (deda86d)
  • fab: Add support for increased touch target to mini FAB. (#5231) (0c4d8f3)
  • floating-label: add feature targeting for styles (#5287) (b240bcc)
  • form-field: Add support for space-between (e84b9c8), closes #5747
  • formfield: add nowrap class/prop to MDC/MWC (c4b4bba)
  • icon-button: Add disabled state color mixins (#5246) (7161170)
  • iconbutton: Add icon button variant which supports toggling aria label. (f838c6e)
  • line-ripple: add active/inactive states to line-ripple (b6c7f62)
  • line-ripple: add feature targeting for styles (#5292) (391674a)
  • linear-progress: Add foundation methods to fetch progress and determinate state. (4dc45af)
  • menu: Add elevation overlay structure (#5280) (7fd17ce)
  • menu: Add mixin to flatten menu top when opened-below anchor (1e17c49)
  • menu-surface: Add support for flipping menu corner horizontally. (7b44824)
  • notched-outline: add feature targeting for styles (#5289) (c483774)
  • progress-indicator: Add common interface for progress indicators (#5564) (ea863cb)
  • ripple: Reorganize ripple opacities (008c4d3)
  • switch: Add elevation overlay structure (#5281) (50f110a)
  • switch: Restructure DOM (#5312) (0ec1fab)
  • text-field: Add disabled state color mixins (#5208) (66299b6)
  • text-field: add feature targeting for styles (#5378) (e8a9936)
  • text-field: Truncate floating label width w/ icons (c141801)
  • textfield: add end-alignment (#5356) (847dd1a)
  • textfield: add filled class variant (b70bc60)
  • textfield: add forced LTR input (490fbdc)
  • textfield: add prefix and suffix (6601d24), closes #1892
  • Add index stylesheets to each MDC Web package (#5539) (1814866)
  • Add index stylesheets to mdc-image-list and mdc-layout-gr… (#5546) (3a85313)
  • Use @use syntax in material-components-web Sass file and… (#5573) (b4727e4)
  • textfield: add specific label-floating class (a88c8e4)
  • textfield: allow character counter to be moved outside of the textarea. (84e7ed5)
  • textfield: Create float transition mixin (ca61b65)
  • textfield: Limit notched outline max-width (0ab62a6)
  • typography: add container baseline mixins for flexbox (69edc6e)

Reverts

  • Revert "feat(switch): Add elevation overlay structure (#5281)" (#5329) (1fbf5bd), closes #5281 #5329
  • "fix(checkbox): change checkbox event type from change to click and add some logic for IE browser" (ba30399)
  • feat(chips): Consolidate interaction event handlers (#5251) (#5301) (5e45d77)
  • fix(chips): Do not throw error if chip set becomes empty (#5300) (d10e8cd)
  • fix(select): Do not fire change event on programmatic change (#5255) (#5302) (ad9dfe7)

BREAKING CHANGES

  • select: HTML Markup significantly changed, see README; REMOVED adapter methods isSelectedTextFocused, getSelectedTextAttr, setSelectedTextAttr; ADDED adapter methods isSelectAnchorFocused, getSelectAnchorAttr, setSelectAnchorAttr; removed variables outlined-dense-label-position-y, icon-padding; added variables minimum-height-for-filled-label, filled-baseline-top, selected-text-height, anchor-padding-left, anchor-padding-left-with-leading-icon, anchor-padding-right.

  • text-field: Redundant mixins mdc-text-field-textarea-fill-color, mdc-text-field-textarea-stroke-color, mdc-text-field-fullwidth-bottom-line-color removed. Instead, use mdc-text-field-fill-color, mdc-text-field-outline-color, and mdc-text-field-bottom-line-color respectively to achieve the same effect.

  • textfield: mdc-text-field--dense and associated mixins/variables have been removed. Use the density() mixin instead.

  • textfield: removed the following variables: $input-padding, $input-padding-top, $input-padding-bottom, $outlined-input-padding-top, $outlined-input-padding-bottom, $input-border-bottom

  • linear-progress: DOM for linear progress buffer changed. MDCLinearProgressAdapter method getBuffer, getPrimaryBar, setStyle removed. MDCLinearProgressAdapter method setBufferBarStyle, setPrimaryBarStyle added.

  • linear-progress: DOM for linear progress buffer changed. MDCLinearProgressAdapter method getBuffer, getPrimaryBar, setStyle removed. MDCLinearProgressAdapter method setBufferBarStyle, setPrimaryBarStyle added.

  • typography: typography.baseline-top() and typography.baseline-bottom() are now private. Use typography.baseline() for containers and typography.text-baseline() for text with $top and $bottom params.

  • chips: The touch target and text now appear inside the primary action element. Please see the readme for markup changes.

  • textfield: filled text fields must include a <div class="mdc-text-field__ripple"></div>

  • textfield: Filled textfields will no longer show a floating label at certain densities. This can be overridden by setting $mdc-text-field-minimum-height-for-filled-label: 40px

  • chips: Both MDCChipAdapter and MDCChipSetAdapter have new methods. MDCChipSetFoundation event handlers now accept the corresponding chip event detail interface as the sole argument. The root property has been removed from the MDCChipRemovalEventDetail interface.

  • line-ripple: mdc-line-ripple-color() mixin has been renamed to mdc-line-ripple-active-color()

  • textfield: Default textfields must now specify mdc-text-field--filled. Disabled outlined textfields no longer have a shaded background. Height mixin no longer specifies a baseline override, use typography's baseline-top mixin.

  • Four variables and a mixin in mdc-textfield were renamed to use a mdc-text-field- prefix when depended on via @import (formerly mdc-required-text-field-label-asterisk_, now required-label-asterisk_).

  • textfield: icons must use .mdc-text-field__icon--leading or .mdc-text-field__icon--trailing classes. mdc-text-field-icon-color() mixin has been split into mdc-text-field-leading-icon-color() and mdc-text-field-trailing-icon-color().

  • switch: Added setNativeControlAttr method in mdc-switch adapter.

  • checkbox: remove event listener for 'change' and add event listener for 'click'.

  • Add handleClick() method in foundation to handle click event.
  • Add setCheck() method into component to change check status.
  • switch: Switch DOM structure has changed. See switch README for details
  • button: Variable $mdc-button-disabled-container-fill-color renamed to $mdc-button-disabled-container-color.
  • Removed $edgeOptOut option from mdc-theme-prop() Sass mixin.
  • chips: the handleInteraction and handleTrailingIconInteraction handlers have been removed from the MDCChipFoundation. The handleClick handler has been added to the MDCChipFoundation
  • Adds new adapter methods to MDCLinearProgressAdapter.
  • elevation: Functions moved into the _functions.scss file
  • touchtarget: Renames mixin from mdc-touch-target-component => mdc-touch-target-margin
  • grid-list: Per the deprecation notice for grid-list, this component has been removed from MDC-Web. Some of its functionalities are available in the MDC Image List package instead. It is recommended that you migrate to the mdc-image-list package to continue to receive new features and updates.

4.0.0 (2019-11-02)

4.0.0 (2019-11-02)

Bug Fixes

  • button: Add overflow: visible to button. (#4973) (905e84e)
  • button: Adjust touch target size when density is applied (#5112) (e2506f4)
  • checkbox: Change minimum ripple size of checkbox & switch 24px => 28px (#5140) (3eae309)
  • checkbox: Fix checkbox terminology in sass mixins (#5014) (2161c02)
  • checkbox: Remove RTL styles from checkbox ripple (#5134) (a646516)
  • chips: Ignore selection events in chip set (#4878) (94c6a00)
  • chips: Remove keyCode check (#4966) (e6304c4)
  • chips: Reset touch target when chip density mixin is applied. (#5116) (d3b515e)
  • chips: Stack trailing/leading icons above touch target el (#5040) (048d4b7)
  • chips: Stop emitting events in handlers (#4969) (cfd81dc)
  • data-table: Minor fixes for data table layout (#5037) (37b1f93)
  • fab: Add overflow: hidden; to ripple target to fix bounded ripple. (#5214) (97cbbdc)
  • fab: Use FAB ripple target selector (#5146) (9d91acc)
  • form-field: Fix radio RTL alignment bug. (#5064) (ef99808)
  • linear-progress: Fix indeterminate animation bug (#5180) (062ade5)
  • linear-progress: Prefix animation keyframes to prevent clashing (#5155) (fc0e474)
  • linear-progress: Restore buffer after determinate is toggl… (#5156) (09b1598)
  • linear-progress: Support high contrast mode (#5190) (d4141c9)
  • list: Add #adapter.listItemAtIndexHasClass to prevent user state change to disabled items (#4922) (b6d213c)
  • menu: Vertically center the group icon (#4862) (c5738ed)
  • menu-surface: remove duplicate export from menu-surface (#5200) (0b120ae)
  • radio: Fix touch target margins: 0px => 4px. (#5096) (a48d06e)
  • ripple: Add overflow: hidden; to the bounded ripple mixin (#5173) (996b091)
  • ripple: Always set even num when initial ripple size is ca… (#5141) (b26ad23)
  • ripple: Remove unnecessary overflow: hidden. (#5191) (5916d18)
  • tabs: Fix tab img icon styling. (#5041) (d0e6cd1)
  • text-field: Do not trigger shake animation when text field is empty (#5097) (4913db9)
  • text-field: Fixes input text alignment on IE11 for densed text field (#5136) (892dd4e)
  • text-field: Fixes input text alignment on IE11 for densed… (#5147) (c8f7693)
  • text-field: Updated shape mixins to set density scale (#5207) (719b57e)
  • touch-target: Add class to touch target wrapper. (#5174) (e7799b8)
  • touch-target: Add missing dependency - touch target to com… (#5098) (9306bd0)

Code Refactoring

  • button: Add ripple target as an inner element. (#4890) (dffefe6)
  • mdc-fab: Move Ripple to inner Element. (#4997) (85b33b5)
  • select: Refactor select (#5113) (db7560e)
  • slider: Functional slider tick visuals with css background (#4756) (8f851d9)

Features

  • button: Add support for increased touch target to button. (#4948) (1d7a2e6)
  • checkbox: Add disabled state color mixins (#5167) (01628ef)
  • checkbox: Add support for 48px touch target (#5025) (b5685a8)
  • checkbox: Move ripple to child node (#4981) (9712b24)
  • chip: Add density mixin to chip. (#5109) (bdf3430)
  • chips: Add keyboard navigation (#4844) (42065fe), closes #2259
  • chips: Add setSelectedFromChipset method (#4872) (283bd55)
  • chips: Add support for increased touch target to chips. (#4970) (6aa109d)
  • chips: Use index for all chip operations (#4869) (07078bb)
  • density: Add density subsystem to components (#5059) (73a5e4c)
  • dialog: Add dialog mixin for dialogs with increased touch target buttons. (#5024) (2ef1ddd)
  • icon-button: Add density mixin to icon button (#5122) (37d6458)
  • list: Add density mixin to list (#5069) (5132f89)
  • list: Add mixin for disabled text opacity (#4861) (d68f8a7)
  • radio: Add density mixin to radio (#5118) (199534d)
  • radio: Add disabled state color mixins (#5168) (b5c6d66)
  • radio: Add support for 48px touch target (#5032) (87b0a4c)
  • radio: Move ripple to child element (#4983) (100ab37)
  • ripple: Add support for ripple target to mixins. (#4880) (08dbe69)
  • snackbar: Add option for indefinite timeout (#4998) (4f11851)
  • switch: Add density support for switch component. (#5124) (2c793b4), closes #5104
  • switch: add ripple opacity customization mixins (#5126) (8c0273f)
  • tab: Add text transform mixin (#5144) (22d7ad2)
  • tab-bar: Add a mixin to set scroller animation (#5172) (d7c938a)
  • tab-bar: Add density mixin to tab-bar (#5070) (45dc002)
  • tab-scroller: Add incrementScrollImmediate to bypass animation (#5184) (2b878b3), closes #5123
  • tab-scroller: Mixin for scroll transition (#5154) (efda83d)
  • text-field: Add density mixin to text field variants (#5066) (a12101d)
  • text-field: Center align inner elements for dynamic height (#4990) (4d94b22)
  • touch-target: Add touch target mixins. (#4940) (b2e0fea)

BREAKING CHANGES

  • checkbox: mdc-checkbox-ink-color mixin now only applies to enabled checkboxes

  • chips: Chips markup, adapters, foundations, and events have changed.

  • select: In MDCMenu and MDCMenuSurface, hoistMenuToBody adapter method removed. In MDCSelect, HTML structure changed: the select anchor is now wrapped in a parent element, and the anchor's sibling is the select menu. Support for native select removed. Support added for select with no label. MDCSelectAdapter methods removed: getValue, setValue, isMenuOpen, setSelectedIndex, checkValidity, setValid, toggleClassAtIndex. MDCSelectAdapter methods added: hasLabel, getSelectedMenuItem, setSelectedText, isSelectedTextFocused, get/setSelectedTextAttr, getAnchorElement, setMenuAnchorElement, setMenuAnchorCorner, setMenuWrapFocus, set/removeAttributeAtIndex, focusMenuItemAtIndex, getMenuItemValues, getMenuItemCount, getMenuItemCount, getMenuItemAttr, getMenuItemTextAtIndex, add/removeClassAtIndex. MDCSelectFoundation setValue method removed; getDisabled, handleMenuItemAction, getSelectedIndex, get/setRequired, init added.

  • radio: In Checkbox, Renamed sass variables $mdc-radio-touch-area => $mdc-radio-ripple-size & $mdc-radio-ui-size => $mdc-radio-icon-size to be consistent with checkbox. Also, removed $mdc-radio-ui-pct sass variable.

  • switch: Renames switch variables $mdc-switch-tap-target-size => $mdc-switch-ripple-size, removes $mdc-switch-tap-target-initial-position and $mdc-switch-native-control-width.

  • list: New adapter method listItemAtIndexHasClass

  • list: Renamed mixin mdc-list-item-shape-radius() => mdc-list-single-line-shape-radius()

  • linear-progress: MDCLinearProgressAdapter adapter has new forceLayout method

  • text-field: Removed sass variable in notched outline - $mdc-notched-outline-transition-duration.

  • mdc-fab: This changes the structure of the FAB element by moving the ripple from the outer element to an inner mdc-fab__ripple element.

    OLD

    <button class="mdc-fab" aria-label="Favorite">
      <span class="mdc-fab__icon material-icons">favorite</span>
    </button>

    NEW

    <button class="mdc-fab" aria-label="Favorite">
      <div class="mdc-fab__ripple"></div>
      <span class="mdc-fab__icon material-icons">favorite</span>
    </button>
  • radio: Ripple has been moved to a child element. See readme for updates.

  • slider: remove adapter methods appendTrackMarkers, removeTrackMarkers , setLastTrackMarkersStyleProperty , and add adapter method setTrackMarkers.

  • button: This changes the structure of the button element by moving the ripple from the outer element to an inner mdc-button__ripple element.

    OLD

    <button class="mdc-button">
      <span class="mdc-button__label">Hello World</span>
    </button>

    NEW

    <button class="mdc-button">
      <div class="mdc-button__ripple"></div>
      <span class="mdc-button__label">Hello World</span>
    </button>

  • chips: MDCChipSetAdapter#removeChip has been replaced with MDCChipSetAdapter#removeChipAtIndex. MDCChipSetAdapter#setSelected has been replaced with MDCChipSetAdapter#selectChipAtIndex

  • density: Renamed sass mixins & variables in MDC Data Table - mdc-data-table-header-row-height => mdc-data-table-header-cell-height & mdc-data-table-row-height => mdc-data-table-cell-height. Also removed mdc-button--dense variant, use button's density mixin instead.

Note: For older changes, see the changelog archive.