fix: update dependency @react-md/material-icons to v6 #3114
+135
−49
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
5.1.6->6.2.6Release Notes
mlaursen/react-md (@react-md/material-icons)
v6.2.6Compare Source
Patch Changes
v6.2.5Compare Source
Patch Changes
v6.2.4Compare Source
Patch Changes
v6.2.3Compare Source
Patch Changes
v6.2.2Compare Source
Patch Changes
v6.2.1Compare Source
Patch Changes
v6.2.0Compare Source
Patch Changes
v6.1.0Compare Source
Minor Changes
Features
v6.0.2Compare Source
Patch Changes
valuehttps://react-md.devinstead ofhttps://next.react-md.devv6.0.1Compare Source
Patch Changes
v6.0.0Compare Source
Major Changes
64071b7: The next preview of v6.0.0.Breaking Changes:
CircularProgressandLinearProgressAsyncButtonto pass props to the progress component and otheraccessibility teaks
CircularProgressSuspenseto default thearia-labelto"Loading"VerticalDividercomponenthoverTime/leaveTimetohoverTimeout/leaveTimeoutfor hover modeforceSize/forceFontSizeprops from theFontIconuseOverflowTooltipand instead integrate it into theuseTooltiphook. It's cheaper to check on the start event instead of havinga resize observer always active
LinkProvidersince it was only used for theTreecomponent andit's easier to pass the custom link component down
Features:
TRANSITION_CONFIGso transitions can be disabled@react-md/test-utils/jest-setupto always disable transitionsin tests
MATERIAL_CONFIGto override defaults instead of using contextdata-testidin all HTMLAttributes by including@react-md/test-utils/data-testidsomewhere (normallysetupTests.ts)themetoAvatarDialogto be analertdialogby default whenmodalis enabled andadded
aria-modalwhenmodalis enabledSliderto customize the tooltiparen't forced as client code
iconRotatorPropsfor theTableCellisStickyActiveto provide theisInTableContainerboolean andexport
isTableFooterStickyActivedefault functionstickyActiveClassNameTableRadiocomponentDropdownMenuto support controlling the visibilityBug Fixes:
shifts
Tooltipto default to temporary again. There's no need to create 1000nodes in large apps on startup
MenuItemCheckbox,MenuItemRadio, andMenuItemSwitchSlidermarks when the min value is not0Menucomponent when using a floating actionbutton
Tooltipto usetextOverflowinstead ofdisableLineWrapSwitchto no longer be a client componentSwitchto support rendering components within the ballThis is a major rework release for react-md with lots of features, breaking
changes, and bugfixes. There were over 1200 commits, so I won't really list
everything here.
Check out the release notes
or a small summary below:
This is probably one of the most useful components to be added to react-md. The
Box component is a wrapper around the CSS box model for
display: flexanddisplay: gridand can be used to implement most of theDOM structure or layout without custom styling.
With the introduction of the
Boxcomponent, theGrid,
GridCell,GridList, and
GridListCellcomponents have been removed. See theMaterial Grid Example for an example
using the
Boxcomponent.The
@react-md/material-iconspackage has been updated to support the latestmaterial icons but only through SVG icons. To continue using font icons, either
use the new
MaterialIconcomponent or theFontIconcomponent.Material symbols can be used through the new
MaterialSymbolcomponentthat supports customizing the weight, grade, and optical size globally,
for a section of the app, or one offs.
If you've used react-md in the past, you'll probably know that the
Autocomplete"worked" but wasn't user friendly or useful. With this versionof react-md, the
Autocompletehas been remade to improve the user experienceby acting more like an editable
Selectcomponent. So theAutocompleteis more in line with the react-select and the
material-ui Autocomplete.
Here's a quick summary of the new changes:
the last valid option or an empty string
getResultLabel,getResultValue, ... whatever I was doing beforeThe toasts and alerts have been updated so toasts can be shown from anywhere
instead of only within React components with the
useAddToasthook. Toastscan now be created by importing the new
addToastfunction.Some other new features for snackbars and toasts are:
Check out the new snackbar demos to see more!
The dark mode has been improved so that the interaction states are now visible
by default when switching to the dark mode. The following images show the
normal, hover, then focus states for a button with the dark theme enabled.
Other native elements like the
<select>should also update based on the darkmode color scheme.
The
Slidercomponent has been simplified and now only requires avalueandsetValueto use. Due to these changes, theRangeSlideris no longerrequired and has been merged into the
Slidercomponent.In addition, the
Slidercomponent now supports rendering marks below to helpshow where specific values are within the range.
Tooltips now support being shown only if there is overflow text. Check out the
Overflow Only Tooltip demo for
more information!
A simple objectFit utility function has been created for
styling images, videos, and other media types. This should be able to replace
most of the
MediaContainer/ResponsiveItemusage in your app with betterstyling behavior.
The
Tabcomponents have been updated to support:hidden scrollbar option that existed before
useMaxTabPanelHeight hook
The
Treecomponent has been updated with a few new customization options likethe expansionMode which allows the child
tree items to only become visible after clicking the icon instead of anywhere
in the tree item.
The
CircularProgressandLinearProgresscomponents now support theprimary,secondary,warning,success,error, andcurrent-colorthemes.
Most components now expose a class name utility function to provide styles without
using the component itself. The naming conventions are to use a
camelCasedNameinstead ofPascalCased. For example:buttonfor theButtoncomponentexpansionPanelfor theExpansionPanelcomponenttypographyfor theTypographycomponentIn addition, a general cssUtils helper has been created for
common styling.
New polyfills and test utils are now provided that integrate with
jest and vitest to improve
testing. Check out the testing quickstart guide
on how to get started.
A few new components and hooks have been added:
The documentation site has been remade to hopefully improve finding information
with the following changes:
file at a time. There are a few more complex examples near the end.
instead of needing to create a codesandbox
The
CheckboxandRadiocomponents no longer use some hacky CSS to overlaythe checked icon state to show the unchecked state. Instead, both icons are
rendered and toggled using CSS and the
:checkedstate allowing for easiercustomization.
If a react-md component is imported that uses CSS variables, the variables will now
become visible and type-checkable with typescript when defining inline styles.
The new scroll locking behavior prevents layout shifts by calculating the
current scrollbar size and applying padding to the root element. This can
drastically improve performance for apps that rely on resize observers to
position content.
The styles have been re-written to always have the lowest
CSS specificity
allowing custom styles to override react-md with ease.
The
:focusstyles for almost every component now uses:focus-visibleinstead of relying on
.keyboard mode &:focusremoving theUserInteractionModeProviderrequirement from these styles. If the previousfocus behavior is desired, set $SASSDOC to
trueAll react-md components that required an
idnow default touseId() and can be omitted.
By enabling a new
ssrmode in theCoreProviders, temporary components like dialogs
and overlays will remain visible and mounted after being rendered on the server
until the first time they are unmounted.
In addition, the general layout has been updated to handle SSR behavior better
by relying on media queries for switching between layout types instead of only
requiring javascript. Check out the new layout documentation
for more examples.
Every StrictMode error has been fixed
and react-md is ready for React 19. The documentation site has been using the
React 19 RC for a long time without
issue. In addition, it is now possible to prevent the entire app from being
marked as a client boundary when importing a component from react-md. Each
component and hook has been correctly marked with the
"use client"directiveas needed.
The Portal has been updated to render all content within
a
<div id="rmd-portal-container" />by default instead of thedocument.body.This allows quick access in the dev-tools to inspecting portal elements and
preventing any issues that might appear for rendering additional nodes in the
document.body.With the migration to ESM, the
@react-md/corepackage has been created toonly support importing from specific paths instead of a
root barrel file.
This will improve development speed as bundlers will no longer need to fetch
all files within react-md to begin compiling.
The base
react-mdpackage will still support a root barrel file import ifthis is not a concern.
In prior versions of react-md, inspecting CSS variables could be difficult
because they were split into multiple rules without using
postcssplugins.Starting with react-md@v6, custom properties will automatically be grouped
together in the devtools.
The gzipped sizes have decreased slightly with the latest version of react-md:
$primary-color: $grey-500,$secondary-color: $red-700,$color-scheme: lightfor both version of react-mdThere were a lot of breaking changes, but a few will be called out here specifically.
react-md will now only support ESM going forward since most build tools already
support it. In addition, the legacy
@importsyntax is no longer supported forSass.
Ready to upgrade to react-md v6? Head to the v6 migration guide next.
64071b7: Initial v6 release testd8f185b: Updated custom properties to require a defined value instead of always providing a fallback. This decreases the bundle size by a good amount.Also updated the
Snackbarso that it no longer has arole="status"to fix accessibility. Instead, each toast will haverole="status"orrole="alert".Patch Changes
bdcbd82: Fixed the SVGIcon import path from @react-md/core after trying new package.json exports.093d3bf: This release is mostly around adding codemods for v5 to v6, but also:vertical-align: middleinstead ofvertical-align: bottomto work with more font sizesTreeItemDefaultIdstoTreeDefaultIdsto match naming conventionsuseTabshook optionsTreeItemRendererutility typea1483f0: This release focused on documentation but had a few new features:MarkandHighlightedTextcomponentsErrorBoundarycomponenta11ysass import can be used in the@forwardfile by using the new@react-md/core/a11yimport--rmd-icon-dense-sizecustom propertyAutocompleteclear button requires less javascript and supports a few visibility modesonEnteredOncecallback for transitions to handle triggering a callback when transitions are disabledgetTransitionCallbacksto help merge transition callbacksBug fixes:
Listcomponent correctly implements dense mode@react-md/corepackage exportsDocumentation updates:
vite-ts,vite-js, andmlaursen-viteexample templates31b0fa5: Experimental support for package.json exports and updated material icons.a26803b: - Updated theuseLocalStoragehook to be more generic and renamed touseStorage@react-md/core/test-utils/vitestjest-globalsto@react-md/core/test-utils/jest-globalsreact-mdelements in testsgridAutoRowsbehavior to theBoxcomponentcaptureprop to theMenuItemFileInputuseTextFieldhook to support rendering the counter whiledisableMessageistrueuseTextFieldto support the"valid"ValidityStateuseTableOfContentsHeadingshook to support dynamic table of contentssatisfiesto allow better typingSimpleTabPanelsandSimpleTabPanelcomponents when the tab panels do not need to animateTabnow display the active tab indicator to the right instead of the left by defaultTabListcomponent supports full width tabs without truncatingmin-heightmin-widthmax-widthstacked-heightstacked-widthpaddingstacked-paddinguseTabPanelMaxHeighthook has been added to prevent layout shifts while switching between tabsTabListnow supports dynamically adding scroll buttonsDEFAULT_COLLATOR_OPTIONSif they should be used for newalphaNumericSortcomparatorsbemutil now allowsstyles().baseto get the base class nametouch-action: noneto the draggable components and updateduseDraggabletomatch that new behavior
ArrowUpandArrowDownwork as expected for vertically draggable componentsuseEffectprogresslayer instead ofoverlaywill-changeto increase perfTabListcorrectly disablesTabwill only shrink once themax-widthhas been reached instead ofif there is not enough room in the container
useDropzonehook correctly captures blur events when the user dragsfrom the dropzone immediately to the file browser
useMutationObserveruses theonUpdateinstead ofonUpdatedto match otheruse*Observerhooks1a8cfaf: This release focused on starting to create the codemods for v5 to v6, which helped me find and fix:$color-scheme: lightCardSubtitlecan now remove the secondary text color like v5 using thetextColorTypographypropStickyTableSectioninstead ofTableHeader/TableFootertypes.tsfileMaterialSymbolandMaterialIcon68f0920: The next v6 alpha release.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.