Releases: mantinedev/mantine
7.15.1
What's Changed
[@mantine/dates]
Improve focus behavior of DatePickerInput, DateInput and other components[@mantine/form]
AddtouchTrigger
option support[@mantine/hooks]
Add option to specify prefix inrandonId
function[@mantine/core]
FixwithProps
function requiring all component props instead of partial[@mantine/core]
AdduseModalStackContext
anduseDrawerStackContext
hooks exports[@mantine/core]
ActionIcon: Addinput-*
autocomplete forsize
prop[@mantine/core]
AppShell: Fix incorrect defaultoffsetScrollbars
value forlayout="alt"
[@mantine/core]
FixvirtualColor
function not working in server components (#7184)[@mantine/core]
Checkbox: Fix incorrect Checkbox.Card behavior inside Checkbox.Group (#7187)[@mantine/core]
Checkbox: Fix incorrect Checkbox.Card behavior inside Checkbox.Group (#7187)[@mantine/core]
Slider: Add option to pass attributes down to thumb withthumbProps
(#7214)[@mantine/core]
Switch: Add data-checked attribute to the input (#7228)[@mantine/dates]
FixhasNextLevel
prop type leak to DatePicker component (#7229)[@mantine/dates]
Fix timezone not being applied to the formatted value (#7162)[@mantine/modals]
FixmodalId
being passed to the DOM node as attribute (#7189)[@mantine/core]
TypographyStylesProvider: Fix incorrect paragraphs inside lists styles (#7226)[@mantine/core]
Slider: Fix icon used as thumb child not being visible with the dark color scheme (#7231, #7232)[@mantine/tiptap]
Fix missing border in custom controls (#7239)
New Contributors
- @jnachtigall made their first contribution in #7238
- @onkar-deshpande made their first contribution in #7226
- @anthonyalayo made their first contribution in #7188
- @NyxinU made their first contribution in #7162
Full Changelog: 7.15.0...7.15.1
7.15.0 π
View changelog with demos on mantine.dev website
Support Mantine development
You can now sponsor Mantine development with OpenCollective.
All funds will be used to improve Mantine and create new features and components.
use-radial-move hook
New use-radial-move hook can be used to create custom radial sliders:
import { useState } from 'react';
import { Box } from '@mantine/core';
import { useRadialMove } from '@mantine/hooks';
import classes from './Demo.module.css';
function Demo() {
const [value, setValue] = useState(115);
const { ref } = useRadialMove(setValue);
return (
<Box className={classes.root} ref={ref} style={{ '--angle': `${value}deg` }}>
<div className={classes.value}>{value}Β°</div>
<div className={classes.thumb} />
</Box>
);
}
BarChart color based on value
BarChart component now supports getBarColor
prop to assign color based on value.
getBarColor
function is called with two arguments: value and series object. It should return a color
string (theme color reference or any valid CSS color value).
import { BarChart } from '@mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={data}
dataKey="month"
getBarColor={(value) => (value > 700 ? 'teal.8' : 'red.8')}
series={[{ name: 'Laptops', color: 'gray.6' }]}
/>
);
}
Button.GroupSection and ActionIcon.GroupSection
ActionIcon.GroupSection
and Button.GroupSection
are new components that
can be used in ActionIcon.Group
/Button.Group
to create sections that are
not ActionIcon
/Button
components:
import { IconChevronDown, IconChevronUp } from '@tabler/icons-react';
import { ActionIcon } from '@mantine/core';
import { useCounter } from '@mantine/hooks';
function Demo() {
const [value, { increment, decrement }] = useCounter(135, { min: 0 });
return (
<ActionIcon.Group>
<ActionIcon variant="default" size="lg" radius="md" onClick={decrement}>
<IconChevronDown color="var(--mantine-color-red-text)" />
</ActionIcon>
<ActionIcon.GroupSection variant="default" size="lg" bg="var(--mantine-color-body)" miw={60}>
{value}
</ActionIcon.GroupSection>
<ActionIcon variant="default" size="lg" radius="md" onClick={increment}>
<IconChevronUp color="var(--mantine-color-teal-text)" />
</ActionIcon>
</ActionIcon.Group>
);
}
Table vertical variant
Table component now support variant="vertical"
:
import { Table } from '@mantine/core';
export function Demo() {
return (
<Table variant="vertical" layout="fixed" withTableBorder>
<Table.Tbody>
<Table.Tr>
<Table.Th w={160}>Epic name</Table.Th>
<Table.Td>7.x migration</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Status</Table.Th>
<Table.Td>Open</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Total issues</Table.Th>
<Table.Td>135</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Total story points</Table.Th>
<Table.Td>874</Table.Td>
</Table.Tr>
<Table.Tr>
<Table.Th>Last updated at</Table.Th>
<Table.Td>September 26, 2024 17:41:26</Table.Td>
</Table.Tr>
</Table.Tbody>
</Table>
);
}
Table tabular numbers
Table component now supports tabularNums
prop to render numbers in tabular style. It sets
font-variant-numeric: tabular-nums
which makes numbers to have equal width.
This is useful when you have columns with numbers and you want them to be aligned:
import { NumberFormatter, Table } from '@mantine/core';
const data = [
{ product: 'Apples', unitsSold: 2214411234 },
{ product: 'Oranges', unitsSold: 9983812411 },
{ product: 'Bananas', unitsSold: 1234567890 },
{ product: 'Pineapples', unitsSold: 9948810000 },
{ product: 'Pears', unitsSold: 9933771111 },
];
function Demo() {
const rows = data.map((item) => (
<Table.Tr key={item.product}>
<Table.Td>{item.product}</Table.Td>
<Table.Td>
<NumberFormatter value={item.unitsSold} thousandSeparator />
</Table.Td>
</Table.Tr>
));
return (
<Table tabularNums>
<Table.Thead>
<Table.Tr>
<Table.Th>Product</Table.Th>
<Table.Th>Units sold</Table.Th>
</Table.Tr>
</Table.Thead>
<Table.Tbody>{rows}</Table.Tbody>
</Table>
);
}
Update function in modals manager
Modals manager now supports modals.updateModal
and modals.updateContextModal
function to update modal after it was opened:
import { Button } from '@mantine/core';
import { modals } from '@mantine/modals';
function Demo() {
return (
<Button
onClick={() => {
const modalId = modals.open({
title: 'Initial Modal Title',
children: <Text>This text will update in 2 seconds.</Text>,
});
setTimeout(() => {
modals.updateModal({
modalId,
title: 'Updated Modal Title',
children: (
<Text size="sm" c="dimmed">
This is the updated content of the modal.
</Text>
),
});
}, 2000);
}}
>
Open updating modal
</Button>
);
}
useForm submitting state
use-form hook now supports form.submitting
field
and form.setSubmitting
function to track form submission state.
form.submitting
field will be set to true
if function passed to
form.onSubmit
returns a promise. After the promise is resolved or rejected,
form.submitting
will be set to false
:
import { useState } from 'react';
import { Button, Group, Stack, Text, TextInput } from '@mantine/core';
import { useForm } from '@mantine/form';
const asyncSubmit = (values: any) =>
new Promise((resolve) => setTimeout(() => resolve(values), 3000));
function Demo() {
const form = useForm({
mode: 'uncontrolled',
initialValues: { name: 'John' },
});
const [completed, setCompleted] = useState(false);
const handleSubmit = async (values: typeof form.values) => {
await asyncSubmit(values);
setCompleted(true);
};
if (completed) {
return (
<Stack>
<Text>Form submitted!</Text>
<Button onClick={() => setCompleted(false)}>Reset to initial state</Button>
</Stack>
);
}
return (
<form onSubmit={form.onSubmit(handleSubmit)}>
<TextInput
withAsterisk
label="Name"
placeholder="Your name"
key={form.key('name')}
disabled={form.submitting}
{...form.getInputProps('name')}
/>
<Group justify="flex-end" mt="md">
<Button type="submit" loading={form.submitting}>
Submit
</Button>
</Group>
</form>
);
}
You can also manually set form.submitting
to true
or false
:
import { useForm } from '@mantine/form';
const form = useForm({ mode: 'uncontrolled' });
form.submitting; // -> false
form.setSubmitting(true);
form.submitting; // -> true
form.setSubmitting(false);
form.submitting; // -> false
useForm onSubmitPreventDefault option
use-form hook now supports onSubmitPreventDefault
option.
This option is useful if you want to integrate useForm
hook with server actions.
By default, event.preventDefault()
is called on the form onSubmit
handler.
If you want to change this behavior, you can pass onSubmitPreventDefault
option
to useForm
hook. It can have the following values:
always
(default) - always callevent.preventDefault()
never
- never callevent.preventDefault()
validation-failed
- callevent.preventDefault()
only if validation failed
import { useForm } from '@mantine/form';
const form = useForm({
mode: 'uncontrolled',
onSubmitPreventDefault: 'never',
});
Subtle RichTextEditor variant
RichTextEditor component now supports subtle
variant:
import Highlight from '@tiptap/extension-highlight';
import Underline from '@tiptap/extension-underline';
import { useEditor } from '@tiptap/react';
import StarterKit from '@tiptap/starter-kit';
import { RichTextEditor } from '@mantine/tiptap';
const content = '<p>Subtle rich text editor variant</p>';
function Demo() {
const editor = useEditor({
extensions: [StarterKit, Underline, Highlight],
content,
});
return (
<RichTextEditor editor={editor} variant="subtle">
<RichTextEditor.Toolbar sticky stickyOffset={60}>
<RichTextEditor.ControlsGroup>
<RichTextEditor.Bold />
<RichTextEditor.Italic />
<RichTextEditor.Underline />
<RichTextEditor.Strikethrough />
<RichTextEditor.ClearFormatting />
<RichTextEditor.Highlight />
<RichTextEditor.Code />
</RichTextEditor.ControlsGroup>
</RichTextEditor.Toolbar>
<RichTextEditor.Content />
</RichTextEditor>
);
}
onExitTransitionEnd and onEnterTransitionEnd
Modal and Drawer components now support onExitTransitionEnd
and onEnterTransitionEnd
prop...
7.14.3
What's Changed
[@mantine/core]
Slider: FixrestrictToMarks
prop not working with arrow and Home/End keys correctly[@mantine/core]
Checkbox: Fix Checkbox.Card component not working withform.getInputProps
[@mantine/core]
Tree: AddcheckOnSpace
prop support (#7132)[@mantine/core]
ScrollArea: Fix opacity style ofthumb
being too specific (#7149)[@mantine/dates]
AddwithWeekNumbers
prop support to all components based on Calendar (#7179)[@mantine/core]
Replace globalJSX
types withReact.JSX
to support React 19 types (#7178)
New Contributors
Full Changelog: 7.14.2...7.14.3
7.14.2
What's Changed
[@mantine/core]
AddonEnterTranstionEnd
andonExitTransitionEnd
props support to Modal, Drawer and Popover components[@mantine/charts]
DonutChart: FixvalueFormatter
prop not working, addlabelsType
prop support (#7153)[@mantine/charts]
BarChart: Fix incorrect labels positions in some cases (#7160)[@mantine/core]
PasswordInput: FixvisibilityToggleButtonProps.variant
prop being ignored (#7144)[@mantine/core]
Improvewindow.matchMedia
usage to support test environments withoutmatchMedia
support (#7147)[@mantine/core]
Fix arrow overlaying Popover, Tooltip and HoverCard content in some cases (#7148)[@mantine/form]
AddonSubmitPreventDefault
option support (#7142)[@mantine/core]
TypographyStylesProvider: Fix incorrect lists styles[@mantine/notifications]
Fix notifications with bottom-right and top-right positions shifting when modal/drawer is opened[@mantine/core]
FileInput: Add missing placeholder Styles API reference[@mantine/core]
Update floating-ui, react-textarea-autosize and type-fest dependencies to the latest version[@mantine/modals]
AddupdateModal
andupdateContextModal
functions (#7104)[@mantine/tiptap]
Fix too specific styles that prevented controls border-radius override without !important[@mantine/tiptap]
Fix disabled controls having hover effects and pointer cursor[@mantine/core]
FileInput: Add missingcomponent
prop[@mantine/core]
AngleSlider: Fix page being scrolled when the value is being changed on mobile[@mantine/core]
NumberInput: Fix increment/decrement controls not being visible if the value is number like string[@mantine/core]
NavLink: Fix collapse for nested links being rendered even if there are no child links (#7133)[@mantine/dates]
FixdefaultDate
prop being ignore in YearPickerInput and MonthPickerInput components (#7108)[@mantine/dropzone]
Updatereact-dropzone-esm
to the latest version
New Contributors
- @lsanwick made their first contribution in #7147
- @minosss made their first contribution in #7160
- @me-gusta-v made their first contribution in #7153
Full Changelog: 7.14.1...7.14.2
7.14.1
What's Changed
[@mantine/hooks]
use-hotkeys: Fix+
sign not being supported (syntax:shift+[plus]
) (#7123)[@mantine/core]
Popover: Fixstyles
prop being handled incorrectly (#7120)[@mantine/charts]
FixvalueFormatter
not working in point labels of LineChant, AreaChart and CompositeChart components (#6989)[@mantine/core]
Popover: FixonOpen
andonClose
callbacks being called on each render (#7022, #7111, #7115)[@mantine/core]
Menu: FixBlocked aria-hidden
warning when an interactive element is clicked outside of the Menu.Dropdown when the Menu is opened (#7035)[@mantine/core]
Fixtop
style prop not being conveted to rem (#7112)[@mantine/dates]
DateInput: FixdefaultDate
prop not working when the value is set tonull
(#4426)[@mantine/core]
NumberInput: Remove increment/decrement control if value cannot be safely incremented (is larger than Number.MAX_SAFE_INTEGER) (#7033)[@mantine/core]
NumberInput: Fix value being reverted to start value if intial component value is a string[@mantine/notifications]
FixNotificationData
type being too broad (#7097)[@mantine/core]
RingProgress: AddtransitionDuration
prop support (#7103)[@mantine/core]
TagsInput: Fix incorrect tag remove logic with duplicated tags (#7105)[@mantine/core]
Combobox: Fix incorrectaria-controls
attribute being set on the target element when the dropdown is closed (#7114)
New Contributors
Full Changelog: 7.14.0...7.14.1
7.14.0 π
View changelog with demos on mantine.dev website
AngleSlider component
New AngleSlider component:
import { AngleSlider, Group } from '@mantine/core';
function Demo() {
return (
<Group p="lg" gap={50}>
<AngleSlider
aria-label="Angle slider"
formatLabel={(value) => `${value}Β°`}
size={100}
restrictToMarks
marks={[
{ value: 0 },
{ value: 45 },
{ value: 90 },
{ value: 135 },
{ value: 180 },
{ value: 225 },
{ value: 270 },
{ value: 315 },
]}
/>
<AngleSlider
aria-label="Angle slider"
formatLabel={(value) => `${value}Β°`}
size={100}
marks={[
{ value: 0, label: '0Β°' },
{ value: 45, label: '45Β°' },
{ value: 90, label: '90Β°' },
{ value: 135, label: '135Β°' },
{ value: 180, label: '180Β°' },
{ value: 225, label: '225Β°' },
{ value: 270, label: '270Β°' },
{ value: 315, label: '315Β°' },
]}
/>
</Group>
);
}
RadialBarChart component
New RadialBarChart component:
import { RadialBarChart } from '@mantine/charts';
const data = [
{ name: '18-24', value: 31.47, color: 'blue.7' },
{ name: '25-29', value: 26.69, color: 'orange.6' },
{ name: '30-34', value: 15.69, color: 'yellow.7' },
{ name: '35-39', value: 8.22, color: 'cyan.6' },
{ name: '40-49', value: 8.63, color: 'green' },
{ name: '50+', value: 2.63, color: 'pink' },
{ name: 'unknown', value: 6.67, color: 'gray' },
];
function Demo() {
return <RadialBarChart data={data} dataKey="value" h={280} withLabels />;
}
FunnelChart component
New FunnelChart component:
import { FunnelChart } from '@mantine/charts';
const data = [
{ name: 'USA', value: 400, color: 'indigo.6' },
{ name: 'India', value: 300, color: 'yellow.6' },
{ name: 'Japan', value: 100, color: 'teal.6' },
{ name: 'Other', value: 200, color: 'gray.6' },
];
function Demo() {
return <FunnelChart data={data} />;
}
Modal.Stack and Drawer.Stack components
New Modal.Stack and Drawer.Stack components simplify usage of multiple modals/drawers at the same time.
Use Modal.Stack
component to render multiple modals at the same time.
Modal.Stack
keeps track of opened modals, manages z-index values, focus trapping
and closeOnEscape
behavior. Modal.Stack
is designed to be used with useModalsStack
hook.
Differences from using multiple Modal
components:
Modal.Stack
manages z-index values β modals that are opened later will always have higher z-index value disregarding their order in the DOMModal.Stack
disables focus trap andEscape
key handling for all modals except the one that is currently opened- Modals that are not currently opened are present in the DOM but are hidden with
opacity: 0
andpointer-events: none
- Only one overlay is rendered at a time
import { Button, Group, Modal, useModalsStack } from '@mantine/core';
function Demo() {
const stack = useModalsStack(['delete-page', 'confirm-action', 'really-confirm-action']);
return (
<>
<Modal.Stack>
<Modal {...stack.register('delete-page')} title="Delete this page?">
Are you sure you want to delete this page? This action cannot be undone.
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={() => stack.open('confirm-action')} color="red">
Delete
</Button>
</Group>
</Modal>
<Modal {...stack.register('confirm-action')} title="Confirm action">
Are you sure you want to perform this action? This action cannot be undone. If you are
sure, press confirm button below.
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={() => stack.open('really-confirm-action')} color="red">
Confirm
</Button>
</Group>
</Modal>
<Modal {...stack.register('really-confirm-action')} title="Really confirm action">
Jokes aside. You have confirmed this action. This is your last chance to cancel it. After
you press confirm button below, action will be performed and cannot be undone. For real
this time. Are you sure you want to proceed?
<Group mt="lg" justify="flex-end">
<Button onClick={stack.closeAll} variant="default">
Cancel
</Button>
<Button onClick={stack.closeAll} color="red">
Confirm
</Button>
</Group>
</Modal>
</Modal.Stack>
<Button onClick={() => stack.open('delete-page')}>Open modal</Button>
</>
);
}
useModalsStack/useDrawersStack hooks
useModalsStack
hook provides an easy way to control multiple modals at the same time.
It accepts an array of unique modals ids and returns an object with the following properties:
interface ModalStackReturnType<T extends string> {
// Current opened state of each modal
state: Record<T, boolean>;
// Opens modal with the given id
open: (id: T) => void;
// Closes modal with the given id
close: (id: T) => void;
// Toggles modal with the given id
toggle: (id: T) => void;
// Closes all modals within the stack
closeAll: () => void;
// Returns props for modal with the given id
register: (id: T) => {
opened: boolean;
onClose: () => void;
stackId: T;
};
}
Example of using useModalsStack
with Modal
component:
import { Modal, useModalsStack } from '@mantine/core';
function Demo() {
const stack = useModalsStack(['first', 'second']);
return (
<>
<Modal {...stack.register('first')}>First</Modal>
<Modal {...stack.register('second')}>Second</Modal>
<Button onClick={() => stack.open('first')}>Open first</Button>
</>
);
}
Restrict Slider selection to marks
Slider component now supports restrictToMarks
prop that restricts slider value to marks only.
Note that in this case step
prop is ignored:
import { Slider } from '@mantine/core';
function Demo() {
return (
<Slider
restrictToMarks
defaultValue={25}
marks={Array.from({ length: 5 }).map((_, index) => ({ value: index * 25 }))}
/>
);
}
BarChart SVG pattern fill
BarChart now can be used with SVG pattern fill:
import { BarChart } from '@mantine/charts';
import { data } from './data';
function Demo() {
return (
<BarChart
h={300}
data={mixedStackData}
dataKey="month"
series={[
{ name: 'Smartphones', color: 'url(#crosshatch)', stackId: 'a' },
{ name: 'Laptops', color: 'blue.6', stackId: 'b' },
{ name: 'Tablets', color: 'url(#diagonalStripes)', stackId: 'b' },
]}
>
<defs>
<pattern
id="diagonalStripes"
patternUnits="userSpaceOnUse"
width={6}
height={8}
patternTransform="rotate(45)"
>
<rect
width="2"
height="8"
transform="translate(0,0)"
fill="color-mix(in lch, var(--mantine-color-teal-6) 70%, rgba(0,0,0,0))"
/>
</pattern>
<pattern id="crosshatch" patternUnits="userSpaceOnUse" width={8} height={8}>
<path
d="M 0 0 L 8 0 L 8 8 L 0 8 Z"
fill="none"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
<path
d="M 0 0 L 8 8"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
<path
d="M 8 0 L 0 8"
stroke="color-mix(in lch, var(--mantine-color-indigo-6) 70%, rgba(0,0,0,0))"
strokeWidth="1"
/>
</pattern>
</defs>
</BarChart>
);
}
Help center updates
- New Can I use nested inline styles with Mantine components? question
- New Can I use PostCSS function in inline styles? question
- New Why my Carousel slides are in vertical orientation? question
- New My buttons are transparent and the background is visible only on hover, what is wrong? question
- New Can I have different primary color for light and dark color schemes? question
- New How can I change body background color? question
- New My Popover dropdown closes when I click on the dropdown of nested Popover question
Other changes
- useTree hook now accepts
onNodeExpand
andonNodeCollapse
callbacks - useTree hook now returns additional
checkAllNodes
,uncheckAllNodes
andsetCheckedState
handlers - [Tree](https://mantine.dev/core/tre...
7.13.5
What's Changed
[@mantine/core]
Update peer dependencies range for react to allow react and react-dom 19 as dependcy[@mantine/core]
Fix error in Next.js with React 19 related to ref prop usage in Tooltip, Popover and Combobox components (#7028)[@mantine/core]
FileButton: FixresetRef
throwing error if the component is contidionally rendered (#7025)[@mantine/core]
Button: Fix incorrect focus styles of Button.Group (#6992)[@mantine/charts]
CompositeCharts: Fix missingkey
prop error (#7020)[@mantine/core]
NumberInput: Fixmin
/max
value being bypassed if0
has been entered as the first digit (#7021)[@mantine/form]
Add useCallback wrapper toform.resetDirty
(#7029)[@mantine/core]
Combobox: Fix incorrect logic of selected options when the dropdown is closed without selecting value (#7039)[@mantine/charts]
BarChart: AddbarLabelColor
prop support[@mantine/charts]
BarChart: Fix bar label being positioned incorrectly with horizontal orientation (#7042)[@mantine/charts]
RadarChart: Fix incorrect series prop type (#7046)[@mantine/form]
Add additional type exports from the package (#7062)[@mantine/core]
Tabs: FixtabIndex
not being overridden by Tabs.Tab props (#7081)[@mantine/dates]
DatePickerInput: FixnextLabel
andpreviousLabel
props not being handled correctly (#7082)[@mantine/charts]
Update recharts dependency to the latest version to improve Next.js 15 and React 19 support
New Contributors
- @pfo-omicsstudio made their first contribution in #7062
- @zaphire12 made their first contribution in #7046
- @fsd-niraj made their first contribution in #7042
- @MariaBanaszkiewicz made their first contribution in #7039
- @anthony-dandrea made their first contribution in #7029
- @owenmoogk made their first contribution in #7021
- @mariakax3 made their first contribution in #7020
Full Changelog: 7.13.4...7.13.5
7.13.4
Next.js 15 support
The documentation and templates have been updated to support Next.js 15 release, for more information visit β https://mantine.dev/guides/next/
Other changes
[@mantine/dates]
DatePickerInput: Fix dropdown staying opened after thedisabled
prop has been set (#7017)[@mantine/core]
NumberInput: Fix incorrect ref node type[@mantine/core]
Popover: FixonClose
event firing incorrectly
Full Changelog: 7.13.3...7.13.4
7.13.3
What's Changed
[@mantine/core]
Fix cqw, cqh, cqi, cqb, cqmax and cqmin size units not being handled correctly in style props[@mantine/dates]
DateTimePicker: RemovedefaultValue
andvalue
props fromtimeInputProps
types to avoid confusion (#6959)[@mantine/dropzone]
Setdata-disabled
attribute on the root element ifdisabled
prop is set (#6946)[@mantine/core]
Modal: Fix default Modal.Root transition being different from Modal component (#6967)[@mantine/core]
ColorInput: FixpopoverProps={{ opned: true }}
not working (#6968)[@mantine/charts]
FixvalueFormatter
prop not working correctly withorientation="vertical"
in BarChart, AreaChart and LineChart components (#6979)[@mantine/core]
Popover: FixonOpen
not being called with controlledopened
state (#6981)[@mantine/core]
NumberInput: Fix incorrectmin
prop handling for large numbers (#6985)[@mantine/dropzone]
Add HEIF image mime type (#6977)[@mantine/core]
PasswordInput: Fix cursor shifting when the visibility button is clicked on touch devices (#6971)
New Contributors
- @eungyeole made their first contribution in #6957
- @thaynam made their first contribution in #6977
Full Changelog: 7.13.2...7.13.3
7.13.2
What's Changed
[@mantine/dates]
DateInput: FixonClick
handler passed togetDayProps
not being called[@mantine/core]
Badge: Fix incorrect cursor styles[@mantine/core]
FileInput: AddresetRef
prop support[@mantine/core]
Popover: FixonClose
function being called twice with controlled state[@mantine/spotlight]
Fix selected index not being reset when the spotlight is closed (#6842)[@mantine/core]
Popover: Improve performance of scrolling when large number of closed Popovers are rendered on the same page (#6771)[@mantine/core]
Pagination: FixgetItemProps
not being able to override controlchildren
prop (#6789)[@mantine/core]
ScrollArea: FixonBottomReached
not being called if the viewport has decimal px height value (#6792)[@mantine/hooks]
use-in-viewport: Fix hook not reacting to node changes (#6926)[@mantine/core]
NumberInput: Fix incorrect handling of decimal numbers with more than 15 decimal places (#6823)[@mantine/core]
Slider: Fix marks not being aligned correctly (#6909)[@mantine/hooks]
use-fullscreen: Fix target node changes being ignored (#6923)[@mantine/core]
Badge: Fix incorrect sections alignment forvariant="dot"
[@mantine/core]
TagsInput: Fix incorrect logic of removing duplicate tags (#6922)[@mantine/core]
AppShell: Fix error when Suspense is rendered inside AppShell (#6927)[@mantine/core]
Menu: FixonKeyDown
prop not working in Menu.Dropdown component (#6910)
New Contributors
- @RabeeAbuBaker made their first contribution in #6927
- @linspw made their first contribution in #6923
- @fellmann made their first contribution in #6926
- @maclementED made their first contribution in #6842
Full Changelog: 7.13.1...7.13.2