{"owner":"mantinedev","repo":"mantine","hasSkills":true,"totalSkillsCount":32,"totalTokensCount":4737,"categories":["root-instruction","claude-rule","plugin-manifest"],"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md","CLAUDE.md","packages/@docs/demos/README.md","packages/@docs/styles-api/README.md","packages/@mantine-tests/core/README.md","packages/@mantine-tests/dates/README.md","packages/@mantine/carousel/README.md","packages/@mantine/charts/README.md","packages/@mantine/code-highlight/README.md","packages/@mantine/colors-generator/README.md","packages/@mantine/core/README.md","packages/@mantine/dates/README.md","packages/@mantine/dropzone/README.md","packages/@mantine/emotion/README.md","packages/@mantine/form/README.md","packages/@mantine/hooks/README.md","packages/@mantine/lightbox/README.md","packages/@mantine/mcp-server/README.md","packages/@mantine/modals/README.md","packages/@mantine/notifications/README.md","packages/@mantine/nprogress/README.md","packages/@mantine/schedule/README.md","packages/@mantine/spotlight/README.md","packages/@mantine/store/README.md","packages/@mantine/tiptap/README.md","packages/@mantine/vanilla-extract/README.md","packages/@mantinex/colors-generator/README.md","packages/@mantinex/demo/README.md","packages/@mantinex/dev-icons/README.md","packages/@mantinex/mantine-header/README.md","packages/@mantinex/mantine-logo/README.md","packages/@mantinex/mantine-meta/README.md"],"skills":{"AGENTS.md":"## Links\n\n## Finalizing Your Work\n\nChoose these commands to run after finalizing your work:\n\n```bash\n# Always run these commands before finalizing your work\nnpm run typecheck\nnpx oxlint -c oxlint.config.mjs path/to/changed/files\nnpm run format:write:files path/to/changed/files\nnpm run build\n\n# Run tests for specific path related to your changes\nnpm run jest @mantine/charts\nnpm run jest path/to/changed/file.test.ts\n\n# Run stylelint only if you have made changes to styles or CSS files\nnpm run stylelint\n\n# Run this script if you've changed dependencies in any package.json\nnpm run syncpack\n```\n\nAfter running the commands above, check if `codex` CLI is available (`command -v codex`). If it is, run `/codex-code-review` to get an automated code review of unstaged changes and apply fixes.\n\n## Code Style\n\n**Comments Guidelines:**\n- **Do not include inline comments** that describe logic or implementation details unless explicitly requested\n- **Always preserve documentation comments** on interfaces, types, and function parameters (JSDoc-style comments with `/** */`)\n- The codebase prefers clean, self-documenting code for implementation\n- Type definitions and public APIs should maintain their documentation comments\n\n## Commit conventions\n\nMantine is a monorepo, thus it is important to write correct commit messages to keep the git history clean and consistent. All commits made in this repository are divided into 3 groups:\n\n- package commits – Related to any particular package.\n- docs commits – Related to the documentation.\n- core commits – Only related to repository tooling and not associated with any package.\n\nCommit messages consists of 3 parts:\n```\n[area] Optional title: Message\n```\n\nExamples:\n- `[core] Fix documentation deployment script` – Change made in repository script, it is not related to documentation or any package\n- `[mantine.dev] Update report issues link` – Change related to documentation website\n- `[@mantine/core] Button: Add theme focus styles` – Change in @mantine/core package at Button component\n- `[@mantine/hooks] use-list-state: Add remove handler` – Change in @mantine/hooks package at use-list-state hook\n","CLAUDE.md":"## Links\n\n## Finalizing Your Work\n\nRun these after every edit cycle — they take seconds:\n\n```bash\nnpx oxlint -c oxlint.config.mjs path/to/changed/files\nnpm run format:write:files path/to/changed/files\n\n# Run tests for specific path related to your changes\nnpm run jest @mantine/charts\nnpm run jest path/to/changed/file.test.ts\n```\n\nRun these **once**, before pushing or handing the work back — not after every commit:\n\n```bash\nnpm run typecheck   # ~30s\nnpm run build       # ~5-20s\n\n# Run stylelint only if you have made changes to styles or CSS files\nnpm run stylelint\n\n# Run this script if you've changed dependencies in any package.json\nnpm run syncpack\n```\n\nWhen a task produces several commits, a single typecheck + build pass at the end covers all of them. `npm run jest` is ~2s per package, so run it as often as you like — it catches most real breakage long before typecheck would.\n\nAfter running the commands above, check if `codex` CLI is available (`command -v codex`). If it is, run `/codex-code-review` to get an automated code review of unstaged changes and apply fixes.\n\n## Code Style\n\n**Comments Guidelines:**\n- **Do not include inline comments** that describe logic or implementation details unless explicitly requested\n- **Always preserve documentation comments** on interfaces, types, and function parameters (JSDoc-style comments with `/** */`)\n- The codebase prefers clean, self-documenting code for implementation\n- Type definitions and public APIs should maintain their documentation comments\n\n## Writing Documentation\n\nBefore writing or editing `.mdx` pages (`apps/mantine.dev`, `apps/help.mantine.dev`), changelog pages, migration guides or demos in `packages/@docs/demos`, invoke the `mantine-docs` skill and follow it. Before handing the work back, run its checker: `python3 ~/.claude/skills/mantine-docs/scripts/check_docs.py`.\n\nRules that break the page when ignored, for tools that cannot load the skill:\n\n- **Text that explains a demo goes before the demo**, never after it.\n- **Markdown pipe tables do not render** (no `remark-gfm`). Use `<DataTable />` or a list.\n- **`DataTable` cells are rendered as is**: backticks inside a string are displayed literally, use `<code>` elements.\n\n## Tests\n\n**Console output fails tests.** `jsdom.mocks.ts` turns every `console.error` and `console.warn` emitted during a test into a test failure, including React's \"not wrapped in act(...)\" warning. Fix the cause: wrap the update in `act` (use `renderWithAct` from `@mantine-tests/core` or `await act(async () => ...)` for floating-ui positioning and other microtask work), fix the invalid prop, or stabilize the effect. Never mock or filter the console to make the failure go away. A warning that fires between tests is reported on the next test, so read the \"emitted while running\" part of the message to find the test that caused it.\n\n**Jest hides console output when more than one test file runs.** Pass `--verbose` or run a single file to see it. Do not pipe jest output through `tail` or `grep \"Tests:\"` when checking a change; read the failures.\n\n**Verifying a new regression test:** temporarily revert the fix, confirm the test fails, then restore the fix. Do this for tests that cover async, timing or lifecycle behavior — that is where a test silently passes for the wrong reason. Skip it for straightforward assertions, where it is pure overhead.\n\n**`rerender` remounts unless the tree shape matches.** `render()` from `@mantine-tests/core` wraps its argument in a fragment, but `rerender(ui)` does not. Passing a differently shaped tree unmounts and remounts the subtree instead of updating it, so tests that change a prop silently test a fresh mount instead. Wrap `rerender` arguments in `<>...</>` to match:\n\n```tsx\nconst { rerender } = render(<Provider adapter={a}>...</Provider>);\nrerender(<><Provider adapter={b}>...</Provider></>);\n```\n\n**`StrictMode` does not double-invoke effects** in the jest environment, so a test that relies on it to reproduce a double-mount bug will pass whether or not the bug is fixed.\n\n## Commit conventions\n\nMantine is a monorepo, thus it is important to write correct commit messages to keep the git history clean and consistent. All commits made in this repository are divided into 3 groups:\n\n- package commits – Related to any particular package.\n- docs commits – Related to the documentation.\n- core commits – Only related to repository tooling and not associated with any package.\n\nCommit messages consists of 3 parts:\n```\n[area] Optional title: Message\n```\n\nExamples:\n- `[core] Fix documentation deployment script` – Change made in repository script, it is not related to documentation or any package\n- `[mantine.dev] Update report issues link` – Change related to documentation website\n- `[@mantine/core] Button: Add theme focus styles` – Change in @mantine/core package at Button component\n- `[@mantine/hooks] use-list-state: Add remove handler` – Change in @mantine/hooks package at use-list-state hook\n","packages/@docs/demos/README.md":"# Mantine demos\n\nDemo components that are used on mantine.dev website. Not intended for public use.\nNot published on npm.\n","packages/@docs/styles-api/README.md":"# Mantine Styles API data\n\nComponents Styles API data that is used on mantine.dev website. Not intended for public use.\nNot published on npm.\n","packages/@mantine-tests/core/README.md":"# Mantine tests\n\nTest utilities for Mantine components.\n\n## License\n\nMIT\n","packages/@mantine-tests/dates/README.md":"# Mantine dates tests\n\nTest utilities for Mantine components.\n\n## License\n\nMIT\n","packages/@mantine/carousel/README.md":"# Mantine carousel\n\n[![npm](https://img.shields.io/npm/dm/@mantine/carousel)](https://www.npmjs.com/package/@mantine/carousel)\n\nEmbla based carousel\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks @mantine/carousel\n\n# With npm\nnpm install @mantine/core @mantine/hooks @mantine/carousel\n```\n\n## License\n\nMIT\n","packages/@mantine/charts/README.md":"# @mantine/charts\n\n[![npm](https://img.shields.io/npm/dm/@mantine/charts)](https://www.npmjs.com/package/@mantine/charts)\n\nCharts components built with recharts and Mantine\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/charts @mantine/core @mantine/hooks recharts\n\n# With npm\nnpm install @mantine/charts @mantine/core @mantine/hooks recharts\n```\n\n## License\n\nMIT\n","packages/@mantine/code-highlight/README.md":"# Mantine code highlight\n\n[![npm](https://img.shields.io/npm/dm/@mantine/code-highlight)](https://www.npmjs.com/package/@mantine/code-highlight)\n\nCode highlight built with highlight.js and Mantine\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/code-highlight\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/code-highlight\n```\n\n## License\n\nMIT\n","packages/@mantine/colors-generator/README.md":"# @mantine/colors-generator\n\n[![npm](https://img.shields.io/npm/dm/@mantine/colors-generator)](https://www.npmjs.com/package/@mantine/colors-generator)\n\nMantine colors generator\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/colors-generator\n\n# With npm\nnpm install @mantine/colors-generator\n```\n\n## License\n\nMIT\n","packages/@mantine/core/README.md":"# Mantine core\n\n[![npm](https://img.shields.io/npm/dm/@mantine/core)](https://www.npmjs.com/package/@mantine/core)\n\nMantine core components library.\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","packages/@mantine/dates/README.md":"# Mantine dates\n\n[![npm](https://img.shields.io/npm/dm/@mantine/dates)](https://www.npmjs.com/package/@mantine/dates)\n\nCalendars, date and time pickers\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks @mantine/dates dayjs\n\n# With npm\nnpm install @mantine/core @mantine/hooks @mantine/dates dayjs\n```\n\n## License\n\nMIT\n","packages/@mantine/dropzone/README.md":"# Mantine Dropzone\n\n[![npm](https://img.shields.io/npm/dm/@mantine/dropzone)](https://www.npmjs.com/package/@mantine/dropzone)\n\nCapture files from user\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/dropzone @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/dropzone @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","packages/@mantine/emotion/README.md":"# @mantine/emotion\n\n[![npm](https://img.shields.io/npm/dm/@mantine/emotion)](https://www.npmjs.com/package/@mantine/emotion)\n\nEmotion bindings for @mantine/core\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/emotion @mantine/core @mantine/hooks @emotion/react\n\n# With npm\nnpm install @mantine/emotion @mantine/core @mantine/hooks @emotion/react\n```\n\n## License\n\nMIT\n","packages/@mantine/form/README.md":"# Mantine Form\n\n[![npm](https://img.shields.io/npm/dm/@mantine/form)](https://www.npmjs.com/package/@mantine/form)\n\nForm management library\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/form\n\n# With npm\nnpm install @mantine/form\n```\n\n## License\n\nMIT\n","packages/@mantine/hooks/README.md":"# Mantine Hooks\n\n[![npm](https://img.shields.io/npm/dm/@mantine/hooks)](https://www.npmjs.com/package/@mantine/hooks)\n\nA set of react hooks for state and UI management\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks\n\n# With npm\nnpm install @mantine/hooks\n```\n\n## License\n\nMIT\n","packages/@mantine/lightbox/README.md":"# @mantine/lightbox\n\n[![npm](https://img.shields.io/npm/dm/@mantine/lightbox)](https://www.npmjs.com/package/@mantine/lightbox)\n\nFull-screen media lightbox with carousel navigation\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/lightbox @mantine/core @mantine/hooks embla-carousel embla-carousel-react\n\n# With npm\nnpm install @mantine/lightbox @mantine/core @mantine/hooks embla-carousel embla-carousel-react\n```\n\n## License\n\nMIT\n","packages/@mantine/mcp-server/README.md":"# @mantine/mcp-server\n\nMCP server for Mantine documentation.\n\n## Usage\n\n```bash\nnpx @mantine/mcp-server\n```\n\n## Configuration\n\n- `MANTINE_MCP_DATA_URL` – static MCP data base URL (`https://mantine.dev/mcp` by default)\n- `MANTINE_MCP_TIMEOUT_MS` – HTTP timeout in milliseconds (`10000` by default)\n\n## Tools\n\n- `search_docs` – search all documentation; returns ranked matches, often pointing at a specific section\n- `get_item_doc` – outline by default, one section with `section`, whole page with `full: true`\n- `get_item_props` – component props, or a hook's TypeScript signature\n- `list_items` – filter by `kind`, `group`, `category`, `package` or `query`\n- `get_api` – resolve a symbol (`useForm`, `useDisclosure`) to its signature\n\n## Coverage\n\n406 documents: components, hooks, `@mantine/form`, styling, theming, framework and migration guides, and FAQ pages. Changelogs are not indexed.\n","packages/@mantine/modals/README.md":"# Mantine modals manager\n\n[![npm](https://img.shields.io/npm/dm/@mantine/modals)](https://www.npmjs.com/package/@mantine/modals)\n\nManage modals state\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/modals\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/modals\n```\n\n## License\n\nMIT\n","packages/@mantine/notifications/README.md":"# Mantine notifications system\n\n[![npm](https://img.shields.io/npm/dm/@mantine/notifications)](https://www.npmjs.com/package/@mantine/notifications)\n\nNotifications system\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/notifications\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/notifications\n```\n\n## License\n\nMIT\n","packages/@mantine/nprogress/README.md":"# Mantine Navigation Progress\n\n[![npm](https://img.shields.io/npm/dm/@mantine/nprogress)](https://www.npmjs.com/package/@mantine/nprogress)\n\nA navigation progress bar\n\n[Documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/nprogress @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/nprogress @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","packages/@mantine/schedule/README.md":"# @mantine/schedule\n\n[![npm](https://img.shields.io/npm/dm/@mantine/schedule)](https://www.npmjs.com/package/@mantine/schedule)\n\nSchedule Mantine component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/schedule @mantine/core @mantine/hooks @mantine/dates\n\n# With npm\nnpm install @mantine/schedule @mantine/core @mantine/hooks @mantine/dates\n```\n\n## License\n\nMIT\n","packages/@mantine/spotlight/README.md":"# Mantine Spotlight\n\n[![npm](https://img.shields.io/npm/dm/@mantine/spotlight)](https://www.npmjs.com/package/@mantine/spotlight)\n\nOverlay command center for your application\n\n[Documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/spotlight @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/spotlight @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","packages/@mantine/store/README.md":"# Mantine Store\n\n[![npm](https://img.shields.io/npm/dm/@mantine/store)](https://www.npmjs.com/package/@mantine/store)\n\nGlobal state manager for `@mantine/notifications`, `@mantine/nprogress`, `@mantine/spotlight` and other Mantine packages.\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/store\n\n# With npm\nnpm install @mantine/store\n```\n\n## License\n\nMIT\n","packages/@mantine/tiptap/README.md":"# Mantine tiptap\n\n[![npm](https://img.shields.io/npm/dm/@mantine/tiptap)](https://www.npmjs.com/package/@mantine/tiptap)\n\nRich text editor based on [tiptap](https://tiptap.dev/)\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/tiptap @mantine/core @mantine/hooks @tiptap/react @tiptap/extension-link\n\n# With npm\nnpm install @mantine/tiptap @mantine/core @mantine/hooks @tiptap/react @tiptap/extension-link\n```\n\n## License\n\nMIT\n","packages/@mantine/vanilla-extract/README.md":"# Mantine Vanilla Extract\n\n[![npm](https://img.shields.io/npm/dm/@mantine/vanilla-extract)](https://www.npmjs.com/package/@mantine/vanilla-extract)\n\nMantine theme integration with vanilla-extract\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/vanilla-extract\n\n# With npm\nnpm install @mantine/vanilla-extract\n```\n\n## License\n\nMIT\n","packages/@mantinex/colors-generator/README.md":"# @mantinex/colors-generator\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/colors-generator)](https://www.npmjs.com/package/@mantinex/colors-generator)\n\nColors generator component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/colors-generator\n\n# With npm\nnpm install @mantinex/colors-generator\n```\n\n## License\n\nMIT\n","packages/@mantinex/demo/README.md":"# @mantinex/demo\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/demo)](https://www.npmjs.com/package/@mantinex/demo)\n\nDemo base components used on *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/demo\n\n# With npm\nnpm install @mantinex/demo\n```\n\n## License\n\nMIT\n","packages/@mantinex/dev-icons/README.md":"# @mantinex/dev-icons\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/dev-icons)](https://www.npmjs.com/package/@mantinex/dev-icons)\n\nDev icons used on *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/dev-icons\n\n# With npm\nnpm install @mantinex/dev-icons\n```\n\n## License\n\nMIT\n","packages/@mantinex/mantine-header/README.md":"# @mantinex/mantine-header\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/mantine-header)](https://www.npmjs.com/package/@mantinex/mantine-header)\n\nComponents used in headers of *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/mantine-header\n\n# With npm\nnpm install @mantinex/mantine-header\n```\n\n## License\n\nMIT\n","packages/@mantinex/mantine-logo/README.md":"# @mantinex/mantine-logo\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/mantine-logo)](https://www.npmjs.com/package/@mantinex/mantine-logo)\n\nMantine logo as react component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/mantine-logo\n\n# With npm\nnpm install @mantinex/mantine-logo\n```\n\nThen import styles:\n\n```tsx\nimport '@mantinex/mantine-logo/styles.css';\n```\n\n## License\n\nMIT\n","packages/@mantinex/mantine-meta/README.md":"# @mantinex/mantine-meta\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/mantine-meta)](https://www.npmjs.com/package/@mantinex/mantine-meta)\n\nMeta data for *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/mantine-meta\n\n# With npm\nnpm install @mantinex/mantine-meta\n```\n\n## License\n\nMIT\n"},"files":{"AGENTS.md":"## Links\n\n## Finalizing Your Work\n\nChoose these commands to run after finalizing your work:\n\n```bash\n# Always run these commands before finalizing your work\nnpm run typecheck\nnpx oxlint -c oxlint.config.mjs path/to/changed/files\nnpm run format:write:files path/to/changed/files\nnpm run build\n\n# Run tests for specific path related to your changes\nnpm run jest @mantine/charts\nnpm run jest path/to/changed/file.test.ts\n\n# Run stylelint only if you have made changes to styles or CSS files\nnpm run stylelint\n\n# Run this script if you've changed dependencies in any package.json\nnpm run syncpack\n```\n\nAfter running the commands above, check if `codex` CLI is available (`command -v codex`). If it is, run `/codex-code-review` to get an automated code review of unstaged changes and apply fixes.\n\n## Code Style\n\n**Comments Guidelines:**\n- **Do not include inline comments** that describe logic or implementation details unless explicitly requested\n- **Always preserve documentation comments** on interfaces, types, and function parameters (JSDoc-style comments with `/** */`)\n- The codebase prefers clean, self-documenting code for implementation\n- Type definitions and public APIs should maintain their documentation comments\n\n## Commit conventions\n\nMantine is a monorepo, thus it is important to write correct commit messages to keep the git history clean and consistent. All commits made in this repository are divided into 3 groups:\n\n- package commits – Related to any particular package.\n- docs commits – Related to the documentation.\n- core commits – Only related to repository tooling and not associated with any package.\n\nCommit messages consists of 3 parts:\n```\n[area] Optional title: Message\n```\n\nExamples:\n- `[core] Fix documentation deployment script` – Change made in repository script, it is not related to documentation or any package\n- `[mantine.dev] Update report issues link` – Change related to documentation website\n- `[@mantine/core] Button: Add theme focus styles` – Change in @mantine/core package at Button component\n- `[@mantine/hooks] use-list-state: Add remove handler` – Change in @mantine/hooks package at use-list-state hook\n","CLAUDE.md":"## Links\n\n## Finalizing Your Work\n\nRun these after every edit cycle — they take seconds:\n\n```bash\nnpx oxlint -c oxlint.config.mjs path/to/changed/files\nnpm run format:write:files path/to/changed/files\n\n# Run tests for specific path related to your changes\nnpm run jest @mantine/charts\nnpm run jest path/to/changed/file.test.ts\n```\n\nRun these **once**, before pushing or handing the work back — not after every commit:\n\n```bash\nnpm run typecheck   # ~30s\nnpm run build       # ~5-20s\n\n# Run stylelint only if you have made changes to styles or CSS files\nnpm run stylelint\n\n# Run this script if you've changed dependencies in any package.json\nnpm run syncpack\n```\n\nWhen a task produces several commits, a single typecheck + build pass at the end covers all of them. `npm run jest` is ~2s per package, so run it as often as you like — it catches most real breakage long before typecheck would.\n\nAfter running the commands above, check if `codex` CLI is available (`command -v codex`). If it is, run `/codex-code-review` to get an automated code review of unstaged changes and apply fixes.\n\n## Code Style\n\n**Comments Guidelines:**\n- **Do not include inline comments** that describe logic or implementation details unless explicitly requested\n- **Always preserve documentation comments** on interfaces, types, and function parameters (JSDoc-style comments with `/** */`)\n- The codebase prefers clean, self-documenting code for implementation\n- Type definitions and public APIs should maintain their documentation comments\n\n## Writing Documentation\n\nBefore writing or editing `.mdx` pages (`apps/mantine.dev`, `apps/help.mantine.dev`), changelog pages, migration guides or demos in `packages/@docs/demos`, invoke the `mantine-docs` skill and follow it. Before handing the work back, run its checker: `python3 ~/.claude/skills/mantine-docs/scripts/check_docs.py`.\n\nRules that break the page when ignored, for tools that cannot load the skill:\n\n- **Text that explains a demo goes before the demo**, never after it.\n- **Markdown pipe tables do not render** (no `remark-gfm`). Use `<DataTable />` or a list.\n- **`DataTable` cells are rendered as is**: backticks inside a string are displayed literally, use `<code>` elements.\n\n## Tests\n\n**Console output fails tests.** `jsdom.mocks.ts` turns every `console.error` and `console.warn` emitted during a test into a test failure, including React's \"not wrapped in act(...)\" warning. Fix the cause: wrap the update in `act` (use `renderWithAct` from `@mantine-tests/core` or `await act(async () => ...)` for floating-ui positioning and other microtask work), fix the invalid prop, or stabilize the effect. Never mock or filter the console to make the failure go away. A warning that fires between tests is reported on the next test, so read the \"emitted while running\" part of the message to find the test that caused it.\n\n**Jest hides console output when more than one test file runs.** Pass `--verbose` or run a single file to see it. Do not pipe jest output through `tail` or `grep \"Tests:\"` when checking a change; read the failures.\n\n**Verifying a new regression test:** temporarily revert the fix, confirm the test fails, then restore the fix. Do this for tests that cover async, timing or lifecycle behavior — that is where a test silently passes for the wrong reason. Skip it for straightforward assertions, where it is pure overhead.\n\n**`rerender` remounts unless the tree shape matches.** `render()` from `@mantine-tests/core` wraps its argument in a fragment, but `rerender(ui)` does not. Passing a differently shaped tree unmounts and remounts the subtree instead of updating it, so tests that change a prop silently test a fresh mount instead. Wrap `rerender` arguments in `<>...</>` to match:\n\n```tsx\nconst { rerender } = render(<Provider adapter={a}>...</Provider>);\nrerender(<><Provider adapter={b}>...</Provider></>);\n```\n\n**`StrictMode` does not double-invoke effects** in the jest environment, so a test that relies on it to reproduce a double-mount bug will pass whether or not the bug is fixed.\n\n## Commit conventions\n\nMantine is a monorepo, thus it is important to write correct commit messages to keep the git history clean and consistent. All commits made in this repository are divided into 3 groups:\n\n- package commits – Related to any particular package.\n- docs commits – Related to the documentation.\n- core commits – Only related to repository tooling and not associated with any package.\n\nCommit messages consists of 3 parts:\n```\n[area] Optional title: Message\n```\n\nExamples:\n- `[core] Fix documentation deployment script` – Change made in repository script, it is not related to documentation or any package\n- `[mantine.dev] Update report issues link` – Change related to documentation website\n- `[@mantine/core] Button: Add theme focus styles` – Change in @mantine/core package at Button component\n- `[@mantine/hooks] use-list-state: Add remove handler` – Change in @mantine/hooks package at use-list-state hook\n","packages/@docs/demos/README.md":"# Mantine demos\n\nDemo components that are used on mantine.dev website. Not intended for public use.\nNot published on npm.\n","packages/@docs/styles-api/README.md":"# Mantine Styles API data\n\nComponents Styles API data that is used on mantine.dev website. Not intended for public use.\nNot published on npm.\n","packages/@mantine-tests/core/README.md":"# Mantine tests\n\nTest utilities for Mantine components.\n\n## License\n\nMIT\n","packages/@mantine-tests/dates/README.md":"# Mantine dates tests\n\nTest utilities for Mantine components.\n\n## License\n\nMIT\n","packages/@mantine/carousel/README.md":"# Mantine carousel\n\n[![npm](https://img.shields.io/npm/dm/@mantine/carousel)](https://www.npmjs.com/package/@mantine/carousel)\n\nEmbla based carousel\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks @mantine/carousel\n\n# With npm\nnpm install @mantine/core @mantine/hooks @mantine/carousel\n```\n\n## License\n\nMIT\n","packages/@mantine/charts/README.md":"# @mantine/charts\n\n[![npm](https://img.shields.io/npm/dm/@mantine/charts)](https://www.npmjs.com/package/@mantine/charts)\n\nCharts components built with recharts and Mantine\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/charts @mantine/core @mantine/hooks recharts\n\n# With npm\nnpm install @mantine/charts @mantine/core @mantine/hooks recharts\n```\n\n## License\n\nMIT\n","packages/@mantine/code-highlight/README.md":"# Mantine code highlight\n\n[![npm](https://img.shields.io/npm/dm/@mantine/code-highlight)](https://www.npmjs.com/package/@mantine/code-highlight)\n\nCode highlight built with highlight.js and Mantine\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/code-highlight\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/code-highlight\n```\n\n## License\n\nMIT\n","packages/@mantine/colors-generator/README.md":"# @mantine/colors-generator\n\n[![npm](https://img.shields.io/npm/dm/@mantine/colors-generator)](https://www.npmjs.com/package/@mantine/colors-generator)\n\nMantine colors generator\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/colors-generator\n\n# With npm\nnpm install @mantine/colors-generator\n```\n\n## License\n\nMIT\n","packages/@mantine/core/README.md":"# Mantine core\n\n[![npm](https://img.shields.io/npm/dm/@mantine/core)](https://www.npmjs.com/package/@mantine/core)\n\nMantine core components library.\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","packages/@mantine/dates/README.md":"# Mantine dates\n\n[![npm](https://img.shields.io/npm/dm/@mantine/dates)](https://www.npmjs.com/package/@mantine/dates)\n\nCalendars, date and time pickers\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks @mantine/dates dayjs\n\n# With npm\nnpm install @mantine/core @mantine/hooks @mantine/dates dayjs\n```\n\n## License\n\nMIT\n","packages/@mantine/dropzone/README.md":"# Mantine Dropzone\n\n[![npm](https://img.shields.io/npm/dm/@mantine/dropzone)](https://www.npmjs.com/package/@mantine/dropzone)\n\nCapture files from user\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/dropzone @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/dropzone @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","packages/@mantine/emotion/README.md":"# @mantine/emotion\n\n[![npm](https://img.shields.io/npm/dm/@mantine/emotion)](https://www.npmjs.com/package/@mantine/emotion)\n\nEmotion bindings for @mantine/core\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/emotion @mantine/core @mantine/hooks @emotion/react\n\n# With npm\nnpm install @mantine/emotion @mantine/core @mantine/hooks @emotion/react\n```\n\n## License\n\nMIT\n","packages/@mantine/form/README.md":"# Mantine Form\n\n[![npm](https://img.shields.io/npm/dm/@mantine/form)](https://www.npmjs.com/package/@mantine/form)\n\nForm management library\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/form\n\n# With npm\nnpm install @mantine/form\n```\n\n## License\n\nMIT\n","packages/@mantine/hooks/README.md":"# Mantine Hooks\n\n[![npm](https://img.shields.io/npm/dm/@mantine/hooks)](https://www.npmjs.com/package/@mantine/hooks)\n\nA set of react hooks for state and UI management\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks\n\n# With npm\nnpm install @mantine/hooks\n```\n\n## License\n\nMIT\n","packages/@mantine/lightbox/README.md":"# @mantine/lightbox\n\n[![npm](https://img.shields.io/npm/dm/@mantine/lightbox)](https://www.npmjs.com/package/@mantine/lightbox)\n\nFull-screen media lightbox with carousel navigation\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/lightbox @mantine/core @mantine/hooks embla-carousel embla-carousel-react\n\n# With npm\nnpm install @mantine/lightbox @mantine/core @mantine/hooks embla-carousel embla-carousel-react\n```\n\n## License\n\nMIT\n","packages/@mantine/mcp-server/README.md":"# @mantine/mcp-server\n\nMCP server for Mantine documentation.\n\n## Usage\n\n```bash\nnpx @mantine/mcp-server\n```\n\n## Configuration\n\n- `MANTINE_MCP_DATA_URL` – static MCP data base URL (`https://mantine.dev/mcp` by default)\n- `MANTINE_MCP_TIMEOUT_MS` – HTTP timeout in milliseconds (`10000` by default)\n\n## Tools\n\n- `search_docs` – search all documentation; returns ranked matches, often pointing at a specific section\n- `get_item_doc` – outline by default, one section with `section`, whole page with `full: true`\n- `get_item_props` – component props, or a hook's TypeScript signature\n- `list_items` – filter by `kind`, `group`, `category`, `package` or `query`\n- `get_api` – resolve a symbol (`useForm`, `useDisclosure`) to its signature\n\n## Coverage\n\n406 documents: components, hooks, `@mantine/form`, styling, theming, framework and migration guides, and FAQ pages. Changelogs are not indexed.\n","packages/@mantine/modals/README.md":"# Mantine modals manager\n\n[![npm](https://img.shields.io/npm/dm/@mantine/modals)](https://www.npmjs.com/package/@mantine/modals)\n\nManage modals state\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/modals\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/modals\n```\n\n## License\n\nMIT\n","packages/@mantine/notifications/README.md":"# Mantine notifications system\n\n[![npm](https://img.shields.io/npm/dm/@mantine/notifications)](https://www.npmjs.com/package/@mantine/notifications)\n\nNotifications system\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/notifications\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/notifications\n```\n\n## License\n\nMIT\n","packages/@mantine/nprogress/README.md":"# Mantine Navigation Progress\n\n[![npm](https://img.shields.io/npm/dm/@mantine/nprogress)](https://www.npmjs.com/package/@mantine/nprogress)\n\nA navigation progress bar\n\n[Documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/nprogress @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/nprogress @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","packages/@mantine/schedule/README.md":"# @mantine/schedule\n\n[![npm](https://img.shields.io/npm/dm/@mantine/schedule)](https://www.npmjs.com/package/@mantine/schedule)\n\nSchedule Mantine component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/schedule @mantine/core @mantine/hooks @mantine/dates\n\n# With npm\nnpm install @mantine/schedule @mantine/core @mantine/hooks @mantine/dates\n```\n\n## License\n\nMIT\n","packages/@mantine/spotlight/README.md":"# Mantine Spotlight\n\n[![npm](https://img.shields.io/npm/dm/@mantine/spotlight)](https://www.npmjs.com/package/@mantine/spotlight)\n\nOverlay command center for your application\n\n[Documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/spotlight @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/spotlight @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","packages/@mantine/store/README.md":"# Mantine Store\n\n[![npm](https://img.shields.io/npm/dm/@mantine/store)](https://www.npmjs.com/package/@mantine/store)\n\nGlobal state manager for `@mantine/notifications`, `@mantine/nprogress`, `@mantine/spotlight` and other Mantine packages.\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/store\n\n# With npm\nnpm install @mantine/store\n```\n\n## License\n\nMIT\n","packages/@mantine/tiptap/README.md":"# Mantine tiptap\n\n[![npm](https://img.shields.io/npm/dm/@mantine/tiptap)](https://www.npmjs.com/package/@mantine/tiptap)\n\nRich text editor based on [tiptap](https://tiptap.dev/)\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/tiptap @mantine/core @mantine/hooks @tiptap/react @tiptap/extension-link\n\n# With npm\nnpm install @mantine/tiptap @mantine/core @mantine/hooks @tiptap/react @tiptap/extension-link\n```\n\n## License\n\nMIT\n","packages/@mantine/vanilla-extract/README.md":"# Mantine Vanilla Extract\n\n[![npm](https://img.shields.io/npm/dm/@mantine/vanilla-extract)](https://www.npmjs.com/package/@mantine/vanilla-extract)\n\nMantine theme integration with vanilla-extract\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/vanilla-extract\n\n# With npm\nnpm install @mantine/vanilla-extract\n```\n\n## License\n\nMIT\n","packages/@mantinex/colors-generator/README.md":"# @mantinex/colors-generator\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/colors-generator)](https://www.npmjs.com/package/@mantinex/colors-generator)\n\nColors generator component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/colors-generator\n\n# With npm\nnpm install @mantinex/colors-generator\n```\n\n## License\n\nMIT\n","packages/@mantinex/demo/README.md":"# @mantinex/demo\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/demo)](https://www.npmjs.com/package/@mantinex/demo)\n\nDemo base components used on *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/demo\n\n# With npm\nnpm install @mantinex/demo\n```\n\n## License\n\nMIT\n","packages/@mantinex/dev-icons/README.md":"# @mantinex/dev-icons\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/dev-icons)](https://www.npmjs.com/package/@mantinex/dev-icons)\n\nDev icons used on *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/dev-icons\n\n# With npm\nnpm install @mantinex/dev-icons\n```\n\n## License\n\nMIT\n","packages/@mantinex/mantine-header/README.md":"# @mantinex/mantine-header\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/mantine-header)](https://www.npmjs.com/package/@mantinex/mantine-header)\n\nComponents used in headers of *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/mantine-header\n\n# With npm\nnpm install @mantinex/mantine-header\n```\n\n## License\n\nMIT\n","packages/@mantinex/mantine-logo/README.md":"# @mantinex/mantine-logo\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/mantine-logo)](https://www.npmjs.com/package/@mantinex/mantine-logo)\n\nMantine logo as react component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/mantine-logo\n\n# With npm\nnpm install @mantinex/mantine-logo\n```\n\nThen import styles:\n\n```tsx\nimport '@mantinex/mantine-logo/styles.css';\n```\n\n## License\n\nMIT\n","packages/@mantinex/mantine-meta/README.md":"# @mantinex/mantine-meta\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/mantine-meta)](https://www.npmjs.com/package/@mantinex/mantine-meta)\n\nMeta data for *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/mantine-meta\n\n# With npm\nnpm install @mantinex/mantine-meta\n```\n\n## License\n\nMIT\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"## Links\n\n## Finalizing Your Work\n\nChoose these commands to run after finalizing your work:\n\n```bash\n# Always run these commands before finalizing your work\nnpm run typecheck\nnpx oxlint -c oxlint.config.mjs path/to/changed/files\nnpm run format:write:files path/to/changed/files\nnpm run build\n\n# Run tests for specific path related to your changes\nnpm run jest @mantine/charts\nnpm run jest path/to/changed/file.test.ts\n\n# Run stylelint only if you have made changes to styles or CSS files\nnpm run stylelint\n\n# Run this script if you've changed dependencies in any package.json\nnpm run syncpack\n```\n\nAfter running the commands above, check if `codex` CLI is available (`command -v codex`). If it is, run `/codex-code-review` to get an automated code review of unstaged changes and apply fixes.\n\n## Code Style\n\n**Comments Guidelines:**\n- **Do not include inline comments** that describe logic or implementation details unless explicitly requested\n- **Always preserve documentation comments** on interfaces, types, and function parameters (JSDoc-style comments with `/** */`)\n- The codebase prefers clean, self-documenting code for implementation\n- Type definitions and public APIs should maintain their documentation comments\n\n## Commit conventions\n\nMantine is a monorepo, thus it is important to write correct commit messages to keep the git history clean and consistent. All commits made in this repository are divided into 3 groups:\n\n- package commits – Related to any particular package.\n- docs commits – Related to the documentation.\n- core commits – Only related to repository tooling and not associated with any package.\n\nCommit messages consists of 3 parts:\n```\n[area] Optional title: Message\n```\n\nExamples:\n- `[core] Fix documentation deployment script` – Change made in repository script, it is not related to documentation or any package\n- `[mantine.dev] Update report issues link` – Change related to documentation website\n- `[@mantine/core] Button: Add theme focus styles` – Change in @mantine/core package at Button component\n- `[@mantine/hooks] use-list-state: Add remove handler` – Change in @mantine/hooks package at use-list-state hook\n","isInternal":false,"tokens":472,"sizeBytes":2165},{"name":"CLAUDE.md","path":"CLAUDE.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/CLAUDE.md","title":"Claude Agent Guidelines & System Prompt","category":"claude-rule","format":"markdown","content":"## Links\n\n## Finalizing Your Work\n\nRun these after every edit cycle — they take seconds:\n\n```bash\nnpx oxlint -c oxlint.config.mjs path/to/changed/files\nnpm run format:write:files path/to/changed/files\n\n# Run tests for specific path related to your changes\nnpm run jest @mantine/charts\nnpm run jest path/to/changed/file.test.ts\n```\n\nRun these **once**, before pushing or handing the work back — not after every commit:\n\n```bash\nnpm run typecheck   # ~30s\nnpm run build       # ~5-20s\n\n# Run stylelint only if you have made changes to styles or CSS files\nnpm run stylelint\n\n# Run this script if you've changed dependencies in any package.json\nnpm run syncpack\n```\n\nWhen a task produces several commits, a single typecheck + build pass at the end covers all of them. `npm run jest` is ~2s per package, so run it as often as you like — it catches most real breakage long before typecheck would.\n\nAfter running the commands above, check if `codex` CLI is available (`command -v codex`). If it is, run `/codex-code-review` to get an automated code review of unstaged changes and apply fixes.\n\n## Code Style\n\n**Comments Guidelines:**\n- **Do not include inline comments** that describe logic or implementation details unless explicitly requested\n- **Always preserve documentation comments** on interfaces, types, and function parameters (JSDoc-style comments with `/** */`)\n- The codebase prefers clean, self-documenting code for implementation\n- Type definitions and public APIs should maintain their documentation comments\n\n## Writing Documentation\n\nBefore writing or editing `.mdx` pages (`apps/mantine.dev`, `apps/help.mantine.dev`), changelog pages, migration guides or demos in `packages/@docs/demos`, invoke the `mantine-docs` skill and follow it. Before handing the work back, run its checker: `python3 ~/.claude/skills/mantine-docs/scripts/check_docs.py`.\n\nRules that break the page when ignored, for tools that cannot load the skill:\n\n- **Text that explains a demo goes before the demo**, never after it.\n- **Markdown pipe tables do not render** (no `remark-gfm`). Use `<DataTable />` or a list.\n- **`DataTable` cells are rendered as is**: backticks inside a string are displayed literally, use `<code>` elements.\n\n## Tests\n\n**Console output fails tests.** `jsdom.mocks.ts` turns every `console.error` and `console.warn` emitted during a test into a test failure, including React's \"not wrapped in act(...)\" warning. Fix the cause: wrap the update in `act` (use `renderWithAct` from `@mantine-tests/core` or `await act(async () => ...)` for floating-ui positioning and other microtask work), fix the invalid prop, or stabilize the effect. Never mock or filter the console to make the failure go away. A warning that fires between tests is reported on the next test, so read the \"emitted while running\" part of the message to find the test that caused it.\n\n**Jest hides console output when more than one test file runs.** Pass `--verbose` or run a single file to see it. Do not pipe jest output through `tail` or `grep \"Tests:\"` when checking a change; read the failures.\n\n**Verifying a new regression test:** temporarily revert the fix, confirm the test fails, then restore the fix. Do this for tests that cover async, timing or lifecycle behavior — that is where a test silently passes for the wrong reason. Skip it for straightforward assertions, where it is pure overhead.\n\n**`rerender` remounts unless the tree shape matches.** `render()` from `@mantine-tests/core` wraps its argument in a fragment, but `rerender(ui)` does not. Passing a differently shaped tree unmounts and remounts the subtree instead of updating it, so tests that change a prop silently test a fresh mount instead. Wrap `rerender` arguments in `<>...</>` to match:\n\n```tsx\nconst { rerender } = render(<Provider adapter={a}>...</Provider>);\nrerender(<><Provider adapter={b}>...</Provider></>);\n```\n\n**`StrictMode` does not double-invoke effects** in the jest environment, so a test that relies on it to reproduce a double-mount bug will pass whether or not the bug is fixed.\n\n## Commit conventions\n\nMantine is a monorepo, thus it is important to write correct commit messages to keep the git history clean and consistent. All commits made in this repository are divided into 3 groups:\n\n- package commits – Related to any particular package.\n- docs commits – Related to the documentation.\n- core commits – Only related to repository tooling and not associated with any package.\n\nCommit messages consists of 3 parts:\n```\n[area] Optional title: Message\n```\n\nExamples:\n- `[core] Fix documentation deployment script` – Change made in repository script, it is not related to documentation or any package\n- `[mantine.dev] Update report issues link` – Change related to documentation website\n- `[@mantine/core] Button: Add theme focus styles` – Change in @mantine/core package at Button component\n- `[@mantine/hooks] use-list-state: Add remove handler` – Change in @mantine/hooks package at use-list-state hook\n","isInternal":false,"tokens":1144,"sizeBytes":5001},{"name":"README.md","path":"packages/@docs/demos/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@docs/demos/README.md","title":"demos Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine demos\n\nDemo components that are used on mantine.dev website. Not intended for public use.\nNot published on npm.\n","isInternal":false,"tokens":27,"sizeBytes":122},{"name":"README.md","path":"packages/@docs/styles-api/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@docs/styles-api/README.md","title":"styles-api Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine Styles API data\n\nComponents Styles API data that is used on mantine.dev website. Not intended for public use.\nNot published on npm.\n","isInternal":false,"tokens":31,"sizeBytes":142},{"name":"README.md","path":"packages/@mantine-tests/core/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine-tests/core/README.md","title":"core Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine tests\n\nTest utilities for Mantine components.\n\n## License\n\nMIT\n","isInternal":false,"tokens":17,"sizeBytes":73},{"name":"README.md","path":"packages/@mantine-tests/dates/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine-tests/dates/README.md","title":"dates Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine dates tests\n\nTest utilities for Mantine components.\n\n## License\n\nMIT\n","isInternal":false,"tokens":18,"sizeBytes":79},{"name":"README.md","path":"packages/@mantine/carousel/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/carousel/README.md","title":"carousel Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine carousel\n\n[![npm](https://img.shields.io/npm/dm/@mantine/carousel)](https://www.npmjs.com/package/@mantine/carousel)\n\nEmbla based carousel\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks @mantine/carousel\n\n# With npm\nnpm install @mantine/core @mantine/hooks @mantine/carousel\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":109,"sizeBytes":379},{"name":"README.md","path":"packages/@mantine/charts/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/charts/README.md","title":"charts Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantine/charts\n\n[![npm](https://img.shields.io/npm/dm/@mantine/charts)](https://www.npmjs.com/package/@mantine/charts)\n\nCharts components built with recharts and Mantine\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/charts @mantine/core @mantine/hooks recharts\n\n# With npm\nnpm install @mantine/charts @mantine/core @mantine/hooks recharts\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":120,"sizeBytes":417},{"name":"README.md","path":"packages/@mantine/code-highlight/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/code-highlight/README.md","title":"code-highlight Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine code highlight\n\n[![npm](https://img.shields.io/npm/dm/@mantine/code-highlight)](https://www.npmjs.com/package/@mantine/code-highlight)\n\nCode highlight built with highlight.js and Mantine\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/code-highlight\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/code-highlight\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":115,"sizeBytes":439},{"name":"README.md","path":"packages/@mantine/colors-generator/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/colors-generator/README.md","title":"colors-generator Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantine/colors-generator\n\n[![npm](https://img.shields.io/npm/dm/@mantine/colors-generator)](https://www.npmjs.com/package/@mantine/colors-generator)\n\nMantine colors generator\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/colors-generator\n\n# With npm\nnpm install @mantine/colors-generator\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":95,"sizeBytes":366},{"name":"README.md","path":"packages/@mantine/core/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/core/README.md","title":"core Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine core\n\n[![npm](https://img.shields.io/npm/dm/@mantine/core)](https://www.npmjs.com/package/@mantine/core)\n\nMantine core components library.\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":98,"sizeBytes":343},{"name":"README.md","path":"packages/@mantine/dates/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/dates/README.md","title":"dates Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine dates\n\n[![npm](https://img.shields.io/npm/dm/@mantine/dates)](https://www.npmjs.com/package/@mantine/dates)\n\nCalendars, date and time pickers\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks @mantine/dates dayjs\n\n# With npm\nnpm install @mantine/core @mantine/hooks @mantine/dates dayjs\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":117,"sizeBytes":388},{"name":"README.md","path":"packages/@mantine/dropzone/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/dropzone/README.md","title":"dropzone Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine Dropzone\n\n[![npm](https://img.shields.io/npm/dm/@mantine/dropzone)](https://www.npmjs.com/package/@mantine/dropzone)\n\nCapture files from user\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/dropzone @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/dropzone @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":114,"sizeBytes":382},{"name":"README.md","path":"packages/@mantine/emotion/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/emotion/README.md","title":"emotion Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantine/emotion\n\n[![npm](https://img.shields.io/npm/dm/@mantine/emotion)](https://www.npmjs.com/package/@mantine/emotion)\n\nEmotion bindings for @mantine/core\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/emotion @mantine/core @mantine/hooks @emotion/react\n\n# With npm\nnpm install @mantine/emotion @mantine/core @mantine/hooks @emotion/react\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":121,"sizeBytes":419},{"name":"README.md","path":"packages/@mantine/form/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/form/README.md","title":"form Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine Form\n\n[![npm](https://img.shields.io/npm/dm/@mantine/form)](https://www.npmjs.com/package/@mantine/form)\n\nForm management library\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/form\n\n# With npm\nnpm install @mantine/form\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":88,"sizeBytes":304},{"name":"README.md","path":"packages/@mantine/hooks/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/hooks/README.md","title":"hooks Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine Hooks\n\n[![npm](https://img.shields.io/npm/dm/@mantine/hooks)](https://www.npmjs.com/package/@mantine/hooks)\n\nA set of react hooks for state and UI management\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks\n\n# With npm\nnpm install @mantine/hooks\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":95,"sizeBytes":334},{"name":"README.md","path":"packages/@mantine/lightbox/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/lightbox/README.md","title":"lightbox Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantine/lightbox\n\n[![npm](https://img.shields.io/npm/dm/@mantine/lightbox)](https://www.npmjs.com/package/@mantine/lightbox)\n\nFull-screen media lightbox with carousel navigation\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/lightbox @mantine/core @mantine/hooks embla-carousel embla-carousel-react\n\n# With npm\nnpm install @mantine/lightbox @mantine/core @mantine/hooks embla-carousel embla-carousel-react\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":129,"sizeBytes":483},{"name":"README.md","path":"packages/@mantine/mcp-server/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/mcp-server/README.md","title":"mcp-server Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantine/mcp-server\n\nMCP server for Mantine documentation.\n\n## Usage\n\n```bash\nnpx @mantine/mcp-server\n```\n\n## Configuration\n\n- `MANTINE_MCP_DATA_URL` – static MCP data base URL (`https://mantine.dev/mcp` by default)\n- `MANTINE_MCP_TIMEOUT_MS` – HTTP timeout in milliseconds (`10000` by default)\n\n## Tools\n\n- `search_docs` – search all documentation; returns ranked matches, often pointing at a specific section\n- `get_item_doc` – outline by default, one section with `section`, whole page with `full: true`\n- `get_item_props` – component props, or a hook's TypeScript signature\n- `list_items` – filter by `kind`, `group`, `category`, `package` or `query`\n- `get_api` – resolve a symbol (`useForm`, `useDisclosure`) to its signature\n\n## Coverage\n\n406 documents: components, hooks, `@mantine/form`, styling, theming, framework and migration guides, and FAQ pages. Changelogs are not indexed.\n","isInternal":false,"tokens":234,"sizeBytes":906},{"name":"README.md","path":"packages/@mantine/modals/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/modals/README.md","title":"modals Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine modals manager\n\n[![npm](https://img.shields.io/npm/dm/@mantine/modals)](https://www.npmjs.com/package/@mantine/modals)\n\nManage modals state\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/modals\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/modals\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":111,"sizeBytes":376},{"name":"README.md","path":"packages/@mantine/notifications/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/notifications/README.md","title":"notifications Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine notifications system\n\n[![npm](https://img.shields.io/npm/dm/@mantine/notifications)](https://www.npmjs.com/package/@mantine/notifications)\n\nNotifications system\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/notifications\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/notifications\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":108,"sizeBytes":411},{"name":"README.md","path":"packages/@mantine/nprogress/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/nprogress/README.md","title":"nprogress Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine Navigation Progress\n\n[![npm](https://img.shields.io/npm/dm/@mantine/nprogress)](https://www.npmjs.com/package/@mantine/nprogress)\n\nA navigation progress bar\n\n[Documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/nprogress @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/nprogress @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":109,"sizeBytes":394},{"name":"README.md","path":"packages/@mantine/schedule/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/schedule/README.md","title":"schedule Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantine/schedule\n\n[![npm](https://img.shields.io/npm/dm/@mantine/schedule)](https://www.npmjs.com/package/@mantine/schedule)\n\nSchedule Mantine component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/schedule @mantine/core @mantine/hooks @mantine/dates\n\n# With npm\nnpm install @mantine/schedule @mantine/core @mantine/hooks @mantine/dates\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":121,"sizeBytes":416},{"name":"README.md","path":"packages/@mantine/spotlight/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/spotlight/README.md","title":"spotlight Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine Spotlight\n\n[![npm](https://img.shields.io/npm/dm/@mantine/spotlight)](https://www.npmjs.com/package/@mantine/spotlight)\n\nOverlay command center for your application\n\n[Documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/spotlight @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/spotlight @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":114,"sizeBytes":402},{"name":"README.md","path":"packages/@mantine/store/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/store/README.md","title":"store Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine Store\n\n[![npm](https://img.shields.io/npm/dm/@mantine/store)](https://www.npmjs.com/package/@mantine/store)\n\nGlobal state manager for `@mantine/notifications`, `@mantine/nprogress`, `@mantine/spotlight` and other Mantine packages.\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/store\n\n# With npm\nnpm install @mantine/store\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":116,"sizeBytes":407},{"name":"README.md","path":"packages/@mantine/tiptap/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/tiptap/README.md","title":"tiptap Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine tiptap\n\n[![npm](https://img.shields.io/npm/dm/@mantine/tiptap)](https://www.npmjs.com/package/@mantine/tiptap)\n\nRich text editor based on [tiptap](https://tiptap.dev/)\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/tiptap @mantine/core @mantine/hooks @tiptap/react @tiptap/extension-link\n\n# With npm\nnpm install @mantine/tiptap @mantine/core @mantine/hooks @tiptap/react @tiptap/extension-link\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":152,"sizeBytes":478},{"name":"README.md","path":"packages/@mantine/vanilla-extract/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantine/vanilla-extract/README.md","title":"vanilla-extract Documentation","category":"plugin-manifest","format":"markdown","content":"# Mantine Vanilla Extract\n\n[![npm](https://img.shields.io/npm/dm/@mantine/vanilla-extract)](https://www.npmjs.com/package/@mantine/vanilla-extract)\n\nMantine theme integration with vanilla-extract\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/vanilla-extract\n\n# With npm\nnpm install @mantine/vanilla-extract\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":110,"sizeBytes":382},{"name":"README.md","path":"packages/@mantinex/colors-generator/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantinex/colors-generator/README.md","title":"colors-generator Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantinex/colors-generator\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/colors-generator)](https://www.npmjs.com/package/@mantinex/colors-generator)\n\nColors generator component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/colors-generator\n\n# With npm\nnpm install @mantinex/colors-generator\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":99,"sizeBytes":373},{"name":"README.md","path":"packages/@mantinex/demo/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantinex/demo/README.md","title":"demo Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantinex/demo\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/demo)](https://www.npmjs.com/package/@mantinex/demo)\n\nDemo base components used on *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/demo\n\n# With npm\nnpm install @mantinex/demo\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":101,"sizeBytes":338},{"name":"README.md","path":"packages/@mantinex/dev-icons/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantinex/dev-icons/README.md","title":"dev-icons Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantinex/dev-icons\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/dev-icons)](https://www.npmjs.com/package/@mantinex/dev-icons)\n\nDev icons used on *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/dev-icons\n\n# With npm\nnpm install @mantinex/dev-icons\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":105,"sizeBytes":352},{"name":"README.md","path":"packages/@mantinex/mantine-header/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantinex/mantine-header/README.md","title":"mantine-header Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantinex/mantine-header\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/mantine-header)](https://www.npmjs.com/package/@mantinex/mantine-header)\n\nComponents used in headers of *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/mantine-header\n\n# With npm\nnpm install @mantinex/mantine-header\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":111,"sizeBytes":389},{"name":"README.md","path":"packages/@mantinex/mantine-logo/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantinex/mantine-logo/README.md","title":"mantine-logo Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantinex/mantine-logo\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/mantine-logo)](https://www.npmjs.com/package/@mantinex/mantine-logo)\n\nMantine logo as react component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/mantine-logo\n\n# With npm\nnpm install @mantinex/mantine-logo\n```\n\nThen import styles:\n\n```tsx\nimport '@mantinex/mantine-logo/styles.css';\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":127,"sizeBytes":435},{"name":"README.md","path":"packages/@mantinex/mantine-meta/README.md","rawUrl":"https://raw.githubusercontent.com/mantinedev/mantine/HEAD/packages/@mantinex/mantine-meta/README.md","title":"mantine-meta Documentation","category":"plugin-manifest","format":"markdown","content":"# @mantinex/mantine-meta\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/mantine-meta)](https://www.npmjs.com/package/@mantinex/mantine-meta)\n\nMeta data for *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/mantine-meta\n\n# With npm\nnpm install @mantinex/mantine-meta\n```\n\n## License\n\nMIT\n","isInternal":false,"tokens":109,"sizeBytes":363}],"systemPromptSnippet":"<yakaai_skills repo=\"mantinedev/mantine\">\n<!-- File: AGENTS.md (Tokens: ~472 | Category: root-instruction) -->\n## Links\n\n## Finalizing Your Work\n\nChoose these commands to run after finalizing your work:\n\n```bash\n# Always run these commands before finalizing your work\nnpm run typecheck\nnpx oxlint -c oxlint.config.mjs path/to/changed/files\nnpm run format:write:files path/to/changed/files\nnpm run build\n\n# Run tests for specific path related to your changes\nnpm run jest @mantine/charts\nnpm run jest path/to/changed/file.test.ts\n\n# Run stylelint only if you have made changes to styles or CSS files\nnpm run stylelint\n\n# Run this script if you've changed dependencies in any package.json\nnpm run syncpack\n```\n\nAfter running the commands above, check if `codex` CLI is available (`command -v codex`). If it is, run `/codex-code-review` to get an automated code review of unstaged changes and apply fixes.\n\n## Code Style\n\n**Comments Guidelines:**\n- **Do not include inline comments** that describe logic or implementation details unless explicitly requested\n- **Always preserve documentation comments** on interfaces, types, and function parameters (JSDoc-style comments with `/** */`)\n- The codebase prefers clean, self-documenting code for implementation\n- Type definitions and public APIs should maintain their documentation comments\n\n## Commit conventions\n\nMantine is a monorepo, thus it is important to write correct commit messages to keep the git history clean and consistent. All commits made in this repository are divided into 3 groups:\n\n- package commits – Related to any particular package.\n- docs commits – Related to the documentation.\n- core commits – Only related to repository tooling and not associated with any package.\n\nCommit messages consists of 3 parts:\n```\n[area] Optional title: Message\n```\n\nExamples:\n- `[core] Fix documentation deployment script` – Change made in repository script, it is not related to documentation or any package\n- `[mantine.dev] Update report issues link` – Change related to documentation website\n- `[@mantine/core] Button: Add theme focus styles` – Change in @mantine/core package at Button component\n- `[@mantine/hooks] use-list-state: Add remove handler` – Change in @mantine/hooks package at use-list-state hook\n\n<!-- File: CLAUDE.md (Tokens: ~1144 | Category: claude-rule) -->\n## Links\n\n## Finalizing Your Work\n\nRun these after every edit cycle — they take seconds:\n\n```bash\nnpx oxlint -c oxlint.config.mjs path/to/changed/files\nnpm run format:write:files path/to/changed/files\n\n# Run tests for specific path related to your changes\nnpm run jest @mantine/charts\nnpm run jest path/to/changed/file.test.ts\n```\n\nRun these **once**, before pushing or handing the work back — not after every commit:\n\n```bash\nnpm run typecheck   # ~30s\nnpm run build       # ~5-20s\n\n# Run stylelint only if you have made changes to styles or CSS files\nnpm run stylelint\n\n# Run this script if you've changed dependencies in any package.json\nnpm run syncpack\n```\n\nWhen a task produces several commits, a single typecheck + build pass at the end covers all of them. `npm run jest` is ~2s per package, so run it as often as you like — it catches most real breakage long before typecheck would.\n\nAfter running the commands above, check if `codex` CLI is available (`command -v codex`). If it is, run `/codex-code-review` to get an automated code review of unstaged changes and apply fixes.\n\n## Code Style\n\n**Comments Guidelines:**\n- **Do not include inline comments** that describe logic or implementation details unless explicitly requested\n- **Always preserve documentation comments** on interfaces, types, and function parameters (JSDoc-style comments with `/** */`)\n- The codebase prefers clean, self-documenting code for implementation\n- Type definitions and public APIs should maintain their documentation comments\n\n## Writing Documentation\n\nBefore writing or editing `.mdx` pages (`apps/mantine.dev`, `apps/help.mantine.dev`), changelog pages, migration guides or demos in `packages/@docs/demos`, invoke the `mantine-docs` skill and follow it. Before handing the work back, run its checker: `python3 ~/.claude/skills/mantine-docs/scripts/check_docs.py`.\n\nRules that break the page when ignored, for tools that cannot load the skill:\n\n- **Text that explains a demo goes before the demo**, never after it.\n- **Markdown pipe tables do not render** (no `remark-gfm`). Use `<DataTable />` or a list.\n- **`DataTable` cells are rendered as is**: backticks inside a string are displayed literally, use `<code>` elements.\n\n## Tests\n\n**Console output fails tests.** `jsdom.mocks.ts` turns every `console.error` and `console.warn` emitted during a test into a test failure, including React's \"not wrapped in act(...)\" warning. Fix the cause: wrap the update in `act` (use `renderWithAct` from `@mantine-tests/core` or `await act(async () => ...)` for floating-ui positioning and other microtask work), fix the invalid prop, or stabilize the effect. Never mock or filter the console to make the failure go away. A warning that fires between tests is reported on the next test, so read the \"emitted while running\" part of the message to find the test that caused it.\n\n**Jest hides console output when more than one test file runs.** Pass `--verbose` or run a single file to see it. Do not pipe jest output through `tail` or `grep \"Tests:\"` when checking a change; read the failures.\n\n**Verifying a new regression test:** temporarily revert the fix, confirm the test fails, then restore the fix. Do this for tests that cover async, timing or lifecycle behavior — that is where a test silently passes for the wrong reason. Skip it for straightforward assertions, where it is pure overhead.\n\n**`rerender` remounts unless the tree shape matches.** `render()` from `@mantine-tests/core` wraps its argument in a fragment, but `rerender(ui)` does not. Passing a differently shaped tree unmounts and remounts the subtree instead of updating it, so tests that change a prop silently test a fresh mount instead. Wrap `rerender` arguments in `<>...</>` to match:\n\n```tsx\nconst { rerender } = render(<Provider adapter={a}>...</Provider>);\nrerender(<><Provider adapter={b}>...</Provider></>);\n```\n\n**`StrictMode` does not double-invoke effects** in the jest environment, so a test that relies on it to reproduce a double-mount bug will pass whether or not the bug is fixed.\n\n## Commit conventions\n\nMantine is a monorepo, thus it is important to write correct commit messages to keep the git history clean and consistent. All commits made in this repository are divided into 3 groups:\n\n- package commits – Related to any particular package.\n- docs commits – Related to the documentation.\n- core commits – Only related to repository tooling and not associated with any package.\n\nCommit messages consists of 3 parts:\n```\n[area] Optional title: Message\n```\n\nExamples:\n- `[core] Fix documentation deployment script` – Change made in repository script, it is not related to documentation or any package\n- `[mantine.dev] Update report issues link` – Change related to documentation website\n- `[@mantine/core] Button: Add theme focus styles` – Change in @mantine/core package at Button component\n- `[@mantine/hooks] use-list-state: Add remove handler` – Change in @mantine/hooks package at use-list-state hook\n\n<!-- File: packages/@docs/demos/README.md (Tokens: ~27 | Category: plugin-manifest) -->\n# Mantine demos\n\nDemo components that are used on mantine.dev website. Not intended for public use.\nNot published on npm.\n\n<!-- File: packages/@docs/styles-api/README.md (Tokens: ~31 | Category: plugin-manifest) -->\n# Mantine Styles API data\n\nComponents Styles API data that is used on mantine.dev website. Not intended for public use.\nNot published on npm.\n\n<!-- File: packages/@mantine-tests/core/README.md (Tokens: ~17 | Category: plugin-manifest) -->\n# Mantine tests\n\nTest utilities for Mantine components.\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine-tests/dates/README.md (Tokens: ~18 | Category: plugin-manifest) -->\n# Mantine dates tests\n\nTest utilities for Mantine components.\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/carousel/README.md (Tokens: ~109 | Category: plugin-manifest) -->\n# Mantine carousel\n\n[![npm](https://img.shields.io/npm/dm/@mantine/carousel)](https://www.npmjs.com/package/@mantine/carousel)\n\nEmbla based carousel\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks @mantine/carousel\n\n# With npm\nnpm install @mantine/core @mantine/hooks @mantine/carousel\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/charts/README.md (Tokens: ~120 | Category: plugin-manifest) -->\n# @mantine/charts\n\n[![npm](https://img.shields.io/npm/dm/@mantine/charts)](https://www.npmjs.com/package/@mantine/charts)\n\nCharts components built with recharts and Mantine\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/charts @mantine/core @mantine/hooks recharts\n\n# With npm\nnpm install @mantine/charts @mantine/core @mantine/hooks recharts\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/code-highlight/README.md (Tokens: ~115 | Category: plugin-manifest) -->\n# Mantine code highlight\n\n[![npm](https://img.shields.io/npm/dm/@mantine/code-highlight)](https://www.npmjs.com/package/@mantine/code-highlight)\n\nCode highlight built with highlight.js and Mantine\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/code-highlight\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/code-highlight\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/colors-generator/README.md (Tokens: ~95 | Category: plugin-manifest) -->\n# @mantine/colors-generator\n\n[![npm](https://img.shields.io/npm/dm/@mantine/colors-generator)](https://www.npmjs.com/package/@mantine/colors-generator)\n\nMantine colors generator\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/colors-generator\n\n# With npm\nnpm install @mantine/colors-generator\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/core/README.md (Tokens: ~98 | Category: plugin-manifest) -->\n# Mantine core\n\n[![npm](https://img.shields.io/npm/dm/@mantine/core)](https://www.npmjs.com/package/@mantine/core)\n\nMantine core components library.\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/dates/README.md (Tokens: ~117 | Category: plugin-manifest) -->\n# Mantine dates\n\n[![npm](https://img.shields.io/npm/dm/@mantine/dates)](https://www.npmjs.com/package/@mantine/dates)\n\nCalendars, date and time pickers\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/core @mantine/hooks @mantine/dates dayjs\n\n# With npm\nnpm install @mantine/core @mantine/hooks @mantine/dates dayjs\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/dropzone/README.md (Tokens: ~114 | Category: plugin-manifest) -->\n# Mantine Dropzone\n\n[![npm](https://img.shields.io/npm/dm/@mantine/dropzone)](https://www.npmjs.com/package/@mantine/dropzone)\n\nCapture files from user\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/dropzone @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/dropzone @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/emotion/README.md (Tokens: ~121 | Category: plugin-manifest) -->\n# @mantine/emotion\n\n[![npm](https://img.shields.io/npm/dm/@mantine/emotion)](https://www.npmjs.com/package/@mantine/emotion)\n\nEmotion bindings for @mantine/core\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/emotion @mantine/core @mantine/hooks @emotion/react\n\n# With npm\nnpm install @mantine/emotion @mantine/core @mantine/hooks @emotion/react\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/form/README.md (Tokens: ~88 | Category: plugin-manifest) -->\n# Mantine Form\n\n[![npm](https://img.shields.io/npm/dm/@mantine/form)](https://www.npmjs.com/package/@mantine/form)\n\nForm management library\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/form\n\n# With npm\nnpm install @mantine/form\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/hooks/README.md (Tokens: ~95 | Category: plugin-manifest) -->\n# Mantine Hooks\n\n[![npm](https://img.shields.io/npm/dm/@mantine/hooks)](https://www.npmjs.com/package/@mantine/hooks)\n\nA set of react hooks for state and UI management\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks\n\n# With npm\nnpm install @mantine/hooks\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/lightbox/README.md (Tokens: ~129 | Category: plugin-manifest) -->\n# @mantine/lightbox\n\n[![npm](https://img.shields.io/npm/dm/@mantine/lightbox)](https://www.npmjs.com/package/@mantine/lightbox)\n\nFull-screen media lightbox with carousel navigation\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/lightbox @mantine/core @mantine/hooks embla-carousel embla-carousel-react\n\n# With npm\nnpm install @mantine/lightbox @mantine/core @mantine/hooks embla-carousel embla-carousel-react\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/mcp-server/README.md (Tokens: ~234 | Category: plugin-manifest) -->\n# @mantine/mcp-server\n\nMCP server for Mantine documentation.\n\n## Usage\n\n```bash\nnpx @mantine/mcp-server\n```\n\n## Configuration\n\n- `MANTINE_MCP_DATA_URL` – static MCP data base URL (`https://mantine.dev/mcp` by default)\n- `MANTINE_MCP_TIMEOUT_MS` – HTTP timeout in milliseconds (`10000` by default)\n\n## Tools\n\n- `search_docs` – search all documentation; returns ranked matches, often pointing at a specific section\n- `get_item_doc` – outline by default, one section with `section`, whole page with `full: true`\n- `get_item_props` – component props, or a hook's TypeScript signature\n- `list_items` – filter by `kind`, `group`, `category`, `package` or `query`\n- `get_api` – resolve a symbol (`useForm`, `useDisclosure`) to its signature\n\n## Coverage\n\n406 documents: components, hooks, `@mantine/form`, styling, theming, framework and migration guides, and FAQ pages. Changelogs are not indexed.\n\n<!-- File: packages/@mantine/modals/README.md (Tokens: ~111 | Category: plugin-manifest) -->\n# Mantine modals manager\n\n[![npm](https://img.shields.io/npm/dm/@mantine/modals)](https://www.npmjs.com/package/@mantine/modals)\n\nManage modals state\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/modals\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/modals\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/notifications/README.md (Tokens: ~108 | Category: plugin-manifest) -->\n# Mantine notifications system\n\n[![npm](https://img.shields.io/npm/dm/@mantine/notifications)](https://www.npmjs.com/package/@mantine/notifications)\n\nNotifications system\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/hooks @mantine/core @mantine/notifications\n\n# With npm\nnpm install @mantine/hooks @mantine/core @mantine/notifications\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/nprogress/README.md (Tokens: ~109 | Category: plugin-manifest) -->\n# Mantine Navigation Progress\n\n[![npm](https://img.shields.io/npm/dm/@mantine/nprogress)](https://www.npmjs.com/package/@mantine/nprogress)\n\nA navigation progress bar\n\n[Documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/nprogress @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/nprogress @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/schedule/README.md (Tokens: ~121 | Category: plugin-manifest) -->\n# @mantine/schedule\n\n[![npm](https://img.shields.io/npm/dm/@mantine/schedule)](https://www.npmjs.com/package/@mantine/schedule)\n\nSchedule Mantine component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/schedule @mantine/core @mantine/hooks @mantine/dates\n\n# With npm\nnpm install @mantine/schedule @mantine/core @mantine/hooks @mantine/dates\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/spotlight/README.md (Tokens: ~114 | Category: plugin-manifest) -->\n# Mantine Spotlight\n\n[![npm](https://img.shields.io/npm/dm/@mantine/spotlight)](https://www.npmjs.com/package/@mantine/spotlight)\n\nOverlay command center for your application\n\n[Documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/spotlight @mantine/core @mantine/hooks\n\n# With npm\nnpm install @mantine/spotlight @mantine/core @mantine/hooks\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/store/README.md (Tokens: ~116 | Category: plugin-manifest) -->\n# Mantine Store\n\n[![npm](https://img.shields.io/npm/dm/@mantine/store)](https://www.npmjs.com/package/@mantine/store)\n\nGlobal state manager for `@mantine/notifications`, `@mantine/nprogress`, `@mantine/spotlight` and other Mantine packages.\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/store\n\n# With npm\nnpm install @mantine/store\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/tiptap/README.md (Tokens: ~152 | Category: plugin-manifest) -->\n# Mantine tiptap\n\n[![npm](https://img.shields.io/npm/dm/@mantine/tiptap)](https://www.npmjs.com/package/@mantine/tiptap)\n\nRich text editor based on [tiptap](https://tiptap.dev/)\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/tiptap @mantine/core @mantine/hooks @tiptap/react @tiptap/extension-link\n\n# With npm\nnpm install @mantine/tiptap @mantine/core @mantine/hooks @tiptap/react @tiptap/extension-link\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantine/vanilla-extract/README.md (Tokens: ~110 | Category: plugin-manifest) -->\n# Mantine Vanilla Extract\n\n[![npm](https://img.shields.io/npm/dm/@mantine/vanilla-extract)](https://www.npmjs.com/package/@mantine/vanilla-extract)\n\nMantine theme integration with vanilla-extract\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantine/vanilla-extract\n\n# With npm\nnpm install @mantine/vanilla-extract\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantinex/colors-generator/README.md (Tokens: ~99 | Category: plugin-manifest) -->\n# @mantinex/colors-generator\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/colors-generator)](https://www.npmjs.com/package/@mantinex/colors-generator)\n\nColors generator component\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/colors-generator\n\n# With npm\nnpm install @mantinex/colors-generator\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantinex/demo/README.md (Tokens: ~101 | Category: plugin-manifest) -->\n# @mantinex/demo\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/demo)](https://www.npmjs.com/package/@mantinex/demo)\n\nDemo base components used on *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/demo\n\n# With npm\nnpm install @mantinex/demo\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantinex/dev-icons/README.md (Tokens: ~105 | Category: plugin-manifest) -->\n# @mantinex/dev-icons\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/dev-icons)](https://www.npmjs.com/package/@mantinex/dev-icons)\n\nDev icons used on *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/dev-icons\n\n# With npm\nnpm install @mantinex/dev-icons\n```\n\n## License\n\nMIT\n\n<!-- File: packages/@mantinex/mantine-header/README.md (Tokens: ~111 | Category: plugin-manifest) -->\n# @mantinex/mantine-header\n\n[![npm](https://img.shields.io/npm/dm/@mantinex/mantine-header)](https://www.npmjs.com/package/@mantinex/mantine-header)\n\nComponents used in headers of *.mantine.dev websites\n\n[View documentation](https://mantine.dev/)\n\n## Installation\n\n```bash\n# With yarn\nyarn add @mantinex/mantine-header\n\n# With npm\nnpm install @mantinex/mantine-header\n```\n\n## License\n\nMIT\n\n<!-- ... +2 more modular skills available via /api/skills/mantinedev/mantine?path={path} -->\n</yakaai_skills>"}