The following is a list of notable changes to the Mantine ContextMenu component.
Minor versions that are not listed in the changelog are minor bug fixes and small internal improvements or refactorings.
- Update dev dependencies to ensure compatibility with Mantine 7.15.3.
- Remove unnecessary menu overlay CSS background-color property
- Update dev dependencies to ensure compatibility with Mantine 7.15.1 and Next.js 15 GA.
- Update dev dependencies to ensure compatibility with Mantine 7.14.2 and Next.js 15
- Minor docs app updates to ensure compatibility with Next.js 15
- Update build workflow Node.js version
- Update dev dependencies to ensure compatibility with Mantine 7.12.2
- Update dev dependencies
- Update dev dependencies
- Emphasize that PRs should target the
next
branch in the README
- Update dev dependencies to ensure compatibility with Mantine 7.11.1
- Update dev dependencies to ensure compatibility with Mantine 7.11.0
- Update dev dependencies to ensure compatibility with Mantine 7.10.2 and Next.js 14.2.4
- Update dev dependencies to ensure compatibility with Mantine 7.10.1
- Update dev dependencies to ensure compatibility with Mantine 7.9.1
- Fix iOS touch events
- Update dev dependencies to ensure compatibility with Mantine 7.9
- Update dev dependencies to ensure compatibility with Mantine 7.8.1, Next.js 14.2.3 & React 18.3
- Update dev dependencies to ensure compatibility with Mantine 7.8.x & Next.js 14.2
- Implement iOS touch events (thanks to Juno Nguyen, see #152)
- Update dev dependencies to ensure compatibility with Mantine 7.7.x
- Update dev dependencies to ensure compatibility with Mantine 7.6.1
- Update dev dependencies to ensure compatibility with Mantine 7.6.0
- Update dev dependencies to ensure compatibility with Mantine 7.5.0
- Update dev dependencies to ensure compatibility with Mantine 7.4.2 and Next.js 14.1
- Switch to Next
turbo
in development mode
- Ensure compatibility with Mantine 7.4
- Minor docs improvements
- Minor docs improvements
- Improve submenu showing logic
- Fix a bug that prevented the submenus from being opened on mobile devices (see #129)
- Update deps to ensure compatibility with Mantine 7.3
- Update fine-grained styling example to ensure compatibility with Mantine 7.3
- Switch to
tsup
building, to fix usage issues with Remix & Next.js - Switch to using an overlay instead of
useClickOutside
hook, to fix this issue
- Fix package exports
- Switch to
esm
export only, to fix this issue: icflorescu/mantine-datatable#451
This is a potentially breaking change and I'm sorry to do it in a patch release, but the library needs to work with Next.js pages router
- Add
hidden
prop to menu items, to allow conditional hiding
- The first stable release of the V7.1 is here! 🎉
- The object returned by the
useContextMenu
hook now includes anisContextMenuVisible
boolean property
- BREAKING CHANGE: Change the types of
style
andstyles
properties toMantineStyleProp
andStylesRecord<'root' | 'item' | 'divider', MantineStyleProp>
respectively, to match Mantine's approach to styling - BREAKING CHANGE: the
useContextMenu
hook now returns an object withshowContextMenu
andhideContextMenu
functions instead of a function
- Remove
borderRadius
andshadow
from the options provided toshowContextMenu
, as customizing them through the<ContextMenuProvider>
props should be enough - Add a
submenuDelay
prop to the<ContextMenuProvider>
component, to control the delay before a submenu is shown when hovering over a menu item that has a submenu - Substantial improvements to the documentation website
- The V7 alpha release is here! 🎉
- The V7 is a major rewrite of the library internals, with the following goals in mind:
- Mantine V7 compatibility - switch the styling approach from CSS-in-JS to PostCSS (or PostCSS modules)
- Make the repo easier to maintain by switching from a monorepo approach to a single-package that includes the source code, documentation and examples; this should also make it easier for new contributors to get started
- Streamline the build process - switch from
esbuild
to plaintsc
andpostcss
commands - Rewrite the entire documentation website to make use of Next.js app router and React Server Components; this should also ensure the package will work properly in such an environment
- Allow imperative hiding by using the
hideContextMenu
function that is exposed viauseContextMenu()
; useContextMenu()
is now also an object that can be destructured into 3 properties:showContextMenu
,hideContextMenu
, andisContextMenuVisible
.
- Bump version to
6.0.0
to match the compatible versions of@mantine/hooks
and@mantine/core
. From now on, we'll make sure to keep the major version ofmantine-contextmenu
in sync with the major version of Mantine core - Implement submenus (nested context menus) support (see #68), many thanks to @Corvimia for her contribution 🙏 (see #69)
- Switch to
useResizeObserver
instead ofuseElementSize
to properly take into account the padding and border when calculating the menu position
- Lock
@mantine/core
and@mantine/hooks
peer dependencies to>=6 <=6.0.17 || >=6.0.19
, to avoid a bug introduced in6.0.18
and fixed in6.0.19
- Fix positioning regression introduced by using a Portal
- Use a Portal to render the context menu
- Relax peer dependencies (to Mantine 6.x)
- Expose
ContextMenu
,ContextMenuItem
andContextMenuDivider
components
- Stop event propagation (fix issue #18)
- Add custom content support
- Initial release