fix(deps): update mantine monorepo to v9 - #180
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
3 times, most recently
from
April 13, 2026 08:59
e8c32d7 to
4a56161
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
2 times, most recently
from
April 21, 2026 20:40
7f6ce36 to
c1a65a7
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
2 times, most recently
from
April 29, 2026 11:06
3cd554d to
25a092d
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
2 times, most recently
from
May 11, 2026 16:51
918284f to
913f29a
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
2 times, most recently
from
May 18, 2026 15:07
58d281b to
69e2435
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
2 times, most recently
from
May 28, 2026 15:05
781c665 to
9e07005
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
2 times, most recently
from
June 11, 2026 21:13
f40c2e5 to
97a6965
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
2 times, most recently
from
June 28, 2026 13:03
f8e842f to
410bc4d
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
2 times, most recently
from
July 5, 2026 05:27
7376ca4 to
2494712
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
from
July 12, 2026 12:30
2494712 to
ad06fcb
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
2 times, most recently
from
July 30, 2026 17:08
3d8a536 to
6fb4927
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
from
August 11, 2026 21:44
6fb4927 to
696889b
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
2 times, most recently
from
August 26, 2026 17:15
7f8be76 to
25b1651
Compare
renovate
Bot
force-pushed
the
renovate/major-mantine-monorepo
branch
from
September 2, 2026 23:34
25b1651 to
3c6c721
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.5→^9.0.0^8.3.6→^9.0.0Release Notes
mantinedev/mantine (@mantine/core)
v9.6.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.
@mantine/lightbox package
New @mantine/lightbox package – a full-screen media lightbox with carousel navigation,
zoom, thumbnails, toolbar customization, and store-based API. Supports image, video, and custom slides:
Key features:
transitionProps(same API as Modal)labelspropNotifications custom rendering
Notifications now support
renderNotificationprop that allows you to completelyreplace the default notification with custom content. All animations (enter, exit, drag dismiss)
are preserved for custom notifications:
Notifications stacked layout
Notifications now support
layout="stacked"prop that displays notifications in a stackedlayout where only the latest notification is fully visible, and older notifications peek out behind it:
ActionBar component
New ActionBar component – a fixed-position bottom bar
for bulk selection actions. Designed to be controlled by table or checkbox
selections, it provides a set of actions that can be performed on selected items.
RichTextEditor table controls
RichTextEditor now includes a set of controls for editing tables. Install and register the
Tiptap table extension (
TableKit), then addthe controls to the toolbar.
RichTextEditor.TableInsertopens a grid to pick the table size, and theother controls add/remove rows and columns, toggle header row/column and merge/split cells. All table
controls are automatically disabled when the cursor is not inside a table:
RichTextEditor Details control
RichTextEditor now supports collapsible sections. Install and register the
Tiptap details extension (
Details,DetailsSummaryandDetailsContent), then addRichTextEditor.Detailsto the toolbar. The controlwraps the current block in a collapsible details node, or removes it when the cursor is already inside
one:
To support the control, Typography now styles
detailsandsummaryelements –a border, padding and a custom disclosure triangle. This applies to all
detailselements insideTypography, not just those created by the editor. All of the new selectors have zero specificity(
:where()), so they can be overridden without!important.RichTextEditor InvisibleCharacters control
RichTextEditor can now display formatting marks. Install and register the
Tiptap invisible characters extension,
then add
RichTextEditor.InvisibleCharactersto the toolbar. The control toggles the visibility ofspaces, paragraph breaks and hard breaks, and reflects the current visibility as its active state:
GaugeChart component
New GaugeChart component – a radial gauge chart for KPI and status display.
Supports threshold sections, target marker, custom labels, and configurable arc angles.
WaffleChart component
New WaffleChart component – a part-to-whole grid chart with colored cells.
Simpler and more compact alternative to pie/donut charts for displaying percentages and proportions.
MatrixChart component
New MatrixChart component – a generic x/y heatmap with categorical axes.
Each cell is colored based on a value, useful for visualizing patterns in two-dimensional categorical data.
CandlestickChart component
New CandlestickChart component – a financial OHLC chart that displays
open, high, low and close values as candles. Candles are colored based on their direction, the wick
shows the high–low range and the body shows the open–close range. Supports custom colors, data keys,
reference lines, axis labels, tooltip labels and value formatting.
Charts reference areas
AreaChart, BarChart, LineChart,
CompositeChart and ScatterChart now support the
referenceAreasprop that highlights a rectangular region of the plot – a weekend band, a targetrange, a threshold zone and similar annotations. Each area is bounded by
x1/x2and/ory1/y2data values (omit one pair to span the full opposite axis) and supports a theme
colorand alabel.Charts reference dots
AreaChart, BarChart, LineChart,
CompositeChart and ScatterChart now support the
referenceDotsprop that marks individual points on the plot – a peak, an event, a record value or ananomaly. Each dot is positioned by
x/ydata coordinates and supports a radius, a themecolorand alabel. Reference dots are rendered on top of the chart series.Note that
referenceLinesin AreaChart are now rendered on top of the areasinstead of behind them, which makes them consistent with
BarChart,LineChart,CompositeChartand
ScatterChart, where reference lines were already painted over the series.AreaChart streamgraph
AreaChart now supports
type="stream"that renders a streamgraph (also knownas ThemeRiver) – a stacked area chart whose baseline flows around a central axis instead of being
fixed to zero, producing the characteristic organic "river" shape. The y-axis is hidden by default
for this type since its floating baseline makes the values not meaningful to read off:
ScatterChart right Y axis
ScatterChart now supports the
withRightYAxisprop that displays anadditional Y axis on the right side of the chart, configurable with
rightYAxisPropsandrightYAxisLabel. Bind data series to the right Y axis by settingyAxisId: 'right'in thedataobject – series without
yAxisIdare bound to the left Y axis. Both axes use the samedataKey.yvalue, but their scales are calculated independently from the series assigned to them:
Stepper labelPosition
Stepper component now supports the
labelPositionprop. SetlabelPosition="bottom"to display the step label and description below the step icon:
Cascader safe area polygon
Cascader with
expandTrigger="hover"now keeps the open column in place while thecursor moves diagonally toward it – options that the cursor passes over on the way no longer replace
it. Set
safeAreaPolygon={false}to expand on every hover immediately, or pass an object to configureFloating UI
safePolygonoptions:YearView renderDay
YearView now supports the
renderDayprop that replaces the entire content ofa day cell. The function is called with the day date in
YYYY-MM-DDformat and the events grouped onthat day – the same list that is used to render the default indicators, but without the three items
limit. This makes it possible to display counts, badges or icons instead of the default dots:
ResourcesMonthView event resize
ResourcesMonthView now supports the
withEventResizeprop. Eventscan be resized by dragging their start or end edges, and the
onEventResizecallback is called withthe updated event start and end dates. Resizing snaps to whole days and preserves the event's original
time of day. Use
canResizeEventto control which events can be resized:Schedule drag and resize intervals
Time-grid Schedule views (
DayView,WeekView,ResourcesDayView,ResourcesWeekView) now supporteventDragIntervalandeventResizeIntervalprops that set the snap step used when events are movedand resized, independent of the
intervalMinutesgrid size. For example, a 30-minute grid can allow15-minute drag and resize increments. A ghost preview shows where the event will land while dragging:
Dropzone react-dropzone 20
Dropzone now depends on
react-dropzone20 (previously 15). The upgrade brings severalbehavior and type changes:
maxFilesno longer rejects the entire batch when more files are picked than the limit allows.Files up to the limit are now accepted and the rest are rejected. For example, picking 3 files with
maxFiles={2}callsonDropwith the first 2 files andonRejectwith the third – previously all 3files were rejected and
onDropwas called with an empty array.FileWithPathtype now has requiredpathandrelativePathproperties, they were optionalbefore. The default file aggregator always sets both values, so
onDropfiles can be read withoutoptional chaining. If you provide a custom
getFilesFromEventthat returns plainFileobjects,these properties are not set at runtime.
getFilesFromEventprop now receivesDropEvent | FileSystemFileHandle[]instead ofDropEvent–the File System Access API path passes file handles to the aggregator. Update the parameter type of
custom aggregators to accept both.
react-dropzone20 requires Node.js 22 or later. Mantine now requires Node.js 22 as well –Node.js 20 reached end of life in April 2026. This affects your development environment only,
browser support is not changed.
Other changes
fullWidthprop: the dropdown matches the width of the input and the color picker inside it fills the available space.onSizeChange,onResizeStartandonResizeEndcallbacks that mirroronPositionChange,onDragStartandonDragEndused for dragging. Sizes passed toonSizeChangeare measured after the new size has been applied, so they are already clamped by thedimensionsand viewport constraints.visibilityToggleFocusableprop that puts the visibility toggle in the tab order: the button receivestabindex="0"and can be activated with Enter or Space.DayView,WeekView,MonthView,ResourcesDayView,ResourcesWeekView) now supportwithInteractiveBackgroundEventsprop – background events (display: 'background') become clickable and triggeronEventClick, which makes it possible to open an edit modal for unavailability blocks and similar events.scrollHostoption now accepts a ref object in addition to a resolvedHTMLElement– the hook readsref.currentinternally once the element is mounted, so the scroll host does not need to exist on the first render.withWeekendDaysprop. SetwithWeekendDays={false}to hide weekend days – every month grid shrinks to the remaining columns and events that fall only on hidden days are not displayed.v9.5.2Compare Source
[@mantine/hooks]use-debounced-value: Fixleading: truefiring multiple times per burst and emiting a stale value (#9119)[@mantine/schedule]Fix recurring events not working with timzones (#9112)[@mantine/dates]FixminDateused for default date in some cases (#9117)[@mantine/core]Tooltip: Fix tooltip setting NaN in top/left position style when event position values cannot be read (#9131)[@mantine/dates]TimePicker: Fix incorrect focus handling of partially filled hours field (#9128)[@mantine/core]RollingNumber: Fix incorrect copy event handling (#9132)[@mantine/core]Notification: Fix incorrectcloseButtonPropstype (#9134)[@mantine/code-highlight]Add support for lazy languages loading (#9141)[@mantine/code-highlight]CodeHighlight: Add prop to keep indentation of the first line of the code block (#9140)[@mantine/dates]Add missing formatting functions to MiniCalendarm DateInput and YarsList components[@mantine/schedule]WeekView: Improve performance of events positioning algorithm (#9075)[@mantine/form]Add new useWatchValue hook[@mantine/core]Fix Combobox-based components not working correctly with Chrome autocompletev9.5.1Compare Source
[@mantine/tiptap]Fix controls being initially disabledbefore element is focused[@mantine/tiptap]Fix source code control wrapping content with extra p tag[@mantine/hooks]use-scroll-spy: Allow usage with refs (#9025)[@mantine/core]ColorInput: Add support for fullWidth prop (#9061)[@mantine/core]Checkbox: Fix incottect indeterminate aria attributes handling in Checkbox.Card (#9095)[@mantine/core]FloatingIndicator: Fix position and size calculation under scaled ancestors (#9071)[@mantine/core]Tooltip: Add interactive prop support (#9072)[@mantine/core]Cascader: Add safe area polygon support[@mantine/core]PasswordInput: Add option to change whether the visibility toggle is focusable (#9090)[@mantine/charts]ScatterChart: Add option to add second y axis[@mantine/schedule]YearView: AddrenderDayprop support[@mantine/schedule]YearView: Add option to hide weekend days[@mantine/core]InputWrapper: Fixcomponent: divtriggering typescript error if passed todescriptionProps[@mantine/schedule]ResourcesMonthView: Add option to resize events[@mantine/core]FloatingWindow: Add support foronSizeChangeandonResizeStartprops (#9085)v9.5.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.
Migration to oxc
Mantine has migrated its linting and formatting toolchain from ESLint and Prettier
to oxc – oxlint is now used
as the linter and oxfmt as the formatter. Both
tools are written in Rust and are significantly faster than their predecessors, which
makes linting and formatting the entire codebase almost instant.
The shared configuration is available as a new
oxc-config-mantine package (a replacement for the previous
eslint-config-mantine). You can use it in your own projects to follow the samecode style and conventions as Mantine.
Native level select in date pickers
DatePicker and all other date picker components (DatePickerInput,
MonthPicker, YearPicker, DateTimePicker, etc.)
now support the
withNativeLevelSelectprop. When enabled, it replaces the calendar header level buttonwith native
<select>elements, making it easy to quickly navigate to a specific month and year.Timeline opposite and alternate content
Timeline
Timeline.Itemcomponent now supports theoppositeprop that allowsrendering content on the opposite side of the timeline. When any item has the
oppositeprop,the timeline switches to a centered layout with content on both sides of the line.
Set the
alternateprop on individualTimeline.Itemcomponents to switchthe position of content and opposite:
FloatingWindow resize handle
FloatingWindow now supports a
ResizeHandlecompound componentthat allows users to resize the floating window by dragging a handle element.
Set the
dimensionsprop onFloatingWindowto control resize constraints for bothwidth (
initialWidth,minWidth,maxWidth) and height (initialHeight,minHeight,maxHeight).The resize handle is fully accessible – it supports keyboard interaction with
Arrow Left/Arrow Rightkeys for width,Arrow Up/Arrow Downfor height (10px steps),and
Home/Endkeys (jump to min/max size).Cascader component
New Cascader component allows selecting a value from hierarchical data
by drilling down through cascading columns. Picking an option in one column reveals its
children in a new column to the right, and the value is an ordered path from the root option
to the selected node. It supports
changeOnSelect,hoverexpand trigger, search, a flat listlayout for mobile, and full keyboard navigation.
SunburstChart component
New SunburstChart component displays hierarchical data
as concentric rings, similar to a treemap plotted in polar coordinates.
BulletChart component
New BulletChart component displays a single measure against
a qualitative range, useful for comparing a primary value (such as revenue) against
a target and qualitative thresholds like poor, average, and good.
Charts keyboard navigation
All @mantine/charts components now expose the
accessibilityLayerprop (trueby default) that makes charts navigable with the keyboard.The chart surface is focusable and displays the Mantine focus ring; once focused, the arrow keys
move the active tooltip point-by-point and Enter toggles the tooltip, so users who do not
use a mouse can read the underlying values. The prop is supported by
AreaChart,BarChart,LineChart,CompositeChart,ScatterChart,BubbleChart,PieChart,DonutChart,RadarChart,RadialBarChartandFunnelChartcomponents.Charts brush
AreaChart, BarChart, LineChart
and CompositeChart now support the
withBrushprop that displays abrush (range selector) under the chart. Drag the brush handles to zoom into a subset of the data.
Use the
brushPropsprop to customize the underlying rechartsBrush, or render the newthemed
ChartBrushcomponent as a child of the chart for full control.