fix(deps): update mantine monorepo to v9 (major)#567
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
1dc93ac to
66c7692
Compare
|
66c7692 to
27f4979
Compare
c8f58a2 to
6f412fc
Compare
6f412fc to
2376858
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
8.3.18→9.2.08.3.18→9.2.08.3.18→9.2.08.3.18→9.2.0^8.3.18→^9.0.08.3.18→9.2.0Release Notes
mantinedev/mantine (@mantine/core)
v9.2.0: 🔥Compare Source
View changelog with demos on mantine.dev website
Support Mantine development
You can now sponsor Mantine development with OpenCollective.
All funds are used to improve Mantine and create new features and components.
TreeSelect component
New TreeSelect component allows picking one or more values from hierarchical tree data.
It supports three selection modes: single, multiple, and checkbox (with parent-child cascade):
Tree select Combobox examples
New Combobox examples showing how to build tree select components
from Combobox primitives with connecting lines, expand/collapse chevrons, and proper indentation:
Notifications swipe dismissal
@mantine/notifications now supports dismissing notifications by dragging them
left or right, and with horizontal scroll swipe while hovered. Both interactions can be disabled
on
Notifications, and individual items can opt out withallowClose: false.use-drag hook
New use-drag hook handles pointer drag gestures with movement tracking,
velocity, direction and axis constraints. It uses the Pointer Events API and works with
both mouse and touch input:
InlineDateTimePicker component
New InlineDateTimePicker component renders a calendar
with a time picker inline, without a dropdown. It supports both default and range modes:
Set
type="range"to select a date and time range with two time inputs:DateTimePicker range support
DateTimePicker now supports
type="range"to selecta date and time range. In range mode, two time inputs are displayed in the dropdown
for start and end times:
DateTimePicker valueFormat function
DateTimePicker
valueFormatprop now accepts a function in additionto a dayjs format string. The callback receives the value as a
YYYY-MM-DD HH:mm:ssstring andreturns the formatted value, which is useful for cases that cannot be expressed with a dayjs
format string:
RollingNumber component
New RollingNumber component animates value changes with rolling digit
transitions. Each digit independently rolls to its new position when the value changes:
MaskInput improvements
MaskInput now supports a
resetRefprop that assigns a function thatclears the input value imperatively. This is useful because
MaskInputis uncontrolledinternally, so setting
valuefrom a parent does not clear it:MaskInputintegration with use-form is now documented. UsedefaultValueto seed the initial value and
onChangeRawto write the raw value to form state:SankeyChart component
New SankeyChart component visualizes flow between nodes as a Sankey diagram
where the width of each link is proportional to the flow value:
Reorder pills in MultiSelect and TagsInput
MultiSelect and TagsInput now support reordering
selected pills. Set the new
withPillsReorderprop to enable it. Pills can be reordered witha mouse (drag-and-drop) or keyboard:
Taborder.ArrowLeftfrom the input (caret at start) movesfocus to the last pill.
ArrowLeftandArrowRightnavigate between pills (RTL-aware).ArrowRighton the lastpill returns focus to the input.
Alt + ArrowLeftandAlt + ArrowRightreorder the focused pill (RTL-aware). Focus followsthe moved pill so chained moves work.
Reordering is automatically disabled when
disabledorreadOnlyis set. Custom pill renderersreceive a
reorderPropspayload that can be spread onto the pill element to keep reorderingworking:
Restrict Tree drop targets
Tree component now supports restricting drop targets with the new
allowDropprop.The callback receives
{ draggedNode, targetNode, position }and returningfalsehides the dropindicator and rejects the drop, so users get proper visual feedback before releasing:
Tree drag handle
Tree component now supports restricting drag initiation to a dedicated handle with
the new
withDragHandleprop. The handle spreadsdragHandlePropsfrom therenderNodepayload.This is useful when a node contains interactive controls (inputs, buttons) that would otherwise
interfere with dragging:
Shared default props for all inputs
Default props set on
InputandInput.Wrapperintheme.componentsnow cascade to everycomponent built on top of them (TextInput, Textarea,
NumberInput, Select, DateInput,
and others). This makes it possible to apply shared
size,radius,variant,withAsteriskand other props to all inputs at once, while still overriding individual components with their
own default props:
Per-day business hours in WeekView
WeekView
businessHoursprop now accepts a per-day object keyed by day ofthe week (
0– Sunday,6– Saturday) in addition to the shared[start, end]tuple. Daysmissing from the object or set to
nullare rendered as fully outside business hours, making iteasy to model partial workdays and non-working days:
v9.1.1Compare Source
What's Changed
[@mantine/spotlight]Fix error thrown when listId is empty (#8863)[@mantine/schedule]FixonEventClicknot being passed down to MoreEvents in DayView and MonthView components (#8862)[@mantine/core]Tree: Add dnd handle and dnd lock support[@mantine/schedule]Fixlabelsnot propagating to custom schedule header and more events lists[@mantine/modals]Add ModalsSettings type export[@mantine/schedule]FixrenderEventnot working in MoreEvents[@mantine/mcp-server]Update displayed version[@mantine/core]Combobox: Fix keyboard events not triggering in Safari after click on the inout (#7386)[@mantine/hooks]use-focus-return: Fix incorrect logic when used with nested focus traps (#8857)[@mantine/core]ScrollArea: Fix scrollbar never visible withoffsetScrollbars="present"(#8844)[@mantine/core]Fix incorrectrenderOptiontype in Combobox-based components (#8858)[@mantine/hooks]use-mask: Fix stale mask partial remaining as input value on blur after input field was cleared[@mantine/hooks]use-mask: Fix incorrect cursor position handling[@mantine/hooks]use-mask: Fix part of the mask remaining as input value on blur[@mantine/core]Radio: Fix icon not being centered on some low-density screens (#8845)[@mantine/core]Highlight: Fix wholeWord matching for non-ASCII characters[@mantine/core]Card: Fix Card.Section not being handled correctly during server-side rendering of server components (#8846))[@mantine/core]FixclearButtonProps={{ size: lg }}not working when passed to Select and other similar components (#8855)[@mantine/core]Fix Styles API defined for Input not being applied to Select and MultiSelect components (#8851)New Contributors
Full Changelog: mantinedev/mantine@9.1.0...9.1.1
v9.1.0Compare Source
View changelog with demos on mantine.dev website
Support Mantine development
You can now sponsor Mantine development with OpenCollective.
All funds are used to improve Mantine and create new features and components.
deduplicateInlineStyles
New
deduplicateInlineStylesprop on MantineProvider enablesReact 19 style tag deduplication for responsive style props.
When many components share the same responsive style prop values, only a single
<style />tag is generated and hoisted to
<head />instead of each component injecting its own:This can significantly improve performance when rendering large lists of components
with identical responsive style props. See the
styles performance guide for more details.
use-mask hook
New use-mask hook attaches real-time input masking to any
<input>element viaa ref callback. It formats user input against a defined pattern and exposes both the masked display
value and the raw unmasked value. The hook supports built-in and custom tokens, dynamic masks,
character transforms, optional segments, and regex array format:
MaskInput component
New MaskInput component is a wrapper around use-mask hook
that provides all standard input props (label, description, error, etc.) and supports all mask options:
Treemap component
New Treemap component displays hierarchical data as a set of nested
rectangles. It is based on the Treemap recharts component:
TimePicker duration type
TimePicker component now supports
type="duration"prop that allowsentering durations that exceed 24 hours. In this mode, the hours field has no upper limit
and the input width adjusts dynamically based on the entered value:
Heatmap legend
Heatmap component now supports
withLegendprop that displaysa color legend below the chart. Use
legendLabelsprop to customize labels(default:
['Less', 'More']):MonthPicker and YearPicker presets
MonthPicker and YearPicker components now support
presetsprop that allows adding predefined values to pick from. Presets are also availablein MonthPickerInput and YearPickerInput
components:
use-roving-index hook
New use-roving-index hook implements the
roving tabindex
keyboard navigation pattern. It manages
tabIndexstate for a group of focusable elements,handles arrow key navigation with disabled item skipping, and supports both 1D lists and 2D grids:
Tree drag and drop
Tree component now supports drag-and-drop reordering of nodes.
Provide
onDragDropcallback to enable it, and use themoveTreeNodeutilityto update data based on the result:
Tree async loading
Tree now supports lazy loading of children. Set
hasChildren: trueon a node without providing
children– when the node is expanded for the first time,onLoadChildrencallback passed touseTreeis called. UsemergeAsyncChildrenutility to splice loaded children into your data:
Tree search and filtering
Tree now includes
filterTreeDatautility to filter tree data based ona search query. Matching nodes and their ancestors are preserved in the result. You can
provide a custom filter function for advanced matching (for example, fuzzy search with fuse.js):
Tree connecting lines
Tree now supports
withLinesprop to display connecting linesshowing parent-child relationships. Lines adapt to
levelOffsetspacing automatically:Tree virtualization
Tree now provides
flattenTreeDatautility andFlatTreeNodecomponentfor virtualized rendering of large trees. The component does not depend on any
virtualization library – you supply one yourself (e.g.,
@tanstack/react-virtual):Tree checkStrictly mode
useTree hook now supports
checkStrictlyoption. When enabled, checkinga parent node does not affect children and vice versa – each node's checked state is
fully independent:
Slider startPointValue
Slider component now supports
startPointValueprop that changesthe origin of the filled bar. When set, the bar extends from the given value toward the
current value – to the left for values below the start point and to the right for values above it:
WeekView forceCurrentTimeIndicator
WeekView component now supports
forceCurrentTimeIndicatorprop.When set, the current time indicator is displayed on the same day of week even when viewing
a different week:
New demo: MonthView events rendering
New MonthView demo shows how to use
renderEventto visuallydifferentiate all-day and timed events. All-day events render as regular colored bars,
while timed events display as a colored dot with the start time and title:
Other changes
keepMountedModeprop that controls how inactive tab panels are hidden whenkeepMountedistrue. SetkeepMountedMode="display-none"to usedisplay: nonestyles instead of the defaultActivitycomponent.enabledparameter to dynamically enable/disable the listener. The hook also usesevent.composedPath()in bothrefandnodesbranches for consistent Shadow DOM support and correctly ignores clicks on detached DOM nodes in the single-ref mode.stepoption to configure increment/decrement step size (default1).maxWaitoption to guarantee execution within a maximum time window during continuous calls, andisPending()method to check if a debounced call is waiting.flushmethod to immediately apply the pending debounced value.onScrollCancelcallback that fires when the scroll animation is interrupted by the user, and returns ascrollingboolean to indicate whether a scroll animation is in progress.v9.0.2Compare Source
What's Changed
[@mantine/schedule]Change default events border-radius to sm[@mantine/dates]DateTimePicker: Fix formatting not working withwithSecondsset ontimePickerPropsonly[@mantine/core]Textarea: Fix error thrown on resize in some cases[@mantine/modals]Fixmodals.closeAll()called from comtext modal causing infinite rerendering[@mantine/tiptap]RichTextEditor: Fix invisible caret in empty task list items[@mantine/schedule]Fix rrule package imports bot being compatible with esm only bundlers[@mantine/schedule]FixonEventClickcalled when event is resizing[@mantine/core]Fix incorrect default colors resolver for custom colors in light variantNew Contributors
Full Changelog: mantinedev/mantine@9.0.1...9.0.2
v9.0.1Compare Source
What's Changed
[@mantine/core]LoadingOverlay: Fix double overlay visible with dark color scheme (#8811)[@mantine/core]RingProgress: Add missing viewBox (#8806)[@mantine/core]Input: AddrootRefprop support[@mantine/core]Combobox: FixrefPropnot working onCombobox.Target(#8798)[@mantine/mcp-server]Fix stdio transport to comply with MCP spec (#8792)[@mantine/core]Input: Fixaria-invalid="false"attribute being set (#8785)[@mantine/core]Slider: Fix incorrect orientation inheritance from the parent markup (#8791)[@mantine/core]Fix incorrect default placeholder size in PasswordInput and other components (#8793)[@mantine/core]Badge: Fix text being cut off with some fonts (#8788)[@mantine/hooks]use-scroller: Fix element dynamic resizing not being handled correctly (#8800)[@mantine/core]FixCheckbox.Group,Switch.Group,Radio.GroupandChip.Groupnot working with generic primitive values (#8801)[@mantine/core]Popover: Fix missingwithProps(#8802)[@mantine/core]Accordion: Fix focus ring being cut off (#8797)[@mantine/charts]Add option to fully customize reference lines label (#8790)[@mantine/core]Fixloadingprop not being handled correctly in TagsInput and MultiSelect (#8803)Full Changelog: mantinedev/mantine@9.0.0...9.0.1
v9.0.0: 🤩Compare Source
View changelog with demos on mantine.dev website
Migration guide
This changelog covers breaking changes and new features in Mantine 9.0.
To migrate your application to Mantine 9.0, follow 8.x → 9.x migration guide.
Peer dependencies requirements updates
Starting from Mantine 9.0, the following dependencies are required:
@mantine/*packages@mantine/tiptap(migration guide)@mantine/charts(no migration required)New @mantine/schedule package
New
@mantine/schedulepackage provides a complete set ofcalendar scheduling components for React applications. It includes multiple view levels,
drag-and-drop event management, and extensive customization options.
Schedule
Schedule is a unified container component that combines all views with built-in navigation and view switching. Drag events to reschedule them:
DayView
DayView displays a single day with configurable time slots, all-day event section, current time indicator, and business hours highlighting. Drag events to reschedule them:
WeekView
WeekView shows a weekly calendar grid with time slots, week numbers, weekend day toggling, and multi-day event spanning. Drag events across days and time slots: