NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #5568 most downloaded on pub.dev
The official Material Design components for AngularDart. Used at Google in production apps.
Last release 6 years ago
no release in 18 months
Ships unpredictably
gaps range from 2 weeks to 1.2 years
Nearly every release is documented
notes for 22 of 22 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
51 releases · first in 2017
* Roll observable dependency.
Update a number of outdated links in documentation.
changeDetection: ChangeDetectionStrategy.OnPush to
components where the functionality is broken. Note: this may result in
additional warnings during build.Fix insecure link in README.md.
One column per quarter.
README.md.package:protobuf to ^1.0.0.Stable release that supports the latest package:angular and package:angular_forms.
package:angular and
package:angular_forms.Modularize and deprecate timeZoneAwareDatepickerProviders .
factoryRenderers in items.inputAutocomplete input.dateFormat was not used to decode the input value.FocusableMixin.timeZoneAwareDatepickerProviders.aria-describedby through to the dropdown button.focusOnOpen input.inputAriaControls input.popupClass and buttonAriaLabelledBy inputs.factoryRenderers in items.activeStepIndex is set to a value but the step statenested-material-tree-item-style Sass mixin to nested items.allowDeselectInHierarchy configuration that allows clients toEnterAcceptsDirective use key press instead of key up to align witharia-describedby.SelectionModel.isSingleSelect from a field to an abstract getter.super.dispose() call to _StreamSelectionOptionsOverlayService singleton error message.StreamController.FocusItemDirective and FocusListDirective to work consistentlyOnPush components.DeferredContentDirective for change detection, after handling eventMetagetBool().detectChanges() with runAfterChanges....AcxImperativeViewUtils.insertComponent<T>().ref="noopener noreferrer" for target="_blank"Removed deprecated comparesToPreviousPeriod() and comparesToSamePeriodLastYear() .
canClose input to the temporary drawer to prevent the drawer fromRendersValueChangeDetectionStrategy.OnPush.text-transform.button-text-capitalize().<ESC> key press when picker is visible.comparesToPreviousPeriod() andcomparesToSamePeriodLastYear().FocusItemDirective.inputRole to and input role..ltr so input can set direction: ltr on the top section.icon attribute to use a Dart boolean instead of a string 'true'.MenuItem actions.ariaLabel input.yesText input.allow-text-wrap Sass mixin.allow-text-wrap to tab-text-wrap and default$break-word to true.mat-icon-image() in favor of inline-image().subtract() to Date model.strict_raw_types analysis option.prefer_initializing_formals, prefer_collection_literals,prefer_final_fields lints.StickyContainerLayout.remove().button-bar-layout(), mat-input-header(),clear-button(), icon-background(), cursor-grab(), andcursor-grabbing().height: 0.GestureListener in ScrollHost.palette.dart to material_chart_colors.dart.Remove deprecated SelectionModel() .
<Space> instead of <Enter>._button_hover mixin call so that we will skip hover forselectDatePlaceHolderMsg, placeholderMsg, anddropdownButtonAriaLabel inputs.preferredPositions input.role="presentation" to avoid unnecessary grouping.aria-disabled is set for the input when the input is disabled.flex-grow property and the clear icon color.role="alert" to error text region.MaterialInputDefaultValueAccessor andMaterialNumberValueAccessor.Int64 value accessor.MenuItemGroup items.autoDismissBlockers input to block click events in certain elements fromtabIndex from items and let the dropdown control focus instead. Focusdropdown-icon-spacing to accept all four margins.initAriaAttributes for ink tooltips by default.MaterialTooltipTargetDirective when focusing insideallowParentSingleSelection input.expandAll hasn't been set.doNotVerifyUrlDestinations to allow "normal" external URLs.is NullSelectionModel as a replacement for== const SelectionModel.empty(), necessary for typed selection models whichSelectionModel().isSingleSelect field.HasTabIndex to not set a TabIndex.@visibleForTemplate.mouseup events as part oftriggersOutside() if the corresponding mousedown event came from the sameChangeDetectionStrategy.Detached.buttonDirectivesRemove now have no tabIndex instead of -1.OnPush change detection.Update dependencies to support building with a globally activated version of webdev: ^2.0.6 .
Update dependencies to support building with a globally activated version of
webdev: ^2.0.6.
Disable clear icon when the input is disabled.
globalDateRangeBindings.DateFormat from the material-date-range-picker to thedate-range-input.focusableItem so that it can work with a focusList.'percent' is an invalid type attribute, 'text' instead.list and listitem.DynamicComponent instead ofNgIfs.MenuItemMixin.OnPush change detection.OnPush change detection.display: block.initPopupAriaAttributes is now passed through to all the tooltip variations.aria-describedby value, after popup closes.word-break.margin-left.$mat-gray as an alias for $mat-grey in Sass mixins.shouldFilterEmpty parameter to StringSelectionOptions to return emptyHtmlDocument in addition to Document as a provided windowBinding.notifySelectionChange().WheelEvent instead of MouseEvent in scroll host.Add a focused style to delete icon.
$max-chip-width in the material-chip-max-widthmaterial-chips-margin Sass mixin.final.MaterialIconToggleDirective to allow for an icon with two states.labeledby id and a aria label specified.secondaryIcon - itemSuffix that removes theisTabbable to MenuItemComponent.BaseDropdownSelectValueAccessor and subclasses.dynamic-item.MaterialDropdownSelectComponent on theActivateItemOnKeyPressMixin.MaterialDropdownSelect type error when clicking a deselect item.itemRenderer in MaterialDropdownSelectComponent.tab-content to 100%.PopupSizeProviderDirective.SelectionInputAdapter.primaryStyle to StyleFormatter.triggersOutside() if theDomPortalHostsFocusIndicatorController for use in debug environments.Stop setting popup attributes as those attributes are set on the input directly.
aria-owns property and inputAriaActivedescendent when the
popup is open.PopupSizeProvider to control the height of the picker.rangeFormatter input to the range picker.MaterialPercentInputDirective for LTR languages with leading % symbol.activateFirstOption input.HighlightAssistant.WheelEvent.deltaX in scroll host.auto_focus directive.Remove deprecated suggestions and sorted inputs.
shouldClearOnSelection to shouldClearInputOnSelection.suggestions and sorted inputs.visibleForTemplate and drop the copied value where
not needed.defferredContent directive. This is to help
accessibility and have those buttons not be available for screen readers.MaterialNumberValueAccessor where null value won't clear previous
input.ComponentRenderer to FactoryRenderer.visibleForTemplate.runOutsideAngular, which in turn may
enable hint-level warnings by the analyzer. Users may be impacted if they fail
the build on hints.StickyController.onUpdate, a stream which fires events immediately after
StickyController writes to the DOM, and expose it as an output on
ElementScrollHost.scrollToPosition calls.Replace all deprecated Material typography variables/mixins with their canonical versions, and inline mixins with no replacement.
HasDisabled.selection input to take selected value for single selection in
addition to SelectionModel.selection output to emit selected value(s) on selection changes.shouldClearSelectionOnInput input.hover-color argument from button color Sass mixins.DatepickerComparison.comparesTo() against nulls.box-shadow.MaterialPercentInputDirective to follow NumberFormat specification
for percent.selectionOptions input to accept a List in addition to
SelectionOptions.material-fab-menu-icon-size.MaterialTreeGroupFlatRadioComponent.ScorecardBarDirective so it can be resued by other card bar
implementations.StickyController for the single-stickyKey case: Add
enableSmoothPushing setting, and partially support stickyKey'd elements of
differing heights.unawaited_futures lint warnings by adding missing awaits.Add an option to disable maintaining the length of the date range when clicking on the calendar to move the start date.
ActiveItemDirective's scroll into view functionality in popups and
modals.ObservableView.firstNonNull and ObservableView.nonNullValues.Remove SelectableChangeNotifier and deprecate SelectableWithComposition with the intention to remove. They are widely unused, complicated the implemen…
Pub transformers are no longer used. Instead, use the new webdev CLI, or, for advanced users, the build_runner CLI.
Please see the Dart 2 migration guide for more details.
is SelectableWithComposition.SelectableChangeNotifier and deprecate SelectableWithComposition
with the intention to remove. They are widely unused, complicated the
implementations, and unsound in Dart 2.ActiveItemMixin has been removed in favor of the new ActiveItemDirective.z-index to 1.ngOnChanges() with ngAfterChanges().min-width for yes-no-buttons as it is now the right
value in material-button.material-checkbox-theme mixin.material-checkbox-color mixin and deprecate material-checkbox-theme.include-in-checkbox default to false in checkbox-color mixin to
prepare for it's removal.onDisabledChanged callback from angular_forms.Focusable.max-height and max-width.<h1> element in title.preserveWhitespace: false.keyboardOnlyFocusIndicator to dropdown items.aria-labelledby attribute.null when input is "NaN" or null.onDisabledChanged callback from angular_forms."top-section" when the input is disabled.aria-label and aria-invalid attributes back to the input field.input[type=text] to cover the hover and
focus states.) in selector for MaterialInputDefaultValueAccessor.transform: scaley from expand animation.preserveWhitespace: false.<main> html tag to a <div>. HTML5 states there should only be one
main tag per application.@Input.container = null in PopupHierarchy.onTriggersOutside().DomService.trackLayoutChange streams for overlayRepositionLoop
popups.material-radio-theme mixin.role attribute.material-radio-color mixin and deprecate material-radio-theme.onDisabledChanged callback from angular_forms.tabIndex gets reset.labelledby for improved a11y.activedescendant ARIA pattern for a11y.labelby, and haspopup to the dropdown
button.material-dropdown-select screen reader
accessible.constructEncapsulatedCss to utils.Focusable in DropdownButtonComponent.FactoryRenderer input.MaterialSelectItem displaying two times the label when factoryRenderer
is used.material-select-dropdown-item padding.showButtonBorder input to Material Dropdown Select component.disabled attribute.text-wrap mixin more generic.ControlValueAccessor.aria-pressed state.ElementRef.'error_outline' as a valid icon.tooltipSource directive to use style.cursor.20px per internal spec.material-paper-tooltip content that are change detected and using
deferred content by having the visible property be set in an async manner so
that the value isn't added in the middle of a change detection loop.visibleChange output stream to MaterialTreeDropdownComponent.shouldExpandAllWhenFiltered input.MaterialTreeDropdown is opened, but not when it
closes.MaterialTreeFilter.MaterialTreeDropdown closes.Visibility.all.:host from the padding mixin so it is not required to be used at
the top level.is{Selectable|Disabled|Hidden}In(), getOptionIn() and, filterWhere()
as static helpers to Selectable.ignoreDeselect option to SelectionModel.single and deprecate
RadioGroupSingleSelectionModel.SelectionModel.single(), SelectionModel.multi() etc. instead of
deprecated SelectionModel.withList().SingleSelectionModel to SelectionModel.empty.SingleSelectionModel interface with selectedValue() method.SelectableGetter.PopupSourceDirective to decide whether to set the popup
related aria attributes.PopupHierarchy to better handle cases with multiple modals.popup_source_directive.overlayRepositionLoop on by default.defaultPopupPositions.PopupSizeProvider.DomService run callbacks in the correct zone.DomTreeIterator.moveNext() where it was using equality instead of
assignment.Focusable item for AutoFocusDirective so that any node in the
hierarchy isn't mistakenly focused.TextHighlighter to return separate results for adjacent matches,
rather than concatenating them into a single result.materialDirectives. It has been demonstrated
that it's use increases code size when only some of the components are being
used. It is preferable to use only the directives needed for your application
for improved dart2js tree shaking.@mustCallSuper to the Disposer interface.ObservableView.values -- like .stream, except also with the
current value.ShowHideDirective to avoid conflicts with
Angular JS apps and remove the legacy versions.autoFocus is true when using AutoFocusDirective.Intl.messages to improve
performance.HasDisabled interface.Domservice.leap() visible for testing.mat-link-deep mixin to push the Material link styles everywhere.isStandardMouseEvent().IntersectionObserver bindings now that they exist in dart:html.onDisabledChanged() to all ControlValueAccessor implementations.ShowHideDirective constants private. This is potentially BREAKING.TimeZoneAwareClock is used before it's
initialized, to prevent incorrect return values from being ignored.LazyEventEmitter since it was no longer lazy and a
StreamController can be a simple drop in replacement.@visibleForTesting annotations.IntersectionObserver bindings & onIntersection stream to ScrollHost.getBool(), Angular supports it now natively.position: sticky.getDynamic() method from properties helpers..runtimeType.material-scrollbar mixin to be used in global css (without angular).ComponentRenderer pattern.SlowComponentLoader to ComponentLoader.LazyStreamController to StreamController.@Input to number validators.ManagedZone and replace with NgZone.::ng-deep..scss files from the output.host to new @HostListener and @HostBinding syntax.ElementRef to Element or HtmlElement.visibility to Visibility.all on Directives that are expected to
be provided. Others will default to Visibility.local. This is potentially
BREAKING.preserveWhitespace: false and preserveWhitespace: true
when components manage spacing around themselves and have been validated.dartfmt --fix.Stream<Null> to Stream<void>.async behavior in Dart 2.@Inputs and @Outputs. Improves
documentation generated by the component gallery.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Move entry points to all components out of the lib/src/ directory.
Add Material Auto Suggest Input component.
_sourceDimensions instead of layoutRects[1] to take overlay
container offset into account. Using popupSourceLayoutStream directly
caused issues when the .acx-overlay-container offset was not (0, 0)..scss files.ElementRef to Element.visibility: Visibility.none from all components since compatibility
is not yet fully supported. Will be added in an upcoming release.Deprecate obsolete box-sizing style mixin.
PopupEvent and reduce asynchrony.contenWidth and contentHeight.dynamic in as expressions.Deprecate GlyphComponent in favor of MaterialIconComponent.
GlyphComponent in favor of MaterialIconComponent.ComponentFactory instead of a Type.enforceSpaceConstraints and
overlayRepositionLoop are enabled.animationComplete event.shadowCssClass.trackLayoutChanges.MaterialSelectItemComponent to not cache the label.expandAll = true.showDisabledCheckboxes.selectAll to only trigger a selection change event for the values
that were added.GlyphComponent to MaterialIconComponent.ElementRef to Element.matchSourceWidth options.MaterialIconComponent, MaterialPersistentDrawerDirective,
MaterialTemporaryDrawerDirective, and MaterialSelectSearchboxComponent to
materialDirectives.TreeSelectionOptions constructor from O(n^2) to O(n)
in the size of listOfOptions.ng-deep.getBool in boolean typed inputs./deep/ and >>> to ::ng-deep.@View.dynamic in as expressions.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Material Dialog: Add shouldShowScrollStrokes option for displaying stroke lines when the content is scrollable.
shouldShowScrollStrokes option for displaying
stroke lines when the content is scrollable.Comparable instead of num.ng-content area for a description.> NOTE: SASS files are not used during the build step of this package and are
NOTE: SASS files are not used during the build step of this package and are provided as reference only. These .scss files were used to generate the corresponding .css files in a separate process. We are working on a solution to include CSS generation from SASS files during the build process.
Material Progress: Cleanup animations on destroy to prevent memory leaks.
Selectable SelectionOptions.ControlValueAccessor.KeyboardHandlerMixin.selectedValue getter to RadioGroupSingleSelectionModel.ObservableComposite's register method.totalEntitiesCountChange getter to table selection models.isStandardMouseEvent utility to test for clicks without modifier keys.NoopStream in favor of Stream.empty() as provided by the SDK.Deprecate LazyStreamController and migrate to StreamController.
expand and collapse requests even if the panel is
disabled.preserveWhitespace default to false.enterAccepts flag.MaterialPercentInputDirective.matchMinSourceWidth is true.useCheckMarks to use check marks instead of checkboxes.enterAccepts flag.Rename library to angular_components.
All previous versions were published as the Pub Package named
angular2_components.
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →