## Version 2.5.0 Release announcement for Dash Mantine Components v2.5.0 Category: Releases Jan 26, 2026 Based on Mantine 8.3.13 See [Changelog](https://github.com/snehilvj/dash-mantine-components/releases/tag/2.5.0) ### New TableofContents Component Use the `TableOfContents` component to display a table of contents similar to the sidebar in these docs. The component tracks scroll position and highlights current heading in the list. Check out all the new features in the [Table Of Contents docs](/components/table-of-contents). *This component was added by @deadkex in [PR #513](https://github.com/snehilvj/dash-mantine-components/pull/513)* ### Custom DMC components You can now build custom Dash components that use Mantine the same way Dash Mantine Components does. Previously, custom components built with the standard Dash component template had to bundle their own copy of Mantine. Because of this, they could not access the `MantineProvider` used by DMC, which meant themes, styles, and context did not work as expected. DMC now exports `MantineHooks` and `MantineCore`, allowing custom components to use the same Mantine hooks, utilities, and context as the built-in components. This enables a wide range of custom components, such as building advanced `Select` or `MultiSelect` on top of Mantine’s [Combobox](https://mantine.dev/core/combobox/), while keeping theme and behavior consistent inside a Dash app. For examples and step-by-step instructions, see the custom DMC components in this [GitHub repository](https://github.com/AnnMarieW/dmc_custom_components). *This feature was added by @BSd3v in [PR# 653](https://github.com/snehilvj/dash-mantine-components/pull/653)* ### Improved typing The Python types for DMC components have been improved to better reflect supported props and values. This provides more accurate type hints, better autocomplete, and clearer static checking in editors like VS Code and PyCharm. ### New in the docs: DatePicker presets This feature has been available since dash-mantine-components==2.1.0, but was just added to the documentation thanks to first time contributor [@EstanVW25](https://github.com/snehilvj/dmc-docs/pull/280) [DatePicker](https://www.dash-mantine-components.com/components/datepicker#presets), [DatePickerInput](https://www.dash-mantine-components.com/components/datepicker#presets) and [DateTimePicker](https://www.dash-mantine-components.com/components/datetimepicker#presets) now support `presets` prop that allows you to add custom date presets. Presets are displayed next to the calendar: ```python from datetime import date, timedelta from dateutil.relativedelta import relativedelta import dash_mantine_components as dmc today = date.today() component = dmc.Center( dmc.DatePicker( presets=[ { "value": (today - timedelta(days=1)).isoformat(), "label": "Yesterday", }, { "value": today.isoformat(), "label": "Today", }, { "value": (today + timedelta(days=1)).isoformat(), "label": "Tomorrow", }, { "value": (today + relativedelta(months=1)).isoformat(), "label": "Next month", }, { "value": (today + relativedelta(years=1)).isoformat(), "label": "Next year", }, { "value": (today - relativedelta(months=1)).isoformat(), "label": "Last month", }, { "value": (today - relativedelta(years=1)).isoformat(), "label": "Last year", }, ] ) ) ``` ### Other notable updates * Mantine patch updates from 8.3.10 through 8.3.13. See the [Mantine Releases](https://github.com/mantinedev/mantine/releases) for details. - AppShell: Add static `mode` support for nested app shells - Added `selectFirstOptionOnDropdownOpen` and `openOnFocus`props to Combobox based components. - Fixed `PinInput` so that `value` can be set initially and in a callback ### Thanks Special thanks to: * [@EstanVW25](https://github.com/EstanVW25) first time contributor for adding the Datpeick presets docs. * [@deadkex](https://github.com/deadkex) for your dedication to getting the TableofContent PR over the finishline! * [@BSd3v](https://github.com/BSd3v) for PR #653 to make it possible to make custom DMC components. * [@alexcjohnson](https://github.com/alexcjohnson) for your thoughtful feedback during code reviews.