Skip to content

Migrate to Mantine v9 and Next.js 16#804

Open
pfo-omicsstudio wants to merge 1 commit into
icflorescu:mainfrom
pfo-omicsstudio:mantine-v9-migration
Open

Migrate to Mantine v9 and Next.js 16#804
pfo-omicsstudio wants to merge 1 commit into
icflorescu:mainfrom
pfo-omicsstudio:mantine-v9-migration

Conversation

@pfo-omicsstudio
Copy link
Copy Markdown
Contributor

Mantine v9 requires React's useEffectEvent, which is absent from Next.js 15's bundled React, so Next.js is bumped to 16 as well.

Library (package/):

  • Collapse: rename in prop to expanded
  • useDataTableColumnToggle, useDataTableColumnReorder: handle useLocalStorage returning undefined in v9; narrow setter types
  • DataTableHeaderCell: read columnsToggle from context instead of using function updater with setColumnsToggle

Docs site:

  • Grid: rename gutter prop to gap
  • Navbar, AppWrapper: adapt to useElementSize/useResizeObserver returning RefCallback instead of RefObject in v9
  • InternalLink, PageNavigation, HomePageButtons: add 'use client' (Next.js 16 disallows passing component functions across RSC boundary)
  • eslint.config.mjs: drop FlatCompat wrapper (eslint-config-next v16 exports flat config natively)

Dependencies:

  • @mantine/* ^8.3.13 → ^9.1.1
  • next ^15.5.9 → ^16.2.5
  • Peer deps @mantine/core, @mantine/hooks >=8.3 → >=9.0
  • mantine-contextmenu kept at ^8.3.13 since there's no v9 release yet

Note: This migration was authored with the assistance of Claude Code.
It is intended to help @icflorescu accelerate the Mantine v9 upgrade.

@pfo-omicsstudio
Copy link
Copy Markdown
Contributor Author

Also I extracted HomePageButtons into a client component because Next.js 16 disallows passing component functions like component={Link} across the RSC serialization boundary in server components (in case you were wondering why that change was made)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant