Update mantine (major) - #245
Conversation
❌ Deploy Preview for operate-first-cloud failed.
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
1573ddf to
b6994c9
Compare
⚠ Artifact update problemRenovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below: File name: package-lock.json |
|
This PR contains the following updates:
4.2.12→9.5.14.2.12→9.5.14.2.12→6.0.224.0.0→5.0.0Release Notes
mantinedev/mantine (@mantine/core)
v9.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.Heatmap month labels position
Heatmap now supports
monthLabelsPositionprop that allowsdisplaying month labels at the bottom of the heatmap instead of the top (default).
Accordion disable collapse
Accordion now supports the
disableCollapseprop. When enabled in singlemode (
multiple={false}), the open item cannot be collapsed by clicking it again, so one itemalways stays open. Pair it with
defaultValueorvalueto guarantee that a section is openfrom the start – useful for settings panels, stepper-style flows and FAQ pages.
ScrollArea vertical scrollbar position
ScrollArea now supports the
verticalScrollbarPositionprop that pins thevertical scrollbar to a physical side (
leftorright) regardless of direction. This is usefulfor RTL applications where users expect the vertical scrollbar to stay on the right, matching the
behavior of most desktop software. The prop also realigns the offset padding, the corner and the
horizontal scrollbar gap, so it works correctly with
offsetScrollbarsandscrollbars="xy".Schedule intervals larger than one hour
ResourcesDayView and
ResourcesWeekView now support
intervalMinutesvalueslarger than 60. Previously the interval was capped at one hour – you can now set it to any
whole number of hours (for example
120or240) to display multi-hour time slots. Valuesof 60 or less must still divide evenly into an hour; any value that does not keep the grid on
hour boundaries falls back to
60.New example: Table virtualization
New Table example demonstrates how to use
Table.ScrollContainerwith@tanstack/react-virtualto efficiently render large datasets with 5,000 rows.v9.4.2Compare Source
What's Changed
[@mantine/schedule]Fix 1-3 minutes events not aligning correctly in ResourcesWeekView and ResourcesDayView (#9057)[@mantine/form]Fix async validation with debounce on initial keystroke of empty input (#9068)[@mantine/core]AddkeepMountedModeprop to Modal and Drawer components (#9056)[@mantine/core]Menubar: Fix menu requiring two clicks to dismiss after switching menus with hover (#9050)[@mantine/core]AppShell: Fixbreakpoint={0}not working correctly (#9042)[@mantine/core]Tree: Fix keyboard navigation not working on Safari (#9049)[@mantine/notifications]NotificationContainer: FixautoCloseleak (#9048)[@mantine/core]Collapse: AddkeepMountedModeprop (#9021)[@mantine/dates]TimePicker: Fix incorrectwithSecondshandling when pasting partial values (#9041)[@mantine/schedule]Add option to customize current time in ResourcesDayView and ResourcesWeekView components[@mantine/core]TreeSelect: Addexpandcallback torenderNodepayload[@mantine/core]Fix incorrect empty children arrays handling in Tree and TreeSelect[@mantine/hooks]Fix unstablescrollIntoViewfor some bundlers (#9035)[@mantine/schedule]AddintervalMinutesmore than 60 support to ResourcesDayView and ResourcesWeekView[@mantine/schedule]ResourcesWeekView: Fix incorrect handling of events with small duration[@mantine/schedule]ResourcesDayView: Fix events with small durations not being visibleNew Contributors
Full Changelog: mantinedev/mantine@9.4.1...9.4.2
v9.4.1Compare Source
What's Changed
[@mantine/form]Fix some functions not working correctly with react compiler (#9007)[@mantine/charts]Heatmap: Fix values outside the provided domain rendering with no fill (#8982)[@mantine/core]RollingNumber: Fix rendering-0for values that round to zero (#8983)[@mantine/core]Slider: Fix incorrect marks labels position in RTL layouts (#8996)[@mantine/hooks]Fix use-set and use-map hooks using stale values when used with React compiler (#9008)[@mantine/form]AddFormProviderPropstype export (#9009)[@mantine/schedule]ResourcesDayView: Fix incorrect multiday events rendering (#9014)[@mantine/dates]TimePicker: Fix duration values greater than 9999 hours not working (#9002)[@mantine/core]Menu: Marknon-menuitemdropdown children as presentational (#9004)[@mantine/core]Collapse: Fixrefandstyleprops not working whentransitionDuration: 0(#9013)[@mantine/core]Textarea: Fix autosize not working correctly withminRowson initial render[@mantine/schedule]ResourcesWeekView: Add events resizing supportNew Contributors
Full Changelog: mantinedev/mantine@9.4.0...9.4.1
v9.4.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.
ComboboxPopover component
New ComboboxPopover component allows adding a combobox dropdown
with selectable options to any button element. Unlike
SelectandMultiSelect, it does notrender an input – you provide your own target element via
ComboboxPopover.Target. Supportssingle and multiple selection modes with the same
dataformat asSelect.DataList component
New DataList component displays label-value pairs as a semantic description
list using
dl,dt, andddHTML elements. Supports vertical and horizontal orientations,dividers between items, and all standard Mantine features like Styles API and size prop.
EmptyState component
New EmptyState component displays a placeholder for "no data" situations:
empty search results, empty tables and lists, first-run states or error illustrations with an
optional call to action. It can be used with
icon,titleanddescriptionshorthand propsor with
EmptyState.Indicator,EmptyState.Title,EmptyState.DescriptionandEmptyState.Actionscompound components for full control.Menubar component
New Menubar component adds a desktop-application style menu bar: a horizontal row
of top-level menu triggers (File, Edit, View, …) where each trigger opens a dropdown. Arrow keys
move between the top-level menus, and once one menu is opened, moving to a sibling opens it
immediately.
Menubaris built on top ofMenuand follows the WAI-ARIA menubar pattern.ResourcesDayView component
New ResourcesDayView component displays resources as rows and
time slots as columns. Each row represents a resource (conference room, person, equipment) and
shows events assigned to that resource. Supports drag and drop across resources, business hours
highlighting, and slot drag select.
ResourcesWeekView component
New ResourcesWeekView component displays resources as rows
and a full week of time slots as columns with a two-level header showing day names and time
labels. Supports drag and drop, slot selection, business hours, and current time indicator.
ResourcesMonthView component
New ResourcesMonthView component displays resources as rows
and days of the month as columns. Events are shown as colored indicators within each
resource-day cell for easy visualization of resource utilization across the month.
ResourcesSchedule component
New ResourcesSchedule wrapper component combines
ResourcesDayView,ResourcesWeekViewandResourcesMonthViewinto a single component with view switching, similarto how
Schedulecombines day, week, month and year views.AgendaView component
New AgendaView component renders a vertical list of events for a specified
time period. Events are grouped by date in chronological order.
withAgenda prop for DayView, WeekView, MonthView and Schedule
DayView,WeekView,MonthViewandSchedulecomponents now supportwithAgendaprop.When enabled, an "Agenda" button is displayed in the header. Clicking it opens an
AgendaViewfor the currently visible date range.
MonthView hide weekend days
MonthView now supports
withWeekendDaysprop. Set it tofalseto hide weekend days: the grid shrinks to the remaining columns and events that span hidden
days are clipped to the visible days. The days that are considered weekend are controlled by
the
weekendDaysprop (orDatesProvider,[0, 6]by default).DayView and WeekView sub-hour grid lines
DayView and WeekView now support
withSubHourGridLinesprop. When
intervalMinutesis smaller than60, setwithSubHourGridLines={false}to display onlyone grid line per hour while keeping the smaller interval for creating and resizing events. This is
useful to achieve a Google Calendar like layout: events snap to 15 or 30 minutes increments, but the
grid stays clean with hourly lines.
Input success state
All inputs based on
InputandInput.Wrappernow support asuccessprop. When set, it changes theinput border color to green (
--mantine-color-success). You can also pass a React node to displaya success message below the input. If both
errorandsuccessprops are set,errortakes precedence.New
--mantine-color-successCSS variable has been added (resolves toteal-6in light mode andteal-8in dark mode).Splitter CSS units
Splitter.Pane
defaultSize,minandmaxprops now accept CSS units inaddition to plain numbers. A plain
numberor%string is a flexible size that shares theleftover space, while a
pxorremstring is a fixed size that keeps its pixel size when thecontainer is resized. This makes it possible to mix a fixed-width sidebar with a fluid content pane:
Notifications priority
Notifications now support a
priorityproperty. When the number of active notifications exceedsthe
limit, notifications with a higherprioritytake the visible slots and lower priority onesare pushed into the queue. Notifications with equal priority keep insertion order (FIFO), so the
default behavior is unchanged (
prioritydefaults to0).