{"owner":"radix-ui","repo":"primitives","hasSkills":true,"totalSkillsCount":64,"totalTokensCount":2543,"categories":["root-instruction","plugin-manifest"],"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md","packages/core/env-check/README.md","packages/core/number/README.md","packages/core/primitive/README.md","packages/core/rect/README.md","packages/react/accessible-icon/README.md","packages/react/accordion/README.md","packages/react/alert-dialog/README.md","packages/react/announce/README.md","packages/react/arrow/README.md","packages/react/aspect-ratio/README.md","packages/react/avatar/README.md","packages/react/checkbox/README.md","packages/react/collapsible/README.md","packages/react/collection/README.md","packages/react/compose-refs/README.md","packages/react/context-menu/README.md","packages/react/context/README.md","packages/react/dialog/README.md","packages/react/direction/README.md","packages/react/dismissable-layer/README.md","packages/react/dropdown-menu/README.md","packages/react/focus-guards/README.md","packages/react/focus-scope/README.md","packages/react/form/README.md","packages/react/hover-card/README.md","packages/react/id/README.md","packages/react/label/README.md","packages/react/menu/README.md","packages/react/menubar/README.md","packages/react/navigation-menu/README.md","packages/react/one-time-password-field/README.md","packages/react/password-toggle-field/README.md","packages/react/popover/README.md","packages/react/popper/README.md","packages/react/portal/README.md","packages/react/presence/README.md","packages/react/primitive/README.md","packages/react/progress/README.md","packages/react/radio-group/README.md","packages/react/radix-ui/README.md","packages/react/roving-focus/README.md","packages/react/scroll-area/README.md","packages/react/select/README.md","packages/react/separator/README.md","packages/react/slider/README.md","packages/react/slot/README.md","packages/react/switch/README.md","packages/react/tabs/README.md","packages/react/toast/README.md","packages/react/toggle-group/README.md","packages/react/toggle/README.md","packages/react/toolbar/README.md","packages/react/tooltip/README.md","packages/react/use-callback-ref/README.md","packages/react/use-controllable-state/README.md","packages/react/use-effect-event/README.md","packages/react/use-escape-keydown/README.md","packages/react/use-is-hydrated/README.md","packages/react/use-layout-effect/README.md","packages/react/use-previous/README.md","packages/react/use-rect/README.md","packages/react/use-size/README.md","packages/react/visually-hidden/README.md"],"skills":{"AGENTS.md":"# Radix Primitives\n\nRadix Primitives is for building high-quality, accessible design systems and web apps.\n\n## Architecture\n\nThis project is a monorepo managed with [pnpm](https://pnpm.io/). It uses the following tools:\n\n- [vitest](https://vitest.dev/) for unit testing\n- [storybook](https://storybook.js.org/) for component documentation\n- [playwright](https://playwright.dev/) for end-to-end testing\n- [changesets](https://github.com/changesets/changesets) for versioning and publishing\n- [oxlint](https://github.com/oxlint-dev/oxlint) for linting\n- [oxfmt](https://github.com/oxlint-dev/oxfmt) for formatting\n\n## Tech Constraints\n\n- **pnpm** only\n- **TypeScript** only (local scripts can use JavaScript with `// @ts-check` and type annotations)\n\n## Commands\n\n```bash\npnpm lint         # Lint the project\npnpm format       # Format the project\npnpm types:check  # Type check the project\npnpm test         # Run tests\npnpm build        # Build the project\n```\n\n## Adding a new package\n\nMost packages are React-specific and live in a directory that matches the convention `packages/react/{package-id}`. For example, `@radix-ui/react-accordion` lives in `packages/react/accordion`.\n\nNew packages should follow the same general folder structure as existing packages:\n\n```\npackages/react/\n  - {package-id}/\n    - src/\n      - {package-id}.tsx\n      - index.ts\n    - CHANGELOG.md\n    - package.json\n    - README.md\n    - tsconfig.json\n```\n\nReference other packages and copy their `package.json`, `README.md`, and `tsconfig.json` structure for new packages. devDependencies and peerDependencies should use consistent version ranges across the repo.\n\n## Testing\n\n- Prefer repetition over abstraction in tests\n\n## Code conventions\n\n- [ ] Prefer braces for control flow statements (if, for, while, etc.) over the `one-liner` syntax\n- [ ] Prefer braces for switch cases\n- [ ] Explicitly check `never` cases for more exhaustive type checking (eg. `value satisfies never`)\n- [ ] Prefer clear variable/function names over abbreviations (long descriptive names are good if they clarify the intent)\n\n## Pre-commit checklist\n\n- [ ] Run `pnpm lint --fix` to handle auto-fixable linting errors, then fix any remaining linting errors\n- [ ] Run `pnpm format`\n\n## PR checklist\n\n- [ ] `pnpm format:check` passes\n- [ ] `pnpm lint` passes\n- [ ] `pnpm test` passes\n- [ ] `pnpm types:check` passes\n- [ ] Follows commit message conventions:\n  - [ ] Commit message is succinct and prefixed with the affected package name. Exceptions to the prefix rule:\n    - If changes are wide-ranging and affect multiple packages, omit the package name if it makes a succinct headline commit is too long\n    - No packages are affected (cosmetic )\n  - [ ] Avoid Conventional Commit message format (`feat:`, `fix:`, `feat!:` for breaking)\n  - [ ] Avoid including too many implementation details in the commit message; prefer concise descriptions\n- [ ] PR title follows same conventions as commit messages\n- [ ] PR description is concise and includes a summary of the changes. Again, avoid including too many implementation details; prefer concise descriptions.\n- [ ] Include a link to the relevant issue in the PR description (if applicable)\n","packages/core/env-check/README.md":"# `env-check`\n\nThis is an internal utility, not intended for public usage.\n","packages/core/number/README.md":"# `number`\n\nThis is an internal utility, not intended for public usage.\n","packages/core/primitive/README.md":"# `primitive`\n\nThis is an internal utility, not intended for public usage.\n","packages/core/rect/README.md":"# `rect`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/accessible-icon/README.md":"# `react-accessible-icon`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/accessible-icon).\n","packages/react/accordion/README.md":"# `react-accordion`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/accordion).\n","packages/react/alert-dialog/README.md":"# `react-alert-dialog`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/alert-dialog).\n","packages/react/announce/README.md":"# `react-announce`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/announce).\n","packages/react/arrow/README.md":"# `react-arrow`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/aspect-ratio/README.md":"# `react-aspect-ratio`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/aspect-ratio).\n","packages/react/avatar/README.md":"# `react-avatar`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/avatar).\n","packages/react/checkbox/README.md":"# `react-checkbox`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/checkbox).\n","packages/react/collapsible/README.md":"# `react-collapsible`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/collapsible).\n","packages/react/collection/README.md":"# `react-collection`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/compose-refs/README.md":"# `react-compose-refs`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/context-menu/README.md":"# `react-context-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/context-menu).\n","packages/react/context/README.md":"# `react-context`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/dialog/README.md":"# `react-dialog`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/dialog).\n","packages/react/direction/README.md":"# `react-direction`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/direction-provider).\n","packages/react/dismissable-layer/README.md":"# `react-dismissable-layer`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/dropdown-menu/README.md":"# `react-dropdown-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/dropdown-menu).\n","packages/react/focus-guards/README.md":"# `react-focus-guards`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/focus-scope/README.md":"# `react-focus-scope`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/form/README.md":"# `react-form`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/form).\n","packages/react/hover-card/README.md":"# `react-hover-card`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/hover-card).\n","packages/react/id/README.md":"# `react-id`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/id-provider).\n","packages/react/label/README.md":"# `react-label`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/label).\n","packages/react/menu/README.md":"# `react-menu`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/menubar/README.md":"# `react-menubar`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/menubar).\n","packages/react/navigation-menu/README.md":"# `react-navigation-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/navigation-menu).\n","packages/react/one-time-password-field/README.md":"# `react-one-time-password-field`\n\n## Installation\n\n```sh\n$ yarn add radix-ui\n# or\n$ npm install radix-ui\n```\n\n## Usage\n\nView docs [here](https://radix-ui.com/primitives/docs/components/one-time-password-field).\n","packages/react/password-toggle-field/README.md":"# `react-password-toggle-field`\n\n## Installation\n\n```sh\n$ yarn add radix-ui\n# or\n$ npm install radix-ui\n```\n\n## Usage\n\nView docs [here](https://radix-ui.com/primitives/docs/components/password-toggle-field).\n","packages/react/popover/README.md":"# `react-popover`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/popover).\n","packages/react/popper/README.md":"# `react-popper`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/portal/README.md":"# `react-portal`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/portal).\n","packages/react/presence/README.md":"# `react-presence`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/primitive/README.md":"# `react-primitive`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/progress/README.md":"# `react-progress`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/progress).\n","packages/react/radio-group/README.md":"# `react-radio-group`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/radio-group).\n","packages/react/radix-ui/README.md":"[![Radix Primitives Logo](https://raw.githubusercontent.com/radix-ui/primitives/main/primitives.png)](https://radix-ui.com/primitives)\n\n# Radix Primitives\n\n**An open-source UI component library for building high-quality, accessible design systems and web apps.**\n\nRadix Primitives is a low-level UI component library with a focus on accessibility, customization and developer experience. You can use these components either as the base layer of your design system, or adopt them incrementally.\n\n---\n\n## Documentation\n\nFor full documentation, visit [radix-ui.com/docs/primitives](https://radix-ui.com/docs/primitives).\n\n## Releases\n\nFor changelog, visit [radix-ui.com/docs/primitives/overview/releases](https://radix-ui.com/docs/primitives/overview/releases).\n\n---\n\n## Community\n\n- [Discord](https://discord.com/invite/7Xb99uG) - To get involved with the Radix community, ask questions and share tips.\n- [Twitter](https://twitter.com/radix_ui) - To receive updates, announcements, blog posts, and general Radix tips.\n\n## Thanks\n\n<a href=\"https://www.chromatic.com/\"><img src=\"https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png\" width=\"153\" height=\"30\" alt=\"Chromatic\" /></a>\n\nThanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions.\n\n---\n\n## License\n\nLicensed under the MIT License, Copyright © 2022-present [WorkOS](https://workos.com).\n","packages/react/roving-focus/README.md":"# `react-roving-focus`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/scroll-area/README.md":"# `react-scroll-area`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/scroll-area).\n","packages/react/select/README.md":"# `react-select`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/select).\n","packages/react/separator/README.md":"# `react-separator`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/separator).\n","packages/react/slider/README.md":"# `react-slider`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/slider).\n","packages/react/slot/README.md":"# `react-slot`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/slot).\n","packages/react/switch/README.md":"# `react-switch`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/switch).\n","packages/react/tabs/README.md":"# `react-tabs`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/tabs).\n","packages/react/toast/README.md":"# `react-toast`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/toast).\n","packages/react/toggle-group/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftoggle-group%2FREADME.md -->","packages/react/toggle/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftoggle%2FREADME.md -->","packages/react/toolbar/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftoolbar%2FREADME.md -->","packages/react/tooltip/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftooltip%2FREADME.md -->","packages/react/use-callback-ref/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-callback-ref%2FREADME.md -->","packages/react/use-controllable-state/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-controllable-state%2FREADME.md -->","packages/react/use-effect-event/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-effect-event%2FREADME.md -->","packages/react/use-escape-keydown/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-escape-keydown%2FREADME.md -->","packages/react/use-is-hydrated/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-is-hydrated%2FREADME.md -->","packages/react/use-layout-effect/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-layout-effect%2FREADME.md -->","packages/react/use-previous/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-previous%2FREADME.md -->","packages/react/use-rect/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-rect%2FREADME.md -->","packages/react/use-size/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-size%2FREADME.md -->","packages/react/visually-hidden/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fvisually-hidden%2FREADME.md -->"},"files":{"AGENTS.md":"# Radix Primitives\n\nRadix Primitives is for building high-quality, accessible design systems and web apps.\n\n## Architecture\n\nThis project is a monorepo managed with [pnpm](https://pnpm.io/). It uses the following tools:\n\n- [vitest](https://vitest.dev/) for unit testing\n- [storybook](https://storybook.js.org/) for component documentation\n- [playwright](https://playwright.dev/) for end-to-end testing\n- [changesets](https://github.com/changesets/changesets) for versioning and publishing\n- [oxlint](https://github.com/oxlint-dev/oxlint) for linting\n- [oxfmt](https://github.com/oxlint-dev/oxfmt) for formatting\n\n## Tech Constraints\n\n- **pnpm** only\n- **TypeScript** only (local scripts can use JavaScript with `// @ts-check` and type annotations)\n\n## Commands\n\n```bash\npnpm lint         # Lint the project\npnpm format       # Format the project\npnpm types:check  # Type check the project\npnpm test         # Run tests\npnpm build        # Build the project\n```\n\n## Adding a new package\n\nMost packages are React-specific and live in a directory that matches the convention `packages/react/{package-id}`. For example, `@radix-ui/react-accordion` lives in `packages/react/accordion`.\n\nNew packages should follow the same general folder structure as existing packages:\n\n```\npackages/react/\n  - {package-id}/\n    - src/\n      - {package-id}.tsx\n      - index.ts\n    - CHANGELOG.md\n    - package.json\n    - README.md\n    - tsconfig.json\n```\n\nReference other packages and copy their `package.json`, `README.md`, and `tsconfig.json` structure for new packages. devDependencies and peerDependencies should use consistent version ranges across the repo.\n\n## Testing\n\n- Prefer repetition over abstraction in tests\n\n## Code conventions\n\n- [ ] Prefer braces for control flow statements (if, for, while, etc.) over the `one-liner` syntax\n- [ ] Prefer braces for switch cases\n- [ ] Explicitly check `never` cases for more exhaustive type checking (eg. `value satisfies never`)\n- [ ] Prefer clear variable/function names over abbreviations (long descriptive names are good if they clarify the intent)\n\n## Pre-commit checklist\n\n- [ ] Run `pnpm lint --fix` to handle auto-fixable linting errors, then fix any remaining linting errors\n- [ ] Run `pnpm format`\n\n## PR checklist\n\n- [ ] `pnpm format:check` passes\n- [ ] `pnpm lint` passes\n- [ ] `pnpm test` passes\n- [ ] `pnpm types:check` passes\n- [ ] Follows commit message conventions:\n  - [ ] Commit message is succinct and prefixed with the affected package name. Exceptions to the prefix rule:\n    - If changes are wide-ranging and affect multiple packages, omit the package name if it makes a succinct headline commit is too long\n    - No packages are affected (cosmetic )\n  - [ ] Avoid Conventional Commit message format (`feat:`, `fix:`, `feat!:` for breaking)\n  - [ ] Avoid including too many implementation details in the commit message; prefer concise descriptions\n- [ ] PR title follows same conventions as commit messages\n- [ ] PR description is concise and includes a summary of the changes. Again, avoid including too many implementation details; prefer concise descriptions.\n- [ ] Include a link to the relevant issue in the PR description (if applicable)\n","packages/core/env-check/README.md":"# `env-check`\n\nThis is an internal utility, not intended for public usage.\n","packages/core/number/README.md":"# `number`\n\nThis is an internal utility, not intended for public usage.\n","packages/core/primitive/README.md":"# `primitive`\n\nThis is an internal utility, not intended for public usage.\n","packages/core/rect/README.md":"# `rect`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/accessible-icon/README.md":"# `react-accessible-icon`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/accessible-icon).\n","packages/react/accordion/README.md":"# `react-accordion`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/accordion).\n","packages/react/alert-dialog/README.md":"# `react-alert-dialog`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/alert-dialog).\n","packages/react/announce/README.md":"# `react-announce`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/announce).\n","packages/react/arrow/README.md":"# `react-arrow`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/aspect-ratio/README.md":"# `react-aspect-ratio`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/aspect-ratio).\n","packages/react/avatar/README.md":"# `react-avatar`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/avatar).\n","packages/react/checkbox/README.md":"# `react-checkbox`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/checkbox).\n","packages/react/collapsible/README.md":"# `react-collapsible`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/collapsible).\n","packages/react/collection/README.md":"# `react-collection`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/compose-refs/README.md":"# `react-compose-refs`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/context-menu/README.md":"# `react-context-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/context-menu).\n","packages/react/context/README.md":"# `react-context`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/dialog/README.md":"# `react-dialog`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/dialog).\n","packages/react/direction/README.md":"# `react-direction`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/direction-provider).\n","packages/react/dismissable-layer/README.md":"# `react-dismissable-layer`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/dropdown-menu/README.md":"# `react-dropdown-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/dropdown-menu).\n","packages/react/focus-guards/README.md":"# `react-focus-guards`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/focus-scope/README.md":"# `react-focus-scope`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/form/README.md":"# `react-form`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/form).\n","packages/react/hover-card/README.md":"# `react-hover-card`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/hover-card).\n","packages/react/id/README.md":"# `react-id`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/id-provider).\n","packages/react/label/README.md":"# `react-label`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/label).\n","packages/react/menu/README.md":"# `react-menu`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/menubar/README.md":"# `react-menubar`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/menubar).\n","packages/react/navigation-menu/README.md":"# `react-navigation-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/navigation-menu).\n","packages/react/one-time-password-field/README.md":"# `react-one-time-password-field`\n\n## Installation\n\n```sh\n$ yarn add radix-ui\n# or\n$ npm install radix-ui\n```\n\n## Usage\n\nView docs [here](https://radix-ui.com/primitives/docs/components/one-time-password-field).\n","packages/react/password-toggle-field/README.md":"# `react-password-toggle-field`\n\n## Installation\n\n```sh\n$ yarn add radix-ui\n# or\n$ npm install radix-ui\n```\n\n## Usage\n\nView docs [here](https://radix-ui.com/primitives/docs/components/password-toggle-field).\n","packages/react/popover/README.md":"# `react-popover`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/popover).\n","packages/react/popper/README.md":"# `react-popper`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/portal/README.md":"# `react-portal`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/portal).\n","packages/react/presence/README.md":"# `react-presence`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/primitive/README.md":"# `react-primitive`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/progress/README.md":"# `react-progress`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/progress).\n","packages/react/radio-group/README.md":"# `react-radio-group`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/radio-group).\n","packages/react/radix-ui/README.md":"[![Radix Primitives Logo](https://raw.githubusercontent.com/radix-ui/primitives/main/primitives.png)](https://radix-ui.com/primitives)\n\n# Radix Primitives\n\n**An open-source UI component library for building high-quality, accessible design systems and web apps.**\n\nRadix Primitives is a low-level UI component library with a focus on accessibility, customization and developer experience. You can use these components either as the base layer of your design system, or adopt them incrementally.\n\n---\n\n## Documentation\n\nFor full documentation, visit [radix-ui.com/docs/primitives](https://radix-ui.com/docs/primitives).\n\n## Releases\n\nFor changelog, visit [radix-ui.com/docs/primitives/overview/releases](https://radix-ui.com/docs/primitives/overview/releases).\n\n---\n\n## Community\n\n- [Discord](https://discord.com/invite/7Xb99uG) - To get involved with the Radix community, ask questions and share tips.\n- [Twitter](https://twitter.com/radix_ui) - To receive updates, announcements, blog posts, and general Radix tips.\n\n## Thanks\n\n<a href=\"https://www.chromatic.com/\"><img src=\"https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png\" width=\"153\" height=\"30\" alt=\"Chromatic\" /></a>\n\nThanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions.\n\n---\n\n## License\n\nLicensed under the MIT License, Copyright © 2022-present [WorkOS](https://workos.com).\n","packages/react/roving-focus/README.md":"# `react-roving-focus`\n\nThis is an internal utility, not intended for public usage.\n","packages/react/scroll-area/README.md":"# `react-scroll-area`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/scroll-area).\n","packages/react/select/README.md":"# `react-select`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/select).\n","packages/react/separator/README.md":"# `react-separator`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/separator).\n","packages/react/slider/README.md":"# `react-slider`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/slider).\n","packages/react/slot/README.md":"# `react-slot`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/slot).\n","packages/react/switch/README.md":"# `react-switch`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/switch).\n","packages/react/tabs/README.md":"# `react-tabs`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/tabs).\n","packages/react/toast/README.md":"# `react-toast`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/toast).\n","packages/react/toggle-group/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftoggle-group%2FREADME.md -->","packages/react/toggle/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftoggle%2FREADME.md -->","packages/react/toolbar/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftoolbar%2FREADME.md -->","packages/react/tooltip/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftooltip%2FREADME.md -->","packages/react/use-callback-ref/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-callback-ref%2FREADME.md -->","packages/react/use-controllable-state/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-controllable-state%2FREADME.md -->","packages/react/use-effect-event/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-effect-event%2FREADME.md -->","packages/react/use-escape-keydown/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-escape-keydown%2FREADME.md -->","packages/react/use-is-hydrated/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-is-hydrated%2FREADME.md -->","packages/react/use-layout-effect/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-layout-effect%2FREADME.md -->","packages/react/use-previous/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-previous%2FREADME.md -->","packages/react/use-rect/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-rect%2FREADME.md -->","packages/react/use-size/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-size%2FREADME.md -->","packages/react/visually-hidden/README.md":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fvisually-hidden%2FREADME.md -->"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/AGENTS.md","title":"AI Agent Protocol & Instructions","category":"root-instruction","format":"markdown","content":"# Radix Primitives\n\nRadix Primitives is for building high-quality, accessible design systems and web apps.\n\n## Architecture\n\nThis project is a monorepo managed with [pnpm](https://pnpm.io/). It uses the following tools:\n\n- [vitest](https://vitest.dev/) for unit testing\n- [storybook](https://storybook.js.org/) for component documentation\n- [playwright](https://playwright.dev/) for end-to-end testing\n- [changesets](https://github.com/changesets/changesets) for versioning and publishing\n- [oxlint](https://github.com/oxlint-dev/oxlint) for linting\n- [oxfmt](https://github.com/oxlint-dev/oxfmt) for formatting\n\n## Tech Constraints\n\n- **pnpm** only\n- **TypeScript** only (local scripts can use JavaScript with `// @ts-check` and type annotations)\n\n## Commands\n\n```bash\npnpm lint         # Lint the project\npnpm format       # Format the project\npnpm types:check  # Type check the project\npnpm test         # Run tests\npnpm build        # Build the project\n```\n\n## Adding a new package\n\nMost packages are React-specific and live in a directory that matches the convention `packages/react/{package-id}`. For example, `@radix-ui/react-accordion` lives in `packages/react/accordion`.\n\nNew packages should follow the same general folder structure as existing packages:\n\n```\npackages/react/\n  - {package-id}/\n    - src/\n      - {package-id}.tsx\n      - index.ts\n    - CHANGELOG.md\n    - package.json\n    - README.md\n    - tsconfig.json\n```\n\nReference other packages and copy their `package.json`, `README.md`, and `tsconfig.json` structure for new packages. devDependencies and peerDependencies should use consistent version ranges across the repo.\n\n## Testing\n\n- Prefer repetition over abstraction in tests\n\n## Code conventions\n\n- [ ] Prefer braces for control flow statements (if, for, while, etc.) over the `one-liner` syntax\n- [ ] Prefer braces for switch cases\n- [ ] Explicitly check `never` cases for more exhaustive type checking (eg. `value satisfies never`)\n- [ ] Prefer clear variable/function names over abbreviations (long descriptive names are good if they clarify the intent)\n\n## Pre-commit checklist\n\n- [ ] Run `pnpm lint --fix` to handle auto-fixable linting errors, then fix any remaining linting errors\n- [ ] Run `pnpm format`\n\n## PR checklist\n\n- [ ] `pnpm format:check` passes\n- [ ] `pnpm lint` passes\n- [ ] `pnpm test` passes\n- [ ] `pnpm types:check` passes\n- [ ] Follows commit message conventions:\n  - [ ] Commit message is succinct and prefixed with the affected package name. Exceptions to the prefix rule:\n    - If changes are wide-ranging and affect multiple packages, omit the package name if it makes a succinct headline commit is too long\n    - No packages are affected (cosmetic )\n  - [ ] Avoid Conventional Commit message format (`feat:`, `fix:`, `feat!:` for breaking)\n  - [ ] Avoid including too many implementation details in the commit message; prefer concise descriptions\n- [ ] PR title follows same conventions as commit messages\n- [ ] PR description is concise and includes a summary of the changes. Again, avoid including too many implementation details; prefer concise descriptions.\n- [ ] Include a link to the relevant issue in the PR description (if applicable)\n","isInternal":false,"tokens":761,"sizeBytes":3199},{"name":"README.md","path":"packages/core/env-check/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/core/env-check/README.md","title":"env-check Documentation","category":"plugin-manifest","format":"markdown","content":"# `env-check`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":17,"sizeBytes":75},{"name":"README.md","path":"packages/core/number/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/core/number/README.md","title":"number Documentation","category":"plugin-manifest","format":"markdown","content":"# `number`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":16,"sizeBytes":72},{"name":"README.md","path":"packages/core/primitive/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/core/primitive/README.md","title":"primitive Documentation","category":"plugin-manifest","format":"markdown","content":"# `primitive`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":16,"sizeBytes":75},{"name":"README.md","path":"packages/core/rect/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/core/rect/README.md","title":"rect Documentation","category":"plugin-manifest","format":"markdown","content":"# `rect`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":16,"sizeBytes":70},{"name":"README.md","path":"packages/react/accessible-icon/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/accessible-icon/README.md","title":"accessible-icon Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-accessible-icon`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/accessible-icon).\n","isInternal":false,"tokens":27,"sizeBytes":109},{"name":"README.md","path":"packages/react/accordion/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/accordion/README.md","title":"accordion Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-accordion`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/accordion).\n","isInternal":false,"tokens":24,"sizeBytes":98},{"name":"README.md","path":"packages/react/alert-dialog/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/alert-dialog/README.md","title":"alert-dialog Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-alert-dialog`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/alert-dialog).\n","isInternal":false,"tokens":24,"sizeBytes":104},{"name":"README.md","path":"packages/react/announce/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/announce/README.md","title":"announce Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-announce`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/announce).\n","isInternal":false,"tokens":25,"sizeBytes":95},{"name":"README.md","path":"packages/react/arrow/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/arrow/README.md","title":"arrow Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-arrow`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":17,"sizeBytes":77},{"name":"README.md","path":"packages/react/aspect-ratio/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/aspect-ratio/README.md","title":"aspect-ratio Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-aspect-ratio`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/aspect-ratio).\n","isInternal":false,"tokens":28,"sizeBytes":104},{"name":"README.md","path":"packages/react/avatar/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/avatar/README.md","title":"avatar Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-avatar`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/avatar).\n","isInternal":false,"tokens":22,"sizeBytes":92},{"name":"README.md","path":"packages/react/checkbox/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/checkbox/README.md","title":"checkbox Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-checkbox`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/checkbox).\n","isInternal":false,"tokens":23,"sizeBytes":96},{"name":"README.md","path":"packages/react/collapsible/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/collapsible/README.md","title":"collapsible Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-collapsible`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/collapsible).\n","isInternal":false,"tokens":26,"sizeBytes":102},{"name":"README.md","path":"packages/react/collection/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/collection/README.md","title":"collection Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-collection`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":17,"sizeBytes":82},{"name":"README.md","path":"packages/react/compose-refs/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/compose-refs/README.md","title":"compose-refs Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-compose-refs`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":19,"sizeBytes":84},{"name":"README.md","path":"packages/react/context-menu/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/context-menu/README.md","title":"context-menu Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-context-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/context-menu).\n","isInternal":false,"tokens":24,"sizeBytes":104},{"name":"README.md","path":"packages/react/context/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/context/README.md","title":"context Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-context`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":17,"sizeBytes":79},{"name":"README.md","path":"packages/react/dialog/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/dialog/README.md","title":"dialog Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-dialog`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/dialog).\n","isInternal":false,"tokens":22,"sizeBytes":92},{"name":"README.md","path":"packages/react/direction/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/direction/README.md","title":"direction Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-direction`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/direction-provider).\n","isInternal":false,"tokens":25,"sizeBytes":106},{"name":"README.md","path":"packages/react/dismissable-layer/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/dismissable-layer/README.md","title":"dismissable-layer Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-dismissable-layer`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":19,"sizeBytes":89},{"name":"README.md","path":"packages/react/dropdown-menu/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/dropdown-menu/README.md","title":"dropdown-menu Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-dropdown-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/dropdown-menu).\n","isInternal":false,"tokens":25,"sizeBytes":106},{"name":"README.md","path":"packages/react/focus-guards/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/focus-guards/README.md","title":"focus-guards Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-focus-guards`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":19,"sizeBytes":84},{"name":"README.md","path":"packages/react/focus-scope/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/focus-scope/README.md","title":"focus-scope Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-focus-scope`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":19,"sizeBytes":83},{"name":"README.md","path":"packages/react/form/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/form/README.md","title":"form Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-form`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/form).\n","isInternal":false,"tokens":22,"sizeBytes":88},{"name":"README.md","path":"packages/react/hover-card/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/hover-card/README.md","title":"hover-card Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-hover-card`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/hover-card).\n","isInternal":false,"tokens":25,"sizeBytes":100},{"name":"README.md","path":"packages/react/id/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/id/README.md","title":"id Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-id`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/id-provider).\n","isInternal":false,"tokens":24,"sizeBytes":92},{"name":"README.md","path":"packages/react/label/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/label/README.md","title":"label Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-label`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/label).\n","isInternal":false,"tokens":23,"sizeBytes":90},{"name":"README.md","path":"packages/react/menu/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/menu/README.md","title":"menu Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-menu`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":17,"sizeBytes":76},{"name":"README.md","path":"packages/react/menubar/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/menubar/README.md","title":"menubar Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-menubar`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/menubar).\n","isInternal":false,"tokens":25,"sizeBytes":94},{"name":"README.md","path":"packages/react/navigation-menu/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/navigation-menu/README.md","title":"navigation-menu Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-navigation-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/navigation-menu).\n","isInternal":false,"tokens":24,"sizeBytes":110},{"name":"README.md","path":"packages/react/one-time-password-field/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/one-time-password-field/README.md","title":"one-time-password-field Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-one-time-password-field`\n\n## Installation\n\n```sh\n$ yarn add radix-ui\n# or\n$ npm install radix-ui\n```\n\n## Usage\n\nView docs [here](https://radix-ui.com/primitives/docs/components/one-time-password-field).\n","isInternal":false,"tokens":55,"sizeBytes":212},{"name":"README.md","path":"packages/react/password-toggle-field/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/password-toggle-field/README.md","title":"password-toggle-field Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-password-toggle-field`\n\n## Installation\n\n```sh\n$ yarn add radix-ui\n# or\n$ npm install radix-ui\n```\n\n## Usage\n\nView docs [here](https://radix-ui.com/primitives/docs/components/password-toggle-field).\n","isInternal":false,"tokens":52,"sizeBytes":208},{"name":"README.md","path":"packages/react/popover/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/popover/README.md","title":"popover Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-popover`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/popover).\n","isInternal":false,"tokens":24,"sizeBytes":94},{"name":"README.md","path":"packages/react/popper/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/popper/README.md","title":"popper Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-popper`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":18,"sizeBytes":78},{"name":"README.md","path":"packages/react/portal/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/portal/README.md","title":"portal Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-portal`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/portal).\n","isInternal":false,"tokens":25,"sizeBytes":91},{"name":"README.md","path":"packages/react/presence/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/presence/README.md","title":"presence Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-presence`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":18,"sizeBytes":80},{"name":"README.md","path":"packages/react/primitive/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/primitive/README.md","title":"primitive Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-primitive`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":18,"sizeBytes":81},{"name":"README.md","path":"packages/react/progress/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/progress/README.md","title":"progress Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-progress`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/progress).\n","isInternal":false,"tokens":23,"sizeBytes":96},{"name":"README.md","path":"packages/react/radio-group/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/radio-group/README.md","title":"radio-group Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-radio-group`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/radio-group).\n","isInternal":false,"tokens":25,"sizeBytes":102},{"name":"README.md","path":"packages/react/radix-ui/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/radix-ui/README.md","title":"radix-ui Documentation","category":"plugin-manifest","format":"markdown","content":"[![Radix Primitives Logo](https://raw.githubusercontent.com/radix-ui/primitives/main/primitives.png)](https://radix-ui.com/primitives)\n\n# Radix Primitives\n\n**An open-source UI component library for building high-quality, accessible design systems and web apps.**\n\nRadix Primitives is a low-level UI component library with a focus on accessibility, customization and developer experience. You can use these components either as the base layer of your design system, or adopt them incrementally.\n\n---\n\n## Documentation\n\nFor full documentation, visit [radix-ui.com/docs/primitives](https://radix-ui.com/docs/primitives).\n\n## Releases\n\nFor changelog, visit [radix-ui.com/docs/primitives/overview/releases](https://radix-ui.com/docs/primitives/overview/releases).\n\n---\n\n## Community\n\n- [Discord](https://discord.com/invite/7Xb99uG) - To get involved with the Radix community, ask questions and share tips.\n- [Twitter](https://twitter.com/radix_ui) - To receive updates, announcements, blog posts, and general Radix tips.\n\n## Thanks\n\n<a href=\"https://www.chromatic.com/\"><img src=\"https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png\" width=\"153\" height=\"30\" alt=\"Chromatic\" /></a>\n\nThanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions.\n\n---\n\n## License\n\nLicensed under the MIT License, Copyright © 2022-present [WorkOS](https://workos.com).\n","isInternal":false,"tokens":364,"sizeBytes":1483},{"name":"README.md","path":"packages/react/roving-focus/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/roving-focus/README.md","title":"roving-focus Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-roving-focus`\n\nThis is an internal utility, not intended for public usage.\n","isInternal":false,"tokens":19,"sizeBytes":84},{"name":"README.md","path":"packages/react/scroll-area/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/scroll-area/README.md","title":"scroll-area Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-scroll-area`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/scroll-area).\n","isInternal":false,"tokens":25,"sizeBytes":102},{"name":"README.md","path":"packages/react/select/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/select/README.md","title":"select Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-select`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/select).\n","isInternal":false,"tokens":22,"sizeBytes":92},{"name":"README.md","path":"packages/react/separator/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/separator/README.md","title":"separator Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-separator`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/separator).\n","isInternal":false,"tokens":24,"sizeBytes":98},{"name":"README.md","path":"packages/react/slider/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/slider/README.md","title":"slider Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-slider`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/slider).\n","isInternal":false,"tokens":22,"sizeBytes":92},{"name":"README.md","path":"packages/react/slot/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/slot/README.md","title":"slot Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-slot`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/slot).\n","isInternal":false,"tokens":24,"sizeBytes":87},{"name":"README.md","path":"packages/react/switch/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/switch/README.md","title":"switch Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-switch`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/switch).\n","isInternal":false,"tokens":23,"sizeBytes":92},{"name":"README.md","path":"packages/react/tabs/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/tabs/README.md","title":"tabs Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-tabs`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/tabs).\n","isInternal":false,"tokens":23,"sizeBytes":88},{"name":"README.md","path":"packages/react/toast/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/toast/README.md","title":"toast Documentation","category":"plugin-manifest","format":"markdown","content":"# `react-toast`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/toast).\n","isInternal":false,"tokens":23,"sizeBytes":90},{"name":"README.md","path":"packages/react/toggle-group/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/toggle-group/README.md","title":"toggle-group Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftoggle-group%2FREADME.md -->","isInternal":false,"tokens":25,"sizeBytes":104},{"name":"README.md","path":"packages/react/toggle/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/toggle/README.md","title":"toggle Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftoggle%2FREADME.md -->","isInternal":false,"tokens":23,"sizeBytes":92},{"name":"README.md","path":"packages/react/toolbar/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/toolbar/README.md","title":"toolbar Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftoolbar%2FREADME.md -->","isInternal":false,"tokens":23,"sizeBytes":94},{"name":"README.md","path":"packages/react/tooltip/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/tooltip/README.md","title":"tooltip Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Ftooltip%2FREADME.md -->","isInternal":false,"tokens":23,"sizeBytes":94},{"name":"README.md","path":"packages/react/use-callback-ref/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/use-callback-ref/README.md","title":"use-callback-ref Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-callback-ref%2FREADME.md -->","isInternal":false,"tokens":20,"sizeBytes":88},{"name":"README.md","path":"packages/react/use-controllable-state/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/use-controllable-state/README.md","title":"use-controllable-state Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-controllable-state%2FREADME.md -->","isInternal":false,"tokens":20,"sizeBytes":94},{"name":"README.md","path":"packages/react/use-effect-event/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/use-effect-event/README.md","title":"use-effect-event Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-effect-event%2FREADME.md -->","isInternal":false,"tokens":25,"sizeBytes":97},{"name":"README.md","path":"packages/react/use-escape-keydown/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/use-escape-keydown/README.md","title":"use-escape-keydown Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-escape-keydown%2FREADME.md -->","isInternal":false,"tokens":21,"sizeBytes":90},{"name":"README.md","path":"packages/react/use-is-hydrated/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/use-is-hydrated/README.md","title":"use-is-hydrated Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-is-hydrated%2FREADME.md -->","isInternal":false,"tokens":25,"sizeBytes":97},{"name":"README.md","path":"packages/react/use-layout-effect/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/use-layout-effect/README.md","title":"use-layout-effect Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-layout-effect%2FREADME.md -->","isInternal":false,"tokens":19,"sizeBytes":89},{"name":"README.md","path":"packages/react/use-previous/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/use-previous/README.md","title":"use-previous Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-previous%2FREADME.md -->","isInternal":false,"tokens":19,"sizeBytes":84},{"name":"README.md","path":"packages/react/use-rect/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/use-rect/README.md","title":"use-rect Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-rect%2FREADME.md -->","isInternal":false,"tokens":19,"sizeBytes":80},{"name":"README.md","path":"packages/react/use-size/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/use-size/README.md","title":"use-size Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fuse-size%2FREADME.md -->","isInternal":false,"tokens":18,"sizeBytes":80},{"name":"README.md","path":"packages/react/visually-hidden/README.md","rawUrl":"https://raw.githubusercontent.com/radix-ui/primitives/HEAD/packages/react/visually-hidden/README.md","title":"visually-hidden Documentation","category":"plugin-manifest","format":"markdown","content":"<!-- Skill available on-demand via /api/skills/radix-ui/primitives?path=packages%2Freact%2Fvisually-hidden%2FREADME.md -->","isInternal":false,"tokens":28,"sizeBytes":109}],"systemPromptSnippet":"<yakaai_skills repo=\"radix-ui/primitives\">\n<!-- File: AGENTS.md (Tokens: ~761 | Category: root-instruction) -->\n# Radix Primitives\n\nRadix Primitives is for building high-quality, accessible design systems and web apps.\n\n## Architecture\n\nThis project is a monorepo managed with [pnpm](https://pnpm.io/). It uses the following tools:\n\n- [vitest](https://vitest.dev/) for unit testing\n- [storybook](https://storybook.js.org/) for component documentation\n- [playwright](https://playwright.dev/) for end-to-end testing\n- [changesets](https://github.com/changesets/changesets) for versioning and publishing\n- [oxlint](https://github.com/oxlint-dev/oxlint) for linting\n- [oxfmt](https://github.com/oxlint-dev/oxfmt) for formatting\n\n## Tech Constraints\n\n- **pnpm** only\n- **TypeScript** only (local scripts can use JavaScript with `// @ts-check` and type annotations)\n\n## Commands\n\n```bash\npnpm lint         # Lint the project\npnpm format       # Format the project\npnpm types:check  # Type check the project\npnpm test         # Run tests\npnpm build        # Build the project\n```\n\n## Adding a new package\n\nMost packages are React-specific and live in a directory that matches the convention `packages/react/{package-id}`. For example, `@radix-ui/react-accordion` lives in `packages/react/accordion`.\n\nNew packages should follow the same general folder structure as existing packages:\n\n```\npackages/react/\n  - {package-id}/\n    - src/\n      - {package-id}.tsx\n      - index.ts\n    - CHANGELOG.md\n    - package.json\n    - README.md\n    - tsconfig.json\n```\n\nReference other packages and copy their `package.json`, `README.md`, and `tsconfig.json` structure for new packages. devDependencies and peerDependencies should use consistent version ranges across the repo.\n\n## Testing\n\n- Prefer repetition over abstraction in tests\n\n## Code conventions\n\n- [ ] Prefer braces for control flow statements (if, for, while, etc.) over the `one-liner` syntax\n- [ ] Prefer braces for switch cases\n- [ ] Explicitly check `never` cases for more exhaustive type checking (eg. `value satisfies never`)\n- [ ] Prefer clear variable/function names over abbreviations (long descriptive names are good if they clarify the intent)\n\n## Pre-commit checklist\n\n- [ ] Run `pnpm lint --fix` to handle auto-fixable linting errors, then fix any remaining linting errors\n- [ ] Run `pnpm format`\n\n## PR checklist\n\n- [ ] `pnpm format:check` passes\n- [ ] `pnpm lint` passes\n- [ ] `pnpm test` passes\n- [ ] `pnpm types:check` passes\n- [ ] Follows commit message conventions:\n  - [ ] Commit message is succinct and prefixed with the affected package name. Exceptions to the prefix rule:\n    - If changes are wide-ranging and affect multiple packages, omit the package name if it makes a succinct headline commit is too long\n    - No packages are affected (cosmetic )\n  - [ ] Avoid Conventional Commit message format (`feat:`, `fix:`, `feat!:` for breaking)\n  - [ ] Avoid including too many implementation details in the commit message; prefer concise descriptions\n- [ ] PR title follows same conventions as commit messages\n- [ ] PR description is concise and includes a summary of the changes. Again, avoid including too many implementation details; prefer concise descriptions.\n- [ ] Include a link to the relevant issue in the PR description (if applicable)\n\n<!-- File: packages/core/env-check/README.md (Tokens: ~17 | Category: plugin-manifest) -->\n# `env-check`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/core/number/README.md (Tokens: ~16 | Category: plugin-manifest) -->\n# `number`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/core/primitive/README.md (Tokens: ~16 | Category: plugin-manifest) -->\n# `primitive`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/core/rect/README.md (Tokens: ~16 | Category: plugin-manifest) -->\n# `rect`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/react/accessible-icon/README.md (Tokens: ~27 | Category: plugin-manifest) -->\n# `react-accessible-icon`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/accessible-icon).\n\n<!-- File: packages/react/accordion/README.md (Tokens: ~24 | Category: plugin-manifest) -->\n# `react-accordion`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/accordion).\n\n<!-- File: packages/react/alert-dialog/README.md (Tokens: ~24 | Category: plugin-manifest) -->\n# `react-alert-dialog`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/alert-dialog).\n\n<!-- File: packages/react/announce/README.md (Tokens: ~25 | Category: plugin-manifest) -->\n# `react-announce`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/announce).\n\n<!-- File: packages/react/arrow/README.md (Tokens: ~17 | Category: plugin-manifest) -->\n# `react-arrow`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/react/aspect-ratio/README.md (Tokens: ~28 | Category: plugin-manifest) -->\n# `react-aspect-ratio`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/aspect-ratio).\n\n<!-- File: packages/react/avatar/README.md (Tokens: ~22 | Category: plugin-manifest) -->\n# `react-avatar`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/avatar).\n\n<!-- File: packages/react/checkbox/README.md (Tokens: ~23 | Category: plugin-manifest) -->\n# `react-checkbox`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/checkbox).\n\n<!-- File: packages/react/collapsible/README.md (Tokens: ~26 | Category: plugin-manifest) -->\n# `react-collapsible`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/collapsible).\n\n<!-- File: packages/react/collection/README.md (Tokens: ~17 | Category: plugin-manifest) -->\n# `react-collection`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/react/compose-refs/README.md (Tokens: ~19 | Category: plugin-manifest) -->\n# `react-compose-refs`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/react/context-menu/README.md (Tokens: ~24 | Category: plugin-manifest) -->\n# `react-context-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/context-menu).\n\n<!-- File: packages/react/context/README.md (Tokens: ~17 | Category: plugin-manifest) -->\n# `react-context`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/react/dialog/README.md (Tokens: ~22 | Category: plugin-manifest) -->\n# `react-dialog`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/dialog).\n\n<!-- File: packages/react/direction/README.md (Tokens: ~25 | Category: plugin-manifest) -->\n# `react-direction`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/direction-provider).\n\n<!-- File: packages/react/dismissable-layer/README.md (Tokens: ~19 | Category: plugin-manifest) -->\n# `react-dismissable-layer`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/react/dropdown-menu/README.md (Tokens: ~25 | Category: plugin-manifest) -->\n# `react-dropdown-menu`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/dropdown-menu).\n\n<!-- File: packages/react/focus-guards/README.md (Tokens: ~19 | Category: plugin-manifest) -->\n# `react-focus-guards`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/react/focus-scope/README.md (Tokens: ~19 | Category: plugin-manifest) -->\n# `react-focus-scope`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/react/form/README.md (Tokens: ~22 | Category: plugin-manifest) -->\n# `react-form`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/form).\n\n<!-- File: packages/react/hover-card/README.md (Tokens: ~25 | Category: plugin-manifest) -->\n# `react-hover-card`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/hover-card).\n\n<!-- File: packages/react/id/README.md (Tokens: ~24 | Category: plugin-manifest) -->\n# `react-id`\n\nView docs [here](https://radix-ui.com/primitives/docs/utilities/id-provider).\n\n<!-- File: packages/react/label/README.md (Tokens: ~23 | Category: plugin-manifest) -->\n# `react-label`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/label).\n\n<!-- File: packages/react/menu/README.md (Tokens: ~17 | Category: plugin-manifest) -->\n# `react-menu`\n\nThis is an internal utility, not intended for public usage.\n\n<!-- File: packages/react/menubar/README.md (Tokens: ~25 | Category: plugin-manifest) -->\n# `react-menubar`\n\nView docs [here](https://radix-ui.com/primitives/docs/components/menubar).\n\n<!-- ... +34 more modular skills available via /api/skills/radix-ui/primitives?path={path} -->\n</yakaai_skills>"}