Support Mantine development
You can now sponsor Mantine development with OpenCollective. All funds are used to improve Mantine and create new features and components.
Sponsor Mantine@mantine/emoji package
New @mantine/emoji package provides emoji picker components. It works with any emoji
data source through adapters, emoji-mart
and emojibase-data adapters are included.
EmojiPicker
EmojiPicker displays a searchable emoji grid with category navigation, skin tone selector, and emoji preview.
EmojiPickerInput
EmojiPickerInput is an input with an emoji picker dropdown. It supports all standard input features like labels, descriptions, error messages, and sizes.
Input description
EmojiPickerPopover
EmojiPickerPopover renders an emoji picker inside a popover dropdown. Use it to build custom emoji picker triggers.
Diff component
New Diff component highlights differences between two strings. It supports unified and split (side-by-side) display modes, configurable diff granularity (characters, words, or lines), and context line collapsing.
| 1 | - import { useState } from 'react'; | |
| 1 | + import { useReducer } from 'react'; | |
| 2 | 2 | |
| 3 | 3 | function Counter() { |
| 4 | - const [count, setCount] = useState(0); | |
| 4 | + const [count, dispatch] = useReducer(reducer, 0); | |
| 5 | 5 | return ( |
| 6 | - <button onClick={() => setCount(count + 1)}> | |
| 6 | + <button onClick={() => dispatch({ type: 'increment' })}> | |
| 7 | 7 | Count: {count} |
| 8 | 8 | </button> |
| 9 | 9 | ); |
| 10 | 10 | } |
PhoneInput component
New PhoneInput component provides an international phone number input with country selector, auto-detection, and formatting masks.
MaskedDateInput component
New MaskedDateInput component provides a date input with individual masked fields for day, month, and year. It supports configurable field order, custom separators, optional time fields, and a calendar dropdown for date selection.
QuarterPicker and QuarterPickerInput components
New QuarterPicker and QuarterPickerInput components
allow picking quarters, multiple quarters and quarters ranges. They work the same way as MonthPicker
and MonthPickerInput; the value is the first day of the selected quarter in YYYY-MM-DD format.
WeekPicker and WeekPickerInput components
New WeekPicker and WeekPickerInput components
allow picking weeks, multiple weeks and weeks ranges. Clicking any day selects the whole week,
the value is the first day of the week according to firstDayOfWeek in YYYY-MM-DD format.
| # | Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|---|
use-active-element hook
New use-active-element hook tracks the element that currently has focus. Use it to build focus-aware UI or to disable global keyboard shortcuts while the user is typing:
Focused element: null
use-browser-language hook
New use-browser-language hook returns the browser language and updates when the user changes it. Use it to pick a default locale for formatting or translations:
Your browser language: unknown
Mentions component
New Mentions component is a textarea that opens a suggestions dropdown when
the user types @ or any other trigger. Picked mentions are stored in the value as @[Display](id)
markup, the user sees only the display text:
Other changes
- DayView and WeekView support
slotLabelIntervalprop to display time labels more often than once per hour - DayView and WeekView
businessHoursprop accepts exact minutes, business hours colors can be changed with CSS variables - MobileMonthView supports
withWeekendDaysprop to hide weekend days - ScrollArea supports
--scrollarea-offset-sizeCSS variable to change the gap reserved byoffsetScrollbars - Popover and components based on it support
clickOutsideCaptureprop to close the dropdown when the click target stops event propagation getUploadImageExtensionin @mantine/tiptap uploads images embedded in pasted HTML, useshouldUploadPastedImageoption to control which images are uploaded- Keyboard navigation in DatePicker and other
@mantine/datespickers has been improved: arrow keys move focus across months and focus returns to the input when the dropdown closes @mantine/formexportsUseContextFormtype- Notifications support
autoCloseProgressPositionprop to display the auto close progress line at the top of the notification