Added a full set of favicons to the MDS library and documentation on using these new assets in your product. Thanks to Justin Woo for his help!
Added a new parameter to the Steppersmds-stepper-wide-at mixin allowing you to choose to hide small step indicators at narrow widths. Thanks to Trevor Rice for this recommendation!
Added a utility mixin to counter “sticky” hover states on touch-screen devices, including documentation on relevant component pages. Thanks to Dylan Cairns, Oliver Huang, and Maggie Slavin for this recommendation!
Added dedicated constants for header border colors. Thanks to Jon Duncan for this suggestion!
Enhancements
Updated the documentation site search component to match the upcoming Search Results UI component.
Updated the active indicator for the navigation List Group to better convey your current location. Thanks to Jon Duncan for this design contribution!
Updated the Popovers web component so that once displayed, clicking again on the trigger element closes the Popover. Thanks to Amrut Parab for raising this!
Updated the Popovers web component to suppress the Popover from appearing if the trigger element is disabled. Thanks to Swaraj Bhagat for raising this!
Fixes
Added a flex-grow property to Form Field Groups to ensure they size themselves predictably when arranged horizontally.
Resolved an issue with the Buttons web component icon-only variation that prevented its text attribute from being mapped to aria-label when text was passed via slot rather than prop. Thanks to Amrut Parab and Trevor Rice for reporting!
Resolved an issue with the Notifications web component that caused the notification to flicker briefly onscreen after being dismissed.
Resolved an issue with the Tags web component that causes tags to flicker briefly onscreen after being removed.
Resolved a display issue with List Groups that caused icons to disappear in certain cases.
Added Search functionality to the MDS doc site. This has been a frequent request from our users, and we are excited to make this available. We'd love to hear your feedback on this update!
Enhancements
Updated documentation for Cards to clarify that Cards should not be used to group large sets of related information, or when other customizations are required. Module Containers should be used instead.
Updated List Groups to add support for a new variation that displays metadata below the list item.
Updated the List Group Item web component to accept custom attributes not defined in the List Group Item API.
Updated Dialogs and Modals web components to automatically add an overlay if not already present. Thanks to Nick De Jong for suggesting this!
Added accessibility guidelines for tree Data Tables to clarify how the accessibility of these tables can be improved by using aria-label attributes to describe parent/child relationships for screen readers. Thanks to Matt Comins for this suggestion!
Updated design guidelines for Buttons to clarify the proper use of left and right-aligned icons. Thanks to Jonathan Duncan for this suggestion!
Fixes
Resolved an issue that prevented the Button Groups web component from resetting the checked state of child buttons to false when a different button in the same group is selected.
Resolved an issue with Inputs that prevented the min attribute from being rendered when set to zero. Thanks to Bill Yue for logging this issue!
Deprecated
Deprecated the touch size variation for List Groups. In its place, a new touch-revised variation has been added. The revised version reduces the amount of padding between items, while still adhering to the 48-pixel guideline for touch interfaces.
The Field Groups error property has been deprecated. This property should no longer be set manually, but instead is updated automatically by a new Field Error Event Listener.
The Field Errors visible property has been deprecated. This property should no longer be set manually, but instead is updated automatically by a new Field Error Event Listener.
Published documentation for a new Touch size variation, which can be used to ensure common UI components are large enough to be usable on touch displays regardless of screen size. Impacted components include:
Published documentation for a new variation of the Combo Box component that allows the user to select multiple options. Thanks to Aji Vishwambharan for contributing this component.
Added support for a new variation of the List Groups component that provides metadata on a second line within a List Group item, with documentation to follow in an upcoming release. This will be used to support the creation of Search Results and other product needs.
Added to our list of CodePen examples, with collections focused on Animation and MDS Web Components. You can navigate to our Team Dashboard for access to our full collection of shared Pens.
Enhancements
Added support for a responsive variation of the Button Groups component that collapses to a single button that allows the user to choose the desired option from a popover menu. Documentation will follow in an upcoming release.
Updated the editorial guidelines for Required Fields Keys. Thanks to Courey Gruszauskas for contributing this update.
Reorganized the documentation on our Getting Started For Engineers page, creating separate tabs for Installation, Page Setup, Using Components, and Applying Visual Language.
Resolved an issue that prevented checkboxes from reflecting the actual checked state of the input if toggled by clicking (rather than setting the value using a property). Thanks to Tahnee Evans for raising this issue.
Resolved an issue when setting the indeterminate state of a checkbox, where the renderTimeout setting caused both the checked and indeterminate state to display at the same time. To resolve this, a new setIndeterminate() method has been added, and the existing indeterminate property has been deprecated.
Resolved an issue with the List Groups component that was preventing the additionalClass prop on the List Group item from working as expected.
Deprecated
The existing indeterminate property has been deprecated in favor or a new setIndeterminate() method.
Added a new Touch size variant for common UI components including Buttons, Button Groups, Checkboxes, Inputs, List Groups, Search Fields, Selects, Switches, and Radio Buttons. This variant can be used to ensure components are large enough to be usable on touch displays regardless of screen size. Documentation to follow in an upcoming release.
Added support for a variant of the Combo Box component that allows the user to select multiple options. Documentation will follow in an upcoming release. Thanks to Aji Vishwambharan for contributing this work.
Web Components
Our third group of Web Components is available for production, including:
Added new animations to the following components, using new Animation Constants to ensure consistent timing:
Added hover transitions for Checkboxes, Combo Boxes, Inputs, Radio Buttons, Icons, Selects, and Range Sliders.
Added a new selection animation for Radio Buttons.
Added missing transition for the left-icon within the list group.
Enhanced the documentation for the Field Group Event Listener to clarify how errors are automatically synchronized across child elements within the Field Group.
Provided new CodePen examples that demonstrate how to use MDS Web Components with vanilla Javascript, Angular, and Vue, including:
A Sign In example that combines multiple MDS Web Components using Vue, with support for email validation, error handling, and integration of data from a third-party API.
Resolved an issue that prevented the Field Group Web Component listener from detecting errors triggered by individual child fields.
Resolved an issue that prevented the full-width Button Group to divide its space equally between the contained buttons. Thanks to Trevor Rice for this contribution!
Resolved an issue preventing list-group items from accepting the additionalClass prop.
Updated all web components to include a namespaced prop to enable the use of namespaced classes within the web component templates. Read more on the Version 2 Upgrade Guide.
Added a Switch Group web component to the beta package, with documentation to follow in an upcoming release.
Enhancements
Web Components
Hardened web components—including normalization of props/events/methods, final testing, accessibility improvements, and more—in anticipation of a production release:
Added a deprecation note to the Market Barometer page. Teams looking to implement the Market Barometer should consume the component maintained by the Markets team.
Hardened web components—including normalization of props/events/methods, final testing, accessibility improvements, and more—in anticipation of a production release:
Updated the Popovers web component to support Menus as a variant by setting a prop on the Popover. Also added a Menus test page. Documentation for the Menus web component use case will follow in an upcoming release.
Published documentation for web components that were recently added to the beta package:
Moved all assets from the MDS /sandbox directory in to the /doc-site, in anticipation of the forthcoming removal of the /sandbox.
Web Components
Removed all instances of props that previously could be used to pass HTML markup (e.g., content and actions). In the future, HTML markup should always be passed into web components using slots rather than props.
Normalized the language of all web component documentation to align around a standard approach for describing props, slots, events and methods.
Hardened web components—including normalization of props/events/methods, final testing, accessibility improvements, and more—in anticipation of a production release:
Added a Codepen integration to component code snippets, allowing you to open components directly in an editable pen for testing, customizing, and prototyping. Thanks to Do-Yup Lim and Kazu Uchikata for this contribution!
Added a knowledge base markdown file to our repository, documenting resources we have found invaluable while building MDS.
Web Components
Added the Headers web component to the beta package and published accompanying documentation.
Added new web components to the beta package with documentation to follow in an upcoming sprint:
Updated the Data Tables’ modifier class for right aligning a header cell to be applied to the correct node, mds-data-table__header-cell--right. Thanks to Zach Erdmann for reporting!
Updated the Mastheads component to be able to accept logo files of any dimension by scaling them to fit within the masthead height. Thanks to Trevor Rice for this contribution!
Updated Data Tables CSS to ensure that alignment of checkboxes in IE11 is consistent with all other browsers. Thanks to Amruta Rasure for reporting!
Fixed a defect preventing links to duplicate sections on pages of our documentation site from working.
Updated the status tags on the documentation site to use an accessible shade of green, thanks to Maggie Griffiths for reporting!
Web Components
Ensured Loadersid prop is rendering in its template.
Deprecated
Deprecated the Data Tables’ header modifier class mds-data-table__header-cell--right, instead use mds-data-table__header-cell-inner--right. The deprecated class will be removed in version 3.0.
Published documentation and assets for a new library of illustrative iconography. Thanks to Jon Duncan for this contribution!
Published a new Forms UX pattern. Thanks to Rashel Thomeh and Will Parton for this contribution!
Updated the ellipsis-horizontal and ellipsis-vertical icons to better match the proportions of other default-size icons and added ellipsis-horizontal--s and ellipsis-vertical--s icons to the small-size icon set. Thanks to Raina Shannon for this contribution!
Significant updates to our Making a Contribution and Segments documentation, including new details on key reviewers across the contribution process.
Web Components
Added new web components to the beta package with documentation to follow in an upcoming sprint:
Added the Microcopy web component to the beta package and published accompanying documentation.
Published documentation for the Required Fields Keys web component which was recently added to the beta package.
Enhancements
Updated the Space page to include the full sets of spatial constants and improved the visual examples for the types of space.
Broke Articles mixins out in to a separate file, allowing teams to import just mixins without the rest of Article styles. Thanks to Clay Gregory and Zach Erdmann for this recommendation!
Note these are the same UI components MDS already supports, but now available as web components written in vanilla JavaScript. We will continue to add web component versions of more UI components to the beta package in upcoming releases. You can find updates in the Web Components sections below, and track our progress on the component status page.
Updated the standard drop shadow and container border styles to be darker, improving the display of layered components, like Popovers, on lower-quality monitors. Thanks to Landy Wang and Yolanda Feng for reporting!
Improved accessibility of icon-only Buttons by adding an aria-label attribute.
Improved accessibility of Search Fields by using the new icon-only Button aria-label.
Updated Article headings to use a t-shirt size scale and deprecated the previous classes and mixins.
Added an additional layer of variables to the Inputs and Combo Boxes SCSS to facilitate 3rd party theming. Thanks to Aji Vishwambharan for this contribution!
Updated the MDS site’s URLs to use query strings to prevent issues with copying and pasting URLs in to Microsoft Teams or email. Thanks to Rashel Tomeh for reporting!
Added an SCSS variable for the font-display property, allowing teams to customize this behavior within their product. Thanks to Zach Erdmann and Clay Gregory for this contribution!
Fixes
Fixed a defect preventing link Cards from working. Thanks to Peter Unsworth for reporting and debugging!
Deprecated
Deprecated Article-related classes and mixins:
@mixin mds-article-heading-level-3(), instead use @mixin mds-article-heading-large().
@mixin mds-article-heading-level-4(), instead use @mixin mds-article-heading-medium().
@mixin mds-article-heading-level-5(), instead use @mixin mds-article-heading-small().
mds-article__heading--level-2, instead use mds-article__heading--large.
mds-article__heading--level-3, instead use mds-article__heading--medium.
mds-article__heading--level-4, instead use mds-article__heading--small.
Updated many component documentation pages—Buttons, for example—to split documentation into four tabs: Variations, Design Guidelines, Code Reference, and Accessibility.
Web Components
Published API documentation for forthcoming web components:
Editorial Message-Design Framework. Thanks to Michaela Hackner and Courey Gruszauskas for this contribution!
Added Courey Gruszauskas to the Segments page as the new Editorial segment owner.
Component status documentation, highlighting new and updated UI components as well as each component’s status across HTML/CSS and Web Component libraries. Including:
Added the Form layout specification and examples to the Forms page.
Added a cover sheet.
Enhancements
Added a Requested Parts section to the Request a New Part page. Community members can review this section to see what parts have been requested previously, and can link to the JIRA tickets to add their input on existing requests.
Added a note to components which utilize box-shadow to render a border regarding the known browser-specific defects that can occur when using the browser’s zoom function, including:
The 2.0.0 release includes significant changes that apply to the library of Visual Language and UI Component libraries and how they are packaged to be consumed by adopting teams. Refer to the 2.0.0 Upgrade Guide to learn more and follow the steps required to upgrade to this major release.
Visual Language
Added new Borders features for primary, secondary and tertiary applications to create page hierarchy and expanded the available mixins to add them to products.
Added chart-color-performance colors and examples to Color and Charts Visual Language page.
Added new accessibility error colors to the Color page.
Ensured that Menus triggered from Button Groups display and function correctly.
Fortified Tooltips to ensure they don’t inherit styling from parent elements. Thanks to Juan Vallejo for reporting!
Removed all inline styling from icon SVGs. Thanks to Juan Vallejo for reporting!
Added a backwards compatible solution for vertically centering Modals. Thanks to Tison Tang for reporting!
Fixed an SVG encoding defect preventing the Combo Boxes selected item icon from displaying in some browsers. Thanks to Gediminas Suklevicius for reporting!
Morningstar Base Charts components and related documentation, including:
Line component and documentation, including component explorer.
Donut component and documentation, including component explorer.
Correlation Matrix component and documentation, including component explorer.
Enhancements
Updated the Buttons page to include detailed documentation about the use of icons in buttons, and made improvements to the overall structure to the exisiting content.
Added our new Accessibility segment owner Nathan Leahigh to the Segments page.
Added ability to suppress utility links (i.e., View on Bitbucket, Report a Bug) in the right-hand local navigation and applied this behavior to appropriate pages.
Added documentation to the Iconography page detailing the process used to save icon svg artwork for production, how to use custom icons alongside MDS, and how to request the addition of a custom icon to the MDS library.
Added CSS Class Reference and Mixin Reference sections to the Iconography page. Thanks to Swapnil Dagabaj for this suggestion.
Improved the Notification, With Action demo JavaScript to match the timeout behavior described in the component variation documentation.
Fixed a Radio Group defect by adding the proper name attribute.
Deprecated
$mds-font-size-base and $mds-font-size-default in code. Mapped all 16px font size constants to use $mds-font-size-m and marked the deprecated constants as such in constants.yaml with code comments.
Version locked js-beautify dependency to prevent automatic upgrading to a broken version. Thanks to Mandar Katre for finding this issue and a solution!
Updated Tooltip styles to no longer require a fixed height for the tooltip.
Updated README documentation with a simpler getting started guide for building the MDS Doc site locally.
Added accessibility section to Iconography documentation.
Added ability to set the SCSS font path. Documented in the Getting Started guide. Thanks to Cesar Guerrero for the suggestion via the Microsoft Teams MDS Engineering channel!
Added additional accessibility guidelines for Forms.
Improved CSS Class References per component by highlighting code using a code pill display
Fixes
Aligned focus state displays across library components, including Button, Search Field, and Switch.
Moved component-specific JavaScript demonstrations from the library/ folder to the docs/ folder, and consolidated demonstration JavaScript across MDS sink pages.
Added light/dark mixins for easily defining background, text, and border colors per component and elements-within-components across background colors triggered by a container that uses a mds-container, and added those controls to styles for:
Forms (Checkbox, Radio Button, Textbox, Labels, and more)
Button Group (previously known as “Segmented Control”)
Constants documentation with introductory material and complete catalog.
Added a gulp task for generating files required for a new component.
Enhancements
Refined button colors for hover and disabled states.
Revised distinctions (via a mixin) for disabled states of entire block elements vs. text within an element. Affected items include forms, pagination, range slider, switch, and button.
Fixes
Removed Morningstar-specific content around the MDS release process.
Replaced global box-sizing with border-box mixin, encapsulated per component.
Added charset meta tag to documentation site.
Realigned pairing of button label and icon within buttons.