fix(deps): update mantine monorepo to v9 (major)#567
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
fix(deps): update mantine monorepo to v9 (major)#567renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
1dc93ac to
66c7692
Compare
|
66c7692 to
27f4979
Compare
27f4979 to
c8f58a2
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.1.08.3.18→9.1.08.3.18→9.1.08.3.18→9.1.0^8.3.18→^9.0.08.3.18→9.1.0Release Notes
mantinedev/mantine (@mantine/core)
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:
MonthView
MonthView displays a monthly calendar grid with event overflow handling, outside days display, and week numbers. Drag events to different days:
YearView
YearView provides a 12-month year overview organized by quarters with day-level event indicators:
MobileMonthView
MobileMonthView is a mobile-optimized month view with event details panel for the selected day:
To get started, follow the getting started guide.
Collapse horizontal orientation
Collapse component now supports horizontal orientation:
use-collapse and use-horizontal-collapse hooks
New
use-collapsehook is the hook version of Collapse component.It allows animation of height from
0toautoand vice versa.use-horizontal-collapseworks the same way asuse-collapsebut animates width instead of height:use-floating-window hook
New use-floating-window hook allows creating floating draggable
elements:
FloatingWindow component
FloatingWindow provides component API for use-floating-window hook:
OverflowList component
New OverflowList component displays list of items and collapses the overflowing items into a single element:
Marquee component
New Marquee component creates continuous scrolling animation for content:
Scroller component
New Scroller component displays horizontally scrollable content with navigation controls.
It supports native scrolling via trackpad, shift + mouse wheel, touch gestures, and mouse drag:
use-scroller hook
New use-scroller hook provides logic for creating custom scrollable containers with navigation controls:
BarsList component
New BarsList component displays a list of horizontal bars with names and values.
It supports custom colors, auto contrast, value formatting, and custom bar rendering:
Card horizontal orientation
Card component now supports horizontal orientation:
Checkbox.Group and Switch.Group maxSelectedValues
Checkbox.Group and Switch.Group now support
maxSelectedValuesprop to limit the number of selected values.When the limit is reached, the remaining controls are disabled and cannot be selected.
Inputs loading state
All Mantine input components based on Input component now support
loadingprop.Set
loadingprop to display a loading indicator. By default, the loader is displayed on the right side of the input.You can change the position with the
loadingPositionprop to'left'or'right'. This is useful for async operations like API calls, searches, or validations:renderPill in MultiSelect and TagsInput
MultiSelect and TagsInput components now support
renderPillprop to customize pill rendering:Clear section mode
All clearable input components now support
clearSectionModeprop that determines how the clear button andrightSectionare rendered:'both'(default) – render both the clear button andrightSection'rightSection'– render only the user-suppliedrightSection, ignore clear button'clear'– render only the clear button, ignorerightSectionThis prop is supported by Select, Autocomplete,
MultiSelect, TagsInput, FileInput,
DateInput, DatePickerInput,
MonthPickerInput, YearPickerInput,
TimePicker, and DateTimePicker.
use-form async validation
use-form validation rules can now be async – return a
Promisethat resolves to anerror message or
null. When all rules are synchronous,form.validate(),form.validateField()andform.isValid()return their results directly (not wrapped in aPromise). When any rule is async,these methods return promises instead. TypeScript infers the correct return type based on your
validation rules, so you get precise types without manual annotations.
The
form.validatingproperty istruewhile any async validation is in progress, andform.isValidating(path)checks individual fields. Thevalidatingstate is never set forforms with only synchronous rules.
Each rule receives an
AbortSignalas the fourth argument. The signal is aborted when a newervalidation supersedes the current one, which you can use to cancel in-flight HTTP requests.