Full Code of mui/base-ui for AI

master 350b6b19a32e cached
2622 files
9.3 MB
2.6M tokens
5766 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (10,357K chars total). Download the full file to get everything.
Repository: mui/base-ui
Branch: master
Commit: 350b6b19a32e
Files: 2622
Total size: 9.3 MB

Directory structure:
gitextract_kkoivwn8/

├── .browserslistrc
├── .circleci/
│   └── config.yml
├── .editorconfig
├── .gitattributes
├── .github/
│   ├── CODEOWNERS
│   ├── ISSUE_TEMPLATE/
│   │   ├── 1.bug.md
│   │   ├── 2.feature-request.md
│   │   ├── 3.get-help.md
│   │   └── 4.docs-feedback.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── codeql/
│   │   └── codeql-config.yml
│   ├── dependabot.yml
│   └── workflows/
│       ├── check-if-pr-has-label.yml
│       ├── ci.yml
│       ├── codeql.yml
│       ├── ensure-triage-label.yml
│       ├── fixed-issue.yml
│       ├── maintenance.yml
│       ├── mark-duplicate.yml
│       ├── new-issue-triage.yml
│       ├── no-response.yml
│       ├── publish.yml
│       ├── scorecards.yml
│       ├── support-stackoverflow.yml
│       └── vale-action.yml
├── .gitignore
├── .lintignore
├── .markdownlint-cli2.mjs
├── .npmrc
├── .vale.ini
├── .vscode/
│   ├── extensions.json
│   └── settings.json
├── AGENTS.md
├── CHANGELOG.md
├── CHANGELOG.old.md
├── CLAUDE.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── babel.config.mjs
├── docs/
│   ├── README.md
│   ├── next.config.mjs
│   ├── package.json
│   ├── postcss.config.js
│   ├── public/
│   │   ├── _headers
│   │   ├── _redirects
│   │   └── robots.txt
│   ├── reference/
│   │   └── generated/
│   │       ├── accordion-header.json
│   │       ├── accordion-item.json
│   │       ├── accordion-panel.json
│   │       ├── accordion-root.json
│   │       ├── accordion-trigger.json
│   │       ├── alert-dialog-backdrop.json
│   │       ├── alert-dialog-close.json
│   │       ├── alert-dialog-description.json
│   │       ├── alert-dialog-popup.json
│   │       ├── alert-dialog-portal.json
│   │       ├── alert-dialog-root.json
│   │       ├── alert-dialog-title.json
│   │       ├── alert-dialog-trigger.json
│   │       ├── alert-dialog-viewport.json
│   │       ├── autocomplete-root.json
│   │       ├── autocomplete-value.json
│   │       ├── avatar-fallback.json
│   │       ├── avatar-image.json
│   │       ├── avatar-root.json
│   │       ├── button.json
│   │       ├── calendar-day-button.json
│   │       ├── calendar-day-grid-body.json
│   │       ├── calendar-day-grid-cell.json
│   │       ├── calendar-day-grid-header-cell.json
│   │       ├── calendar-day-grid-header-row.json
│   │       ├── calendar-day-grid-header.json
│   │       ├── calendar-day-grid-row.json
│   │       ├── calendar-day-grid.json
│   │       ├── calendar-decrement-month.json
│   │       ├── calendar-increment-month.json
│   │       ├── calendar-root.json
│   │       ├── calendar-viewport.json
│   │       ├── checkbox-group.json
│   │       ├── checkbox-indicator.json
│   │       ├── checkbox-root.json
│   │       ├── collapsible-panel.json
│   │       ├── collapsible-root.json
│   │       ├── collapsible-trigger.json
│   │       ├── combobox-arrow.json
│   │       ├── combobox-backdrop.json
│   │       ├── combobox-chip-remove.json
│   │       ├── combobox-chip.json
│   │       ├── combobox-chips.json
│   │       ├── combobox-clear.json
│   │       ├── combobox-collection.json
│   │       ├── combobox-empty.json
│   │       ├── combobox-group-label.json
│   │       ├── combobox-group.json
│   │       ├── combobox-icon.json
│   │       ├── combobox-input-group.json
│   │       ├── combobox-input.json
│   │       ├── combobox-item-indicator.json
│   │       ├── combobox-item.json
│   │       ├── combobox-label.json
│   │       ├── combobox-list.json
│   │       ├── combobox-popup.json
│   │       ├── combobox-portal.json
│   │       ├── combobox-positioner.json
│   │       ├── combobox-root.json
│   │       ├── combobox-row.json
│   │       ├── combobox-status.json
│   │       ├── combobox-trigger.json
│   │       ├── combobox-value.json
│   │       ├── context-menu-root.json
│   │       ├── context-menu-trigger.json
│   │       ├── csp-provider.json
│   │       ├── dialog-backdrop.json
│   │       ├── dialog-close.json
│   │       ├── dialog-description.json
│   │       ├── dialog-popup.json
│   │       ├── dialog-portal.json
│   │       ├── dialog-root.json
│   │       ├── dialog-title.json
│   │       ├── dialog-trigger.json
│   │       ├── dialog-viewport.json
│   │       ├── direction-provider.json
│   │       ├── drawer-backdrop.json
│   │       ├── drawer-close.json
│   │       ├── drawer-content.json
│   │       ├── drawer-description.json
│   │       ├── drawer-indent-background.json
│   │       ├── drawer-indent.json
│   │       ├── drawer-popup.json
│   │       ├── drawer-portal.json
│   │       ├── drawer-provider.json
│   │       ├── drawer-root.json
│   │       ├── drawer-swipe-area.json
│   │       ├── drawer-title.json
│   │       ├── drawer-trigger.json
│   │       ├── drawer-viewport.json
│   │       ├── field-control.json
│   │       ├── field-description.json
│   │       ├── field-error.json
│   │       ├── field-item.json
│   │       ├── field-label.json
│   │       ├── field-root.json
│   │       ├── field-validity.json
│   │       ├── fieldset-legend.json
│   │       ├── fieldset-root.json
│   │       ├── form.json
│   │       ├── group-collection-provider.json
│   │       ├── input.json
│   │       ├── localization-provider.json
│   │       ├── menu-arrow.json
│   │       ├── menu-backdrop.json
│   │       ├── menu-checkbox-item-indicator.json
│   │       ├── menu-checkbox-item.json
│   │       ├── menu-group-label.json
│   │       ├── menu-group.json
│   │       ├── menu-item.json
│   │       ├── menu-link-item.json
│   │       ├── menu-popup.json
│   │       ├── menu-portal.json
│   │       ├── menu-positioner.json
│   │       ├── menu-radio-group.json
│   │       ├── menu-radio-item-indicator.json
│   │       ├── menu-radio-item.json
│   │       ├── menu-root.json
│   │       ├── menu-submenu-root.json
│   │       ├── menu-submenu-trigger.json
│   │       ├── menu-trigger.json
│   │       ├── menu-viewport.json
│   │       ├── menubar.json
│   │       ├── merge-props-n.json
│   │       ├── merge-props.json
│   │       ├── meter-indicator.json
│   │       ├── meter-label.json
│   │       ├── meter-root.json
│   │       ├── meter-track.json
│   │       ├── meter-value.json
│   │       ├── navigation-menu-arrow.json
│   │       ├── navigation-menu-backdrop.json
│   │       ├── navigation-menu-content.json
│   │       ├── navigation-menu-icon.json
│   │       ├── navigation-menu-item.json
│   │       ├── navigation-menu-link.json
│   │       ├── navigation-menu-list.json
│   │       ├── navigation-menu-popup.json
│   │       ├── navigation-menu-portal.json
│   │       ├── navigation-menu-positioner.json
│   │       ├── navigation-menu-root.json
│   │       ├── navigation-menu-trigger.json
│   │       ├── navigation-menu-viewport.json
│   │       ├── number-field-decrement.json
│   │       ├── number-field-group.json
│   │       ├── number-field-increment.json
│   │       ├── number-field-input.json
│   │       ├── number-field-root.json
│   │       ├── number-field-scrub-area-cursor.json
│   │       ├── number-field-scrub-area.json
│   │       ├── popover-arrow.json
│   │       ├── popover-backdrop.json
│   │       ├── popover-close.json
│   │       ├── popover-description.json
│   │       ├── popover-popup.json
│   │       ├── popover-portal.json
│   │       ├── popover-positioner.json
│   │       ├── popover-root.json
│   │       ├── popover-title.json
│   │       ├── popover-trigger.json
│   │       ├── popover-viewport.json
│   │       ├── preview-card-arrow.json
│   │       ├── preview-card-backdrop.json
│   │       ├── preview-card-popup.json
│   │       ├── preview-card-portal.json
│   │       ├── preview-card-positioner.json
│   │       ├── preview-card-root.json
│   │       ├── preview-card-trigger.json
│   │       ├── preview-card-viewport.json
│   │       ├── progress-indicator.json
│   │       ├── progress-label.json
│   │       ├── progress-root.json
│   │       ├── progress-track.json
│   │       ├── progress-value.json
│   │       ├── radio-group.json
│   │       ├── radio-indicator.json
│   │       ├── radio-root.json
│   │       ├── scroll-area-content.json
│   │       ├── scroll-area-corner.json
│   │       ├── scroll-area-root.json
│   │       ├── scroll-area-scrollbar.json
│   │       ├── scroll-area-thumb.json
│   │       ├── scroll-area-viewport.json
│   │       ├── select-arrow.json
│   │       ├── select-backdrop.json
│   │       ├── select-group-label.json
│   │       ├── select-group.json
│   │       ├── select-icon.json
│   │       ├── select-item-indicator.json
│   │       ├── select-item-text.json
│   │       ├── select-item.json
│   │       ├── select-label.json
│   │       ├── select-list.json
│   │       ├── select-popup.json
│   │       ├── select-portal.json
│   │       ├── select-positioner.json
│   │       ├── select-root.json
│   │       ├── select-scroll-down-arrow.json
│   │       ├── select-scroll-up-arrow.json
│   │       ├── select-trigger.json
│   │       ├── select-value.json
│   │       ├── separator.json
│   │       ├── slider-control.json
│   │       ├── slider-indicator.json
│   │       ├── slider-label.json
│   │       ├── slider-root.json
│   │       ├── slider-thumb.json
│   │       ├── slider-track.json
│   │       ├── slider-value.json
│   │       ├── switch-root.json
│   │       ├── switch-thumb.json
│   │       ├── tabs-indicator.json
│   │       ├── tabs-list.json
│   │       ├── tabs-panel.json
│   │       ├── tabs-root.json
│   │       ├── tabs-tab.json
│   │       ├── temporal-adapter-provider.json
│   │       ├── toast-action.json
│   │       ├── toast-arrow.json
│   │       ├── toast-close.json
│   │       ├── toast-content.json
│   │       ├── toast-description.json
│   │       ├── toast-portal.json
│   │       ├── toast-positioner.json
│   │       ├── toast-provider.json
│   │       ├── toast-root.json
│   │       ├── toast-title.json
│   │       ├── toast-viewport.json
│   │       ├── toggle-group.json
│   │       ├── toggle.json
│   │       ├── toolbar-button.json
│   │       ├── toolbar-group.json
│   │       ├── toolbar-input.json
│   │       ├── toolbar-link.json
│   │       ├── toolbar-root.json
│   │       ├── toolbar-separator.json
│   │       ├── tooltip-arrow.json
│   │       ├── tooltip-popup.json
│   │       ├── tooltip-portal.json
│   │       ├── tooltip-positioner.json
│   │       ├── tooltip-provider.json
│   │       ├── tooltip-root.json
│   │       ├── tooltip-trigger.json
│   │       ├── tooltip-viewport.json
│   │       └── use-render.json
│   ├── scripts/
│   │   ├── generateLlmTxt/
│   │   │   ├── __snapshots__/
│   │   │   │   └── mdxToMarkdown.test.mjs.snap
│   │   │   ├── demoProcessor.mjs
│   │   │   ├── index.mjs
│   │   │   ├── mdxNodeHelpers.mjs
│   │   │   ├── mdxToMarkdown.mjs
│   │   │   ├── mdxToMarkdown.test.mjs
│   │   │   ├── propsReferenceTableProcessor.mjs
│   │   │   ├── referenceProcessor.mjs
│   │   │   ├── releaseTimelineProcessor.mjs
│   │   │   └── resolver.mjs
│   │   ├── playground.template.tsx
│   │   ├── rehypeExtractLinkUrls.mts
│   │   └── reportBrokenLinks.mts
│   ├── src/
│   │   ├── app/
│   │   │   ├── (docs)/
│   │   │   │   ├── layout.css
│   │   │   │   ├── layout.tsx
│   │   │   │   ├── production-error/
│   │   │   │   │   ├── ErrorCode.tsx
│   │   │   │   │   ├── ErrorDisplay.tsx
│   │   │   │   │   └── page.mdx
│   │   │   │   └── react/
│   │   │   │       ├── components/
│   │   │   │       │   ├── accordion/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── _index.module.css
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── multiple/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── alert-dialog/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── _index.module.css
│   │   │   │       │   │   │   ├── detached-triggers-controlled/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-simple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── autocomplete/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── async/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── auto-highlight/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── command-palette/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── fuzzy-matching/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── grid/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── grouped/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── inline/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── limit/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── virtualized/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── avatar/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── button/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── loading/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── calendar/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── animation/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── animation-motion/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── calendar.module.css
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── lazy-loading/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── timezone/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── timezone-display/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── unavailable-dates/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── validation/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── week-numbers/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   └── year-month-select/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       └── index.ts
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── checkbox/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── checkbox-group/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── nested/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   └── parent/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       └── index.ts
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── collapsible/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── combobox/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── async-multiple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── async-single/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── creatable/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── grouped/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── input-inside-popup/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── multiple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── virtualized/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── context-menu/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── submenu/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── dialog/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── _index.module.css
│   │   │   │       │   │   │   ├── close-confirmation/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-controlled/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-simple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── inside-scroll/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── nested/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── outside-scroll/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── uncontained/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── drawer/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── indent-provider/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── mobile-nav/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── nested/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── non-modal/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── position/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── snap-points/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── swipe-area/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── uncontained/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── field/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── fieldset/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── form/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── form-action/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── zod/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── input/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── menu/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── _index.module.css
│   │   │   │       │   │   │   ├── checkbox-items/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-controlled/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-full/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-simple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── group-labels/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── open-on-hover/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── radio-items/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── submenu/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── menubar/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── meter/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── navigation-menu/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── nested/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── nested-inline/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── data.ts
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── number-field/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── page.mdx
│   │   │   │       │   ├── popover/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── _index.module.css
│   │   │   │       │   │   │   ├── detached-triggers-controlled/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-full/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-simple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── icons-tw.tsx
│   │   │   │       │   │   │   └── open-on-hover/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── preview-card/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── detached-triggers-controlled/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-full/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-simple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── index.module.css
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── progress/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── radio/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── scroll-area/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── both/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── scroll-fade/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── select/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── grouped/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── multiple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── object-values/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── separator/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── slider/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── edge-alignment/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── range-slider/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── vertical/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── switch/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── tabs/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── toast/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── anchored/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── custom/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── position/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── promise/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── undo/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   └── varying-heights/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       └── index.ts
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── toggle/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── toggle-group/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── multiple/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── toolbar/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   └── tooltip/
│   │   │   │       │       ├── demos/
│   │   │   │       │       │   ├── detached-triggers-controlled/
│   │   │   │       │       │   │   ├── css-modules/
│   │   │   │       │       │   │   │   └── index.tsx
│   │   │   │       │       │   │   ├── index.ts
│   │   │   │       │       │   │   └── tailwind/
│   │   │   │       │       │   │       └── index.tsx
│   │   │   │       │       │   ├── detached-triggers-full/
│   │   │   │       │       │   │   ├── css-modules/
│   │   │   │       │       │   │   │   ├── index.module.css
│   │   │   │       │       │   │   │   └── index.tsx
│   │   │   │       │       │   │   ├── index.ts
│   │   │   │       │       │   │   └── tailwind/
│   │   │   │       │       │   │       └── index.tsx
│   │   │   │       │       │   ├── detached-triggers-simple/
│   │   │   │       │       │   │   ├── css-modules/
│   │   │   │       │       │   │   │   └── index.tsx
│   │   │   │       │       │   │   ├── index.ts
│   │   │   │       │       │   │   └── tailwind/
│   │   │   │       │       │   │       └── index.tsx
│   │   │   │       │       │   ├── hero/
│   │   │   │       │       │   │   ├── css-modules/
│   │   │   │       │       │   │   │   ├── index.module.css
│   │   │   │       │       │   │   │   └── index.tsx
│   │   │   │       │       │   │   ├── index.ts
│   │   │   │       │       │   │   └── tailwind/
│   │   │   │       │       │   │       └── index.tsx
│   │   │   │       │       │   ├── icons-tw.tsx
│   │   │   │       │       │   └── index.module.css
│   │   │   │       │       └── page.mdx
│   │   │   │       ├── handbook/
│   │   │   │       │   ├── animation/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── animated-popover-motion-keep-mounted-false/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── animated-popover-motion-keep-mounted-true/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   └── animated-select-motion/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       └── index.ts
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── composition/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── customization/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── forms/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── components/
│   │   │   │       │   │   │   │   ├── autocomplete.tsx
│   │   │   │       │   │   │   │   ├── button.tsx
│   │   │   │       │   │   │   │   ├── checkbox-group.tsx
│   │   │   │       │   │   │   │   ├── checkbox.tsx
│   │   │   │       │   │   │   │   ├── combobox.tsx
│   │   │   │       │   │   │   │   ├── field.tsx
│   │   │   │       │   │   │   │   ├── fieldset.tsx
│   │   │   │       │   │   │   │   ├── form.tsx
│   │   │   │       │   │   │   │   ├── number-field.tsx
│   │   │   │       │   │   │   │   ├── radio-group.tsx
│   │   │   │       │   │   │   │   ├── radio.tsx
│   │   │   │       │   │   │   │   ├── select.tsx
│   │   │   │       │   │   │   │   ├── slider.tsx
│   │   │   │       │   │   │   │   ├── switch.tsx
│   │   │   │       │   │   │   │   └── toast.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── react-hook-form/
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── tanstack-form/
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── page.mdx
│   │   │   │       │   ├── styling/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   └── typescript/
│   │   │   │       │       └── page.mdx
│   │   │   │       ├── overview/
│   │   │   │       │   ├── about/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── accessibility/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── page.mdx
│   │   │   │       │   ├── quick-start/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   └── releases/
│   │   │   │       │       ├── page.mdx
│   │   │   │       │       ├── v1-0-0/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-alpha-4/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-alpha-5/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-alpha-6/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-alpha-7/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-alpha-8/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-0/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-1/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-2/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-3/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-4/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-5/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-6/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-7/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-rc-0/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-rc-1/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-rc-2/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-1-0/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-2-0/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       └── v1-3-0/
│   │   │   │       │           └── page.mdx
│   │   │   │       ├── page.mdx
│   │   │   │       └── utils/
│   │   │   │           ├── csp-provider/
│   │   │   │           │   └── page.mdx
│   │   │   │           ├── direction-provider/
│   │   │   │           │   ├── demos/
│   │   │   │           │   │   └── hero/
│   │   │   │           │   │       ├── css-modules/
│   │   │   │           │   │       │   ├── index.module.css
│   │   │   │           │   │       │   └── index.tsx
│   │   │   │           │   │       ├── index.ts
│   │   │   │           │   │       └── tailwind/
│   │   │   │           │   │           └── index.tsx
│   │   │   │           │   └── page.mdx
│   │   │   │           ├── localization-provider/
│   │   │   │           │   ├── calendar.module.css
│   │   │   │           │   ├── demos/
│   │   │   │           │   │   ├── hero/
│   │   │   │           │   │   │   ├── css-modules/
│   │   │   │           │   │   │   │   └── index.tsx
│   │   │   │           │   │   │   └── index.ts
│   │   │   │           │   │   ├── nesting/
│   │   │   │           │   │   │   ├── css-modules/
│   │   │   │           │   │   │   │   ├── index.module.css
│   │   │   │           │   │   │   │   └── index.tsx
│   │   │   │           │   │   │   └── index.ts
│   │   │   │           │   │   └── start-of-week/
│   │   │   │           │   │       ├── css-modules/
│   │   │   │           │   │       │   ├── index.module.css
│   │   │   │           │   │       │   └── index.tsx
│   │   │   │           │   │       └── index.ts
│   │   │   │           │   └── page.mdx
│   │   │   │           ├── merge-props/
│   │   │   │           │   ├── demos/
│   │   │   │           │   │   └── prevent-base-ui-handler/
│   │   │   │           │   │       ├── css-modules/
│   │   │   │           │   │       │   ├── index.module.css
│   │   │   │           │   │       │   └── index.tsx
│   │   │   │           │   │       └── index.ts
│   │   │   │           │   └── page.mdx
│   │   │   │           ├── page.mdx
│   │   │   │           └── use-render/
│   │   │   │               ├── demos/
│   │   │   │               │   ├── render/
│   │   │   │               │   │   ├── css-modules/
│   │   │   │               │   │   │   ├── index.module.css
│   │   │   │               │   │   │   └── index.tsx
│   │   │   │               │   │   └── index.ts
│   │   │   │               │   └── render-callback/
│   │   │   │               │       ├── css-modules/
│   │   │   │               │       │   ├── index.module.css
│   │   │   │               │       │   └── index.tsx
│   │   │   │               │       └── index.ts
│   │   │   │               └── page.mdx
│   │   │   ├── (private)/
│   │   │   │   ├── docs-theme/
│   │   │   │   │   ├── page.module.css
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── experiments/
│   │   │   │   │   ├── [...slug]/
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── _components/
│   │   │   │   │   │   ├── Button.module.css
│   │   │   │   │   │   ├── Button.tsx
│   │   │   │   │   │   ├── EditPanel.tsx
│   │   │   │   │   │   ├── ExperimentRoot.module.css
│   │   │   │   │   │   ├── ExperimentRoot.tsx
│   │   │   │   │   │   ├── ExperimentsList.module.css
│   │   │   │   │   │   ├── ExperimentsList.tsx
│   │   │   │   │   │   ├── HideSidebar.tsx
│   │   │   │   │   │   ├── Input.module.css
│   │   │   │   │   │   ├── Input.tsx
│   │   │   │   │   │   ├── SandboxLink.tsx
│   │   │   │   │   │   ├── Select.module.css
│   │   │   │   │   │   ├── Select.tsx
│   │   │   │   │   │   ├── SettingsPanel.module.css
│   │   │   │   │   │   ├── SettingsPanel.tsx
│   │   │   │   │   │   ├── ShowSidebar.module.css
│   │   │   │   │   │   ├── ShowSidebar.tsx
│   │   │   │   │   │   ├── Sidebar.module.css
│   │   │   │   │   │   ├── Sidebar.tsx
│   │   │   │   │   │   ├── Switch.module.css
│   │   │   │   │   │   ├── Switch.tsx
│   │   │   │   │   │   ├── Tooltip.module.css
│   │   │   │   │   │   └── Tooltip.tsx
│   │   │   │   │   ├── accordion/
│   │   │   │   │   │   ├── animations.module.css
│   │   │   │   │   │   ├── animations.tsx
│   │   │   │   │   │   ├── horizontal.module.css
│   │   │   │   │   │   ├── horizontal.tsx
│   │   │   │   │   │   ├── transitions.module.css
│   │   │   │   │   │   └── transitions.tsx
│   │   │   │   │   ├── anchor-positioning.module.css
│   │   │   │   │   ├── anchor-positioning.tsx
│   │   │   │   │   ├── anchor-side-animations.module.css
│   │   │   │   │   ├── anchor-side-animations.tsx
│   │   │   │   │   ├── calendar/
│   │   │   │   │   │   ├── calendar-basic.tsx
│   │   │   │   │   │   ├── calendar-timezone.tsx
│   │   │   │   │   │   ├── calendar-two-months.tsx
│   │   │   │   │   │   ├── calendar-unavailable-dates.tsx
│   │   │   │   │   │   ├── calendar-validation.tsx
│   │   │   │   │   │   └── calendar.module.css
│   │   │   │   │   ├── collapsible/
│   │   │   │   │   │   ├── _icons.tsx
│   │   │   │   │   │   ├── animate-presence.tsx
│   │   │   │   │   │   ├── animations.module.css
│   │   │   │   │   │   ├── animations.tsx
│   │   │   │   │   │   ├── collapsible.module.css
│   │   │   │   │   │   ├── motion.module.css
│   │   │   │   │   │   ├── plain.tsx
│   │   │   │   │   │   ├── transitions.module.css
│   │   │   │   │   │   └── transitions.tsx
│   │   │   │   │   ├── combobox/
│   │   │   │   │   │   ├── creatable-tags.module.css
│   │   │   │   │   │   ├── creatable-tags.tsx
│   │   │   │   │   │   ├── dialog-combobox-multiple.tsx
│   │   │   │   │   │   ├── dialog-combobox.module.css
│   │   │   │   │   │   ├── dialog-combobox.tsx
│   │   │   │   │   │   ├── priority-combobox.module.css
│   │   │   │   │   │   └── priority-combobox.tsx
│   │   │   │   │   ├── combobox-composition.module.css
│   │   │   │   │   ├── combobox-composition.tsx
│   │   │   │   │   ├── combobox-perf.module.css
│   │   │   │   │   ├── combobox-perf.tsx
│   │   │   │   │   ├── context-menu.module.css
│   │   │   │   │   ├── context-menu.tsx
│   │   │   │   │   ├── dialog/
│   │   │   │   │   │   ├── dialog.module.css
│   │   │   │   │   │   ├── dialogs.tsx
│   │   │   │   │   │   ├── nested.module.css
│   │   │   │   │   │   └── nested.tsx
│   │   │   │   │   ├── drawer/
│   │   │   │   │   │   ├── cross-axis-scroll.module.css
│   │   │   │   │   │   ├── cross-axis-scroll.tsx
│   │   │   │   │   │   ├── drawer-controlled-opening.tsx
│   │   │   │   │   │   └── touch-ignore.tsx
│   │   │   │   │   ├── drawer-slider.module.css
│   │   │   │   │   ├── drawer-slider.tsx
│   │   │   │   │   ├── forms/
│   │   │   │   │   │   ├── _icons.tsx
│   │   │   │   │   │   ├── autofill.module.css
│   │   │   │   │   │   ├── autofill.tsx
│   │   │   │   │   │   ├── button-controls.tsx
│   │   │   │   │   │   ├── form.module.css
│   │   │   │   │   │   ├── form.tsx
│   │   │   │   │   │   └── rhf.tsx
│   │   │   │   │   ├── layout.css
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   ├── long-select.module.css
│   │   │   │   │   ├── long-select.tsx
│   │   │   │   │   ├── menu/
│   │   │   │   │   │   ├── complex-nesting.tsx
│   │   │   │   │   │   ├── menu-anchor-el.tsx
│   │   │   │   │   │   ├── menu-anchor-ref.tsx
│   │   │   │   │   │   ├── menu-disabled-items.tsx
│   │   │   │   │   │   ├── menu-fully-featured.tsx
│   │   │   │   │   │   ├── menu-horizontal.module.css
│   │   │   │   │   │   ├── menu-horizontal.tsx
│   │   │   │   │   │   ├── menu-nested.module.css
│   │   │   │   │   │   ├── menu-nested.tsx
│   │   │   │   │   │   ├── menu-submenus.tsx
│   │   │   │   │   │   ├── menu.module.css
│   │   │   │   │   │   ├── nested-detached-triggers.module.css
│   │   │   │   │   │   ├── nested-detached-triggers.tsx
│   │   │   │   │   │   ├── perf-contained.tsx
│   │   │   │   │   │   ├── perf-detached.tsx
│   │   │   │   │   │   ├── pointer-events-scope.module.css
│   │   │   │   │   │   ├── pointer-events-scope.tsx
│   │   │   │   │   │   ├── triggers.module.css
│   │   │   │   │   │   └── triggers.tsx
│   │   │   │   │   ├── menubar.module.css
│   │   │   │   │   ├── menubar.tsx
│   │   │   │   │   ├── meter.module.css
│   │   │   │   │   ├── meter.tsx
│   │   │   │   │   ├── mobile-scroll-lock.module.css
│   │   │   │   │   ├── mobile-scroll-lock.tsx
│   │   │   │   │   ├── modality.module.css
│   │   │   │   │   ├── modality.tsx
│   │   │   │   │   ├── motion.tsx
│   │   │   │   │   ├── navigation-menu-popups.tsx
│   │   │   │   │   ├── navigation-menu.module.css
│   │   │   │   │   ├── navigation-menu.tsx
│   │   │   │   │   ├── page.tsx
│   │   │   │   │   ├── perf/
│   │   │   │   │   │   ├── contained-triggers.tsx
│   │   │   │   │   │   ├── detached-triggers.tsx
│   │   │   │   │   │   ├── perf.module.css
│   │   │   │   │   │   ├── radix-triggers.tsx
│   │   │   │   │   │   └── utils/
│   │   │   │   │   │       └── benchmark.tsx
│   │   │   │   │   ├── popover/
│   │   │   │   │   │   ├── calendar-shared.ts
│   │   │   │   │   │   ├── calendar.module.css
│   │   │   │   │   │   ├── calendar.tsx
│   │   │   │   │   │   ├── dynamic-size.module.css
│   │   │   │   │   │   ├── dynamic-size.tsx
│   │   │   │   │   │   ├── nested-open-on-hover.module.css
│   │   │   │   │   │   ├── nested-open-on-hover.tsx
│   │   │   │   │   │   ├── popovers.module.css
│   │   │   │   │   │   ├── popovers.tsx
│   │   │   │   │   │   ├── vertical-shared.ts
│   │   │   │   │   │   ├── vertical.module.css
│   │   │   │   │   │   └── vertical.tsx
│   │   │   │   │   ├── popup-tabbing.module.css
│   │   │   │   │   ├── popup-tabbing.tsx
│   │   │   │   │   ├── popups/
│   │   │   │   │   │   ├── popups-in-popups.module.css
│   │   │   │   │   │   ├── popups-in-popups.tsx
│   │   │   │   │   │   ├── popups-transform-origin.module.css
│   │   │   │   │   │   └── popups-transform-origin.tsx
│   │   │   │   │   ├── preview-card/
│   │   │   │   │   │   ├── nested.module.css
│   │   │   │   │   │   ├── nested.tsx
│   │   │   │   │   │   ├── triggers.module.css
│   │   │   │   │   │   └── triggers.tsx
│   │   │   │   │   ├── rtl.module.css
│   │   │   │   │   ├── rtl.tsx
│   │   │   │   │   ├── scroll-area/
│   │   │   │   │   │   ├── inside-menu.module.css
│   │   │   │   │   │   ├── inside-menu.tsx
│   │   │   │   │   │   ├── inside-select.module.css
│   │   │   │   │   │   ├── inside-select.tsx
│   │   │   │   │   │   ├── scroll-area-inset.module.css
│   │   │   │   │   │   ├── scroll-area-inset.tsx
│   │   │   │   │   │   ├── scroll-area-slight.module.css
│   │   │   │   │   │   ├── scroll-area-slight.tsx
│   │   │   │   │   │   ├── scroll-area.module.css
│   │   │   │   │   │   ├── scroll-area.tsx
│   │   │   │   │   │   └── tabs-scroll-area.tsx
│   │   │   │   │   ├── scroll-lock.tsx
│   │   │   │   │   ├── select-perf.module.css
│   │   │   │   │   ├── select-perf.tsx
│   │   │   │   │   ├── slider/
│   │   │   │   │   │   ├── inset.module.css
│   │   │   │   │   │   ├── inset.tsx
│   │   │   │   │   │   ├── slider.module.css
│   │   │   │   │   │   ├── slider.tsx
│   │   │   │   │   │   ├── small.module.css
│   │   │   │   │   │   └── vertical.module.css
│   │   │   │   │   ├── storeWithControlledValues.module.css
│   │   │   │   │   ├── storeWithControlledValues.tsx
│   │   │   │   │   ├── tabs-animations.module.css
│   │   │   │   │   ├── tabs-animations.tsx
│   │   │   │   │   ├── tabs-overflow.module.css
│   │   │   │   │   ├── tabs-overflow.tsx
│   │   │   │   │   ├── tabs.module.css
│   │   │   │   │   ├── tabs.tsx
│   │   │   │   │   ├── toast.module.css
│   │   │   │   │   ├── toast.tsx
│   │   │   │   │   ├── toggle-group.tsx
│   │   │   │   │   ├── toggle.module.css
│   │   │   │   │   ├── toolbar/
│   │   │   │   │   │   ├── _icons.tsx
│   │   │   │   │   │   ├── basic.tsx
│   │   │   │   │   │   ├── slider.module.css
│   │   │   │   │   │   ├── text-editor.tsx
│   │   │   │   │   │   ├── toolbar.module.css
│   │   │   │   │   │   ├── triggers.module.css
│   │   │   │   │   │   └── triggers.tsx
│   │   │   │   │   ├── tooltip/
│   │   │   │   │   │   ├── disabled.module.css
│   │   │   │   │   │   ├── disabled.tsx
│   │   │   │   │   │   ├── prevent-open.module.css
│   │   │   │   │   │   ├── prevent-open.tsx
│   │   │   │   │   │   ├── tooltips.module.css
│   │   │   │   │   │   ├── tooltips.tsx
│   │   │   │   │   │   ├── transitions.module.css
│   │   │   │   │   │   └── transitions.tsx
│   │   │   │   │   ├── transition-attrs.module.css
│   │   │   │   │   └── transition-attrs.tsx
│   │   │   │   ├── hydration-repro/
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── layout.css
│   │   │   │   ├── layout.tsx
│   │   │   │   └── playground/
│   │   │   │       └── [slug]/
│   │   │   │           └── page.tsx
│   │   │   ├── (website)/
│   │   │   │   ├── careers/
│   │   │   │   │   └── design-engineer/
│   │   │   │   │       └── page.tsx
│   │   │   │   ├── css/
│   │   │   │   │   ├── components/
│   │   │   │   │   │   ├── Accordion.css
│   │   │   │   │   │   ├── Body.css
│   │   │   │   │   │   ├── BulletList.css
│   │   │   │   │   │   ├── Button.css
│   │   │   │   │   │   ├── Figure.css
│   │   │   │   │   │   ├── Icon.css
│   │   │   │   │   │   ├── Key.css
│   │   │   │   │   │   ├── Link.css
│   │   │   │   │   │   ├── List.css
│   │   │   │   │   │   ├── Menu.css
│   │   │   │   │   │   ├── Popup.css
│   │   │   │   │   │   ├── Separator.css
│   │   │   │   │   │   └── Text.css
│   │   │   │   │   ├── index.css
│   │   │   │   │   └── theme.css
│   │   │   │   ├── icons/
│   │   │   │   │   ├── MinusIcon.tsx
│   │   │   │   │   └── PlusIcon.tsx
│   │   │   │   ├── layout.tsx
│   │   │   │   ├── logos/
│   │   │   │   │   ├── GitHub.tsx
│   │   │   │   │   ├── HighlightAI.tsx
│   │   │   │   │   ├── Interfere.tsx
│   │   │   │   │   ├── Operate.tsx
│   │   │   │   │   ├── Paper.tsx
│   │   │   │   │   ├── Unsplash.tsx
│   │   │   │   │   └── Zed.tsx
│   │   │   │   └── page.tsx
│   │   │   ├── global-not-found.tsx
│   │   │   └── sitemap/
│   │   │       └── index.ts
│   │   ├── blocks/
│   │   │   ├── Demo/
│   │   │   │   ├── DemoContext.ts
│   │   │   │   ├── DemoPlayground.tsx
│   │   │   │   ├── DemoRoot.tsx
│   │   │   │   ├── DemoSourceBrowser.tsx
│   │   │   │   ├── DemoSourceCopy.tsx
│   │   │   │   ├── index.ts
│   │   │   │   └── types.ts
│   │   │   ├── GoogleAnalyticsProvider.tsx
│   │   │   ├── GoogleTagManager.tsx
│   │   │   ├── PackageManagerSnippet/
│   │   │   │   ├── PackageManagerSnippetCode.tsx
│   │   │   │   ├── PackageManagerSnippetProvider.tsx
│   │   │   │   ├── PackageManagerSnippetRoot.tsx
│   │   │   │   └── index.ts
│   │   │   ├── README.txt
│   │   │   └── createCodeSandbox/
│   │   │       ├── CreateReactApp.ts
│   │   │       ├── addHiddenInput.ts
│   │   │       ├── createCodeSandbox.ts
│   │   │       ├── createStackBlitzProject.ts
│   │   │       ├── flattenRelativeImports.ts
│   │   │       ├── packDemo.test.ts
│   │   │       └── packDemo.ts
│   │   ├── components/
│   │   │   ├── Accordion.css
│   │   │   ├── Accordion.tsx
│   │   │   ├── Code.css
│   │   │   ├── Code.tsx
│   │   │   ├── CodeBlock.css
│   │   │   ├── CodeBlock.tsx
│   │   │   ├── Demo/
│   │   │   │   ├── CodeHighlighting.css
│   │   │   │   ├── Demo.css
│   │   │   │   ├── Demo.tsx
│   │   │   │   ├── DemoCodeBlock.tsx
│   │   │   │   ├── DemoErrorFallback.tsx
│   │   │   │   ├── DemoFileSelector.tsx
│   │   │   │   ├── DemoPlayground.tsx
│   │   │   │   ├── DemoVariantSelector.tsx
│   │   │   │   └── DemoVariantSelectorProvider.tsx
│   │   │   ├── DescriptionList.css
│   │   │   ├── DescriptionList.tsx
│   │   │   ├── DocsProviders.tsx
│   │   │   ├── GhostButton.css
│   │   │   ├── GhostButton.tsx
│   │   │   ├── GoogleAnalytics.tsx
│   │   │   ├── Header.css
│   │   │   ├── Header.tsx
│   │   │   ├── HeadingLink.css
│   │   │   ├── HeadingLink.tsx
│   │   │   ├── InstallationBlock.css
│   │   │   ├── InstallationBlock.tsx
│   │   │   ├── Kbd/
│   │   │   │   ├── Kbd.css
│   │   │   │   ├── Kbd.tsx
│   │   │   │   └── rehypeKbd.mjs
│   │   │   ├── Link.css
│   │   │   ├── Link.tsx
│   │   │   ├── Logo.tsx
│   │   │   ├── Menu.css
│   │   │   ├── Menu.tsx
│   │   │   ├── MobileNav.css
│   │   │   ├── MobileNav.tsx
│   │   │   ├── Popup.css
│   │   │   ├── Popup.tsx
│   │   │   ├── QuickNav/
│   │   │   │   ├── QuickNav.css
│   │   │   │   ├── QuickNav.tsx
│   │   │   │   ├── rehypeConcatHeadings.mjs
│   │   │   │   ├── rehypeQuickNav.mjs
│   │   │   │   └── rehypeSlug.mjs
│   │   │   ├── ReferenceTable/
│   │   │   │   ├── AttributesReferenceTable.tsx
│   │   │   │   ├── CssVariablesReferenceTable.tsx
│   │   │   │   ├── ParametersReferenceTable.tsx
│   │   │   │   ├── ReferenceAccordion.tsx
│   │   │   │   ├── ReferenceTable.css
│   │   │   │   ├── ReferenceTableTooltip.css
│   │   │   │   ├── ReferenceTableTooltip.tsx
│   │   │   │   ├── ReturnValueReferenceTable.tsx
│   │   │   │   ├── referenceUtils.mjs
│   │   │   │   ├── rehypeReference.mjs
│   │   │   │   └── types.ts
│   │   │   ├── ReleaseTimeline/
│   │   │   │   ├── ReleaseTimeline.css
│   │   │   │   ├── ReleaseTimeline.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── ScrollArea.css
│   │   │   ├── ScrollArea.tsx
│   │   │   ├── Search/
│   │   │   │   ├── Search.tsx
│   │   │   │   ├── SearchBar.css
│   │   │   │   ├── SearchBar.tsx
│   │   │   │   └── index.ts
│   │   │   ├── Select.css
│   │   │   ├── Select.tsx
│   │   │   ├── SideNav.css
│   │   │   ├── SideNav.tsx
│   │   │   ├── SkipNav.css
│   │   │   ├── SkipNav.tsx
│   │   │   ├── Subtitle/
│   │   │   │   ├── MarkdownLink.css
│   │   │   │   ├── MarkdownLink.tsx
│   │   │   │   ├── Subtitle.css
│   │   │   │   ├── Subtitle.tsx
│   │   │   │   └── rehypeSubtitle.mjs
│   │   │   ├── Table.css
│   │   │   ├── Table.tsx
│   │   │   ├── TableCode.css
│   │   │   └── TableCode.tsx
│   │   ├── css/
│   │   │   ├── README.md
│   │   │   ├── custom-media.css
│   │   │   ├── fonts/
│   │   │   │   └── index.css
│   │   │   ├── index.css
│   │   │   ├── mdx-components.css
│   │   │   ├── theme-redesign.css
│   │   │   └── utilities/
│   │   │       ├── align-items.css
│   │   │       ├── box-sizing.css
│   │   │       ├── display.css
│   │   │       ├── flex-direction.css
│   │   │       ├── flex-wrap.css
│   │   │       ├── font-weight.css
│   │   │       ├── gap.css
│   │   │       ├── grid-auto-rows.css
│   │   │       ├── grid-column-end.css
│   │   │       ├── grid-column-start.css
│   │   │       ├── grid-template-columns.css
│   │   │       ├── height.css
│   │   │       ├── index.css
│   │   │       ├── justify-content.css
│   │   │       ├── left.css
│   │   │       ├── margin.css
│   │   │       ├── outline.css
│   │   │       ├── padding.css
│   │   │       ├── position.css
│   │   │       ├── scroll-margin-top.css
│   │   │       ├── text-align.css
│   │   │       ├── top.css
│   │   │       ├── visibility.css
│   │   │       ├── white-space.css
│   │   │       └── width.css
│   │   ├── data/
│   │   │   └── releases.ts
│   │   ├── demo-data/
│   │   │   └── theme/
│   │   │       ├── css-modules/
│   │   │       │   ├── index.ts
│   │   │       │   └── theme.css
│   │   │       └── index.ts
│   │   ├── error-codes.json
│   │   ├── icons/
│   │   │   ├── ArrowRightIcon.tsx
│   │   │   ├── CheckIcon.tsx
│   │   │   ├── ChevronDownIcon.tsx
│   │   │   ├── CopyIcon.tsx
│   │   │   ├── ExternalLinkIcon.tsx
│   │   │   ├── GitHubIcon.tsx
│   │   │   ├── MarkdownIcon.tsx
│   │   │   ├── MoreVertIcon.tsx
│   │   │   ├── NpmIcon.tsx
│   │   │   └── ThickCheckIcon.tsx
│   │   ├── mdx/
│   │   │   ├── createHast.mjs
│   │   │   ├── createMdxComponent.ts
│   │   │   └── createMdxElement.mjs
│   │   ├── mdx-components.tsx
│   │   ├── syntax-highlighting/
│   │   │   ├── index.css
│   │   │   ├── index.mjs
│   │   │   ├── index.ts
│   │   │   ├── rehypeEmptyLines.mjs
│   │   │   ├── rehypeInlineCode.mjs
│   │   │   ├── rehypeJsxExpressions.mjs
│   │   │   └── rehypePrettierIgnore.mjs
│   │   └── utils/
│   │       ├── camelToSentenceCase.ts
│   │       ├── createDemo.ts
│   │       ├── demoExportOptions.test.ts
│   │       ├── demoExportOptions.ts
│   │       ├── getChildrenText.ts
│   │       ├── getGitHubDemoUrl.test.ts
│   │       ├── getGitHubDemoUrl.ts
│   │       └── observeScrollableInner.ts
│   ├── tsconfig.json
│   ├── types.d.ts
│   └── vitest.config.mts
├── eslint.config.mjs
├── examples/
│   ├── tanstack-start-tailwind-css/
│   │   ├── .devcontainer/
│   │   │   └── devcontainer.json
│   │   ├── .gitignore
│   │   ├── .prettierignore
│   │   ├── .vscode/
│   │   │   └── settings.json
│   │   ├── README.md
│   │   ├── eslint.config.js
│   │   ├── package.json
│   │   ├── prettier.config.js
│   │   ├── public/
│   │   │   ├── manifest.json
│   │   │   └── robots.txt
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   ├── button.tsx
│   │   │   │   ├── combobox.tsx
│   │   │   │   ├── dialog.tsx
│   │   │   │   ├── input.tsx
│   │   │   │   ├── link.tsx
│   │   │   │   ├── menu.tsx
│   │   │   │   ├── navigation-menu.tsx
│   │   │   │   ├── popover.tsx
│   │   │   │   ├── switch.tsx
│   │   │   │   └── toggle.tsx
│   │   │   ├── routeTree.gen.ts
│   │   │   ├── router.tsx
│   │   │   ├── routes/
│   │   │   │   ├── __root.tsx
│   │   │   │   ├── combobox-server-fn.tsx
│   │   │   │   └── index.tsx
│   │   │   └── styles.css
│   │   ├── tsconfig.json
│   │   └── vite.config.ts
│   └── vite-css/
│       ├── .gitignore
│       ├── README.md
│       ├── eslint.config.js
│       ├── index.html
│       ├── package.json
│       ├── src/
│       │   ├── App.css
│       │   ├── App.tsx
│       │   ├── index.css
│       │   ├── main.tsx
│       │   ├── vite-env.d.ts
│       │   └── widgets/
│       │       ├── Switch.module.css
│       │       └── Switch.tsx
│       ├── tsconfig.app.json
│       ├── tsconfig.json
│       ├── tsconfig.node.json
│       └── vite.config.ts
├── greptile.json
├── lerna.json
├── netlify/
│   └── functions/
│       └── deploy-succeeded.js
├── netlify.toml
├── nx.json
├── package.json
├── packages/
│   ├── react/
│   │   ├── .npmignore
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── accordion/
│   │   │   │   ├── header/
│   │   │   │   │   ├── AccordionHeader.test.tsx
│   │   │   │   │   ├── AccordionHeader.tsx
│   │   │   │   │   └── AccordionHeaderDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── AccordionItem.test.tsx
│   │   │   │   │   ├── AccordionItem.tsx
│   │   │   │   │   ├── AccordionItemContext.ts
│   │   │   │   │   ├── AccordionItemDataAttributes.ts
│   │   │   │   │   └── stateAttributesMapping.ts
│   │   │   │   ├── panel/
│   │   │   │   │   ├── AccordionPanel.test.tsx
│   │   │   │   │   ├── AccordionPanel.tsx
│   │   │   │   │   ├── AccordionPanelCssVars.ts
│   │   │   │   │   └── AccordionPanelDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── AccordionRoot.spec.tsx
│   │   │   │   │   ├── AccordionRoot.test.tsx
│   │   │   │   │   ├── AccordionRoot.tsx
│   │   │   │   │   ├── AccordionRootContext.ts
│   │   │   │   │   └── AccordionRootDataAttributes.ts
│   │   │   │   └── trigger/
│   │   │   │       ├── AccordionTrigger.test.tsx
│   │   │   │       ├── AccordionTrigger.tsx
│   │   │   │       └── AccordionTriggerDataAttributes.ts
│   │   │   ├── alert-dialog/
│   │   │   │   ├── handle.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── root/
│   │   │   │       ├── AlertDialogRoot.spec.tsx
│   │   │   │       ├── AlertDialogRoot.test.tsx
│   │   │   │       └── AlertDialogRoot.tsx
│   │   │   ├── autocomplete/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   └── AutocompleteItem.test.tsx
│   │   │   │   ├── root/
│   │   │   │   │   ├── AutocompleteRoot.spec.tsx
│   │   │   │   │   ├── AutocompleteRoot.test.tsx
│   │   │   │   │   └── AutocompleteRoot.tsx
│   │   │   │   └── value/
│   │   │   │       ├── AutocompleteValue.test.tsx
│   │   │   │       └── AutocompleteValue.tsx
│   │   │   ├── avatar/
│   │   │   │   ├── fallback/
│   │   │   │   │   ├── AvatarFallback.test.tsx
│   │   │   │   │   └── AvatarFallback.tsx
│   │   │   │   ├── image/
│   │   │   │   │   ├── AvatarImage.test.tsx
│   │   │   │   │   ├── AvatarImage.tsx
│   │   │   │   │   ├── AvatarImageDataAttributes.ts
│   │   │   │   │   └── useImageLoadingStatus.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── root/
│   │   │   │       ├── AvatarRoot.test.tsx
│   │   │   │       ├── AvatarRoot.tsx
│   │   │   │       ├── AvatarRootContext.ts
│   │   │   │       └── stateAttributesMapping.ts
│   │   │   ├── button/
│   │   │   │   ├── Button.spec.tsx
│   │   │   │   ├── Button.test.tsx
│   │   │   │   ├── Button.tsx
│   │   │   │   ├── ButtonDataAttributes.tsx
│   │   │   │   └── index.ts
│   │   │   ├── calendar/
│   │   │   │   ├── day-button/
│   │   │   │   │   ├── CalendarDayButton.test.tsx
│   │   │   │   │   ├── CalendarDayButton.tsx
│   │   │   │   │   └── CalendarDayButtonDataAttributes.ts
│   │   │   │   ├── day-grid/
│   │   │   │   │   ├── CalendarDayGrid.test.tsx
│   │   │   │   │   └── CalendarDayGrid.tsx
│   │   │   │   ├── day-grid-body/
│   │   │   │   │   ├── CalendarDayGridBody.keyboard.test.tsx
│   │   │   │   │   ├── CalendarDayGridBody.test.tsx
│   │   │   │   │   ├── CalendarDayGridBody.tsx
│   │   │   │   │   ├── SharedCalendarDayGridBodyContext.ts
│   │   │   │   │   └── useSharedCalendarDayGridBody.ts
│   │   │   │   ├── day-grid-cell/
│   │   │   │   │   ├── CalendarDayGridCell.test.tsx
│   │   │   │   │   ├── CalendarDayGridCell.tsx
│   │   │   │   │   ├── SharedCalendarDayGridCellContext.ts
│   │   │   │   │   └── useSharedCalendarDayGridCell.ts
│   │   │   │   ├── day-grid-header/
│   │   │   │   │   ├── CalendarDayGridHeader.test.tsx
│   │   │   │   │   └── CalendarDayGridHeader.tsx
│   │   │   │   ├── day-grid-header-cell/
│   │   │   │   │   ├── CalendarDayGridHeaderCell.test.tsx
│   │   │   │   │   └── CalendarDayGridHeaderCell.tsx
│   │   │   │   ├── day-grid-header-row/
│   │   │   │   │   ├── CalendarDayGridHeaderRow.test.tsx
│   │   │   │   │   └── CalendarDayGridHeaderRow.tsx
│   │   │   │   ├── day-grid-row/
│   │   │   │   │   ├── CalendarDayGridRow.tsx
│   │   │   │   │   └── CalendarDayRow.test.tsx
│   │   │   │   ├── decrement-month/
│   │   │   │   │   ├── CalendarDecrementMonth.test.tsx
│   │   │   │   │   ├── CalendarDecrementMonth.tsx
│   │   │   │   │   └── CalendarDecrementMonthDataAttributes.ts
│   │   │   │   ├── increment-month/
│   │   │   │   │   ├── CalendarIncrementMonth.test.tsx
│   │   │   │   │   ├── CalendarIncrementMonth.tsx
│   │   │   │   │   └── CalendarIncrementMonthDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── CalendarRoot.test.tsx
│   │   │   │   │   ├── CalendarRoot.tsx
│   │   │   │   │   ├── CalendarRootDataAttributes.ts
│   │   │   │   │   └── SharedCalendarRootContext.ts
│   │   │   │   ├── store/
│   │   │   │   │   ├── SharedCalendarState.ts
│   │   │   │   │   ├── SharedCalendarStore.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── selectors.ts
│   │   │   │   │   └── test/
│   │   │   │   │       ├── value.SharedCalendarStore.test.ts
│   │   │   │   │       └── visibleDate.SharedCalendarStore.test.ts
│   │   │   │   ├── use-context/
│   │   │   │   │   └── CalendarContext.ts
│   │   │   │   ├── use-day-list/
│   │   │   │   │   ├── getDayList.ts
│   │   │   │   │   └── useCalendarDayList.ts
│   │   │   │   ├── use-week-list/
│   │   │   │   │   ├── getWeekList.ts
│   │   │   │   │   └── useCalendarWeekList.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── computeMonthDayGrid.ts
│   │   │   │   │   └── useCalendarMonthButton.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── CalendarViewport.tsx
│   │   │   │       └── CalendarViewportDataAttributes.ts
│   │   │   ├── checkbox/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── CheckboxIndicator.test.tsx
│   │   │   │   │   ├── CheckboxIndicator.tsx
│   │   │   │   │   └── CheckboxIndicatorDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── CheckboxRoot.test.tsx
│   │   │   │   │   ├── CheckboxRoot.tsx
│   │   │   │   │   ├── CheckboxRootContext.ts
│   │   │   │   │   └── CheckboxRootDataAttributes.ts
│   │   │   │   └── utils/
│   │   │   │       └── useStateAttributesMapping.ts
│   │   │   ├── checkbox-group/
│   │   │   │   ├── CheckboxGroup.test.tsx
│   │   │   │   ├── CheckboxGroup.tsx
│   │   │   │   ├── CheckboxGroupContext.ts
│   │   │   │   ├── CheckboxGroupDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── useCheckboxGroupParent.test.tsx
│   │   │   │   └── useCheckboxGroupParent.ts
│   │   │   ├── collapsible/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── panel/
│   │   │   │   │   ├── CollapsiblePanel.test.tsx
│   │   │   │   │   ├── CollapsiblePanel.tsx
│   │   │   │   │   ├── CollapsiblePanelCssVars.ts
│   │   │   │   │   ├── CollapsiblePanelDataAttributes.ts
│   │   │   │   │   └── useCollapsiblePanel.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── CollapsibleRoot.test.tsx
│   │   │   │   │   ├── CollapsibleRoot.tsx
│   │   │   │   │   ├── CollapsibleRootContext.ts
│   │   │   │   │   ├── stateAttributesMapping.ts
│   │   │   │   │   └── useCollapsibleRoot.ts
│   │   │   │   └── trigger/
│   │   │   │       ├── CollapsibleTrigger.test.tsx
│   │   │   │       ├── CollapsibleTrigger.tsx
│   │   │   │       └── CollapsibleTriggerDataAttributes.ts
│   │   │   ├── combobox/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── ComboboxArrow.test.tsx
│   │   │   │   │   ├── ComboboxArrow.tsx
│   │   │   │   │   └── ComboboxArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── ComboboxBackdrop.test.tsx
│   │   │   │   │   ├── ComboboxBackdrop.tsx
│   │   │   │   │   └── ComboboxBackdropDataAttributes.ts
│   │   │   │   ├── chip/
│   │   │   │   │   ├── ComboboxChip.test.tsx
│   │   │   │   │   ├── ComboboxChip.tsx
│   │   │   │   │   └── ComboboxChipContext.ts
│   │   │   │   ├── chip-remove/
│   │   │   │   │   ├── ComboboxChipRemove.test.tsx
│   │   │   │   │   └── ComboboxChipRemove.tsx
│   │   │   │   ├── chips/
│   │   │   │   │   ├── ComboboxChips.test.tsx
│   │   │   │   │   ├── ComboboxChips.tsx
│   │   │   │   │   └── ComboboxChipsContext.ts
│   │   │   │   ├── clear/
│   │   │   │   │   ├── ComboboxClear.test.tsx
│   │   │   │   │   ├── ComboboxClear.tsx
│   │   │   │   │   └── ComboboxClearDataAtributes.ts
│   │   │   │   ├── collection/
│   │   │   │   │   ├── ComboboxCollection.test.tsx
│   │   │   │   │   ├── ComboboxCollection.tsx
│   │   │   │   │   └── GroupCollectionContext.tsx
│   │   │   │   ├── empty/
│   │   │   │   │   ├── ComboboxEmpty.test.tsx
│   │   │   │   │   └── ComboboxEmpty.tsx
│   │   │   │   ├── group/
│   │   │   │   │   ├── ComboboxGroup.test.tsx
│   │   │   │   │   ├── ComboboxGroup.tsx
│   │   │   │   │   └── ComboboxGroupContext.ts
│   │   │   │   ├── group-label/
│   │   │   │   │   ├── ComboboxGroupLabel.test.tsx
│   │   │   │   │   └── ComboboxGroupLabel.tsx
│   │   │   │   ├── icon/
│   │   │   │   │   ├── ComboboxIcon.test.tsx
│   │   │   │   │   └── ComboboxIcon.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── input/
│   │   │   │   │   ├── ComboboxInput.test.tsx
│   │   │   │   │   ├── ComboboxInput.tsx
│   │   │   │   │   └── ComboboxInputDataAttributes.ts
│   │   │   │   ├── input-group/
│   │   │   │   │   ├── ComboboxInputGroup.test.tsx
│   │   │   │   │   ├── ComboboxInputGroup.tsx
│   │   │   │   │   └── ComboboxInputGroupDataAttributes.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── ComboboxItem.test.tsx
│   │   │   │   │   ├── ComboboxItem.tsx
│   │   │   │   │   ├── ComboboxItemContext.ts
│   │   │   │   │   └── ComboboxItemDataAttributes.ts
│   │   │   │   ├── item-indicator/
│   │   │   │   │   ├── ComboboxItemIndicator.test.tsx
│   │   │   │   │   ├── ComboboxItemIndicator.tsx
│   │   │   │   │   └── ComboboxItemIndicatorDataAttributes.ts
│   │   │   │   ├── label/
│   │   │   │   │   ├── ComboboxLabel.test.tsx
│   │   │   │   │   └── ComboboxLabel.tsx
│   │   │   │   ├── list/
│   │   │   │   │   ├── ComboboxList.test.tsx
│   │   │   │   │   └── ComboboxList.tsx
│   │   │   │   ├── popup/
│   │   │   │   │   ├── ComboboxPopup.test.tsx
│   │   │   │   │   ├── ComboboxPopup.tsx
│   │   │   │   │   └── ComboboxPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── ComboboxPortal.test.tsx
│   │   │   │   │   ├── ComboboxPortal.tsx
│   │   │   │   │   └── ComboboxPortalContext.tsx
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── ComboboxPositioner.test.tsx
│   │   │   │   │   ├── ComboboxPositioner.tsx
│   │   │   │   │   ├── ComboboxPositionerContext.tsx
│   │   │   │   │   ├── ComboboxPositionerCssVars.ts
│   │   │   │   │   └── ComboboxPositionerDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── AriaCombobox.tsx
│   │   │   │   │   ├── ComboboxRoot.spec.tsx
│   │   │   │   │   ├── ComboboxRoot.test.tsx
│   │   │   │   │   ├── ComboboxRoot.tsx
│   │   │   │   │   ├── ComboboxRootContext.tsx
│   │   │   │   │   └── utils/
│   │   │   │   │       ├── constants.ts
│   │   │   │   │       ├── index.ts
│   │   │   │   │       ├── useFilter.ts
│   │   │   │   │       └── useFilteredItems.ts
│   │   │   │   ├── row/
│   │   │   │   │   ├── ComboboxRow.tsx
│   │   │   │   │   └── ComboboxRowContext.ts
│   │   │   │   ├── status/
│   │   │   │   │   ├── ComboboxStatus.test.tsx
│   │   │   │   │   └── ComboboxStatus.tsx
│   │   │   │   ├── store.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── ComboboxTrigger.test.tsx
│   │   │   │   │   ├── ComboboxTrigger.tsx
│   │   │   │   │   └── ComboboxTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── ComboboxInternalDismissButton.tsx
│   │   │   │   │   ├── handleInputPress.ts
│   │   │   │   │   └── stateAttributesMapping.ts
│   │   │   │   └── value/
│   │   │   │       ├── ComboboxValue.test.tsx
│   │   │   │       └── ComboboxValue.tsx
│   │   │   ├── composite/
│   │   │   │   ├── composite.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── CompositeItem.tsx
│   │   │   │   │   └── useCompositeItem.ts
│   │   │   │   ├── list/
│   │   │   │   │   ├── CompositeList.test.tsx
│   │   │   │   │   ├── CompositeList.tsx
│   │   │   │   │   ├── CompositeListContext.ts
│   │   │   │   │   └── useCompositeListItem.ts
│   │   │   │   └── root/
│   │   │   │       ├── CompositeRoot.test.tsx
│   │   │   │       ├── CompositeRoot.tsx
│   │   │   │       ├── CompositeRootContext.ts
│   │   │   │       └── useCompositeRoot.ts
│   │   │   ├── context-menu/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── ContextMenuRoot.non-mac.test.tsx
│   │   │   │   │   ├── ContextMenuRoot.test.tsx
│   │   │   │   │   ├── ContextMenuRoot.tsx
│   │   │   │   │   └── ContextMenuRootContext.ts
│   │   │   │   └── trigger/
│   │   │   │       ├── ContextMenuTrigger.test.tsx
│   │   │   │       ├── ContextMenuTrigger.tsx
│   │   │   │       └── ContextMenuTriggerDataAttributes.ts
│   │   │   ├── csp-provider/
│   │   │   │   ├── CSPContext.tsx
│   │   │   │   ├── CSPProvider.test.tsx
│   │   │   │   ├── CSPProvider.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   └── index.ts
│   │   │   ├── dialog/
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── DialogBackdrop.test.tsx
│   │   │   │   │   ├── DialogBackdrop.tsx
│   │   │   │   │   └── DialogBackdropDataAttributes.ts
│   │   │   │   ├── close/
│   │   │   │   │   ├── DialogClose.test.tsx
│   │   │   │   │   ├── DialogClose.tsx
│   │   │   │   │   └── DialogCloseDataAttributes.ts
│   │   │   │   ├── description/
│   │   │   │   │   ├── DialogDescription.test.tsx
│   │   │   │   │   └── DialogDescription.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── DialogPopup.test.tsx
│   │   │   │   │   ├── DialogPopup.tsx
│   │   │   │   │   ├── DialogPopupCssVars.ts
│   │   │   │   │   └── DialogPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── DialogPortal.test.tsx
│   │   │   │   │   ├── DialogPortal.tsx
│   │   │   │   │   └── DialogPortalContext.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── DialogRoot.detached-triggers.test.tsx
│   │   │   │   │   ├── DialogRoot.spec.tsx
│   │   │   │   │   ├── DialogRoot.test.tsx
│   │   │   │   │   ├── DialogRoot.tsx
│   │   │   │   │   ├── DialogRootContext.ts
│   │   │   │   │   └── useDialogRoot.ts
│   │   │   │   ├── store/
│   │   │   │   │   ├── DialogHandle.ts
│   │   │   │   │   └── DialogStore.ts
│   │   │   │   ├── title/
│   │   │   │   │   ├── DialogTitle.test.tsx
│   │   │   │   │   └── DialogTitle.tsx
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── DialogTrigger.test.tsx
│   │   │   │   │   ├── DialogTrigger.tsx
│   │   │   │   │   └── DialogTriggerDataAttributes.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── DialogViewport.test.tsx
│   │   │   │       ├── DialogViewport.tsx
│   │   │   │       └── DialogViewportDataAttributes.ts
│   │   │   ├── direction-provider/
│   │   │   │   ├── DirectionContext.tsx
│   │   │   │   ├── DirectionProvider.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   └── index.ts
│   │   │   ├── drawer/
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── DrawerBackdrop.tsx
│   │   │   │   │   ├── DrawerBackdropCssVars.ts
│   │   │   │   │   └── DrawerBackdropDataAttributes.ts
│   │   │   │   ├── close/
│   │   │   │   │   └── DrawerClose.tsx
│   │   │   │   ├── content/
│   │   │   │   │   ├── DrawerContent.test.tsx
│   │   │   │   │   ├── DrawerContent.tsx
│   │   │   │   │   └── DrawerContentDataAttributes.ts
│   │   │   │   ├── description/
│   │   │   │   │   └── DrawerDescription.tsx
│   │   │   │   ├── indent/
│   │   │   │   │   ├── DrawerIndent.test.tsx
│   │   │   │   │   └── DrawerIndent.tsx
│   │   │   │   ├── indent-background/
│   │   │   │   │   ├── DrawerIndentBackground.test.tsx
│   │   │   │   │   └── DrawerIndentBackground.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── DrawerPopup.test.tsx
│   │   │   │   │   ├── DrawerPopup.tsx
│   │   │   │   │   ├── DrawerPopupCssVars.ts
│   │   │   │   │   └── DrawerPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   └── DrawerPortal.tsx
│   │   │   │   ├── provider/
│   │   │   │   │   ├── DrawerProvider.tsx
│   │   │   │   │   └── DrawerProviderContext.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── DrawerRoot.spec.tsx
│   │   │   │   │   ├── DrawerRoot.test.tsx
│   │   │   │   │   ├── DrawerRoot.tsx
│   │   │   │   │   ├── DrawerRootContext.ts
│   │   │   │   │   └── useDrawerSnapPoints.ts
│   │   │   │   ├── swipe-area/
│   │   │   │   │   ├── DrawerSwipeArea.test.tsx
│   │   │   │   │   ├── DrawerSwipeArea.tsx
│   │   │   │   │   └── DrawerSwipeAreaDataAttributes.ts
│   │   │   │   ├── title/
│   │   │   │   │   └── DrawerTitle.tsx
│   │   │   │   ├── trigger/
│   │   │   │   │   └── DrawerTrigger.tsx
│   │   │   │   └── viewport/
│   │   │   │       ├── DrawerViewport.test.tsx
│   │   │   │       ├── DrawerViewport.tsx
│   │   │   │       ├── DrawerViewportContext.tsx
│   │   │   │       └── DrawerViewportDataAttributes.ts
│   │   │   ├── field/
│   │   │   │   ├── control/
│   │   │   │   │   ├── FieldControl.spec.tsx
│   │   │   │   │   ├── FieldControl.test.tsx
│   │   │   │   │   ├── FieldControl.tsx
│   │   │   │   │   └── FieldControlDataAttributes.ts
│   │   │   │   ├── description/
│   │   │   │   │   ├── FieldDescription.test.tsx
│   │   │   │   │   ├── FieldDescription.tsx
│   │   │   │   │   └── FieldDescriptionDataAttributes.ts
│   │   │   │   ├── error/
│   │   │   │   │   ├── FieldError.test.tsx
│   │   │   │   │   ├── FieldError.tsx
│   │   │   │   │   └── FieldErrorDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── FieldItem.test.tsx
│   │   │   │   │   ├── FieldItem.tsx
│   │   │   │   │   └── FieldItemContext.ts
│   │   │   │   ├── label/
│   │   │   │   │   ├── FieldLabel.test.tsx
│   │   │   │   │   ├── FieldLabel.tsx
│   │   │   │   │   └── FieldLabelDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── FieldRoot.test.tsx
│   │   │   │   │   ├── FieldRoot.tsx
│   │   │   │   │   ├── FieldRootContext.ts
│   │   │   │   │   ├── FieldRootDataAttributes.ts
│   │   │   │   │   └── useFieldValidation.ts
│   │   │   │   ├── useField.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── constants.ts
│   │   │   │   │   └── getCombinedFieldValidityData.ts
│   │   │   │   └── validity/
│   │   │   │       ├── FieldValidity.test.tsx
│   │   │   │       └── FieldValidity.tsx
│   │   │   ├── fieldset/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── legend/
│   │   │   │   │   ├── FieldsetLegend.test.tsx
│   │   │   │   │   └── FieldsetLegend.tsx
│   │   │   │   └── root/
│   │   │   │       ├── FieldsetRoot.test.tsx
│   │   │   │       ├── FieldsetRoot.tsx
│   │   │   │       └── FieldsetRootContext.ts
│   │   │   ├── floating-ui-react/
│   │   │   │   ├── components/
│   │   │   │   │   ├── FloatingDelayGroup.test.tsx
│   │   │   │   │   ├── FloatingDelayGroup.tsx
│   │   │   │   │   ├── FloatingFocusManager.test.tsx
│   │   │   │   │   ├── FloatingFocusManager.tsx
│   │   │   │   │   ├── FloatingPortal.test.tsx
│   │   │   │   │   ├── FloatingPortal.tsx
│   │   │   │   │   ├── FloatingRootStore.ts
│   │   │   │   │   ├── FloatingTree.tsx
│   │   │   │   │   └── FloatingTreeStore.ts
│   │   │   │   ├── hooks/
│   │   │   │   │   ├── useClick.ts
│   │   │   │   │   ├── useClientPoint.test.tsx
│   │   │   │   │   ├── useClientPoint.ts
│   │   │   │   │   ├── useDismiss.test.tsx
│   │   │   │   │   ├── useDismiss.ts
│   │   │   │   │   ├── useFloating.ts
│   │   │   │   │   ├── useFloatingRootContext.ts
│   │   │   │   │   ├── useFocus.ts
│   │   │   │   │   ├── useHover.test.tsx
│   │   │   │   │   ├── useHover.ts
│   │   │   │   │   ├── useHoverFloatingInteraction.ts
│   │   │   │   │   ├── useHoverInteractionSharedState.ts
│   │   │   │   │   ├── useHoverReferenceInteraction.test.tsx
│   │   │   │   │   ├── useHoverReferenceInteraction.ts
│   │   │   │   │   ├── useHoverShared.ts
│   │   │   │   │   ├── useInteractions.test.tsx
│   │   │   │   │   ├── useInteractions.ts
│   │   │   │   │   ├── useListNavigation.test.tsx
│   │   │   │   │   ├── useListNavigation.ts
│   │   │   │   │   ├── useRole.ts
│   │   │   │   │   ├── useSyncedFloatingRootContext.ts
│   │   │   │   │   ├── useTypeahead.test.tsx
│   │   │   │   │   └── useTypeahead.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── middleware/
│   │   │   │   │   └── arrow.ts
│   │   │   │   ├── safePolygon.test.ts
│   │   │   │   ├── safePolygon.ts
│   │   │   │   ├── types.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── composite.ts
│   │   │   │   │   ├── constants.ts
│   │   │   │   │   ├── createAttribute.ts
│   │   │   │   │   ├── createEventEmitter.ts
│   │   │   │   │   ├── element.ts
│   │   │   │   │   ├── enqueueFocus.ts
│   │   │   │   │   ├── event.ts
│   │   │   │   │   ├── getEmptyRootContext.ts
│   │   │   │   │   ├── markOthers.test.ts
│   │   │   │   │   ├── markOthers.ts
│   │   │   │   │   ├── nodes.test.ts
│   │   │   │   │   ├── nodes.ts
│   │   │   │   │   └── tabbable.ts
│   │   │   │   └── utils.ts
│   │   │   ├── form/
│   │   │   │   ├── Form.spec.tsx
│   │   │   │   ├── Form.test.tsx
│   │   │   │   ├── Form.tsx
│   │   │   │   ├── FormContext.ts
│   │   │   │   └── index.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.test.ts
│   │   │   ├── index.ts
│   │   │   ├── input/
│   │   │   │   ├── Input.spec.tsx
│   │   │   │   ├── Input.test.tsx
│   │   │   │   ├── Input.tsx
│   │   │   │   ├── InputDataAttributes.ts
│   │   │   │   └── index.ts
│   │   │   ├── labelable-provider/
│   │   │   │   ├── LabelableContext.ts
│   │   │   │   ├── LabelableProvider.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── useAriaLabelledBy.ts
│   │   │   │   ├── useLabel.ts
│   │   │   │   └── useLabelableId.ts
│   │   │   ├── localization-provider/
│   │   │   │   ├── LocalizationContext.ts
│   │   │   │   ├── LocalizationProvider.tsx
│   │   │   │   └── index.ts
│   │   │   ├── menu/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── MenuArrow.test.tsx
│   │   │   │   │   ├── MenuArrow.tsx
│   │   │   │   │   └── MenuArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── MenuBackdrop.test.tsx
│   │   │   │   │   ├── MenuBackdrop.tsx
│   │   │   │   │   └── MenuBackdropDataAttributes.ts
│   │   │   │   ├── checkbox-item/
│   │   │   │   │   ├── MenuCheckboxItem.test.tsx
│   │   │   │   │   ├── MenuCheckboxItem.tsx
│   │   │   │   │   ├── MenuCheckboxItemContext.ts
│   │   │   │   │   └── MenuCheckboxItemDataAttributes.ts
│   │   │   │   ├── checkbox-item-indicator/
│   │   │   │   │   ├── MenuCheckboxItemIndicator.test.tsx
│   │   │   │   │   ├── MenuCheckboxItemIndicator.tsx
│   │   │   │   │   └── MenuCheckboxItemIndicatorDataAttributes.ts
│   │   │   │   ├── group/
│   │   │   │   │   ├── MenuGroup.test.tsx
│   │   │   │   │   ├── MenuGroup.tsx
│   │   │   │   │   └── MenuGroupContext.ts
│   │   │   │   ├── group-label/
│   │   │   │   │   ├── MenuGroupLabel.test.tsx
│   │   │   │   │   └── MenuGroupLabel.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── MenuItem.test.tsx
│   │   │   │   │   ├── MenuItem.tsx
│   │   │   │   │   ├── MenuItemDataAttributes.ts
│   │   │   │   │   ├── useMenuItem.ts
│   │   │   │   │   └── useMenuItemCommonProps.ts
│   │   │   │   ├── link-item/
│   │   │   │   │   ├── MenuLinkItem.test.tsx
│   │   │   │   │   ├── MenuLinkItem.tsx
│   │   │   │   │   └── MenuLinkItemDataAttributes.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── MenuPopup.test.tsx
│   │   │   │   │   ├── MenuPopup.tsx
│   │   │   │   │   └── MenuPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── MenuPortal.test.tsx
│   │   │   │   │   ├── MenuPortal.tsx
│   │   │   │   │   └── MenuPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── MenuPositioner.spec.tsx
│   │   │   │   │   ├── MenuPositioner.test.tsx
│   │   │   │   │   ├── MenuPositioner.tsx
│   │   │   │   │   ├── MenuPositionerContext.ts
│   │   │   │   │   ├── MenuPositionerCssVars.ts
│   │   │   │   │   └── MenuPositionerDataAttributes.ts
│   │   │   │   ├── radio-group/
│   │   │   │   │   ├── MenuRadioGroup.test.tsx
│   │   │   │   │   ├── MenuRadioGroup.tsx
│   │   │   │   │   └── MenuRadioGroupContext.ts
│   │   │   │   ├── radio-item/
│   │   │   │   │   ├── MenuRadioItem.test.tsx
│   │   │   │   │   ├── MenuRadioItem.tsx
│   │   │   │   │   ├── MenuRadioItemContext.ts
│   │   │   │   │   └── MenuRadioItemDataAttributes.ts
│   │   │   │   ├── radio-item-indicator/
│   │   │   │   │   ├── MenuRadioItemIndicator.test.tsx
│   │   │   │   │   ├── MenuRadioItemIndicator.tsx
│   │   │   │   │   └── MenuRadioItemIndicatorDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── MenuRoot.detached-triggers.test.tsx
│   │   │   │   │   ├── MenuRoot.test.tsx
│   │   │   │   │   ├── MenuRoot.tsx
│   │   │   │   │   └── MenuRootContext.ts
│   │   │   │   ├── store/
│   │   │   │   │   ├── MenuHandle.ts
│   │   │   │   │   └── MenuStore.ts
│   │   │   │   ├── submenu-root/
│   │   │   │   │   ├── MenuSubmenuRoot.tsx
│   │   │   │   │   └── MenuSubmenuRootContext.ts
│   │   │   │   ├── submenu-trigger/
│   │   │   │   │   ├── MenuSubmenuTrigger.test.tsx
│   │   │   │   │   ├── MenuSubmenuTrigger.tsx
│   │   │   │   │   └── MenuSubmenuTriggerDataAttributes.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── MenuTrigger.test.tsx
│   │   │   │   │   ├── MenuTrigger.tsx
│   │   │   │   │   └── MenuTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── findRootOwnerId.ts
│   │   │   │   │   ├── stateAttributesMapping.ts
│   │   │   │   │   └── types.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── MenuViewport.test.tsx
│   │   │   │       ├── MenuViewport.tsx
│   │   │   │       ├── MenuViewportCssVars.ts
│   │   │   │       └── MenuViewportDataAttributes.ts
│   │   │   ├── menubar/
│   │   │   │   ├── Menubar.test.tsx
│   │   │   │   ├── Menubar.tsx
│   │   │   │   ├── MenubarContext.ts
│   │   │   │   ├── MenubarDataAttributes.ts
│   │   │   │   └── index.ts
│   │   │   ├── merge-props/
│   │   │   │   ├── index.ts
│   │   │   │   ├── mergeProps.test.ts
│   │   │   │   └── mergeProps.ts
│   │   │   ├── meter/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── MeterIndicator.test.tsx
│   │   │   │   │   └── MeterIndicator.tsx
│   │   │   │   ├── label/
│   │   │   │   │   ├── MeterLabel.test.tsx
│   │   │   │   │   └── MeterLabel.tsx
│   │   │   │   ├── root/
│   │   │   │   │   ├── MeterRoot.test.tsx
│   │   │   │   │   ├── MeterRoot.tsx
│   │   │   │   │   └── MeterRootContext.ts
│   │   │   │   ├── track/
│   │   │   │   │   ├── MeterTrack.test.tsx
│   │   │   │   │   └── MeterTrack.tsx
│   │   │   │   └── value/
│   │   │   │       ├── MeterValue.test.tsx
│   │   │   │       └── MeterValue.tsx
│   │   │   ├── navigation-menu/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── NavigationMenuArrow.test.tsx
│   │   │   │   │   ├── NavigationMenuArrow.tsx
│   │   │   │   │   └── NavigationMenuArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── NavigationMenuBackdrop.test.tsx
│   │   │   │   │   ├── NavigationMenuBackdrop.tsx
│   │   │   │   │   └── NavigationMenuBackdropDataAttributes.ts
│   │   │   │   ├── content/
│   │   │   │   │   ├── NavigationMenuContent.test.tsx
│   │   │   │   │   ├── NavigationMenuContent.tsx
│   │   │   │   │   └── NavigationMenuContentDataAttributes.ts
│   │   │   │   ├── icon/
│   │   │   │   │   ├── NavigationMenuIcon.test.tsx
│   │   │   │   │   └── NavigationMenuIcon.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── NavigationMenuItem.test.tsx
│   │   │   │   │   ├── NavigationMenuItem.tsx
│   │   │   │   │   └── NavigationMenuItemContext.ts
│   │   │   │   ├── link/
│   │   │   │   │   ├── NavigationMenuLink.test.tsx
│   │   │   │   │   ├── NavigationMenuLink.tsx
│   │   │   │   │   └── NavigationMenuLinkDataAttributes.ts
│   │   │   │   ├── list/
│   │   │   │   │   ├── NavigationMenuDismissContext.ts
│   │   │   │   │   ├── NavigationMenuList.test.tsx
│   │   │   │   │   └── NavigationMenuList.tsx
│   │   │   │   ├── popup/
│   │   │   │   │   ├── NavigationMenuPopup.test.tsx
│   │   │   │   │   ├── NavigationMenuPopup.tsx
│   │   │   │   │   ├── NavigationMenuPopupCssVars.ts
│   │   │   │   │   └── NavigationMenuPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── NavigationMenuPortal.test.tsx
│   │   │   │   │   ├── NavigationMenuPortal.tsx
│   │   │   │   │   └── NavigationMenuPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── NavigationMenuPositioner.test.tsx
│   │   │   │   │   ├── NavigationMenuPositioner.tsx
│   │   │   │   │   ├── NavigationMenuPositionerContext.ts
│   │   │   │   │   ├── NavigationMenuPositionerCssVars.ts
│   │   │   │   │   └── NavigationMenuPositionerDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── NavigationMenuRoot.spec.tsx
│   │   │   │   │   ├── NavigationMenuRoot.test.tsx
│   │   │   │   │   ├── NavigationMenuRoot.tsx
│   │   │   │   │   ├── NavigationMenuRoot.webkit.test.tsx
│   │   │   │   │   └── NavigationMenuRootContext.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── NavigationMenuTrigger.test.tsx
│   │   │   │   │   ├── NavigationMenuTrigger.tsx
│   │   │   │   │   └── NavigationMenuTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── constants.ts
│   │   │   │   │   └── isOutsideMenuEvent.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── NavigationMenuViewport.test.tsx
│   │   │   │       └── NavigationMenuViewport.tsx
│   │   │   ├── number-field/
│   │   │   │   ├── decrement/
│   │   │   │   │   ├── NumberFieldDecrement.test.tsx
│   │   │   │   │   ├── NumberFieldDecrement.tsx
│   │   │   │   │   └── NumberFieldDecrementDataAttributes.ts
│   │   │   │   ├── group/
│   │   │   │   │   ├── NumberFieldGroup.test.tsx
│   │   │   │   │   ├── NumberFieldGroup.tsx
│   │   │   │   │   └── NumberFieldGroupDataAttributes.ts
│   │   │   │   ├── increment/
│   │   │   │   │   ├── NumberFieldIncrement.test.tsx
│   │   │   │   │   ├── NumberFieldIncrement.tsx
│   │   │   │   │   └── NumberFieldIncrementDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── input/
│   │   │   │   │   ├── NumberFieldInput.test.tsx
│   │   │   │   │   ├── NumberFieldInput.tsx
│   │   │   │   │   └── NumberFieldInputDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── NumberFieldRoot.spec.tsx
│   │   │   │   │   ├── NumberFieldRoot.test.tsx
│   │   │   │   │   ├── NumberFieldRoot.tsx
│   │   │   │   │   ├── NumberFieldRootContext.ts
│   │   │   │   │   ├── NumberFieldRootDataAttributes.ts
│   │   │   │   │   └── useNumberFieldButton.ts
│   │   │   │   ├── scrub-area/
│   │   │   │   │   ├── NumberFieldScrubArea.test.tsx
│   │   │   │   │   ├── NumberFieldScrubArea.tsx
│   │   │   │   │   ├── NumberFieldScrubAreaContext.ts
│   │   │   │   │   └── NumberFieldScrubAreaDataAttributes.ts
│   │   │   │   ├── scrub-area-cursor/
│   │   │   │   │   ├── NumberFieldScrubAreaCursor.test.tsx
│   │   │   │   │   ├── NumberFieldScrubAreaCursor.tsx
│   │   │   │   │   └── NumberFieldScrubAreaCursorDataAttributes.ts
│   │   │   │   └── utils/
│   │   │   │       ├── constants.ts
│   │   │   │       ├── getViewportRect.ts
│   │   │   │       ├── parse.test.ts
│   │   │   │       ├── parse.ts
│   │   │   │       ├── stateAttributesMapping.ts
│   │   │   │       ├── subscribeToVisualViewportResize.ts
│   │   │   │       ├── types.ts
│   │   │   │       ├── validate.test.ts
│   │   │   │       └── validate.ts
│   │   │   ├── popover/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── PopoverArrow.test.tsx
│   │   │   │   │   ├── PopoverArrow.tsx
│   │   │   │   │   └── PopoverArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── PopoverBackdrop.test.tsx
│   │   │   │   │   ├── PopoverBackdrop.tsx
│   │   │   │   │   └── PopoverBackdropDataAttributes.ts
│   │   │   │   ├── close/
│   │   │   │   │   ├── PopoverClose.test.tsx
│   │   │   │   │   └── PopoverClose.tsx
│   │   │   │   ├── description/
│   │   │   │   │   ├── PopoverDescription.test.tsx
│   │   │   │   │   └── PopoverDescription.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── PopoverPopup.test.tsx
│   │   │   │   │   ├── PopoverPopup.tsx
│   │   │   │   │   ├── PopoverPopupCssVars.ts
│   │   │   │   │   └── PopoverPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── PopoverPortal.test.tsx
│   │   │   │   │   ├── PopoverPortal.tsx
│   │   │   │   │   └── PopoverPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── PopoverPositioner.spec.tsx
│   │   │   │   │   ├── PopoverPositioner.test.tsx
│   │   │   │   │   ├── PopoverPositioner.tsx
│   │   │   │   │   ├── PopoverPositionerContext.ts
│   │   │   │   │   ├── PopoverPositionerCssVars.ts
│   │   │   │   │   └── PopoverPositionerDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── PopoverRoot.detached-triggers.test.tsx
│   │   │   │   │   ├── PopoverRoot.spec.tsx
│   │   │   │   │   ├── PopoverRoot.test.tsx
│   │   │   │   │   ├── PopoverRoot.tsx
│   │   │   │   │   └── PopoverRootContext.ts
│   │   │   │   ├── store/
│   │   │   │   │   ├── PopoverHandle.ts
│   │   │   │   │   └── PopoverStore.ts
│   │   │   │   ├── title/
│   │   │   │   │   ├── PopoverTitle.test.tsx
│   │   │   │   │   └── PopoverTitle.tsx
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── PopoverTrigger.test.tsx
│   │   │   │   │   ├── PopoverTrigger.tsx
│   │   │   │   │   └── PopoverTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   └── constants.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── PopoverViewport.test.tsx
│   │   │   │       ├── PopoverViewport.tsx
│   │   │   │       ├── PopoverViewportCssVars.ts
│   │   │   │       └── PopoverViewportDataAttributes.ts
│   │   │   ├── preview-card/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── PreviewCardArrow.test.tsx
│   │   │   │   │   ├── PreviewCardArrow.tsx
│   │   │   │   │   └── PreviewCardArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── PreviewCardBackdrop.test.tsx
│   │   │   │   │   ├── PreviewCardBackdrop.tsx
│   │   │   │   │   └── PreviewCardBackdropDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── PreviewCardPopup.test.tsx
│   │   │   │   │   ├── PreviewCardPopup.tsx
│   │   │   │   │   └── PreviewCardPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── PreviewCardPortal.test.tsx
│   │   │   │   │   ├── PreviewCardPortal.tsx
│   │   │   │   │   └── PreviewCardPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── PreviewCardPositioner.spec.tsx
│   │   │   │   │   ├── PreviewCardPositioner.test.tsx
│   │   │   │   │   ├── PreviewCardPositioner.tsx
│   │   │   │   │   ├── PreviewCardPositionerContext.ts
│   │   │   │   │   ├── PreviewCardPositionerCssVars.ts
│   │   │   │   │   └── PreviewCardPositionerDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── PreviewCardContext.ts
│   │   │   │   │   ├── PreviewCardRoot.detached-triggers.test.tsx
│   │   │   │   │   ├── PreviewCardRoot.spec.tsx
│   │   │   │   │   ├── PreviewCardRoot.test.tsx
│   │   │   │   │   └── PreviewCardRoot.tsx
│   │   │   │   ├── store/
│   │   │   │   │   ├── PreviewCardHandle.ts
│   │   │   │   │   └── PreviewCardStore.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── PreviewCardTrigger.test.tsx
│   │   │   │   │   ├── PreviewCardTrigger.tsx
│   │   │   │   │   └── PreviewCardTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   └── constants.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── PreviewCardViewport.test.tsx
│   │   │   │       ├── PreviewCardViewport.tsx
│   │   │   │       ├── PreviewCardViewportCssVars.ts
│   │   │   │       └── PreviewCardViewportDataAttributes.ts
│   │   │   ├── progress/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── ProgressIndicator.test.tsx
│   │   │   │   │   ├── ProgressIndicator.tsx
│   │   │   │   │   └── ProgressIndicatorDataAttributes.ts
│   │   │   │   ├── label/
│   │   │   │   │   ├── ProgressLabel.test.tsx
│   │   │   │   │   ├── ProgressLabel.tsx
│   │   │   │   │   └── ProgressLabelDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── ProgressRoot.test.tsx
│   │   │   │   │   ├── ProgressRoot.tsx
│   │   │   │   │   ├── ProgressRootContext.tsx
│   │   │   │   │   ├── ProgressRootDataAttributes.ts
│   │   │   │   │   └── stateAttributesMapping.ts
│   │   │   │   ├── track/
│   │   │   │   │   ├── ProgressTrack.test.tsx
│   │   │   │   │   ├── ProgressTrack.tsx
│   │   │   │   │   └── ProgressTrackDataAttributes.ts
│   │   │   │   └── value/
│   │   │   │       ├── ProgressValue.test.tsx
│   │   │   │       ├── ProgressValue.tsx
│   │   │   │       └── ProgressValueDataAttributes.ts
│   │   │   ├── radio/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── RadioIndicator.test.tsx
│   │   │   │   │   ├── RadioIndicator.tsx
│   │   │   │   │   └── RadioIndicatorDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── RadioRoot.spec.tsx
│   │   │   │   │   ├── RadioRoot.test.tsx
│   │   │   │   │   ├── RadioRoot.tsx
│   │   │   │   │   ├── RadioRootContext.ts
│   │   │   │   │   └── RadioRootDataAttributes.ts
│   │   │   │   └── utils/
│   │   │   │       └── stateAttributesMapping.ts
│   │   │   ├── radio-group/
│   │   │   │   ├── RadioGroup.spec.tsx
│   │   │   │   ├── RadioGroup.test.tsx
│   │   │   │   ├── RadioGroup.tsx
│   │   │   │   ├── RadioGroupContext.ts
│   │   │   │   ├── RadioGroupDataAttributes.ts
│   │   │   │   └── index.ts
│   │   │   ├── scroll-area/
│   │   │   │   ├── constants.ts
│   │   │   │   ├── content/
│   │   │   │   │   ├── ScrollAreaContent.test.tsx
│   │   │   │   │   └── ScrollAreaContent.tsx
│   │   │   │   ├── corner/
│   │   │   │   │   ├── ScrollAreaCorner.test.tsx
│   │   │   │   │   └── ScrollAreaCorner.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── ScrollAreaRoot.test.tsx
│   │   │   │   │   ├── ScrollAreaRoot.tsx
│   │   │   │   │   ├── ScrollAreaRootContext.ts
│   │   │   │   │   ├── ScrollAreaRootCssVars.ts
│   │   │   │   │   ├── ScrollAreaRootDataAttributes.ts
│   │   │   │   │   └── stateAttributes.ts
│   │   │   │   ├── scrollbar/
│   │   │   │   │   ├── ScrollAreaScrollbar.test.tsx
│   │   │   │   │   ├── ScrollAreaScrollbar.tsx
│   │   │   │   │   ├── ScrollAreaScrollbarContext.ts
│   │   │   │   │   ├── ScrollAreaScrollbarCssVars.ts
│   │   │   │   │   └── ScrollAreaScrollbarDataAttributes.ts
│   │   │   │   ├── thumb/
│   │   │   │   │   ├── ScrollAreaThumb.test.tsx
│   │   │   │   │   ├── ScrollAreaThumb.tsx
│   │   │   │   │   └── ScrollAreaThumbDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── getOffset.ts
│   │   │   │   │   ├── scrollEdges.test.ts
│   │   │   │   │   └── scrollEdges.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── ScrollAreaViewport.test.tsx
│   │   │   │       ├── ScrollAreaViewport.tsx
│   │   │   │       ├── ScrollAreaViewportContext.ts
│   │   │   │       ├── ScrollAreaViewportCssVars.ts
│   │   │   │       └── ScrollAreaViewportDataAttributes.ts
│   │   │   ├── select/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── SelectArrow.test.tsx
│   │   │   │   │   ├── SelectArrow.tsx
│   │   │   │   │   └── SelectArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── SelectBackdrop.test.tsx
│   │   │   │   │   ├── SelectBackdrop.tsx
│   │   │   │   │   └── SelectBackdropDataAttributes.ts
│   │   │   │   ├── group/
│   │   │   │   │   ├── SelectGroup.test.tsx
│   │   │   │   │   ├── SelectGroup.tsx
│   │   │   │   │   └── SelectGroupContext.ts
│   │   │   │   ├── group-label/
│   │   │   │   │   ├── SelectGroupLabel.test.tsx
│   │   │   │   │   └── SelectGroupLabel.tsx
│   │   │   │   ├── icon/
│   │   │   │   │   ├── SelectIcon.test.tsx
│   │   │   │   │   ├── SelectIcon.tsx
│   │   │   │   │   └── SelectIconDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── SelectItem.test.tsx
│   │   │   │   │   ├── SelectItem.tsx
│   │   │   │   │   ├── SelectItemContext.ts
│   │   │   │   │   └── SelectItemDataAttributes.ts
│   │   │   │   ├── item-indicator/
│   │   │   │   │   ├── SelectItemIndicator.test.tsx
│   │   │   │   │   ├── SelectItemIndicator.tsx
│   │   │   │   │   └── SelectItemIndicatorDataAttributes.ts
│   │   │   │   ├── item-text/
│   │   │   │   │   ├── SelectItemText.test.tsx
│   │   │   │   │   └── SelectItemText.tsx
│   │   │   │   ├── label/
│   │   │   │   │   ├── SelectLabel.test.tsx
│   │   │   │   │   └── SelectLabel.tsx
│   │   │   │   ├── list/
│   │   │   │   │   ├── SelectList.test.tsx
│   │   │   │   │   └── SelectList.tsx
│   │   │   │   ├── popup/
│   │   │   │   │   ├── SelectPopup.test.tsx
│   │   │   │   │   ├── SelectPopup.tsx
│   │   │   │   │   ├── SelectPopupDataAttributes.ts
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── SelectPortal.test.tsx
│   │   │   │   │   ├── SelectPortal.tsx
│   │   │   │   │   └── SelectPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── SelectPositioner.spec.tsx
│   │   │   │   │   ├── SelectPositioner.test.tsx
│   │   │   │   │   ├── SelectPositioner.tsx
│   │   │   │   │   ├── SelectPositionerContext.ts
│   │   │   │   │   ├── SelectPositionerCssVars.ts
│   │   │   │   │   └── SelectPositionerDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── SelectRoot.spec.tsx
│   │   │   │   │   ├── SelectRoot.test.tsx
│   │   │   │   │   ├── SelectRoot.tsx
│   │   │   │   │   └── SelectRootContext.ts
│   │   │   │   ├── scroll-arrow/
│   │   │   │   │   └── SelectScrollArrow.tsx
│   │   │   │   ├── scroll-down-arrow/
│   │   │   │   │   ├── SelectScrollDownArrow.test.tsx
│   │   │   │   │   ├── SelectScrollDownArrow.tsx
│   │   │   │   │   └── SelectScrollDownArrowDataAttributes.ts
│   │   │   │   ├── scroll-up-arrow/
│   │   │   │   │   ├── SelectScrollUpArrow.test.tsx
│   │   │   │   │   ├── SelectScrollUpArrow.tsx
│   │   │   │   │   └── SelectScrollUpArrowDataAttributes.ts
│   │   │   │   ├── store.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── SelectTrigger.test.tsx
│   │   │   │   │   ├── SelectTrigger.tsx
│   │   │   │   │   └── SelectTriggerDataAttributes.ts
│   │   │   │   └── value/
│   │   │   │       ├── SelectValue.test.tsx
│   │   │   │       ├── SelectValue.tsx
│   │   │   │       └── SelectValueDataAttributes.ts
│   │   │   ├── separator/
│   │   │   │   ├── Separator.test.tsx
│   │   │   │   ├── Separator.tsx
│   │   │   │   └── index.ts
│   │   │   ├── slider/
│   │   │   │   ├── control/
│   │   │   │   │   ├── SliderControl.test.tsx
│   │   │   │   │   ├── SliderControl.tsx
│   │   │   │   │   └── SliderControlDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── SliderIndicator.test.tsx
│   │   │   │   │   ├── SliderIndicator.tsx
│   │   │   │   │   └── SliderIndicatorDataAttributes.ts
│   │   │   │   ├── label/
│   │   │   │   │   ├── SliderLabel.test.tsx
│   │   │   │   │   └── SliderLabel.tsx
│   │   │   │   ├── root/
│   │   │   │   │   ├── SliderRoot.spec.tsx
│   │   │   │   │   ├── SliderRoot.test.tsx
│   │   │   │   │   ├── SliderRoot.tsx
│   │   │   │   │   ├── SliderRootContext.ts
│   │   │   │   │   ├── SliderRootDataAttributes.ts
│   │   │   │   │   └── stateAttributesMapping.ts
│   │   │   │   ├── thumb/
│   │   │   │   │   ├── SliderThumb.test.tsx
│   │   │   │   │   ├── SliderThumb.tsx
│   │   │   │   │   ├── SliderThumbDataAttributes.ts
│   │   │   │   │   ├── prehydrationScript.min.ts
│   │   │   │   │   └── prehydrationScript.template.js
│   │   │   │   ├── track/
│   │   │   │   │   ├── SliderTrack.test.tsx
│   │   │   │   │   ├── SliderTrack.tsx
│   │   │   │   │   └── SliderTrackDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── asc.ts
│   │   │   │   │   ├── getMidpoint.ts
│   │   │   │   │   ├── getPushedThumbValues.test.ts
│   │   │   │   │   ├── getPushedThumbValues.ts
│   │   │   │   │   ├── getSliderValue.ts
│   │   │   │   │   ├── replaceArrayItemAtIndex.ts
│   │   │   │   │   ├── resolveThumbCollision.test.ts
│   │   │   │   │   ├── resolveThumbCollision.ts
│   │   │   │   │   ├── roundValueToStep.ts
│   │   │   │   │   ├── test-utils.ts
│   │   │   │   │   ├── validateMinimumDistance.ts
│   │   │   │   │   └── valueArrayToPercentages.ts
│   │   │   │   └── value/
│   │   │   │       ├── SliderValue.test.tsx
│   │   │   │       ├── SliderValue.tsx
│   │   │   │       └── SliderValueDataAttributes.ts
│   │   │   ├── switch/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── SwitchRoot.test.tsx
│   │   │   │   │   ├── SwitchRoot.tsx
│   │   │   │   │   ├── SwitchRootContext.ts
│   │   │   │   │   └── SwitchRootDataAttributes.ts
│   │   │   │   ├── stateAttributesMapping.ts
│   │   │   │   └── thumb/
│   │   │   │       ├── SwitchThumb.test.tsx
│   │   │   │       ├── SwitchThumb.tsx
│   │   │   │       └── SwitchThumbDataAttributes.ts
│   │   │   ├── tabs/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── TabsIndicator.test.tsx
│   │   │   │   │   ├── TabsIndicator.tsx
│   │   │   │   │   ├── TabsIndicatorCssVars.ts
│   │   │   │   │   ├── TabsIndicatorDataAttributes.ts
│   │   │   │   │   ├── prehydrationScript.min.ts
│   │   │   │   │   └── prehydrationScript.template.js
│   │   │   │   ├── list/
│   │   │   │   │   ├── TabsList.test.tsx
│   │   │   │   │   ├── TabsList.tsx
│   │   │   │   │   ├── TabsListContext.ts
│   │   │   │   │   └── TabsListDataAttributes.ts
│   │   │   │   ├── panel/
│   │   │   │   │   ├── TabsPanel.test.tsx
│   │   │   │   │   ├── TabsPanel.tsx
│   │   │   │   │   └── TabsPanelDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── TabsRoot.test.tsx
│   │   │   │   │   ├── TabsRoot.tsx
│   │   │   │   │   ├── TabsRootContext.ts
│   │   │   │   │   ├── TabsRootDataAttributes.ts
│   │   │   │   │   └── stateAttributesMapping.ts
│   │   │   │   └── tab/
│   │   │   │       ├── TabsTab.test.tsx
│   │   │   │       ├── TabsTab.tsx
│   │   │   │       └── TabsTabDataAttributes.ts
│   │   │   ├── temporal-adapter-date-fns/
│   │   │   │   ├── TemporalAdapterDateFns.test.ts
│   │   │   │   ├── TemporalAdapterDateFns.ts
│   │   │   │   └── index.ts
│   │   │   ├── temporal-adapter-luxon/
│   │   │   │   ├── TemporalAdapterLuxon.test.ts
│   │   │   │   ├── TemporalAdapterLuxon.ts
│   │   │   │   └── index.ts
│   │   │   ├── temporal-adapter-provider/
│   │   │   │   ├── TemporalAdapterContext.ts
│   │   │   │   ├── TemporalAdapterProvider.tsx
│   │   │   │   └── index.ts
│   │   │   ├── toast/
│   │   │   │   ├── action/
│   │   │   │   │   ├── ToastAction.test.tsx
│   │   │   │   │   ├── ToastAction.tsx
│   │   │   │   │   └── ToastActionDataAttributes.ts
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── ToastArrow.test.tsx
│   │   │   │   │   ├── ToastArrow.tsx
│   │   │   │   │   └── ToastArrowDataAttributes.ts
│   │   │   │   ├── close/
│   │   │   │   │   ├── ToastClose.test.tsx
│   │   │   │   │   ├── ToastClose.tsx
│   │   │   │   │   └── ToastCloseDataAttributes.ts
│   │   │   │   ├── content/
│   │   │   │   │   ├── ToastContent.tsx
│   │   │   │   │   └── ToastContentDataAttributes.ts
│   │   │   │   ├── createToastManager.spec.tsx
│   │   │   │   ├── createToastManager.test.tsx
│   │   │   │   ├── createToastManager.ts
│   │   │   │   ├── description/
│   │   │   │   │   ├── ToastDescription.test.tsx
│   │   │   │   │   ├── ToastDescription.tsx
│   │   │   │   │   └── ToastDescriptionDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── ToastPortal.test.tsx
│   │   │   │   │   └── ToastPortal.tsx
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── ToastPositioner.test.tsx
│   │   │   │   │   ├── ToastPositioner.tsx
│   │   │   │   │   ├── ToastPositionerContext.ts
│   │   │   │   │   ├── ToastPositionerCssVars.ts
│   │   │   │   │   └── ToastPositionerDataAttributes.ts
│   │   │   │   ├── provider/
│   │   │   │   │   ├── ToastProvider.tsx
│   │   │   │   │   └── ToastProviderContext.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── ToastRoot.test.tsx
│   │   │   │   │   ├── ToastRoot.tsx
│   │   │   │   │   ├── ToastRootContext.ts
│   │   │   │   │   ├── ToastRootCssVars.ts
│   │   │   │   │   └── ToastRootDataAttributes.ts
│   │   │   │   ├── store.ts
│   │   │   │   ├── title/
│   │   │   │   │   ├── ToastTitle.test.tsx
│   │   │   │   │   ├── ToastTitle.tsx
│   │   │   │   │   └── ToastTitleDataAttributes.ts
│   │   │   │   ├── useToastManager.spec.tsx
│   │   │   │   ├── useToastManager.test.tsx
│   │   │   │   ├── useToastManager.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── focusVisible.ts
│   │   │   │   │   ├── resolvePromiseOptions.ts
│   │   │   │   │   └── test-utils.tsx
│   │   │   │   └── viewport/
│   │   │   │       ├── ToastViewport.test.tsx
│   │   │   │       ├── ToastViewport.tsx
│   │   │   │       ├── ToastViewportCssVars.ts
│   │   │   │       └── ToastViewportDataAttributes.ts
│   │   │   ├── toggle/
│   │   │   │   ├── Toggle.test.tsx
│   │   │   │   ├── Toggle.tsx
│   │   │   │   ├── ToggleDataAttributes.ts
│   │   │   │   └── index.ts
│   │   │   ├── toggle-group/
│   │   │   │   ├── ToggleGroup.spec.tsx
│   │   │   │   ├── ToggleGroup.test.tsx
│   │   │   │   ├── ToggleGroup.tsx
│   │   │   │   ├── ToggleGroupContext.ts
│   │   │   │   ├── ToggleGroupDataAttributes.ts
│   │   │   │   └── index.ts
│   │   │   ├── toolbar/
│   │   │   │   ├── button/
│   │   │   │   │   ├── ToolbarButton.test.tsx
│   │   │   │   │   ├── ToolbarButton.tsx
│   │   │   │   │   └── ToolbarButtonDataAttributes.ts
│   │   │   │   ├── group/
│   │   │   │   │   ├── ToolbarGroup.test.tsx
│   │   │   │   │   ├── ToolbarGroup.tsx
│   │   │   │   │   ├── ToolbarGroupContext.ts
│   │   │   │   │   └── ToolbarGroupDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── input/
│   │   │   │   │   ├── ToolbarInput.test.tsx
│   │   │   │   │   ├── ToolbarInput.tsx
│   │   │   │   │   └── ToolbarInputDataAttributes.ts
│   │   │   │   ├── link/
│   │   │   │   │   ├── ToolbarLink.test.tsx
│   │   │   │   │   ├── ToolbarLink.tsx
│   │   │   │   │   └── ToolbarLinkDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── ToolbarRoot.test.tsx
│   │   │   │   │   ├── ToolbarRoot.tsx
│   │   │   │   │   ├── ToolbarRootContext.ts
│   │   │   │   │   └── ToolbarRootDataAttributes.ts
│   │   │   │   └── separator/
│   │   │   │       ├── ToolbarSeparator.tsx
│   │   │   │       └── ToolbarSeparatorDataAttributes.ts
│   │   │   ├── tooltip/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── TooltipArrow.test.tsx
│   │   │   │   │   ├── TooltipArrow.tsx
│   │   │   │   │   └── TooltipArrowDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── TooltipPopup.test.tsx
│   │   │   │   │   ├── TooltipPopup.tsx
│   │   │   │   │   └── TooltipPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── TooltipPortal.test.tsx
│   │   │   │   │   ├── TooltipPortal.tsx
│   │   │   │   │   └── TooltipPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── TooltipPositioner.spec.tsx
│   │   │   │   │   ├── TooltipPositioner.test.tsx
│   │   │   │   │   ├── TooltipPositioner.tsx
│   │   │   │   │   ├── TooltipPositionerContext.ts
│   │   │   │   │   ├── TooltipPositionerCssVars.ts
│   │   │   │   │   └── TooltipPositionerDataAttributes.ts
│   │   │   │   ├── provider/
│   │   │   │   │   ├── TooltipProvider.test.tsx
│   │   │   │   │   ├── TooltipProvider.tsx
│   │   │   │   │   └── TooltipProviderContext.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── TooltipRoot.detached-triggers.test.tsx
│   │   │   │   │   ├── TooltipRoot.test.tsx
│   │   │   │   │   ├── TooltipRoot.tsx
│   │   │   │   │   └── TooltipRootContext.ts
│   │   │   │   ├── store/
│   │   │   │   │   ├── TooltipHandle.ts
│   │   │   │   │   └── TooltipStore.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── TooltipTrigger.spec.tsx
│   │   │   │   │   ├── TooltipTrigger.test.tsx
│   │   │   │   │   ├── TooltipTrigger.tsx
│   │   │   │   │   └── TooltipTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   └── constants.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── TooltipViewport.test.tsx
│   │   │   │       ├── TooltipViewport.tsx
│   │   │   │       ├── TooltipViewportCssVars.ts
│   │   │   │       └── TooltipViewportDataAttributes.ts
│   │   │   ├── types/
│   │   │   │   ├── index.ts
│   │   │   │   └── temporal/
│   │   │   │       ├── index.ts
│   │   │   │       ├── temporal-adapter.ts
│   │   │   │       └── temporal.ts
│   │   │   ├── unstable-use-media-query/
│   │   │   │   └── index.ts
│   │   │   ├── use-button/
│   │   │   │   ├── index.ts
│   │   │   │   ├── useButton.test.tsx
│   │   │   │   └── useButton.ts
│   │   │   ├── use-render/
│   │   │   │   ├── index.ts
│   │   │   │   ├── useRender.spec.tsx
│   │   │   │   ├── useRender.test.tsx
│   │   │   │   └── useRender.ts
│   │   │   └── utils/
│   │   │       ├── FloatingPortalLite.tsx
│   │   │       ├── FocusGuard.tsx
│   │   │       ├── InternalBackdrop.tsx
│   │   │       ├── adaptiveOriginMiddleware.ts
│   │   │       ├── areArraysEqual.ts
│   │   │       ├── clamp.test.ts
│   │   │       ├── clamp.ts
│   │   │       ├── closePart.tsx
│   │   │       ├── collapsibleOpenStateMapping.ts
│   │   │       ├── constants.ts
│   │   │       ├── createBaseUIEventDetails.spec.ts
│   │   │       ├── createBaseUIEventDetails.ts
│   │   │       ├── formatNumber.test.ts
│   │   │       ├── formatNumber.ts
│   │   │       ├── getCssDimensions.ts
│   │   │       ├── getDisabledMountTransitionStyles.ts
│   │   │       ├── getElementAtPoint.ts
│   │   │       ├── getPseudoElementBounds.ts
│   │   │       ├── getStateAttributesProps.test.ts
│   │   │       ├── getStateAttributesProps.ts
│   │   │       ├── hideMiddleware.ts
│   │   │       ├── itemEquality.ts
│   │   │       ├── noop.ts
│   │   │       ├── popupStateMapping.ts
│   │   │       ├── popups/
│   │   │       │   ├── index.ts
│   │   │       │   ├── popupStoreUtils.test.tsx
│   │   │       │   ├── popupStoreUtils.ts
│   │   │       │   ├── popupTriggerMap.test.ts
│   │   │       │   ├── popupTriggerMap.ts
│   │   │       │   └── store.ts
│   │   │       ├── reason-parts.ts
│   │   │       ├── reasons.ts
│   │   │       ├── resolveAriaLabelledBy.ts
│   │   │       ├── resolveClassName.ts
│   │   │       ├── resolveRef.ts
│   │   │       ├── resolveStyle.ts
│   │   │       ├── resolveValueLabel.test.ts
│   │   │       ├── resolveValueLabel.tsx
│   │   │       ├── scrollable.ts
│   │   │       ├── serializeValue.ts
│   │   │       ├── stateAttributesMapping.ts
│   │   │       ├── styles.tsx
│   │   │       ├── temporal/
│   │   │       │   ├── date-helpers.ts
│   │   │       │   ├── getDateManager.ts
│   │   │       │   ├── getInitialReferenceDate.test.ts
│   │   │       │   ├── getInitialReferenceDate.ts
│   │   │       │   ├── types.ts
│   │   │       │   ├── validateDate.test.tsx
│   │   │       │   └── validateDate.ts
│   │   │       ├── types.ts
│   │   │       ├── useAnchorPositioning.ts
│   │   │       ├── useAnimationsFinished.ts
│   │   │       ├── useBaseUiId.ts
│   │   │       ├── useFocusableWhenDisabled.ts
│   │   │       ├── useMixedToggleClickHandler.ts
│   │   │       ├── useOpenChangeComplete.tsx
│   │   │       ├── useOpenInteractionType.ts
│   │   │       ├── usePopupAutoResize.ts
│   │   │       ├── usePopupViewport.tsx
│   │   │       ├── usePressAndHold.ts
│   │   │       ├── useRegisteredLabelId.ts
│   │   │       ├── useRenderElement.spec.tsx
│   │   │       ├── useRenderElement.test.tsx
│   │   │       ├── useRenderElement.tsx
│   │   │       ├── useSwipeDismiss.test.tsx
│   │   │       ├── useSwipeDismiss.ts
│   │   │       ├── useTransitionStatus.d.ts
│   │   │       ├── useTransitionStatus.ts
│   │   │       ├── useValueChanged.ts
│   │   │       └── valueToPercent.ts
│   │   ├── test/
│   │   │   ├── addVitestMatchers.ts
│   │   │   ├── conformanceTests/
│   │   │   │   ├── className.tsx
│   │   │   │   ├── propForwarding.tsx
│   │   │   │   ├── refForwarding.tsx
│   │   │   │   ├── renderProp.tsx
│   │   │   │   └── utils.ts
│   │   │   ├── createRenderer.ts
│   │   │   ├── describeConformance.tsx
│   │   │   ├── describeGregorianAdapter/
│   │   │   │   ├── describeGregorianAdapter.ts
│   │   │   │   ├── describeGregorianAdapter.types.ts
│   │   │   │   ├── describeGregorianAdapter.utils.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── testComputations.ts
│   │   │   │   ├── testFormats.ts
│   │   │   │   └── testLocalization.ts
│   │   │   ├── floating-ui-tests/
│   │   │   │   ├── Button.module.css
│   │   │   │   ├── Button.tsx
│   │   │   │   ├── ComplexGrid.module.css
│   │   │   │   ├── ComplexGrid.tsx
│   │   │   │   ├── EmojiPicker.module.css
│   │   │   │   ├── EmojiPicker.tsx
│   │   │   │   ├── Grid.module.css
│   │   │   │   ├── Grid.tsx
│   │   │   │   ├── ListboxFocus.tsx
│   │   │   │   ├── Menu.module.css
│   │   │   │   ├── Menu.tsx
│   │   │   │   ├── MenuOrientation.module.css
│   │   │   │   ├── MenuOrientation.tsx
│   │   │   │   ├── Navigation.module.css
│   │   │   │   ├── Navigation.tsx
│   │   │   │   ├── Popover.module.css
│   │   │   │   └── Popover.tsx
│   │   │   ├── index.ts
│   │   │   ├── popupConformanceTests.tsx
│   │   │   ├── temporal.tsx
│   │   │   ├── types.d.ts
│   │   │   └── wait.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── vitest-env.d.ts
│   │   └── vitest.config.mts
│   └── utils/
│       ├── .npmignore
│       ├── CHANGELOG.md
│       ├── MAINTAINERS.md
│       ├── README.md
│       ├── package.json
│       ├── src/
│       │   ├── detectBrowser.ts
│       │   ├── empty.ts
│       │   ├── error.ts
│       │   ├── fastHooks.ts
│       │   ├── fastObjectShallowCompare.ts
│       │   ├── formatErrorMessage.test.ts
│       │   ├── formatErrorMessage.ts
│       │   ├── generateId.ts
│       │   ├── getReactElementRef.test.tsx
│       │   ├── getReactElementRef.ts
│       │   ├── inertValue.ts
│       │   ├── isElementDisabled.ts
│       │   ├── isMouseWithinBounds.ts
│       │   ├── mergeObjects.ts
│       │   ├── owner.ts
│       │   ├── reactVersion.ts
│       │   ├── safeReact.ts
│       │   ├── store/
│       │   │   ├── ReactStore.spec.ts
│       │   │   ├── ReactStore.test.tsx
│       │   │   ├── ReactStore.ts
│       │   │   ├── Store.ts
│       │   │   ├── StoreInspector.tsx
│       │   │   ├── createSelector.ts
│       │   │   ├── index.ts
│       │   │   └── useStore.ts
│       │   ├── testUtils.ts
│       │   ├── useAnimationFrame.ts
│       │   ├── useControlled.test.tsx
│       │   ├── useControlled.ts
│       │   ├── useEnhancedClickHandler.ts
│       │   ├── useForcedRerendering.ts
│       │   ├── useId.test.tsx
│       │   ├── useId.ts
│       │   ├── useInterval.ts
│       │   ├── useIsoLayoutEffect.ts
│       │   ├── useMergedRefs.test.tsx
│       │   ├── useMergedRefs.ts
│       │   ├── useOnFirstRender.ts
│       │   ├── useOnMount.ts
│       │   ├── usePreviousValue.test.tsx
│       │   ├── usePreviousValue.ts
│       │   ├── useRefWithInit.ts
│       │   ├── useScrollLock.ts
│       │   ├── useStableCallback.ts
│       │   ├── useTimeout.ts
│       │   ├── useValueAsRef.ts
│       │   ├── visuallyHidden.ts
│       │   └── warn.ts
│       ├── tsconfig.build.json
│       ├── tsconfig.json
│       ├── tsconfig.test.json
│       └── vitest.config.mts
├── playground/
│   └── vite-app/
│       ├── .gitignore
│       ├── README.md
│       ├── index.html
│       ├── package.json
│       ├── src/
│       │   ├── Home.tsx
│       │   ├── experiments/
│       │   │   └── perf/
│       │   │       ├── SettingsPanel.tsx
│       │   │       ├── contained-triggers.tsx
│       │   │       ├── detached-triggers.tsx
│       │   │       ├── perf.module.css
│       │   │       ├── radix-triggers.tsx
│       │   │       └── utils/
│       │   │           └── benchmark.tsx
│       │   ├── index.css
│       │   ├── index.tsx
│       │   └── routes.tsx
│       ├── tsconfig.app.json
│       ├── tsconfig.json
│       ├── tsconfig.node.json
│       └── vite.config.ts
├── pnpm-workspace.yaml
├── prettier.config.mjs
├── renovate.json
├── scripts/
│   ├── README.md
│   ├── api-docs-builder/
│   │   ├── package.json
│   │   └── src/
│   │       ├── componentHandler.ts
│   │       ├── formatter.ts
│   │       ├── hookHandler.ts
│   │       ├── index.ts
│   │       ├── order.json
│   │       └── utilityHandler.ts
│   ├── changelog.config.mjs
│   ├── inlineScripts.mts
│   └── tsconfig.json
├── stylelint.config.mjs
├── test/
│   ├── README.md
│   ├── bundle-size/
│   │   ├── bundle-size-checker.config.mjs
│   │   └── package.json
│   ├── e2e/
│   │   ├── README.md
│   │   ├── TestViewer.tsx
│   │   ├── fixtures/
│   │   │   ├── .gitkeep
│   │   │   ├── Radio.module.css
│   │   │   ├── Radio.tsx
│   │   │   ├── field/
│   │   │   │   └── validate-on-change/
│   │   │   │       ├── Input.module.css
│   │   │   │       ├── Input.tsx
│   │   │   │       ├── Select.module.css
│   │   │   │       └── Select.tsx
│   │   │   ├── menu/
│   │   │   │   ├── LinkItemNavigation.module.css
│   │   │   │   ├── LinkItemNavigation.tsx
│   │   │   │   ├── PageOne.tsx
│   │   │   │   ├── PageTwo.tsx
│   │   │   │   └── ReactRouterLinkItemNavigation.tsx
│   │   │   └── slider/
│   │   │       ├── Inset.module.css
│   │   │       ├── Inset.tsx
│   │   │       ├── Range.module.css
│   │   │       ├── Range.tsx
│   │   │       ├── RangeSliderMax.module.css
│   │   │       └── RangeSliderMax.tsx
│   │   ├── index.html
│   │   ├── index.test.ts
│   │   ├── main.tsx
│   │   ├── postcss.config.js
│   │   ├── serve.json
│   │   ├── vite.config.mjs
│   │   └── vitest.config.mts
│   ├── node-resolution/
│   │   ├── index.mjs
│   │   └── package.json
│   ├── package.json
│   ├── public-types/
│   │   ├── autocomplete.tsx
│   │   ├── checkbox.tsx
│   │   ├── combobox.tsx
│   │   ├── index.tsx
│   │   ├── menu.tsx
│   │   ├── package.json
│   │   ├── separator.tsx
│   │   ├── toast.tsx
│   │   ├── tsconfig.json
│   │   └── use-render.tsx
│   ├── regressions/
│   │   ├── README.md
│   │   ├── TestViewer.tsx
│   │   ├── fakeDateSetup.ts
│   │   ├── fixtures/
│   │   │   └── .gitkeep
│   │   ├── fixtures.ts
│   │   ├── index.html
│   │   ├── index.test.ts
│   │   ├── main.tsx
│   │   ├── manual/
│   │   │   └── README.md
│   │   ├── postcss.config.js
│   │   ├── serve.json
│   │   ├── vite.config.mjs
│   │   └── vitest.config.mts
│   ├── setupVitest.ts
│   ├── tsconfig.json
│   ├── vite.d.ts
│   └── vite.shared.config.mjs
├── tsconfig.base.json
├── tsconfig.json
├── vitest.config.mts
└── vitest.shared.mts

================================================
FILE CONTENTS
================================================

================================================
FILE: .browserslistrc
================================================
# `npx browserslist --mobile-to-desktop "baseline widely available"` when the last major is released.
# On update, sync references where "#stable-snapshot" is mentioned in the codebase.
[stable]
and_chr 141
and_chr 140
and_chr 139
and_chr 138
and_chr 137
and_chr 136
and_chr 135
and_chr 134
and_chr 133
and_chr 132
and_chr 131
and_chr 130
and_chr 129
and_chr 128
and_chr 127
and_chr 126
and_chr 125
and_chr 124
and_chr 123
and_chr 122
and_chr 121
and_chr 120
and_chr 119
and_chr 118
and_chr 117
and_chr 116
and_chr 115
and_chr 114
and_chr 113
and_chr 112
and_chr 111
and_ff 144
and_ff 143
and_ff 142
and_ff 141
and_ff 140
and_ff 139
and_ff 138
and_ff 137
and_ff 136
and_ff 135
and_ff 134
and_ff 133
and_ff 132
and_ff 131
and_ff 130
and_ff 129
and_ff 128
and_ff 127
and_ff 126
and_ff 125
and_ff 124
and_ff 123
and_ff 122
and_ff 121
and_ff 120
and_ff 119
and_ff 118
and_ff 117
and_ff 116
and_ff 115
and_ff 114
and_ff 113
chrome 141
chrome 140
chrome 139
chrome 138
chrome 137
chrome 136
chrome 135
chrome 134
chrome 133
chrome 132
chrome 131
chrome 130
chrome 129
chrome 128
chrome 127
chrome 126
chrome 125
chrome 124
chrome 123
chrome 122
chrome 121
chrome 120
chrome 119
chrome 118
chrome 117
chrome 116
chrome 115
chrome 114
chrome 113
chrome 112
chrome 111
edge 141
edge 140
edge 139
edge 138
edge 137
edge 136
edge 135
edge 134
edge 133
edge 132
edge 131
edge 130
edge 129
edge 128
edge 127
edge 126
edge 125
edge 124
edge 123
edge 122
edge 121
edge 120
edge 119
edge 118
edge 117
edge 116
edge 115
edge 114
edge 113
edge 112
edge 111
firefox 144
firefox 143
firefox 142
firefox 141
firefox 140
firefox 139
firefox 138
firefox 137
firefox 136
firefox 135
firefox 134
firefox 133
firefox 132
firefox 131
firefox 130
firefox 129
firefox 128
firefox 127
firefox 126
firefox 125
firefox 124
firefox 123
firefox 122
firefox 121
firefox 120
firefox 119
firefox 118
firefox 117
firefox 116
firefox 115
firefox 114
firefox 113
ios_saf 26.0
ios_saf 18.5-18.6
ios_saf 18.4
ios_saf 18.3
ios_saf 18.2
ios_saf 18.1
ios_saf 18.0
ios_saf 17.6-17.7
ios_saf 17.5
ios_saf 17.4
ios_saf 17.3
ios_saf 17.2
ios_saf 17.1
ios_saf 17.0
ios_saf 16.6-16.7
ios_saf 16.5
ios_saf 16.4
safari 26.0
safari 18.5-18.6
safari 18.4
safari 18.3
safari 18.2
safari 18.1
safari 18.0
safari 17.6
safari 17.5
safari 17.4
safari 17.3
safari 17.2
safari 17.1
safari 17.0
safari 16.6
safari 16.5
safari 16.4

# snapshot of `npx browserslist "maintained node versions"`
# On update check all #stable-snapshot markers
[node]
node 25.0.0
node 24.10.0
node 22.21.0
node 20.19.0

# same as `node`
[coverage]
node 25.0.0
node 24.10.0
node 22.21.0
node 20.19.0

# same as `node`
[development]
node 25.0.0
node 24.10.0
node 22.21.0
node 20.19.0

# same as `node`
[test]
node 25.0.0
node 24.10.0
node 22.21.0
node 20.19.0


================================================
FILE: .circleci/config.yml
================================================
version: 2.1

orbs:
  code-infra: https://raw.githubusercontent.com/mui/mui-public/f544b55fdbbb922b7293365705cf62895b4f5186/.circleci/orbs/code-infra.yml

parameters:
  browserstack-force:
    description: Whether to force browserstack usage. We have limited resources on browserstack so the pipeline might decide to skip browserstack if this parameter isn't set to true.
    type: boolean
    default: false
  react-version:
    description: The version of react to be used
    type: string
    default: stable
  workflow:
    description: The name of the workflow to run
    type: string
    default: pipeline

default-job: &default-job
  parameters:
    react-version:
      description: The version of react to be used
      type: string
      default: << pipeline.parameters.react-version >>
  resource_class: medium
  environment:
    # expose it globally otherwise we have to thread it from each job to the install command
    BROWSERSTACK_FORCE: << pipeline.parameters.browserstack-force >>
    COREPACK_ENABLE_DOWNLOAD_PROMPT: '0'
  working_directory: /tmp/base-ui
  executor: code-infra/mui-node

default-context: &default-context
  context:
    - org-global

# CircleCI has disabled the cache across forks for security reasons.
# Following their official statement, it was a quick solution, they
# are working on providing this feature back with appropriate security measures.
# https://discuss.circleci.com/t/saving-cache-stopped-working-warning-skipping-this-step-disabled-in-configuration/24423/21
#
# restore_repo: &restore_repo
#   restore_cache:
#     key: v1-repo-{{ .Branch }}-{{ .Revision }}

commands:
  build-with-compiler:
    description: 'Build packages with React Compiler'
    steps:
      - run:
          name: Add compiler package
          command: pnpm -F "./packages/*" add react-compiler-runtime
      - run:
          name: Build with compiler
          command: pnpm -F "./packages/*" build --enableReactCompiler
          environment:
            MUI_REACT_COMPILER_MODE: 'infer'

jobs:
  test_unit:
    <<: *default-job
    resource_class: large
    steps:
      - checkout
      - code-infra/install-deps:
          package-overrides: react@<< parameters.react-version >>
      - run:
          name: Run tests on JSDOM
          command: pnpm test:jsdom
      - store_test_results:
          path: test-results
  docs_validate:
    <<: *default-job
    steps:
      - checkout
      - code-infra/install-deps
      - run:
          name: Validate the documentation files
          command: pnpm docs:validate
  test_lint:
    <<: *default-job
    steps:
      - checkout
      - code-infra/install-deps
      - code-infra/run-linters
  test_static:
    <<: *default-job
    steps:
      - checkout
      - code-infra/install-deps
      - code-infra/check-static-changes
      - run:
          name: Generate the documentation
          command: pnpm docs:api
      - run:
          name: '`pnpm docs:api` changes committed?'
          command: git add -A && git diff --exit-code --staged
      - run:
          name: '`pnpm extract-error-codes` changes committed?'
          command: |
            pnpm extract-error-codes
            git add -A && git diff --exit-code --staged
      - run:
          name: '`pnpm inline-scripts` changes committed?'
          command: |
            pnpm inline-scripts
            git add -A && git diff --exit-code --staged
  test_types:
    <<: *default-job
    resource_class: 'medium+'
    steps:
      - checkout
      - code-infra/install-deps:
          package-overrides: react@<< parameters.react-version >>
      - run:
          name: Tests TypeScript definitions
          command: pnpm typescript
          environment:
            NODE_OPTIONS: --max-old-space-size=3072
      - run:
          name: Any defect declaration files?
          command: pnpm code-infra validate-built-types
      - save_cache:
          name: Save generated declaration files
          key: typescript-declaration-files-{{ .Branch }}-{{ .Revision }}
          paths:
            # packages with generated declaration files
            - packages/react/build
  test_types_next:
    <<: *default-job
    resource_class: 'medium+'
    steps:
      - checkout
      - code-infra/install-deps:
          package-overrides: typescript@next
      - run:
          name: Tests TypeScript definitions
          command: pnpm typescript
      - restore_cache:
          name: Restore generated declaration files
          keys:
            # We assume that the target branch is `master` and that declaration files are persisted in commit order.
            # "If there are multiple matches, the most recently generated cache will be used."
            - typescript-declaration-files-master
      - run:
          name: Log defect declaration files
          command: |
            # ignore build failures
            # Fixing these takes some effort that isn't viable to merge in a single PR.
            # We'll simply monitor them for now.
            set +e
            pnpm code-infra validate-built-types
            exit 0
  test_browser:
    <<: *default-job
    resource_class: large
    executor:
      name: code-infra/mui-node-browser
      playwright-img-version: v1.58.2-noble
    steps:
      - checkout
      - code-infra/install-deps:
          package-overrides: react@<< parameters.react-version >>
      - run:
          name: Run tests on headless Chromium
          command: pnpm test:chromium
      - store_test_results:
          path: test-results
  test_regressions:
    <<: *default-job
    resource_class: 'medium+'
    executor:
      name: code-infra/mui-node-browser
      playwright-img-version: v1.58.2-noble
    steps:
      - checkout
      - code-infra/install-deps
      - run:
          name: Run visual regression tests
          command: xvfb-run pnpm test:regressions
      - store_test_results:
          path: test-results
      - run:
          name: Upload screenshots to Argos CI
          command: pnpm test:argos
  test_e2e:
    <<: *default-job
    executor:
      name: code-infra/mui-node-browser
      playwright-img-version: v1.58.2-noble
    steps:
      - checkout
      - code-infra/install-deps
      - run:
          name: pnpm test:e2e
          command: pnpm test:e2e
      - store_test_results:
          path: test-results

  test_package:
    <<: *default-job
    resource_class: 'medium+'
    steps:
      - checkout
      - code-infra/install-deps
      - run:
          name: Build packages
          command: pnpm release:build
      - run:
          name: Validate type declarations
          command: pnpm code-infra validate-built-types
      - run:
          name: Check public types
          command: pnpm -r run release:test
      - run:
          name: Test Node.js module resolution
          command: pnpm -F @base-ui/test-node-resolution test
      - run:
          name: Verify built packages
          command: pnpm -r test:package
      - code-infra/upload-size-snapshot

  test_unit_compiler:
    <<: *default-job
    resource_class: large
    steps:
      - checkout
      - code-infra/install-deps
      - build-with-compiler
      - run:
          name: Run tests on JSDOM
          command: pnpm test:jsdom
          environment:
            MUI_DISABLE_WORKSPACE_ALIASES: 1
      - store_test_results:
          path: test-results

  test_browser_compiler:
    <<: *default-job
    resource_class: large
    executor:
      name: code-infra/mui-node-browser
      playwright-img-version: v1.58.2-noble
    steps:
      - checkout
      - code-infra/install-deps
      - build-with-compiler
      - run:
          name: Run tests on headless Chromium
          command: pnpm test:chromium
          environment:
            MUI_DISABLE_WORKSPACE_ALIASES: 1
      - store_test_results:
          path: test-results

workflows:
  pipeline:
    when:
      equal: [pipeline, << pipeline.parameters.workflow >>]
    jobs:
      - test_unit:
          <<: *default-context
          name: 'JSDOM tests'
      - test_lint:
          <<: *default-context
          name: 'Linting'
      - test_static:
          <<: *default-context
          name: 'Generated files verification'
      - test_types:
          <<: *default-context
          name: 'Typechecking'
      - test_browser:
          <<: *default-context
          name: 'Browser tests'
      - test_regressions:
          <<: *default-context
          name: 'Regression tests'
      - test_e2e:
          <<: *default-context
          name: 'E2E tests'
      - test_package:
          <<: *default-context
          name: 'Package verification'
      - docs_validate:
          <<: *default-context
          name: 'Validating Docs'
      - test_unit_compiler:
          <<: *default-context
          name: 'JSDOM tests (React Compiler)'
      - test_browser_compiler:
          <<: *default-context
          name: 'Browser tests (React Compiler)'
  react-18:
    when:
      equal: [pipeline, << pipeline.parameters.workflow >>]
    jobs:
      - test_unit:
          <<: *default-context
          name: 'JSDOM tests (React 18)'
          react-version: '^18'
      - test_browser:
          <<: *default-context
          name: 'Browser tests (React 18)'
          react-version: '^18'
      - test_types:
          <<: *default-context
          name: 'Typechecking (React 18)'
          react-version: '^18'
  typescript-next:
    triggers:
      - schedule:
          cron: '0 0 * * *'
          filters:
            branches:
              only:
                - master
    jobs:
      - test_types_next:
          <<: *default-context
          name: 'Typechecking (typescript@next)'


================================================
FILE: .editorconfig
================================================
# EditorConfig is awesome: https://editorconfig.org/

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
insert_final_newline = true
max_line_length = 100


================================================
FILE: .gitattributes
================================================
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto eol=lf

# Undo the GitHub's default
# https://github.com/github/linguist/blob/96ad1185828f44bb9b774328a584551ee57ed264/lib/linguist/vendor.yml#L177
packages/**/*.d.ts -linguist-vendored


================================================
FILE: .github/CODEOWNERS
================================================
* @atomiks @michaldudak @flaviendelangle
/docs/src/ @atomiks @colmtuite @michaldudak @flaviendelangle
/packages/react/ @atomiks @colmtuite @michaldudak @flaviendelangle @LukasTy 
/scripts/ @michaldudak
/packages/utils/ @romgrk 


================================================
FILE: .github/ISSUE_TEMPLATE/1.bug.md
================================================
---
name: 'Bug report'
about: 'File a bug report.'
labels: ['status: waiting for maintainer']
---

# Bug report

## Current behavior

Provide a clear and concise description of the current behavior you're experiencing. If applicable, provide screenshots and/or videos.

## Expected behavior

Provide a clear and concise description of the expected behavior.

## Reproducible example

Link to a CodeSandbox, StackBlitz, or other IDE.

## Base UI version

For example v1.0.2

## Which browser are you using?

Chrome/Safari/Firefox/Safari iOS etc.

## Which OS are you using?

Mac OS/Windows/Other etc.

## Which assistive tech are you using (if applicable)?

Voiceover/JAWS etc.

## Additional context

Provide any additional context that might help us identify the problem and find a solution.


================================================
FILE: .github/ISSUE_TEMPLATE/2.feature-request.md
================================================
---
name: 'Feature request'
about: 'Suggest a new component or an enhancement for an existing component.'
labels: ['status: waiting for maintainer']
---

# Feature request

## Summary

<!-- Provide a clear and concise description of the component or enhancement that you want. -->

## Examples in other libraries

<!-- Provide a link to examples of this component or feature implemented in other libraries (if applicable).  -->

## Motivation

<!-- What are you trying to accomplish? Which kind of user is this for? Providing context helps us come up with a solution that is more useful in the real world -->


================================================
FILE: .github/ISSUE_TEMPLATE/3.get-help.md
================================================
---
name: 'Get help'
about: 'Ask a question.'
labels: ['status: waiting for maintainer']
---

# Get help

## Ask a question

Before opening an issue, please consider starting a [GitHub Discussion](https://github.com/mui/base-ui/discussions) or asking the community for help in our [Discord](https://base-ui.com/r/discord).


================================================
FILE: .github/ISSUE_TEMPLATE/4.docs-feedback.md
================================================
---
name: 'Docs feedback'
about: 'Help us improve Base UI documentation.'
labels: ['status: waiting for maintainer']
---

# Docs feedback

## How can we improve Base UI documentation?

Provide a clear and concise description of the issue you're experiencing. If applicable, provide screenshots and/or videos.


================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
<!-- Thanks so much for your PR, your contribution is appreciated! ❤️ -->

- [ ] I have followed (at least) the [PR section of the contributing guide](https://github.com/mui/base-ui/blob/HEAD/CONTRIBUTING.md#sending-a-pull-request).


================================================
FILE: .github/codeql/codeql-config.yml
================================================
name: CodeQL configuration


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
  # Enable version updates for npm
  - package-ecosystem: npm
    # Look for `package.json` and `lock` files in the `root` directory
    directory: /
    schedule:
      interval: yearly
    # https://stackoverflow.com/questions/64047526/how-to-get-dependabot-to-trigger-for-security-updates-only
    open-pull-requests-limit: 0
    labels:
      - dependencies
      - security


================================================
FILE: .github/workflows/check-if-pr-has-label.yml
================================================
name: Check if PR has label

on:
  pull_request:
    types: [opened, labeled, unlabeled, synchronize]

permissions: {}

jobs:
  test-label-applied:
    # Tests that label is added on the PR
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - uses: mnajdova/github-action-required-labels@ca0df9249827e43aa4b4a0d25d9fe3e9b19b0705 # v2.1.0
        with:
          mode: minimum
          count: 1
          labels: ''


================================================
FILE: .github/workflows/ci.yml
================================================
name: CI

on:
  push:
    branches-ignore:
      # Renovate branches are always Pull Requests.
      # We don't need to run CI twice (push+pull_request)
      - 'renovate/**'
      - 'dependabot/**'
  pull_request:

permissions: {}

jobs:
  # Tests dev-only scripts across all supported dev environments
  test-dev:
    # l10nbot does not affect dev scripts.
    if: ${{ github.actor != 'l10nbot' }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [macos-latest, windows-latest, ubuntu-latest]
    steps:
      - run: echo "${{ github.actor }}"
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          # fetch all tags which are required for `pnpm release:changelog`
          fetch-depth: 0
      - name: Set up pnpm
        uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
      - name: Use Node.js 22.x
        uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
        with:
          node-version: '22.18'
          cache: 'pnpm' # https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#caching-packages-dependencies
      - run: pnpm install
      - run: pnpm release:build
      - name: Publish packages
        if: matrix.os == 'ubuntu-latest'
        uses: mui/mui-public/.github/actions/ci-publish@f544b55fdbbb922b7293365705cf62895b4f5186
        with:
          pr-comment: true


================================================
FILE: .github/workflows/codeql.yml
================================================
name: CodeQL

on:
  schedule:
    - cron: '0 2 * * *'

permissions: {}

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: read
      security-events: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      # Initializes the CodeQL tools for scanning.
      - name: Initialize CodeQL
        uses: github/codeql-action/init@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
        with:
          languages: typescript
          config-file: ./.github/codeql/codeql-config.yml
          # If you wish to specify custom queries, you can do so here or in a config file.
          # By default, queries listed here will override any specified in a config file.
          # Prefix the list here with "+" to use these queries and those in the config file.

          # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
          # queries: security-extended,security-and-quality
      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6


================================================
FILE: .github/workflows/ensure-triage-label.yml
================================================
name: Ensure triage label is present

on:
  label:
    types:
      - deleted
  issues:
    types:
      - opened

permissions: {}

jobs:
  label_issues:
    runs-on: ubuntu-latest
    permissions:
      issues: write
    steps:
      - uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
        with:
          script: |
            const { data: labels } = await github.rest.issues.listLabelsOnIssue({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
            });

            if (labels.length <= 0) {
              await github.rest.issues.addLabels({
                issue_number: context.issue.number,
                owner: context.repo.owner,
                repo: context.repo.repo,
                labels: ['status: waiting for maintainer']
              })
            }


================================================
FILE: .github/workflows/fixed-issue.yml
================================================
name: Comment on fixed issues

on:
  issues:
    types: [closed]

permissions: {}

jobs:
  add-comment:
    runs-on: ubuntu-latest
    permissions:
      issues: write
      pull-requests: read
    steps:
      - name: Get associated PRs
        id: get-prs
        uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
        with:
          script: |
            const issue_number = context.payload.issue.number;

            console.log(`Processing issue #${issue_number}`);

            // Use GraphQL to find PRs that close this issue
            const query = `
              query($owner:String!, $repo:String!, $issueNumber:Int!) {
                repository(owner: $owner, name: $repo) {
                  issue(number: $issueNumber) {
                    timelineItems(last: 100, itemTypes: [CONNECTED_EVENT, CROSS_REFERENCED_EVENT]) {
                      nodes {
                        __typename
                        ... on ConnectedEvent {
                          subject {
                            ... on PullRequest {
                              number
                              merged
                              mergedAt
                            }
                          }
                        }
                        ... on CrossReferencedEvent {
                          source {
                            ... on PullRequest {
                              number
                              merged
                              mergedAt
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            `;

            const variables = {
              owner: context.repo.owner,
              repo: context.repo.repo,
              issueNumber: parseInt(issue_number)
            };

            try {
              const result = await github.graphql(query, variables);
              console.log('GraphQL query completed successfully');

              // Extract all merged PRs that are linked to this issue
              const relatedPRs = [];
              if (result.repository.issue) {
                const timelineItems = result.repository.issue.timelineItems.nodes;

                for (const item of timelineItems) {
                  let pr = null;

                  if (item.__typename === 'ConnectedEvent' && item.subject) {
                    pr = item.subject;
                  } else if (item.__typename === 'CrossReferencedEvent' && item.source) {
                    pr = item.source;
                  }

                  if (pr && pr.merged) {
                    relatedPRs.push({
                      number: pr.number,
                      mergedAt: pr.mergedAt
                    });
                  }
                }
              }

              // Sort by merge date (newest first) and take the first one
              relatedPRs.sort((a, b) => new Date(b.mergedAt) - new Date(a.mergedAt));

              if (relatedPRs.length === 0) {
                console.log('No merged PRs found for this issue');
                return;
              }

              const prNumber = relatedPRs[0].number;
              console.log(`Found merged PR #${prNumber} associated with issue #${issue_number}`);

              // Set output for the next step
              core.setOutput('pr_number', prNumber);
              core.setOutput('has_pr', 'true');

            } catch (error) {
              console.error('Error fetching related PRs:', error);
            }

      - name: Add comment to issue
        if: steps.get-prs.outputs.has_pr == 'true'
        uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
        with:
          script: |
            // Get PR number from the previous step's output
            const prNumber = '${{ steps.get-prs.outputs.pr_number }}';
            const issueNumber = context.payload.issue.number;

            // Get issue labels
            const issue = context.payload.issue;
            const labels = issue.labels.map(label => label.name);

            // Check if this is a bug/regression or a feature
            const isNewFeature = labels.some(label => label.includes('new feature'));

            const typeText = isNewFeature ? 'feature' : 'fix';

            const commentBody = `This ${typeText} will be available in the next npm release of Base UI.

            In the meantime, you can try it out on our Canary release channel:

            \`\`\`sh
            npm i https://pkg.pr.new/@base-ui/react@${prNumber}
            \`\`\``;

            await github.rest.issues.createComment({
              owner: context.repo.owner,
              repo: context.repo.repo,
              issue_number: issueNumber,
              body: commentBody
            });

            console.log(`Added comment to issue #${issueNumber}`);


================================================
FILE: .github/workflows/maintenance.yml
================================================
name: Maintenance

on:
  # So that PRs touching the same files as the push are updated
  push:
    branches:
      - master
      - next
  # So that the `dirtyLabel` is removed if conflicts are resolved
  # Could put too much strain on rate limit
  # If we hit the rate limit too often remove this event
  pull_request_target:
    branches:
      - master
      - next
    types: [synchronize]

permissions: {}

jobs:
  main:
    # l10nbot creates a lot of commits at once which starves CI.
    # We rely on other pushes to mark these branches as outdated.
    if: ${{ github.actor != 'l10nbot' }}
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - run: echo "${{ github.actor }}"
      - name: Check if prs are dirty
        uses: eps1lon/actions-label-merge-conflict@1df065ebe6e3310545d4f4c4e862e43bdca146f0 # v3.0.3
        with:
          dirtyLabel: 'PR: out-of-date'
          removeOnDirtyLabel: 'PR: ready to ship'
          repoToken: '${{ secrets.GITHUB_TOKEN }}'
          retryAfter: 130
          retryMax: 10


================================================
FILE: .github/workflows/mark-duplicate.yml
================================================
name: Mark duplicate

on:
  issue_comment:
    types: [created]

permissions: {}

jobs:
  mark-duplicate:
    runs-on: ubuntu-latest
    if: ${{ !github.event.issue.pull_request }}
    permissions:
      contents: read
      issues: write
    steps:
      - name: Mark duplicate
        uses: actions-cool/issues-helper@71b62d7da76e59ff7b193904feb6e77d4dbb2777 # v3.7.6
        with:
          actions: 'mark-duplicate'
          token: ${{ secrets.GITHUB_TOKEN }}
          duplicate-labels: 'duplicate'
          remove-labels: 'status: incomplete,status: waiting for maintainer'
          close-issue: true


================================================
FILE: .github/workflows/new-issue-triage.yml
================================================
name: New issue triage
on:
  issues:
    types:
      - opened

permissions: {}

jobs:
  issue_cleanup:
    name: Clean issue body
    uses: mui/mui-public/.github/workflows/issues_body-cleanup.yml@f544b55fdbbb922b7293365705cf62895b4f5186
    permissions:
      contents: read
      issues: write


================================================
FILE: .github/workflows/no-response.yml
================================================
name: No response

# `issues`.`closed`, `issue_comment`.`created`, and `scheduled` event types are required for this Action
# to work properly.
on:
  issues:
    types: [closed]
  issue_comment:
    types: [created]
  schedule:
    # These runs in our repos are spread evenly throughout the day to avoid hitting rate limits.
    # If you change this schedule, consider changing the remaining repositories as well.
    # Runs at 9 am, 9 pm
    - cron: '0 9,21 * * *'

permissions: {}

jobs:
  noResponse:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      issues: write
    steps:
      - uses: MBilalShafi/no-response-add-label@8336c12292902f27b931154c34ba4670cb9899a2
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          # Number of days of inactivity before an Issue is closed for lack of response
          daysUntilClose: 7
          # Label requiring a response
          responseRequiredLabel: 'status: waiting for author'
          # Label to add back when required label is removed
          optionalFollowupLabel: 'status: waiting for maintainer'
          # Comment to post when closing an Issue for lack of response. Set to `false` to disable
          closeComment: >
            Since the issue is missing key information and has been inactive for 7 days, it has been automatically closed.
            If you wish to see the issue reopened, please provide the missing information.


================================================
FILE: .github/workflows/publish.yml
================================================
name: Publish packages

on:
  workflow_dispatch:
    inputs:
      sha:
        description: 'Commit SHA to release from'
        required: true
        type: string
      dry-run:
        description: 'Run in dry-run mode without actually publishing packages'
        required: false
        type: boolean
        default: false
      github-release:
        description: 'Create a GitHub release after publishing'
        required: false
        type: boolean
        default: true
      dist-tag:
        description: 'npm dist tag to publish to'
        required: false
        type: string
        default: 'latest'

permissions: {}

jobs:
  publish:
    runs-on: ubuntu-latest
    permissions:
      contents: write # Required for pushing tags and creating releases
      id-token: write # Required for provenance
    environment:
      name: npm-publish
    steps:
      - name: Checkout
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          ref: ${{ inputs.sha }}
          fetch-depth: 0 # Fetch full history for proper git operations
      - name: Prepare for publishing
        uses: mui/mui-public/.github/actions/publish-prepare@f544b55fdbbb922b7293365705cf62895b4f5186
      - name: Publish packages
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          # Build common flags
          ARGS=""
          if [ "${{ inputs.dry-run }}" = "true" ]; then
            ARGS="$ARGS --dry-run"
          fi
          if [ "${{ inputs.github-release }}" = "true" ]; then
            ARGS="$ARGS --github-release"
          fi
          if [ -n "${{ inputs.dist-tag }}" ]; then
            ARGS="$ARGS --tag ${{ inputs.dist-tag }}"
          fi

          pnpm code-infra publish --ci $ARGS


================================================
FILE: .github/workflows/scorecards.yml
================================================
name: Scorecards supply-chain security

on:
  # Only the default branch is supported.
  branch_protection_rule:
  schedule:
    - cron: '0 2 * * *'

permissions: {}

jobs:
  analysis:
    name: Scorecards analysis
    runs-on: ubuntu-latest
    permissions:
      # Needed to upload the results to code-scanning dashboard.
      security-events: write
      # Used to receive a badge.
      id-token: write
      # Needs for private repositories.
      contents: read
      actions: read
    steps:
      - name: Checkout code
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
        with:
          persist-credentials: false
      - name: Run analysis
        uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
        with:
          results_file: results.sarif
          results_format: sarif
          # (Optional) Read-only PAT token. Uncomment the `repo_token` line below if:
          # - you want to enable the Branch-Protection check on a *public* repository, or
          # - you are installing Scorecards on a *private* repository
          # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat.
          repo_token: ${{ secrets.SCORECARD_READ_TOKEN }}
          # Publish the results for public repositories to enable scorecard badges. For more details, see
          # https://github.com/ossf/scorecard-action#publishing-results.
          publish_results: true
      # Upload the results to GitHub's code scanning dashboard.
      - name: Upload to code-scanning
        uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
        with:
          sarif_file: results.sarif


================================================
FILE: .github/workflows/support-stackoverflow.yml
================================================
# Configuration for support-requests - https://github.com/dessant/support-requests
name: Support Stack Overflow

on:
  issues:
    types: [labeled, unlabeled, reopened]

permissions: {}

jobs:
  mark-support:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      issues: write
    steps:
      - uses: dessant/support-requests@47d5ea12f6c9e4a081637de9626b7319b415a3bf # v4.0.0
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          # Label used to mark issues as support requests
          support-label: 'support: Stack Overflow'
          # Comment to post on issues marked as support requests. Add a link
          # to a support page, or set to `false` to disable
          issue-comment: |
            👋 Thanks for using this project!

            We use GitHub issues exclusively as a bug and feature requests tracker, however, this issue appears to be a support request.

            For support with Base UI please check out https://base-ui.com/react/overview/about#community.

            If you have a question on Stack Overflow, you are welcome to link to it here, it might help others.
            If your issue is subsequently confirmed as a bug, and the report follows the issue template, it can be reopened.
          close-issue: true
          lock-issue: false


================================================
FILE: .github/workflows/vale-action.yml
================================================
name: Vale action

on: [pull_request]

permissions: {}

jobs:
  vale:
    name: runner / vale
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - name: Extract Vale version from pnpm-lock.yaml
        id: vale-version
        run: |
          # Extract version from lock file
          VERSION=$(awk -F"@|'" '/@vvago\/vale@/ {print $4}' pnpm-lock.yaml | head -n1)
          echo "Extracted Vale version: $VERSION"
          echo "vale_version=$VERSION" >> $GITHUB_OUTPUT
      - uses: errata-ai/vale-action@d89dee975228ae261d22c15adcd03578634d429c # v2.1.1
        continue-on-error: true # GitHub Action flag needed until https://github.com/errata-ai/vale-action/issues/89 is fixed
        with:
          version: ${{ steps.vale-version.outputs.vale_version }}
          # Errors should be more visible
          fail_on_error: true
          # The other reports don't work, not really https://github.com/reviewdog/reviewdog#reporters
          reporter: github-pr-check
          # Required, set by GitHub actions automatically:
          # https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret
          token: ${{secrets.GITHUB_TOKEN}}


================================================
FILE: .gitignore
================================================
# It is best to ignoring editor and system files in a local .gitignore configuration file.
# However, in order to prevent issues, they are ignored here.
.DS_STORE
.idea
# IntelliJ IDEA module file
*.iml
*.log
/.eslintcache
/coverage
/docs/.env.local
/docs/.next
/docs/export
/docs/src/app/(private)/playground/*
!/docs/src/app/(private)/playground/\[slug\]
/docs/public/feed/
/docs/reference/temp/*
/test/regressions/screenshots
# created by netlify dev (to perform local debug)
.netlify
build
build-tests
node_modules
package-lock.json
size-snapshot.json
# vale downloaded config
.github/styles/
.nx/cache
.nx/workspace-data

# Remove if you want to pregenerate the docs md files
docs/public/llms.txt
docs/public/llms-full.txt
docs/public/react
.cursor/rules/nx-rules.mdc
.github/instructions/nx.instructions.md

# typescript
*.tsbuildinfo
next-env.d.ts

# Claude
.claude/settings.local.json

# Testing
test-results/


================================================
FILE: .lintignore
================================================
.git
/coverage
/docs/next-env.d.ts
/docs/.next
/docs/export
/docs/src/app/(private)/playground/
/packages/react/**/*.min.*
build
build-tests
node_modules
pnpm-lock.yaml
routeTree.gen.ts

================================================
FILE: .markdownlint-cli2.mjs
================================================
import { createBaseConfig } from '@mui/internal-code-infra/markdownlint';

const baseline = createBaseConfig();

export default {
  ...baseline,
  ignores: [...(baseline.ignores ?? []), 'IMPLEMENTATION_SUMMARY.md'],
  config: {
    ...baseline.config,
    MD038: false, // false positives in MDX
    MD041: false, // false positives in MDX
  },
};


================================================
FILE: .npmrc
================================================
enable-pre-post-scripts = true


================================================
FILE: .vale.ini
================================================
# Vale config. More information at https://vale.sh/docs/topics/config/
StylesPath = .github/styles
MinAlertLevel = warning

# To update mui-vale package:
# 1. Go to the docs folder in the material-ui repo
# 2. Update/create YAML files
# 3. Run `pnpm docs:zipRules` to generate the zip files
# 4. You can test locally by replacing the url with the file path of the generated zip
Packages = Google, https://github.com/mui/material-ui/raw/HEAD/docs/mui-vale.zip

[formats]
mdx = md

[*.{md,mdx}]
# Ignore React component calls
TokenIgnores = (<\/?[A-Z].+>)

# Ignore code injections that start with {{...
BlockIgnores = {{.*

BasedOnStyles = MUI

# Google errors:
Google.GenderBias = YES # No Gender bias
# Google warings:
Google.FirstPerson = YES # Avoid first-person
Google.We = YES # Avoid first-person plural
Google.Will = YES # Avoid future tense
Google.OxfordComma = YES # Prefer Oxford comma

[*.mdx]
# MDX doesn't support HTML comments, see https://vale.sh/docs/keys/commentdelimiters.
CommentDelimiters = {/*, */}

[CHANGELOG*.md]
MUI.CorrectReferenceAllCases = NO

[IMPLEMENTATION_SUMMARY.md]
BasedOnStyles =


================================================
FILE: .vscode/extensions.json
================================================
{
  "recommendations": [
    // Formating
    "esbenp.prettier-vscode", // Prettier
    "editorconfig.editorconfig", // EditorConfig

    // Highlighting
    "bradlc.vscode-tailwindcss", // Tailwind CSS
    "unifiedjs.vscode-mdx", // MDX
    "styled-components.vscode-styled-components", // styled()

    // Lint
    "dbaeumer.vscode-eslint", // ESLint
    "yoavbls.pretty-ts-errors", // TypeScript
    "stylelint.vscode-stylelint", // Stylelint
    "davidanson.vscode-markdownlint" // markdownlint
  ]
}


================================================
FILE: .vscode/settings.json
================================================
{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "files.trimTrailingWhitespace": true,

  // Root workspace only
  "grammarly.selectors": [
    {
      "language": "markdown",
      "scheme": "file"
    }
  ]
}


================================================
FILE: AGENTS.md
================================================
<!-- markdownlint-disable MD038 -->

# Repository Guidelines

This repository contains the source code and documentation for Base UI: a headless, unstyled React component library.

## Project structure

- Source code for components and private utils is in `packages/react/`.
- Source code for public shared utils is in `packages/utils/`.
- Experiments are located at `docs/src/app/(private)/experiments/`. Use for creating demos that require manual testing in the browser.
- Public documentation is located at `docs/src/app/(docs)/react/`. Alter the docs where necessary when changes must be visible to library users.
- When creating public demos on the docs, refer to the `hero` demo for the given component and largely follow its styles (both CSS Modules and Tailwind CSS versions). Other demos may also contain relevant styling. Do not add custom styling beyond the critical layout styles necessary for new demos.

## Code guidelines

- Always use the `useTimeout` utility from `@base-ui/utils/useTimeout` instead of `window.setTimeout`, and `useAnimationFrame` from `@base-ui/utils/useAnimationFrame` instead of `requestAnimationFrame`. Search for other example usage in the codebase if unsure how to use them.
- Use the `useStableCallback` utility from `@base-ui/utils/useStableCallback` instead of `React.useCallback` if the function is called within an effect or event handler. The utility cannot be used to memoize functions that are called directly in the body of a component (during render), so continue with `React.useCallback` in those scenarios.
- Always use the `useIsoLayoutEffect` utility from `@base-ui/utils/useIsoLayoutEffect` instead of `React.useLayoutEffect`.
- Avoid duplicating logic where necessary. If two components can share logic (such as event handlers), define the logic/handlers in the parent and share it through a context to the child; use the existing context if it exists.

## Linting, typechecking, and formatting

- Do not randomly cast (for example `as any`) if there are no type errors without doing so. Run `pnpm typescript` to verify types.
- Ensure your changes pass linting - run `pnpm eslint`.
- Ensure your styles pass stylelint - run `pnpm stylelint`.
- Ensure your markdown passes markdownlint - run `pnpm markdownlint`.
- Ensure your changes are formatted correctly - run `pnpm prettier`.
- When you change a public component API (props or JSDoc), run `pnpm docs:api`.

## Testing

- If a repository command fails because dependencies are unavailable, run `pnpm i` first and then retry the command.
- Run tests in JSDOM env with `pnpm test:jsdom {name} --no-watch` such as `pnpm test:jsdom NumberField --no-watch` or `pnpm test:jsdom parse --no-watch`.
- Run tests in Chromium env with `pnpm test:chromium {name} --no-watch` such as `pnpm test:chromium NumberField --no-watch` or `pnpm test:jsdom parse --no-watch`.
- Do not call `await flushMicrotasks()` directly after `await render(...)` when there are no interactions or state changes between them; `render` is already awaited, so that immediate flush is unnecessary.
- If you made changes to the source code, ensure you verify your changes by running tests (see above), and writing new tests where applicable. If tests require the browser because, for example, they require layout measurements, restrict it to the Chromium env by using `it.skipIf(isJSDOM)` or `describe.skipIf(isJSDOM)` (search other tests for example usage if unsure).
- Follow the established conventions in existing tests. Each file/component is tested with the filename `name.test.tsx`. For example, `PopoverRoot.test.tsx` is next to its source file `PopoverRoot.tsx`.
- Tests use Vitest APIs only: `expect()`, `vi.fn()`, and `@testing-library/jest-dom` DOM matchers. Do not use Chai- or Sinon-style matcher chains or spies.

## Commit guidelines

- Commit messages follow the format `[scope] Imperative summary` (for example `[popover] Fix focus trap`). Choose scopes that mirror package or component names that were changed.
- Use `[all components]` scope for changes that broadly affect most components.

## Errors

These guidelines apply only to errors thrown by public packages.

Every error message must:

1. **Say what happened** - Describe the problem clearly
2. **Say why it's a problem** - Explain the consequence
3. **Point toward how to solve it** - Give actionable guidance

Format:

- Prefix with `Base UI: `
- Use string concatenation for readability
- Include a documentation link when applicable (`https://base-ui.com/...`)

### Error Minifier

You MUST run `pnpm extract-error-codes` to update `docs/src/error-codes.json` every time you add or update an error message in an `Error` constructor.

**Important:** If the update created a new error code, but the new and original message have the same number of arguments and semantics haven't changed, update the original error in `error-codes.json` instead of creating a new code.


================================================
FILE: CHANGELOG.md
================================================
# Versions

## v1.3.0

_Mar 12, 2026_

### General Changes

- Warn when a component function is rendered directly (#4077) by @atomiks
- Reset `openMethod` after close transition (#4128) by @atomiks
- Fire <kbd>Space</kbd> activation on `keydown` in composite widgets (#4053) by @atomiks
- Skip CSS-hidden items during keyboard navigation in composite widgets (#4195) by @atomiks
- Optimize hot paths in `useHover` hooks and `safePolygon` (#4199) by @atomiks
- Snap `--anchor-width` and `--anchor-height` to device pixel grid (#4082) by @flaviendelangle
- Fix outside press dismissal when a component is portaled into a shadow DOM (#4230) by @dmitri-gb
- Fix nested hoverable popups (#4206) by @dmitri-gb
- Apply `data-base-ui-inert` to highest-level node (#3955) by @atomiks
- Fix portable types (#4058) by @cgatian

### Accordion

- Add generic `Value` typing (#4138) by @atomiks

### Autocomplete

- Respect a `null` `filter` prop (#4117) by @atomiks
- Add `InputGroup` part (#3745) by @atomiks

### Avatar

- Remove fallback transition logic and prevent premature image display (#4110) by @atomiks

### Button

- Avoid checking `disabled` twice in `onKeyDown` and `onKeyUp` (#4132) by @flaviendelangle

### Checkbox

- Add automatic `aria-labelledby` support (#4142) by @atomiks

### Combobox

- Avoid applying field attributes to input when it is inside popup (#4154) by @atomiks
- Preserve inline input on `Enter` when nothing is highlighted (#4235) by @atomiks
- Fix ARIA attributes during SSR (#4179) by @atomiks
- Fix wrapping in virtualized grid arrow-key navigation (#4164) by @atomiks
- Add `InputGroup` part (#3745) by @atomiks
- Add support for a visually hidden close button and improve modal focus trapping (#4084) by @atomiks
- Add `Label` part (#4167) by @atomiks

### Context Menu

- Ignore `mouseup` on non-Mac platforms (#3944) by @atomiks

### Drawer

- **Breaking change:** `Drawer` is no longer marked as preview<br />
  `Drawer` is now stable and should be imported as `{ Drawer } from '@base-ui/react/drawer'` (#4293) by @atomiks
- Fix React 17 support (#4178) by @atomiks
- Include border in frontmost height variable (#4202) by @atomiks
- Improve touch selection (#4104) by @atomiks
- Preserve cross-axis scrolling during touch gestures (#4187) by @atomiks
- Prevent swipe dismissal when component is controlled (#4133) by @flaviendelangle
- Add `SwipeArea` part (#4102) by @atomiks
- Make `data-base-ui-swipe-ignore` explicit for touch interactions (#4295) by @atomiks
- Disable inheritance for swipe CSS variables (#4099) by @atomiks

### Field

- Fix field validation when `Form` errors or `invalid` prop are present at same time (#4112) by @mj12albert

### Menu

- Prevent `pointerleave` from stealing focus from dialogs (#4125) by @atomiks
- Optimize `pointer-events` for submenu hover interactions (#4231) by @atomiks
- Fix `closeDelay` not being applied to `Menu.SubmenuTrigger` (#4134) by @flaviendelangle
- Implement content transitions with `Viewport` (#4060) by @michaldudak

### Meter

- Fix label announcements in NVDA (#4200) by @mj12albert

### Navigation Menu

- Fix support for nested inline menus (#4198) by @atomiks
- Fix close propagation in nested hover menus (#4285) by @atomiks
- Close parent menus when nested link with `closeOnClick` is clicked (#4276) by @CiscoFran10
- Fix duplicate `aria-orientation` (#4309) by @atomiks
- Fix delayed trigger switches in Safari (#4310) by @atomiks

### Number Field

- Fix increment/decrement press `reason` values in `onValueCommitted` (#4259) by @jijiseong

### Popover

- Trap focus when `<Popover.Close>` is rendered inside and `modal` is `true`, and add support for a visually hidden close button (#4084) by @atomiks
- Fix nested hoverable popups (#3798) by @flaviendelangle

### Preview Card

- Fix nested hoverable popups (#3798) by @flaviendelangle

### Progress

- Fix label announcements in NVDA (#4200) by @mj12albert

### Radio Group

- Add automatic `aria-labelledby` support (#4142) by @atomiks

### Scroll Area

- Fix focus trapping with a non-scrollable viewport (#4220) by @atomiks
- Fix thumb size after remounting (#4107) by @atomiks

### Select

- Fix hidden input `id` fallback (#4135) by @atomiks
- Fix `Value` placeholder not rendering with `Record` items (#4137) by @vcode-sh
- Fire `onClick` during drag-to-select (#3969) by @obeattie
- Fix `items` type definition for groups (#3884) by @aarongarciah
- Fix `alignItemWithTrigger` fallback with browser zoom (#4292) by @atomiks
- Add `Label` part (#4167) by @atomiks

### Slider

- Add `Label` part (#4167) by @atomiks
- Stop committing validation on `touchend` (#4091) by @jijiseong

### Switch

- Add automatic `aria-labelledby` support (#4142) by @atomiks

### Tabs

- Re-render indicator position on tab resize (#4165) by @atomiks

### Toast

- Enable closing all toasts (#3979) by @chuganzy
- Prevent duplicate `onClose` calls for ending toasts (#4280) by @chuganzy

### Tooltip

- Add `closeOnClick` prop (#4140) by @atomiks

All contributors of this release in alphabetical order : @aarongarciah, @atomiks, @cgatian, @chuganzy, @CiscoFran10, @dmitri-gb, @flaviendelangle, @jijiseong, @michaldudak, @mj12albert, @obeattie, @vcode-sh

## v1.2.0

_Feb 12, 2026_

### General changes

- Do not memoize `state` when not needed (#3812) by @flaviendelangle
- Support lazy element in `render` prop (#3856) by @oliviertassinari
- Replace Firefox deprecated mozInputSource check for virtual click detection (#3942) by @CiscoFran10
- Use `WeakRef` for previously focused elements (#3916) by @atomiks
- Fix page scroll jump when input has focus on unmount in Safari (#3925) by @atomiks
- Fix flash at origin before positioning completes in Preact (#3975) by @OliverSpeir
- Reduce style recalculation with classic scrollbars (#3854) by @mdm317
- Fix event handling in useEnhancedClickHandler (#3981) by @sai6855

### Autocomplete

- Fix filter method's `useMemo` dependency (#3862) by @ZeeshanTamboli
- Fix Autocomplete not using its internal filter method when `mode` is `list` (#3936) by @ZeeshanTamboli
- Remove unnecessary double stringification of item in filtering logic (#3945) by @ZeeshanTamboli
- Add `useFilteredItems` hook (#3732) by @guisehn
- Fix popup closing on iOS VoiceOver (#3859) by @atomiks
- Remove `aria-readonly` prop from `Clear` and `Popup` components when `readOnly` (#3907) by @markocupic024

### Avatar

- Add transition attributes (#3939) by @atomiks

### Button

- Capture component stack for `nativeButton` error message (#3861) by @atomiks

### Checkbox

- Cleanup disabled state tracking (#3913) by @atomiks
- Preserve modifier key properties in the change event (#3935) by @mj12albert
- Allow exit animations on `<Checkbox.Indicator>` when `keepMounted={false}` (#3939) by @atomiks

### Combobox

- Fix the type of the ref of the `Icon` part (#3796) by @flaviendelangle
- Avoid clearing selected value if item is not present in items array (#3824) by @atomiks
- Fix highlight change reason in `ChipRemove` (#3980) by @sai6855
- Keep highlight on last deselect (#3923) by @atomiks
- Fix inline filtering after selection in single mode (#3978) by @atomiks
- Clear highlight on inline blur when inline (#3973) by @atomiks
- Prevent opening popup on autofill change (#3924) by @atomiks
- Distinguish `input-press` from `trigger-press` in `onOpenChange` reason (#4015) by @jijiseong
- Fix async items while popup is open (#4034) by @atomiks
- Prevent `Chip` from receiving focus when `disabled` (#4044) by @jijiseong
- Add `useFilteredItems` hook (#3732) by @guisehn
- Fix popup closing on iOS VoiceOver (#3859) by @atomiks
- Remove `aria-readonly` prop from `Clear` and `Popup` components when `readOnly` (#3907) by @markocupic024
- Fix `onClick` `Item` type (#3964) by @atomiks
- Use reactive `domReferenceElement` subscriptions (#4017) by @atomiks
- Add `autoComplete` prop for explicit browser autofill support (#4005) by @mattrothenberg
- Fix inconsistent isItemEqualToValue argument order (#4056) by @atomiks

### Context Menu

- Fix `disabled` prop not working (#3806) by @arturbien
- Fix explicit `collisionAvoidance` with `side: 'flip'` not working (#3877) by @obeattie

### Drawer

- Create new Drawer / Sheet component (#3680) by @atomiks

### Field

- Prevent re-renders when `Field.Control` is uncontrolled (#3820) by @atomiks
- Fix autofocus in SSR environments (#3871) by @mj12albert
- Fix max update depth loop when using `<React.Activity>` (#3931) by @atomiks
- Add transition attributes (#3939) by @atomiks

### Input

- Fix autofocus in SSR environments (#3871) by @mj12albert
- Update ref type to `HTMLElement` (#3866) by @mj12albert

### Menu

- Fix `onClick` `Item` type (#3964) by @atomiks
- Fix submenu stuck glitch (#3783) by @atomiks
- Fix race conditions (#3821) by @atomiks
- Add `<Menu.LinkItem>` part (#3400) by @mj12albert

### Navigation Menu

- Fix forwarded ref types (#3775) by @CrawlerCode
- Add `keepMounted` prop to `Content` part (#3794) by @atomiks

### Number Field

- Fix click handlers on ScrubArea (#3827) by @mj12albert
- Remove `event.isTrusted` (#3920) by @atomiks
- Stop repeat change at bounds (#3915) by @atomiks
- Add `allowOutOfRange` prop (#3919) by @atomiks
- Fix pen pointer handling (#3917) by @atomiks
- Fix missing field state data attributes (#3909) by @mj12albert

### Popover

- Fix missing `aria-owns` element (#3959) by @atomiks
- Use reactive `domReferenceElement` subscriptions (#4017) by @atomiks
- Fix broken scale transition with detached triggers (#3810) by @michaldudak

### Preview Card

- Fix broken scale transition with detached triggers (#3810) by @michaldudak

### Progress

- De-duplicate `formatValue` function (#3805) by @sai6855

### Radio Group

- Preserve modifier key properties in the change event (#3935) by @mj12albert
- Allow exit animations on `<Radio.Indicator>` when `keepMounted={false}` (#3939) by @atomiks
- Rely on individual radio hidden inputs (#3826) by @atomiks
- Add generic `Value` typing to `Radio` (#4033) by @atomiks

### Scroll Area

- Add `data-scrolling` state attribute to `Root` and `Viewport` parts (#3823) by @arturbien
- Fix overflow edge rounding (#3888) by @atomiks

### Select

- Add `finalFocus` prop (#3785) by @markocupic024
- Fix `alignItemWithTrigger` transform with CSS animations (#3831) by @atomiks
- Fix `highlightItemOnHover` not being respected (#3868) by @sarthakmalik0810
- Reset typeahead on external blur (#2618) by @antonfrolovsky
- Fix scroll height loop (#3795) by @atomiks
- Add `autoComplete` prop for explicit browser autofill support (#4005) by @mattrothenberg
- Fix inconsistent isItemEqualToValue argument order (#4056) by @atomiks

### Slider

- Fix missing field state data attributes (#3909) by @mj12albert
- Fix change event cloning (#3960) by @atomiks

### Switch

- Preserve modifier key properties in the change event (#3935) by @mj12albert

### Tabs

- Add transition attributes to `<Tabs.Panel>` part (#3880) by @atomiks

### Toast

- Make `useToastManager` and `createToastManager` generic functions (#3882) by @solastley
- Prevent dismissed promise toast from reopening on updates (#4040) by @atomiks
- Introduce a store (#3464) by @flaviendelangle

### Toggle

- Improve type safety and inference (#3173) by @michaelhazan

### Toggle Group

- Type value as string to match Toggle (#3770) by @markocupic024
- Enable `Home`/`End` key navigation (#3971) by @jijiseong
- Improve type safety and inference (#3173) by @michaelhazan

### Tooltip

- Prevent opening when focusing a disabled Trigger (#3902) by @michaldudak
- Fix broken scale transition with detached triggers (#3810) by @michaldudak
- Fix disabled prop on Triggers (#4049) by @michaldudak

All contributors of this release in alphabetical order : @antonfrolovsky, @arturbien, @atomiks, @CiscoFran10, @CrawlerCode, @flaviendelangle, @guisehn, @jijiseong, @LukasTy, @markocupic024, @mattrothenberg, @mdm317, @michaelhazan, @michaldudak, @mj12albert, @obeattie, @OliverSpeir, @oliviertassinari, @sai6855, @sarthakmalik0810, @solastley, @ZeeshanTamboli

## v1.1.0

_Jan 15, 2026_

### General changes

- Fix `onOpenChangeComplete(true)` timing (#3558) by @atomiks
- Fix touch `openMethod` when tapping outside element bounds on Safari (#3541) by @atomiks
- Fix visually hidden input styles across form components (#3606) by @atomiks
- Fix click and drags outside a nested popup component from closing its parents (#3571) by @atomiks
- Fix forwarded ref types (#3638) by @atomiks
- Fix detached trigger remounting (#3724) by @atomiks
- Include `ref` in `BaseUIComponentProps` (#2813) by @atomiks
- Remove duplicated `disabled` prop (#3650) by @seongminn
- Allow `actionsRef` to be `null` (#3682) by @mj12albert

### Accordion

- Fix keyboard navigation with non-interactive trigger elements (#3684) by @ZeeshanTamboli

### Autocomplete

- Add `data-popup-side` and `data-list-empty` state attributes to `<Autocomplete.Trigger>` (#3491) by @atomiks
- Add `loopFocus` prop (#3592) by @atomiks
- Fix hidden input `id` and `required` props (#3640) by @atomiks

### Button

- Remove discriminated props union (#3643) by @atomiks

### Checkbox

- Fix hidden input `id` and `required` props (#3640) by @atomiks

### Combobox

- Add `data-popup-side` and `data-list-empty` state attributes to `<Combobox.Trigger>` (#3491) by @atomiks
- Add `loopFocus` prop (#3592) by @atomiks
- Add `toolbar` role to `<Combobox.Chips>` to prevent NVDA from entering browse mode (#3647) by @atomiks
- Add `placeholder` prop to `<Combobox.Value>` (#3604) by @atomiks
- Fix controlled `value` prop when `items` change (#3607) by @atomiks
- Fix `multiple` values label resolution in `<Combobox.Value>` (#3314) by @atomiks
- Forward root `id` to visible form element (#3722) by @atomiks
- Do not trigger Field `onBlur` handlers when opening popup (#3609) by @atomiks

### Context Menu

- Avoid creating sibling elements next to trigger (#3645) by @atomiks

### CSP Provider

- Add `CSPProvider` (#3553) by @atomiks

### Dialog

- Fix `Maximum update depth exceeded` error with Suspense (#3700) by @michaldudak
- Fix `<Dialog.Title>` forwardedRef type (#3736) by @ZeeshanTamboli

### Field

- Add `actionsRef` prop (#3395) by @mj12albert
- Add `nativeLabel` prop to `<Field.Label>` (#3723) by @atomiks
- Add missing type export (#3702) by @DiegoAndai

### Form

- Add `actionsRef` prop (#3395) by @mj12albert

### Menu

- Fix focus guard handling (#3654) by @atomiks
- Avoid disabling modality on click after hover-open (#3455) by @atomiks

### Menubar

- Fix submenu outside-press dismiss on touch (#3556) by @atomiks

### Number Field

- Fix Field `data-focused` state (#3563) by @atomiks
- Fix hidden input focus on submit (#3581) by @atomiks

### Popover

- Fix popup auto resize glitches (#3591) by @atomiks
- Fix focus guard handling (#3654) by @atomiks
- Prevent disabling focus management when clicking trigger before hover delay completes (#3572) by @atomiks
- Refactor popup auto resize logic. It is no longer necessary to specify `--positioner-width`/`--positioner-height` CSS variables on `<Popover.Positioner>` when using detached triggers unless the `Viewport` part has been added to the JSX. (#3652) by @atomiks

### Preview Card

- Support detached triggers (#3566) by @michaldudak and @atomiks

### Radio Group

- Fix `value` type (#3582) by @atomiks
- Fix hidden input `id` and `required` props (#3640) by @atomiks

### Scroll Area

- Perf improvements (#3536) by @atomiks

### Select

- Add `placeholder` prop to `<Select.Value>` (#3604) by @atomiks
- Fix support for transform animations when `alignItemWithTrigger` is active (#3532) by @atomiks
- Fix support for `max-height` popup style when `alignItemWithTrigger` is active (#3573) by @atomiks
- Fix `data-filled` state in `multiple` mode (#3608) by @atomiks
- Fix highlight being removed on popup mouseout when `highlightItemOnHover` is disabled (#3492) by @atomiks
- Fix support for individual transform animations when `alignItemWithTrigger` is active (#3637) by @atomiks
- Fix `multiple` values label resolution in `<Select.Value>` (#3314) by @atomiks
- Forward root `id` to visible form element (#3722) by @atomiks
- Do not trigger Field `onBlur` handlers when opening popup (#3609) by @atomiks

### Slider

- Fix `onValueCommitted` not called for range sliders (#3600) by @mj12albert

### Switch

- Add `value` prop (#3676) by @Grafikart
- Fix hidden input `id` and `required` props (#3640) by @atomiks

### Toast

- Fix timers not being rescheduled when updated (#3564) by @atomiks

### Tooltip

- Fix popup auto resize glitches (#3591) by @atomiks
- Fix `trackCursorAxis` handling (#3679) by @atomiks
- Refactor popup auto resize logic. It is no longer necessary to specify `--positioner-width`/`--positioner-height` CSS variables on `<Tooltip.Positioner>` when using detached triggers unless the `Viewport` part has been added to the JSX. (#3652) by @atomiks

### mergeProps

- Make `mergeProps` public (#3642) by @michaldudak and @LukasTy

### useRender

- Export missing types (#3565) by @michaldudak

All contributors of this release in alphabetical order: @albertdugba, @atomiks, @brijeshb42, @chuganzy, @colmtuite, @dav-is, @DiegoAndai, @Grafikart, @Janpot, @LukasTy, @michaldudak, @mj12albert, @oliviertassinari, @seongminn, @updbqn, @ZeeshanTamboli

## v1.0.0

_Dec 11, 2025_

### General changes

- **Breaking change:** Rename packages to use the `@base-ui` org.<br />
  The package name has changed from `@base-ui-components/react` to `@base-ui/react`.
  (#3462) by @mnajdova

### Combobox

- Respect `itemToStringValue` for `onFormSubmit` (#3441) by @atomiks
- Add `null` as an option for the value prop (#3488) by @mnajdova

### Menu

- Fix submenu opens with 0 delay (#3459) by @atomiks
- Fix focus not returning to trigger on <kbd>Esc</kbd> while pointer rests on popup (#3482) by @atomiks
- Fix always `null` open method (#3486) by @atomiks
- Allow side axis fallback for submenus by default (#3470) by @atomiks

### Navigation Menu

- Fix mount transitions on `Positioner` in Firefox (#3424) by @atomiks

### Number Field

- Fix multiple scrub area support (#3471) by @atomiks

### Popover

- Fix mount transitions on `Positioner` in Firefox (#3424) by @atomiks
- Fix skipped viewport transitions (#3453) by @atomiks

### Select

- Respect `itemToStringValue` for `onFormSubmit` (#3441) by @atomiks
- Add `null` as an option for the value prop (#3488) by @mnajdova

### Tabs

- Fix indicator positioning in transformed containers (#3439) by @atomiks
- Do not initially select a disabled tab (#3475) by @michaldudak

### Toast

- Fix `flushSync` dev error when toast is added (#3443) by @atomiks
- Fix `<Toast.Close>;` emitting `aria-hidden` warning on click (#3469) by @atomiks

### Toggle Group

- More permissive towards falsy toggle values (#3477) by @mj12albert

### Tooltip

- Fix mount transitions on `Positioner` in Firefox (#3424) by @atomiks
- Fix ignored "modal" setting in Popovers experiment (#3474) by @michaldudak
- Fix shared tooltip closing with trigger gaps (#3452) by @atomiks
- Fix skipped viewport transitions (#3453) by @atomiks

All contributors of this release in alphabetical order: @atomiks, @LukasTy, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @pondorasti, @romgrk, @ZeeshanTamboli

## v1.0.0-rc.2

_Dec 11, 2025_

This release contains the same code as v1.0.0.
Please refer to that version to see the changes.

## v1.0.0-rc.1

_Dec 11, 2025_

This release contains the same code as v1.0.0.
Please refer to that version to see the changes.

## v1.0.0-rc.0

_Dec 4, 2025_

### General changes

- Fix missing `'use client'` directives (#3408) by @atomiks

### Autocomplete

- Fix `keepHighlight` focus sync (#3399) by @atomiks

### Checkbox

- **Breaking change:** Match native unchecked state in form submission.<br />
  The Checkbox will not submit the `"off"` value with a form when unchecked anymore, unless the new `uncheckedValue` prop is set.
  (#3406) by @atomiks

### Collapsible

- Remove `render={null}` (#3407) by @mj12albert

### Combobox

- **Breaking change:** Removed the `keepHighlight` prop (#3377) by @atomiks

### Dialog

- Close when pressing focusable element outside (#3380) by @atomiks
- Fix closing after pointer lock exit in Firefox (#3379) by @atomiks

### Menu

- Add `highlightItemOnHover` prop (#3377) by @atomiks
- Do not import client components from MenuStore (#3409) by @michaldudak

### Number Field

- Ensure hidden input participates in form validation (#3374) by @atomiks
- Improve symbol replacement logic (#3376) by @atomiks
- Fix fractional step snapping (#3375) by @atomiks
- Fix parsing numbers with Swiss locale (#3361) by @michaldudak
- Fix pointer lock release when soft clicking in Firefox (#3378) by @atomiks

### Popover

- Close when pressing focusable element outside (#3380) by @atomiks
- Fix modal backdrop on touch (#3383) by @atomiks
- Fix popover glitching when flipped (#3364) by @michaldudak

### Select

- Add `highlightItemOnHover` prop (#3377) by @atomiks

### Switch

- **Breaking change:** Match native off state in form submission.<br />
  The Switch will not submit the `"off"` value with a form when unchecked anymore, unless the new `uncheckedValue` prop is set.
  (#3406) by @atomiks

### Tabs

- **Breaking change:** Fix Panel `keepMounted` behavior.<br />
  The `value` prop is now required on `<Tabs.Tab>` and `<Tabs.Panel>` parts.
  (#3372) by @atomiks

### Toast

- Recalculate content height when layout size is fixed (#3359) by @atomiks
- Fix multiple swipe directions on same axis (#3392) by @mj12albert

### Tooltip

- Improve contained triggers performance (#3385) by @michaldudak

All contributors of this release in alphabetical order: @atomiks, @michaldudak, @mj12albert, @oliviertassinari, @pondorasti, @romgrk

## v1.0.0-beta.7

_Nov 27, 2025_

### General changes

- Fix error about `props.ref` access in React &lt;=18 (#3257) by @atomiks
- Prefer non-adaptive anchoring position in `<Positioner>` components and fix `autoFocus` scroll jumps (#3250) by @atomiks
- Make popups' `data-anchor-hidden` state attribute check for anchor presence in layout (#3267) by @atomiks
- Prevent popups from sticking after hover when pressing `&lt;a&gt;` tags inside them (#3318) by @atomiks
- Improve performance when detached triggers are used (#3277)
- Fix iOS VoiceOver voice control accessibility in non-modal popups (#3340)

### Alert Dialog

- Fix trigger registration loop (#3249) by @atomiks
- Fix focus restoration when focused element is hidden with CSS (#3313)

### Checkbox Group

- Fix `aria-describedby` on checkbox group (#3269) by @mj12albert

### Combobox

- Revert overload types to ensure typed wrappers work correctly (#3254) by @atomiks
- Fix ignored `filteredItems` instances (#3272) by @atomiks
- Fix loop when passing `undefined` to `items` prop (#3348)

### Context Menu

- Block mouseup at initial cursor point (#3274) by @atomiks

### Dialog

- Fix trigger registration loop (#3249) by @atomiks
- Fix focus restoration when focused element is hidden with CSS (#3313)

### Form

- Fix cast `ref` type (#3324) by @mj12albert

### Menu

- Fix trigger registration loop (#3249) by @atomiks
- Do not pass `key` to the rendered element (#3255) by @michaldudak
- Fix nested dialog from closing on <kbd>Shift+Tab</kbd> (#3346)

### Navigation Menu

- Fix Safari 18 issue where `<Positioner>` width may be set to 0 on hover (#3309) by @EmilNordling
- Ensure submenu triggers participate in composite list (#3344) by @atomiks

### Number Field

- Fix literal space handling with symbols (#3334) by @atomiks

### Popover

- Fix trigger registration loop (#3249) by @atomiks
- Do not pass `key` to the rendered element (#3255) by @michaldudak
- Fix focus restoration when focused element is hidden with CSS (#3313)

### Select

- Revert overload types to ensure typed wrappers work correctly (#3254) by @atomiks

### Slider

- Fix extra `onValueCommitted` calls (#3312) by @mj12albert
- Fix cast `ref` type (#3324) by @mj12albert

### Tooltip

- Fix trigger registration loop (#3249) by @atomiks

All contributors of this release in alphabetical order: @atomiks, @brijeshb42, @Copilot, @EmilNordling, @michaldudak, @mj12albert, @oliviertassinari, @ZeeshanTamboli

## v1.0.0-beta.6

_Nov 17, 2025_

This is a hotfix release with the following changes:

- Fix for rendering of Alert Dialog, Dialog, Menu, Popover, and Tooltip in React Server Components (#3241) by @michaldudak
- Fix of the types of the refs in the Checkbox, Switch and Radio components (#3246) by @mnajdova
- Fix of the value type error with mergeProps (#3247) by @atomiks

## v1.0.0-beta.5

_Nov 17, 2025_

### General changes

- **Breaking change:** Replace `trackAnchor` with `disableAnchorTracking`.<br />
  If you were using `trackAnchor={false}`, be sure to update your usage to `disableAnchorTracking` instead.
  (#3188) by @mnajdova
- **Breaking change:** Rename `loop` to `loopFocus` (#3186) by @mnajdova
- Fix type portability (#2912) by @atomiks
- Accept a function for the `style` prop (#3038) by @mnajdova
- Create portal elements inside React (#2889) by @atomiks
- Avoid applying `hidden` attribute to indicator elements when they specify `keepMounted` and are invisible (#3228) by @atomiks
- Fix crash in Next.js 16 when accessing `render.props.ref` (#3231) by @atomiks

### Accordion

- **Breaking change:** Change `multiple` prop to be false by default and add a demo (#3141) by @mnajdova
- Fix flaky exit transition (#3101) by @atomiks

### Alert Dialog

- Fix `initialFocus` as function being called on close (#2949) by @atomiks
- Support detached triggers (#2974) by @michaldudak
- Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
- Add `<AlertDialog.Viewport>` part (#2808) by @atomiks

### Autocomplete

- **Breaking change:** Refactor `alwaysSubmitOnEnter` to `submitOnItemClick` prop.<br />
  If you were using `alwaysSubmitOnEnter`, be sure to update your usage to `submitOnItemClick` instead.
  (#3018) by @atomiks
- Prevent blocking filtering while composing text on Android (#2944) by @atomiks
- Add empty state to `List.State` (#2934) by @atomiks
- Fix `initialFocus` as function being called on close (#2949) by @atomiks
- Add `role="combobox"` to `<Autocomplete.Trigger>` if `<Autocomplete.Input>` is inside Popup (#2973) by @atomiks
- Fix stale `onItemHighlighted` data when filtering with `autoHighlight` (#2829) by @atomiks
- Add empty and side styling attributes on `<Autocomplete.Input>` (#2926) by @atomiks
- Fix `<Autocomplete.Value>` component return type for React 17 (#3050) by @atomiks
- Support `autoHighlight: "always"`, and add `keepHighlight`, `highlightItemOnHover` props (#2976) by @atomiks
- Keep focus on input when pressing list element (#3092) by @atomiks
- Allow <kbd>Esc</kbd> to bubble if `<Autocomplete.Empty>` is not used (#2935) by @atomiks
- Add `dialog` role to popup when input is inside (#3213) by @atomiks

### Button

- New `<Button>` component (#2363) by @atomiks

### Checkbox

- **Breaking change:** Render root as `<span>` instead of `<button>`
  (#3205) by @mj12albert

### Collapsible

- Fix `starting-style` state (#2985) by @atomiks

### Combobox

- Take into account `isItemEqualToValue` when selecting an option in multiple mode (#2893) by @epr3
- Move `CompositeList` to `List` component to make `Input` work with composites (#2883) by @chuganzy
- Fix `onValueChange` type inference when `value` is unspecified (#2897) by @atomiks
- Fix `required` form submission with multiple values (#2925) by @atomiks
- Fix <kbd>Home</kbd>/<kbd>End</kbd> Input scroll in Chrome/Safari (#2928) by @atomiks
- Prevent blocking filtering while composing text on Android (#2944) by @atomiks
- Add empty state to `List.State` (#2934) by @atomiks
- Fix `initialFocus` as function being called on close (#2949) by @atomiks
- Add `role="combobox"` to `<Combobox.Trigger>` if `<Combobox.Input>` is inside Popup (#2973) by @atomiks
- Fix `Field` control ref when input is inside popup (#2971) by @atomiks
- Fix stale `onItemHighlighted` data when filtering with `autoHighlight` (#2829) by @atomiks
- Add empty and side styling attributes on `<Combobox.Input>` (#2926) by @atomiks
- Fix `<Combobox.Value>` component return type for React 17 (#3050) by @atomiks
- Fix input value derivation on `value` and `items` prop updates (#3067) by @atomiks
- Support `autoHighlight: "always"`, and add `keepHighlight`, `highlightItemOnHover` props (#2976) by @atomiks
- Keep focus on input when pressing list element (#3092) by @atomiks
- Fix support of dialog + combobox pattern (#3049) by @atomiks
- Support drag-to-select (#3167) by @atomiks
- Allow <kbd>Esc</kbd> to bubble if `<Combobox.Empty>` is not used (#2935) by @atomiks
- Fix stuck filtering with differing stringifiers (#3201) by @atomiks
- Add `dialog` role to popup when input is inside (#3213) by @atomiks

### Context Menu

- Add `open` state to `<ContextMenu.Trigger>` (#3195) by @atomiks
- Fix ignored `anchor` prop on `<ContextMenu.Positioner>` (#3202) by @atomiks

### Dialog

- **Breaking change:** Replace `dismissible` with `disablePointerDismissal`.<br />
  If you were using `dismissible={false}`, replace it with `disablePointerDismissal`.
  (#3190) by @mnajdova
- Fix `initialFocus` as function being called on close (#2949) by @atomiks
- Support detached triggers (#2974) by @michaldudak
- Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
- Add `<Dialog.Viewport>` part and scrollable demos on docs (#2808) by @atomiks

### Field

- **Breaking change:** Add `onSubmit` validation mode and make it the default over `onBlur`.<br />
  Fields that use non-`required` attribute validation no longer validate the control on blur. Instead, validation first occurs `onSubmit`, and afterwards revalidation occurs `onChange`.
  (#3013) by @mj12albert
- Add `dirty` and `touched` props (#2950) by @mj12albert
- New `<Field.Item>` part (#2810) by @mj12albert
- Fix `validationMode="onChange"` not clearing custom error state (#3048) by @mj12albert
- Fix external `onChange` validation mode errors (#3137) by @atomiks

### Form

- **Breaking change:** The `onClearErrors` prop has been removed.<br />
  Errors from the `errors` prop are always cleared when the value changes.
  (#3136) by @mj12albert
- Add `onSubmit` validation mode.<br />
  Additionally, `validationMode` can be set on `<Form>`.
  (#3013) by @mj12albert
- Add `onFormSubmit` callback (#3131) by @mj12albert

### Menu

- **Breaking change:** Support detached triggers.<br />
  `openOnHover`, `delay`, and `closeDelay` props have been moved from `<Menu.Root>` to `<Menu.Trigger>`.<br />
  Additionally, menus now must have at least one `<Menu.Trigger>` element.
  (#3170) by @michaldudak
- Ignore disabled item on initial focusing (#2604) by @mnajdova
- Fix stealing focus from dialogs on close (#2920) by @atomiks
- Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks

### Navigation Menu

- Fix nested popup dismiss actions (#2978) by @atomiks
- Fix error on React 17 (#3204) by @atomiks

### Number Field

- Granular change reasons (#3132) by @atomiks

### Popover

- **Breaking change:** Support detached triggers and multiple triggers per popover.<br />
  `openOnHover`, `delay`, and `closeDelay` props have been moved from `<Popover.Root>` to `<Popover.Trigger>`.
  (#2336) by @michaldudak
- Fix `initialFocus` as function being called on close (#2949) by @atomiks
- Fix swiping or scrolling on nested popup dismissing popover on touch (#3011) by @atomiks
- Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks

### Preview Card

- **Breaking change:** Move delay props to trigger.<br />
  If you were using `delay` or `closeDelay` props, be sure to move them to from `<PreviewCard.Root>` to the `<PreviewCard.Trigger>` component.
  (#3182) by @atomiks

### Radio Group

- **Breaking change:** Render root as `<span>` instead of `<button>`
  (#3205) by @mj12albert

### Scroll Area

- **Breaking change:** Improve CSS vars performance.<br />
  The CSS variables are now on the `<ScrollArea.Viewport>` part, not `<ScrollArea.Root>`, and inheritance is disabled for all child elements (or pseudo-elements). Children must manually opt in using `--scroll-area-[variable-name]: inherit`.
  (#3156) by @atomiks

### Select

- **Breaking change:** Make the trigger native button by default.<br />
  The trigger now renders a `<button>` element, be sure to adjust your code if necessary.
  (#3177) by @mnajdova
- Add `open` state type on `Select.Icon` interface (#2919) by @komkanit
- Fix `onValueChange` type inference when `value` is unspecified (#2897) by @atomiks
- Fix `required` form submission with multiple values (#2925) by @atomiks
- Avoid re-rendering on popup height expansion (#2972) by @atomiks
- Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
- Add `data-placeholder` attribute (#2737) by @seongminn

### Slider

- **Breaking change:** Add `thumbCollisionBehavior` prop.<br />
  In range sliders, moving a thumb with a pointer will now push other thumbs it collides with to avoid blocking drag movements by default (the default value is `push`).<br />
  The value `swap` was also added, which allows thumbs to be dragged past each other when they collide.<br />
  Lastly, the value `none` is the same as the previous behavior, where thumbs can't be dragged past one another.<br />
  Keyboard interactions always use `none` behavior.
  (#2856) by @atomiks
- Granular change reasons (#3132) by @atomiks

### Switch

- **Breaking change:** Render root as `<span>` instead of `<button>`
  (#3205) by @mj12albert

### Tabs

- **Breaking change:** Fix selected/active state naming consistency.<br />
  - Renamed `[data-selected]` to `[data-active]` in `<Tabs.Tab>`
  - Removed `[data-highlighted]` (`:focus-visible` was already the recommendation in styles)
  - `selectedTabPosition`/`selectedTabSize` are now `activeTabPosition`/`activeTabSize` in `Tabs.Indicator.State`
    (#3024) by @atomiks
- **Breaking change:** Change `activateOnFocus` to false.<br />
  If you need your Tabs to activate on focus, be sure to add `activateOnFocus` prop.
  (#3176) by @mnajdova
- Fix Next.js 16 error from `Math.random` id generation (#3051) by @atomiks
- Fix indicator sizing and offsets (#3214) by @atomiks

### Toast

- Allow `React.ReactNode` for `title`/`description` properties (#2929) by @atomiks
- Add ability to anchor to an element (#3096) by @atomiks

### Toolbar

- **Breaking change:** The `cols` prop has been removed.<br />
  This prop was not supposed to be exposed.
  (#3133) by @mj12albert

### Tooltip

- **Breaking change:** Support detached triggers.<br />
  `delay` and `closeDelay` props have been moved from `<Tooltip.Root>` to `<Tooltip.Trigger>`.
  (#3071) by @michaldudak
- **Breaking change:** Change `hoverable` to `disableHoverablePopup`.<br />
  In case you need to disable the hoverable popup behavior, be sure to add the `disableHoverablePopup` prop.
  (#3178) by @mnajdova
- Fix `data-instant` ending transition of same tooltip (#2962) by @atomiks

All contributors of this release in alphabetical order: @atomiks, @brianle1301, @brijeshb42, @chuganzy, @dav-is, @epr3, @fredericoo, @Janpot, @komkanit, @LukasTy, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @romgrk, @seongminn, @sukvvon, @ZeeshanTamboli

## v1.0.0-beta.4

_Oct 1, 2025_

### General changes

- **Breaking change:** Generic event details.
  The main exported type is now `BaseUIChangeEventDetails` (with a paired `BaseUIGenericEventDetails`), not `BaseUIEventDetails`.
  (#2796) by @atomiks
- Update `disabled` prop of buttons when ref changes (#2756) by @chuganzy
- Refine event details (#2698) by @atomiks

### Accordion

- **Breaking change:** Use `useId` instead of composite index as fallback value.
  Accordion items must have an explicit `value` set in order to be initially open. Inferring the value by their DOM index is no longer supported.
  (#2664) by @mj12albert
- **Breaking change:** Rename `openMultiple` prop to `multiple`
  (#2764) by @LukasTy

### Autocomplete

- **Breaking change:** Rename `cols` to `grid` prop.
  Specify `grid={true}` instead of `cols={number}` - the columns are automatically inferred from `Autocomplete.Row`
  (#2683) by @atomiks
- Fix duplicate `onOpenChange` calls and pass correct DOM `event`.
  (#2682) by @atomiks
- Fix controlled input value updates (#2707) by @atomiks
- Fix input focus on close when clicking trigger (#2723) by @atomiks
- Add `alwaysSubmitOnEnter` prop and allow form submission on <kbd>Enter</kbd> if no item is highlighted by default (#2700) by @atomiks
- Use `ReadonlyArray` type for `items` (#2819) by @atomiks

### Collapsible

- Fix CollapsiblePanel type to use its own state (#2697) by @chuganzy
- Respect user's CSS `display` property on panel (#2772) by @mj12albert

### Combobox

- **Breaking change**: `onItemHighlighted` now has a `reason` property instead of `type` to be consistent with the `eventDetails` API. (#2796) by @atomiks
- **Breaking change:** Rename `cols` to `grid` prop.
  Specify `grid={true}` instead of `cols={number}` - the columns are automatically inferred from `Combobox.Row`
  (#2683) by @atomiks
- Fix duplicate `onOpenChange` calls and pass correct DOM `event`.
  (#2682) by @atomiks
- Fix initial closed typeahead (#2665) by @atomiks
- Support `autoHighlight` prop (#2668) by @atomiks
- Set default input value based on `value` prop (#2680) by @atomiks
- Fix controlled input value updates (#2707) by @atomiks
- Fix input focus on close when clicking trigger. Fixes a jump to the bottom of the page in Safari (#2723) by @atomiks
- Fix unexpected close with multiple selection and input inside popup (#2771) by @atomiks
- Allow form submission on <kbd>Enter</kbd> if no item is highlighted by default (#2700) by @atomiks
- Avoid refiltering with ending transition in multiple selection mode (#2681) by @atomiks
- Support object values with `isItemEqualToValue` prop (#2704) by @atomiks
- Use `ReadonlyArray` type for `items` (#2819) by @atomiks
- Fix misleading `item-press` reason in `onInputValueChange` (#2830) by @atomiks
- Clear single-select value on input clear (#2860) by @atomiks
- Fix `focusout` of input not closing popup under certain conditions (#2864)

### Context Menu

- Ensure submenus close when parents close (#2768) by @atomiks
- Fix `onClick` firing twice on first click of item (#2849) by @atomiks

### Menu

- Ensure submenus close when parents close (#2768) by @atomiks
- Allow non-nested portals across differing popup trees (#2818) by @atomiks

### Menubar

- Fix Menubar not disabling child Menus (#2736) by @aarongarciah
- Ensure submenus close when parents close (#2768) by @atomiks
- Fix `CompositeList` not updating item order on reordering (#2675) by @chuganzy

### Navigation Menu

- Make link close on click configurable (#2740) by @atomiks
- Fix focus returning to trigger without animations (#2779) by @atomiks
- Fix `CompositeList` not updating item order on reordering (#2675) by @chuganzy

### Number Field

- Fix stuck virtual cursor after mouse tap (#2720) by @atomiks
- Improve parsing logic (#2725) by @atomiks
- Align value changes with `Slider`. An `onValueCommitted` callback has been added. (#2726) by @atomiks

### Popover

- Allow non-nested portals across differing popup trees (#2818) by @atomiks

### Scroll Area

- Add overflow presence state attributes and CSS variables (#2478) by @atomiks
- Fix RTL horizontal scrollbar on Safari (#2776) by @atomiks
- Fix thumb size flicker (#2778) by @atomiks

### Select

- **Breaking change:** Add `Select.List` component. It is now possible for `Select.ScrollArrow` to show when in fallback (`alignItemWithTrigger` deactivated). As a result, if you want the scroll arrows to be hidden in this mode like before, change the styles to default to `display: none` on `.ScrollArrow`, and `display: block` when `[data-side="none"]`. (#2596) by @atomiks
- Block opening the popup when provided `readOnly` (#2717) by @seongminn
- Add `open` state for `Select.Icon` and fix `ref` type (#2714) by @seongminn
- Support object values with `isItemEqualToValue` prop (#2704) by @atomiks
- Use `ReadonlyArray` type for `items` (#2819) by @atomiks

### Slider

- **Breaking change:** `onValueChange` has `activeThumbIndex` as part of the `eventDetails` object as a second parameter, not third. (#2796) by @atomiks
- **Breaking change:** Remove redundant hidden inputs.
  The `inputRef` prop is moved from `Root` to `Thumb`.
  (#2631) by @mj12albert
- Fix pointer tracking bugs (#2688) by @mj12albert
- Fix input attributes (#2728) by @mj12albert
- Add `thumbAlignment` prop (#2540) by @mj12albert

### Switch

- Fix duplicate `name` attribute (#2763) by @mj12albert

### Toast

- **Breaking change:** Support variable height stacking.
  Toasts that have varying heights no longer force a `data-expanded` expanded state on the viewport. CSS should be amended to ensure larger toasts don't overflow a small toast stacked at the front. See this [diff](https://github.com/mui/base-ui/pull/2742/files#diff-e378460dafb74fe0c90ef960ad0ef1c38d68d74b63815520bb437f9041361917) for new styles, along with general improvements to stacking styles.
  (#2742) by @atomiks
- Reduce stickiness of expanded state (#2770) by @atomiks
- Ensure toast is frozen at its current visual transform while swiping (#2769) by @atomiks

### Toggle Group

- **Breaking change:** Rename `toggleMultiple` prop to `multiple`.
  (#2764) by @LukasTy

### Toolbar

- Fix `CompositeList` not updating item order on reordering (#2675) by @chuganzy

### useRender

- Add div as a `defaultTagName` (#2692) by @mnajdova

All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @brijeshb42, @chuganzy, @Copilot, @Janpot, @LukasTy, @martenbjork, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @seongminn, @sukvvon, @vladmoroz

## v1.0.0-beta.3

_Sep 3, 2025_

### General changes

- **Breaking change:** Base UI event details.
  Custom event callbacks provide BaseUIEventDetails object as their second parameter.
  This object contains the source event, reason and methods to customize the behavior (where applicable).
  For example, `onOpenChange(open, event, reason)` becomes `onOpenChange(open, eventDetails)`, where `eventDetails` contains `event` and `reason` properties.
  ```diff
  -onOpenChange: (open, event, reason) => {
  +onOpenChange: (open, eventDetails) => {
  - if (reason === 'escape-key') {
  +  if (eventDetails.reason === 'escape-key') {
       // ...
     }
   }
  ```
  (#2382) by @atomiks

### Alert Dialog

- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
  The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
  This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
  (#2536) by @atomiks

### Autocomplete

- New Autocomplete component (#2105) by @atomiks

### Checkbox

- Fix missing validity attributes when wrapped in `Field` (#2572) by @Copilot

### Combobox

- New Combobox component (#2105) by @atomiks

### Context Menu

- Fix default offsets when `align="center"` or `side` differs (#2601) by @atomiks

### Dialog

- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
  The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
  This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
  (#2536) by @atomiks
- Restore focus to popup when focused element is removed (#2479) by @atomiks

### Field

- Prevent defaultValue reset on focus for uncontrolled inputs (#2543) by @ingokpp
- Allow `onValueChange` to fire when `defaultValue`/`value` are not set (#2600) by @atomiks

### Input

- Allow `onValueChange` to fire when `defaultValue`/`value` are not set (#2600) by @atomiks

### Menu

- **Breaking change:** Fix `closeParentOnEsc` default value.
  The default value of `closeParentOnEsc` in Menu.SubmenuRoot is now false.
  When the <kbd>Esc</kbd> key is pressed in a Submenu, the Submenu closes, and the focus correctly moves to the SubmenuTrigger.
  (#2493) by @seongminn
- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
  The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
  This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
  (#2536) by @atomiks
- Fix menu not opening when inside context menu trigger (#2506) by @baptisteArno
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
- Fix submenu events (#2483) by @atomiks
- Fix `limitShift` offset based on arrow size (#2571) by @atomiks

### Navigation Menu

- **Breaking change:** Semantic element structure and `active` page prop.
  `NavigationMenu.List` renders `<ul>` and `NavigationMenu.Item` renders `<li>` by default.
  (#2526) by @atomiks
- Unshare `AbortController` instance (#2441) by @tomokinat
- Close on link click by default (#2535) by @atomiks

### Number Field

- Fix duplicate `onValueChange` calls (#2591) by @atomiks

### Popover

- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
  The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
  This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
  (#2536) by @atomiks
- Fix outside click after right clicking in popup (#2508) by @baptisteArno
- Fix unexpected close when nested inside two popovers (#2481) by @atomiks
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
- Restore focus to popup when focused element is removed (#2479) by @atomiks
- Fix `limitShift` offset based on arrow size (#2571) by @atomiks

### Preview Card

- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
- Fix `limitShift` offset based on arrow size (#2571) by @atomiks

### Radio Group

- Return null in form data when no option selected (#2473) by @ingokpp

### Scroll Area

- Prevent pointer events from sibling portals triggering hover (#2542) by @KenanYusuf

### Select

- Fix stale `items` prop (#2397) by @atomiks
- Fix unexpected close when nested inside two popovers (#2481) by @atomiks
- Fix `onValueChange` type inference (#2372) by @atomiks
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
- Reset state when selected item is removed (#2577) by @atomiks
- Fix `data-highlighted` and DOM focus item desync (#2569) by @atomiks
- Fix item click with `defaultOpen` prop (#2570) by @atomiks
- Fix scroll arrows not propagating scroll fully to start/end of list (#2523) by @atomiks
- Fix `limitShift` offset based on arrow size (#2571) by @atomiks

### Slider

- **Breaking change:** Instead of the thumb div, the `input type="range"` element receives focus. Focus styles that were targeting the thumb, should be updated.
  For example `.Thumb:focus-visible` should be replaced with `.Thumb:has(:focus-visible)`.
  The `tabIndex` prop is moved from Root to Thumb where it gets forwarded to the input.
  The thumb's `render` prop no longer contains the third `inputProps` argument; the input element is instead merged with children.
  (#2578) by @mj12albert
- Reduce bundle size (#2551) by @oliviertassinari
- Fix thumb `:focus-visible` with mixed keyboard and pointer modality (#2584) by @mj12albert
- Add `index` prop to `Slider.Thumb` (#2593) by @mj12albert

### Tabs

- Fix tab size rounding (#2488) by @atomiks
- Fix highlight sync when focus is inside list (#2487) by @atomiks

### Tooltip

- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
- Fix `limitShift` offset based on arrow size (#2571) by @atomiks

### useRender

- Add support for data-\* attributes (#2524) by @Raghuboi
- Add `defaultTagName` parameter (#2527) by @atomiks

All contributors of this release in alphabetical order: @atomiks, @baptisteArno, @brijeshb42, @Copilot, @ingokpp, @Janpot, @KenanYusuf, @LukasTy, @michaldudak, @mirka, @mj12albert, @mnajdova, @oliviertassinari, @Powerplex, @Raghuboi, @seongminn, @tomokinat

## v1.0.0-beta.2

_Jul 30, 2025_

### General changes

- Fix navigator checks and ensure safe platform retrieval (#2273) by @mo36924
- Prevent `Space` key default on keydown (#2295) by @atomiks
- Check for `performance` existence on server (#2316) by @atomiks

### Accordion

- Destructure `render` prop (#2280) by @atomiks
- Fix keyboard interactions with elements in the panel (#2321) by @mj12albert
- Fix open transitions in Safari/Firefox (#2327) by @atomiks

### Alert Dialog

- Support `ShadowRoot` containers (#2236) by @atomiks
- Add `forceRender` prop to `Backdrop` part (#2037) by @atomiks
- Improve outside press behavior with touch input (#2334) by @atomiks

### Checkbox

- Fix focusing form controls with `inputRef` (#2252) by @mj12albert

### Collapsible

- Destructure render prop (#2323) by @atomiks
- Fix open transitions in Safari/Firefox (#2327) by @atomiks

### Dialog

- Support `ShadowRoot` containers (#2236) by @atomiks
- Add `forceRender` prop to `Backdrop` part (#2037) by @atomiks
- Improve outside press behavior with touch input (#2334) by @atomiks
- Use `click` event for outside press dismissal (#2275) by @atomiks

### Field

- Deregister fields from `Form` when unmounting (#2231) by @mj12albert

### Form

- Deregister fields from `Form` when unmounting (#2231) by @mj12albert

### Menu

- Support `ShadowRoot` containers (#2236) by @atomiks
- Avoid double `useRenderElement` passes (#2256) by @atomiks
- Improve outside press behavior with touch input (#2334) by @atomiks
- Close submenus when focus is lost by shift-tabbing (#2290) by @michaldudak

### Menubar

- Fix triggers role (#2317) by @atomiks

### Meter

- Fix ARIA attributes and update docs (#2267) by @mj12albert

### Navigation Menu

- **Breaking change:** Support inlined nesting.
  Ensure the popup's `width` is set to `var(--popup-width)` unconditionally (without the media query) on the `.Popup` class.
  (#2269) by @atomiks
- Avoid double `useRenderElement` passes (#2256) by @atomiks
- Add `useButton` integration to `Trigger` (#2296) by @atomiks
- Fix popup size transitions on iOS (#2387) by @atomiks

### Number Field

- Remove `invalid` prop (#2315) by @atomiks
- Fix button disabled state only including root disabled state (#2268) by @mj12albert

### Popover

- Support `ShadowRoot` containers (#2236) by @atomiks
- Remove ancestor nodes from inside elements for outside press detection (#2339) by @atomiks
- Improve outside press behavior with touch input (#2334) by @atomiks
- Use `click` event for outside press dismissal (#2275) by @atomiks

### Preview Card

- Support `ShadowRoot` containers (#2236) by @atomiks

### Progress

- Fix ARIA attributes and update docs (#2267) by @mj12albert

### Radio Group

- Add aria-required attribute (#2227) by @cgatian
- Extend state with `FieldRoot.State` (#2251) by @mj12albert
- Fix focusing form controls with `inputRef` (#2252) by @mj12albert
- Avoid double `useRenderElement` passes (#2256) by @atomiks

### Scroll Area

- Disable `user-select` on scrollbar and non-main button interactions (#2338) by @atomiks

### Select

- Support `ShadowRoot` containers (#2236) by @atomiks
- Add `value` and `readOnly` to `Select.Trigger` state (#2237) by @atomiks
- Add `multiple` prop (#2173) by @atomiks
- Allow typeahead while open for `multiple` mode (#2274) by @atomiks
- Ensure positionerElement is available in document mouseup (#2276) by @atomiks
- Fix `alignItemWithTrigger` fallback scroll jump (#2241) by @atomiks
- Support conditional `multiple` prop in types (#2369) by @atomiks
- Fix multiple ARIA behavior on touch (#2333) by @atomiks
- Improve outside press behavior with touch input (#2334) by @atomiks

### Slider

- Fix focusing form controls with `inputRef` (#2252) by @mj12albert

### Toast

- Fix `promise` method timeout option handling (#2294) by @atomiks
- Make `Toast.Viewport` an announce container (#2246) by @atomiks

### Toggle

- Avoid double `useRenderElement` passes (#2256) by @atomiks

### Toggle Group

- Avoid double `useRenderElement` passes (#2256) by @atomiks

### Toolbar

- Avoid double `useRenderElement` passes (#2256) by @atomiks

### Tooltip

- Support `ShadowRoot` containers (#2236) by @atomiks
- Memoize leftover object in tooltip (#2250) by @sai6855
- Fix error when combining `defaultOpen` and `disabled` (#2374) by @atomiks

All contributors of this release in alphabetical order: @aelfannir, @atomiks, @brijeshb42, @cgatian, @Janpot, @michaldudak, @mj12albert, @mo36924, @romgrk, @sai6855

## v1.0.0-beta.1

_Jul 1, 2025_

### General changes

- Make error messages consistent (#2049) by @michaldudak
- Do not overwrite event handler when `undefined` is passed explicitly (#2151) by @michaldudak

### Accordion

- Allow content to resize naturally (#2043) by @atomiks
- Fix transition status mapping (#2169) by @atomiks
- Fix `aria-controls` reference (#2170) by @atomiks
- Fix test warning about mixed animation types (#2180) by @atomiks

### Checkbox

- **Breaking change:** Support implicit `Field.Label`.
  If `Field.Label` encloses Switch/Checkbox/Radio, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
  (#2036) by @mj12albert
- Refactor to `useRenderElement` (#2053) by @mj12albert
- Always set `id` on the `<input>` element (#2115) by @mj12albert

### Checkbox Group

- Fix `onCheckedChange` not running when parent checkbox is present (#2155) by @mj12albert

### Collapsible

- Allow content to resize naturally (#2043) by @atomiks
- Fix `aria-controls` reference (#2170) by @atomiks
- Fix test warning about mixed animation types (#2180) by @atomiks

### Context Menu

- **Breaking change:** Add `SubmenuRoot` part.
  Nested menus should be defined with `Menu.SubmenuRoot` instead of `Menu.Root` to to avoid ambiguity.
  (#2042) by @atomiks
- Fix CheckboxItemIndicator export (#2009) by @aarongarciah

### Dialog

- Fix popup prop merging (#2119) by @atomiks

### Field

- **Breaking change:** Support implicit `Field.Label`.
  If `Field.Label` encloses Switch/Checkbox/Radio, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
  (#2036) by @mj12albert
- Enable custom validation based on other form values (#1941) by @mj12albert
- Fix `onValueChange` `value` type (#2112) by @atomiks
- Fix `Field.Label` focusing trigger (#2118) by @atomiks
- Fix slider field label (#2154) by @mj12albert

### Fieldset

- Refactor to `useRenderElement` (#2053) by @mj12albert

### Form

- Enable custom validation based on other form values (#1941) by @mj12albert

### Input

- Fix `onValueChange` `value` type (#2112) by @atomiks

### Menu

- **Breaking change:** Add `SubmenuRoot` part.
  Nested menus should be defined with `Menu.SubmenuRoot` instead of `Menu.Root` to to avoid ambiguity.
  (#2042) by @atomiks
- Unset `role` from Trigger (#2047) by @atomiks
- Emit `close` event on `cancel-open` (#2067) by @atomiks
- Fix close toggle when rendering non-native button (#2071) by @atomiks
- Add `highlighted` to item `State` (#2079) by @atomiks
- Remove highlighted effect (#2162) by @atomiks
- Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
- Fix active index sync on hover (#2163) by @atomiks
- Fix focus returning to root when submenus have exit transitions (#2163) by @atomiks

### Menubar

- Fix `closeOnClick: false` not working in nested menus (#2094) by @michaldudak

### Navigation Menu

- Handle layout resize while open (#2070) by @atomiks
- Fix positioner height when opening menu using the keyboard arrows (#2060) by @juliomerisio

### Number Field

- Ensure `onValueChange` is called with already-formatted parsed value (#1905) by @atomiks
- Fix revalidation on change (#2174) by @atomiks

### Popover

- Fix close toggle when rendering non-native button (#2071) by @atomiks
- Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak

### Radio Group

- **Breaking change:** Support implicit `Field.Label`.
  If `Field.Label` encloses Radio, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
  (#2036) by @mj12albert
- Refactor to `useRenderElement` (#2053) by @mj12albert

### Scroll Area

- Ignore `data-scrolling` during programmatic scroll (#1908) by @atomiks

### Select

- **Breaking change:** Print raw value in `Select.Value`.
  `<Select.Value>` now prints the raw value by default unless an `items` prop is specified on `Select.Root`.
  See https://base-ui.com/react/components/select#formatting-the-value for more information.
  (#2087) by @atomiks
- Performance: avoid re-renders (#1961) by @romgrk
- Fix close toggle when rendering non-native button (#2071) by @atomiks
- Fix `Field.Label` focusing trigger (#2118) by @atomiks
- Fix programmatic value changes and autofill handling (#2084) by @atomiks
- Add `highlighted` to item `State` (#2079) by @atomiks
- Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
- Pass `value` as state (#2153) by @atomiks
- Extend `FieldRoot.State` type (#2192) by @atomiks

### Slider

- Use pointer capture when dragging (#2059) by @mj12albert
- Fix slider field label (#2154) by @mj12albert

### Switch

- **Breaking change:** Support implicit `Field.Label`.
  If `Field.Label` encloses Switch, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
  (#2036) by @mj12albert

### Tabs

- Fix indicator positioning when TabsList overflows (#2093) by @mj12albert
- Fix focus going out of sync when selected value is changed externally (#2107) by @atomiks
- Remove highlighted state (#2164) by @atomiks

### Toolbar

- Set `disabled` attr on toolbar button when `focusableWhenDisabled={false}` (#2176) by @mj12albert

### useRender

- Make useRender RSC-friendly (#2134) by @michaldudak

All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @bernardobelchior, @brijeshb42, @Janpot, @juliomerisio, @lesha1201, @michaldudak, @mj12albert, @oliviertassinari, @romgrk

## v1.0.0-beta.0

_May 29, 2025_

### General changes

- Remove proptypes (#1760) by @michaldudak
- Unify component export patterns (#1478) by @michaldudak
- Default `tabIndex` to `0` on `<button>` parts (#1939) by @atomiks

### Accordion

- Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks

### Alert Dialog

- **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
  (#1782) by @atomiks
- Use basic scroll lock on iOS
  (#1890) by @atomiks

### Checkbox

- Set `aria-required`, use `useButton` (#1777) by @mj12albert

### Checkbox Group

- **Breaking change:** Enable submitting checkbox group value as one field.
  For parent checkboxes, use `value` instead of `name` on each `Checkbox.Root` part to link as the values.
  (#1948) by @mj12albert
- Fix `validate` fn incorrectly running twice (#1959) by @mj12albert

### Context Menu

- New `ContextMenu` component (#1665) by @atomiks

### Dialog

- **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
  (#1782) by @atomiks
- Use basic scroll lock on iOS
  (#1890) by @atomiks

### Field

- **Breaking change:** Consolidate `Field.Error` `forceShow` into `match` prop.
  Use `match={true}` (or implicit boolean) instead of `forceShow`.
  (#1919) by @atomiks
- Improve `Label` logic that prevents text selection on double click (#1784) by @atomiks
- Fix validation inconsistency (#1779) by @atomiks
- Fix integration of Base UI components (#1755) by @atomiks
- Set `valueMissing` to false if only error and not dirtied (#1810) by @atomiks
- `validate` with latest value on blur (#1850) by @atomiks
- Revalidate only `required` on change (#1840) by @atomiks
- Run validate function after native validations (#1926) by @mj12albert
- Fix `validate` fn incorrectly running twice (#1959) by @mj12albert
- Integrate range sliders with Form and Field (#1929) by @mj12albert

### Form

- Fix integration of Base UI components (#1755) by @atomiks
- Select inputs on focus (#1858) by @atomiks
- Exclude number formatting from form value (#1957) by @mj12albert
- Integrate range sliders with Form and Field (#1929) by @mj12albert

### Input

- Fix `Input.Props` type (#1915) by @mj12albert
- Extend `Field.Control.State` (#1954) by @atomiks

### Menu

- **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
  (#1782) by @atomiks
- Fix function dependency handling (#1787) by @atomiks
- Add missing `'use client'` to `RadioGroup` part (#1851) by @atomiks
- Ensure `null` items are removed from composite lists (#1847) by @atomiks
- Avoid `:focus-visible` style appearing (#1846) by @atomiks
- Better handle dynamic and non-string items (#1861) by @atomiks
- Add `collisionAvoidance` prop (#1849) by @atomiks
- Add `finalFocus` and `closeDelay` props (#1918) by @atomiks
- Use basic scroll lock on iOS
  (#1890) by @atomiks

### Menubar

- New `Menubar` component (#1684) by @michaldudak

### Navigation Menu

- New `NavigationMenu` component (#1741) by @atomiks

### Number Field

- `validate` with latest value on blur (#1850) by @atomiks
- Move scrubbing logic to `ScrubArea` component (#1859) by @atomiks
- Remove floating point errors when `snapOnStep` is disabled (#1857) by @atomiks
- Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
- Exclude number formatting from form value (#1957) by @mj12albert

### Popover

- **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
  (#1782) by @atomiks
- Fix function dependency handling (#1787) by @atomiks
- Avoid prop getters when merging props (#1852) by @atomiks
- Add `collisionAvoidance` prop (#1849) by @atomiks
- Fix nested `openOnHover` (#1938) by @atomiks
- Use basic scroll lock on iOS
  (#1890) by @atomiks

### Preview Card

- **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
  (#1782) by @atomiks
- Fix function dependency handling (#1787) by @atomiks
- Add `collisionAvoidance` prop (#1849) by @atomiks

### Radio Group

- Fix composite focus of initially selected radio item (#1753) by @atomiks
- Add `inputRef` props (#1683) by @atomiks
- Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks

### Select

- **Breaking change:** Move item anchoring prop to `Positioner`.
  Use `<Select.Positioner alignItemWithTrigger={false}>` instead of `<Select.Root alignItemToTrigger={false}>` (note the `With` instead of `To`).
  (#1713) by @atomiks
- **Breaking change:** Defer mounting until typeahead is needed.
  The `placeholder` prop is now required. Previously, only SSR needed it to prevent a hydration flash, but client-side rendering now also requires it.
  (#1906) by @atomiks
- **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
  (#1782) by @atomiks
- Fix function dependency handling (#1787) by @atomiks
- Add `inputRef` props (#1683) by @atomiks
- Refactor to `useRenderElement` (#1797) by @atomiks
- Ensure `null` items are removed from composite lists (#1847) by @atomiks
- Fix `id` prop forwarding to hidden input (#1862) by @atomiks
- Avoid `:focus-visible` style appearing (#1846) by @atomiks
- Fix `transitionStatus` mapping on `ItemIndicator` (#1925) by @atomiks
- Better handle dynamic and non-string items (#1861) by @atomiks
- Use `Select.ItemText` ref to grab default text content (#1943) by @atomiks
- Add `collisionAvoidance` prop (#1849) by @atomiks
- Use basic scroll lock on iOS
  (#1890) by @atomiks

### Slider

- **Breaking change:** Drop `inputId` prop from Thumb.
  (#1914) by @mj12albert
- Position thumb based on value instead of pointer location when dragging (#1750) by @DarthSim
- Use `useRenderElement` (#1772) by @mj12albert
- Add `inputRef` props (#1683) by @atomiks
- Add `locale` prop (#1796) by @mj12albert
- Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
- set `data-dragging` on touchstart and pointerdown (#1874) by @mj12albert
- Integrate range sliders with Form and Field (#1929) by @mj12albert

### Toast

- **Breaking change:** Add `Portal` part.
  Place `<Toast.Viewport>` inside of `<Toast.Portal>`.
  (#1962) by @atomiks
- **Breaking change:** Avoid removing limited toasts from the DOM.
  The `[data-limited]` styles in the demos were updated to handle limited toasts remaining in the DOM. They should now be a standalone style as `&[data-limited] { opacity: 0 }`.
  (#1953) by @atomiks
- Fix swipe jump on iOS (#1785) by @atomiks

### Toggle

- Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks

### Toolbar

- Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks

### Tooltip

- **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
  (#1782) by @atomiks
- Fix function dependency handling (#1787) by @atomiks
- Avoid prop getters when merging props (#1852) by @atomiks
- Remove `trackCursorAxis` type from `Positioner` (#1895) by @atomiks
- Apply `pointer-events: none` to `Positioner` when not hoverable (#1917) by @atomiks
- Add `collisionAvoidance` prop (#1849) by @atomiks

### useRender

- **Breaking change:** Performance/refactor: `useRender`. An object with a `renderElement` property is no longer returned; instead, the hook returns the element directly (`const element = useRender(...)`). The `refs` option was also renamed to `ref`.
  (#1934) by @romgrk
- Skip most of useRenderElement logic when unnecessary (#1967) by @michaldudak

All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @brijeshb42, @DarthSim, @flaviendelangle, @Janpot, @JCQuintas, @michaldudak, @mj12albert, @oliviertassinari, @romgrk, @Yonava, @ZeeshanTamboli

## v1.0.0-alpha.8

_Apr 17, 2025_

### Accordion

- Recalculate panel dimensions on layout resize (#1704) @atomiks
- Rework animations and transitions (#1601) @mj12albert

### AlertDialog

- **Breaking change:** Rename `data-has-nested-dialogs` to `data-nested-dialog-open` (#1686) @mj12albert
- Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
- Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
- Fix text selection & right-clicks (#1702) @mj12albert

### CheckboxGroup

- Parent checkbox/nested demos (#1610) @atomiks

### Collapsible

- Fix ForwardedRef type of CollapsiblePanel (#1595) @megos
- Recalculate panel dimensions on layout resize (#1704) @atomiks
- Rework animations and transitions (#1601) @mj12albert

### Dialog

- **Breaking change:** Rename `data-has-nested-dialogs` to `data-nested-dialog-open` (#1686) @mj12albert
- **Breaking change:** Add new `trap-focus` value to `modal` prop.
  Dialogs with `modal=false` no longer trap focus.
  (#1571) @atomiks
- Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
- Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
- Fix text selection & right-clicks (#1702) @mj12albert
- Allow document to slide input into view on iOS when keyboard opens (#1735) @atomiks

### Field

- Fix forwarding of `name` and `disabled` props (#1616) @atomiks

### Menu

- Add missing item data attributes docs (#1691) @atomiks
- Fix `inert` prop compatibility in React <19 (#1618) @sebinsua
- Fix stuck highlight on submenu trigger when submenu opens with keyboard (#1698) @atomiks
- Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
- Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
- Fix text selection & right-clicks (#1702) @mj12albert

### Meter

- New Meter component (#1435) @mj12albert

### NumberField

- Correct percentage parse handling (#1676) @atomiks
- New `snapOnStep` prop (#1560) @atomiks

### Popover

- **Breaking change:** Add new `trap-focus` value to `modal` prop (#1571) @atomiks
- Fix `inert` prop compatibility in React <19 (#1618) @sebinsua
- Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
- Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
- Fix text selection & right-clicks (#1702) @mj12albert

### Progress

- **Breaking change:** Add `Progress.Label` and `locale` prop.
  The `getAriaLabel` prop was removed as `Progress.Label` should be used to provide an accessible name.
  (#1666) @mj12albert

### Radio

- Fix value forwarding and null handling (#1697) @atomiks

### ScrollArea

- **Breaking change:** Add `Content` part.
  It is now required to include the `ScrollArea.Content` within `ScrollArea.Viewport` part when the content is horizontally scrollable.
  (#1607) @atomiks
- Handle visibility change and nesting (#1598) @atomiks
- Correct thumb sizing with scrollbar margins (#1606) @atomiks

### Select

- **Breaking change:** Improve item highlight performance.
  The highlighted state is now removed. It's not possible to customize the `data-highlighted` attribute anymore.
  (#1570) @atomiks
- Avoid double commit on value change (#1597) @atomiks
- Reset `selectedIndex` when set to `null` (#1596) @atomiks
- Add missing item data attributes docs (#1691) @atomiks
- Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
- Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
- Fix text selection & right-clicks (#1702) @mj12albert

### Slider

- Correct thumb positioning when control has padding (#1661) @mj12albert
- Prevent range slider thumbs from being dragged past each other (#1612) @mj12albert
- Fix incorrect CSS position on vertical slider indicator (#1599) @ZeeshanTamboli
- Fix overlapping slider thumbs stuck at min or max (#1732) @mj12albert

### Toast

- New Toast component (#1467) @atomiks

### Tooltip

- Avoid re-rendering unrelated consumers (#1677) @atomiks
- Add `disabled` prop (#1682) @atomiks
- Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
- Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
- Fix text selection & right-clicks (#1702) @mj12albert

All contributors of this release in alphabetical order: @atomiks, @megos, @michaldudak, @mj12albert, @oliviertassinari, @sebinsua, @ZeeshanTamboli

## v1.0.0-alpha.7

_Mar 20, 2025_

### Accordion

- Fix `aria-labelledby` on accordion panel (#1544) @mj12albert

### AlertDialog

- Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
- Fix non-interactive button disabled state (#1473) @mj12albert
- `actionsRef` prop (#1236) @atomiks

### Avatar

- Support cross origin in useImageLoadingStatus (#1433) @ISnackable
- Add missing Avatar export (#1428) @Gomah

### Collapsible

- Update props destructuring to fix Trigger disabled state (#1469) @huijiewei

### Dialog

- Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
- Fix non-interactive button disabled state (#1473) @mj12albert
- `actionsRef` prop (#1236) @atomiks

### Field

- Fix `FieldControl` [data-filled] not reacting to external value changes (#1565) @atomiks

### Menu

- Ensure submenu triggers respond to clicks when `openOnHover=false` (#1583) @atomiks
- Ensure `stickIfOpen` is reset to `true` correctly (#1548) @atomiks
- Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
- Reset `hoverEnabled` state on close (#1461) @atomiks
- Fix prop merging issues (#1445) @michaldudak
- Set `pointer-events: none` style on backdrops when hoverable (#1351) @atomiks
- `actionsRef` prop (#1236) @atomiks

### NumberField

- Fix ScrubArea on Safari (#1584) @atomiks
- Fix `large/smallStep` getting stuck (#1578) @atomiks
- Fix parse of numbers with spaces as thousands separators (#1577) @michaldudak
- Prevent virtual cursor overlapping native one (#1491) @atomiks
- Fix disabled state on increment/decrement buttons (#1462) @mj12albert
- Correct virtual cursor rendering (#1484) @atomiks
- Add `locale` prop (#1488) @atomiks
- Improve virtual cursor perf (#1485) @atomiks

### Popover

- Ensure `stickIfOpen` is reset to `true` correctly (#1548) @atomiks
- Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
- Set `pointer-events: none` style on backdrops when hoverable (#1351) @atomiks
- Fix non-interactive button disabled state (#1473) @mj12albert
- `modal` prop (#1459) @atomiks
- `actionsRef` prop (#1236) @atomiks

### PreviewCard

- Set `pointer-events: none` style on backdrops when hoverable (#1351) @atomiks
- `actionsRef` prop (#1236) @atomiks

### RadioGroup

- Fix `Form`/`Field` validation integration (#1448) @atomiks
- Handle modifier keys (#1529) @mj12albert

### Select

- Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
- Improve `ScrollArrow` behavior (#1564) @atomiks
- Ensure switching controlled value to `null` updates `Select.Value` label (#1561) @atomiks
- Pass `value` as second argument to function children `Select.Value` (#1562) @atomiks
- Fix focus jump while hovering while navigating with keyboard (#1563) @atomiks
- Fix disabled state changing (#1526) @mj12albert
- `actionsRef` prop (#1236) @atomiks

### Slider

- Fix thumb positioning when controlled value violates min/max/step (#1541) @mj12albert
- Warn when `min` is not less than `max` (#1475) @mj12albert
- Narrow the type of `value` in callbacks (#1241) @seloner

### Tabs

- Fix keyboard navigation involving disabled Tabs (#1449) @mj12albert
- Handle modifier keys (#1529) @mj12albert

### Toolbar

- Add Toolbar components (#1349) @mj12albert

### Tooltip

- `actionsRef` prop (#1236) @atomiks
- Fix `Provider` `delay=0` not being respected (#1416) @atomiks

### useRender

- Add public hook (#1418) @mnajdova
- Refine docs and APIs (#1551) @atomiks

### Docs

- Fix CSS issues (#1585) @atomiks
- Clean up old experiments (#1572) @mj12albert
- Fix SEO site name description (#1520) @oliviertassinari
- Fix `actionsRef` propTypes (#1460) @atomiks
- Tooltip guidelines (#1356) @atomiks
- Update the release instructions (#1444) @michaldudak
- Mention Progress.Value in API reference (#1429) @aarongarciah
- Update release instructions (#1417) @michaldudak

### Core

- [code-infra] Polish VS Code DX (#1238) @oliviertassinari
- [code-infra] Fix build:types not copying on some setups (#1482) @Janpot
- [Composite] Derive sorted map state (#1489) @atomiks
- Update release docs and scripts (#1245) @oliviertassinari
- Export namespaces consistently (#1472) @michaldudak
- Make `mergeReactProps` work with non-native event handlers (#1440) @michaldudak
- Remove babel-plugin-istanbul (#1409) @michaldudak
- Fix stylelint violations (#1422) @michaldudak
- Misc cleaning (#1579) @atomiks
- [mergeProps] Convert as a top level import and export publicly (#1535) @mnajdova
- [test] Fix wrong env skip (#1490) @atomiks
- [test] Fix PreviewCard test flake (#1487) @atomiks
- [test] Extract common popup tests (#1358) @michaldudak
- [test] Verify root exports (#1431) @michaldudak
- [test] Fix flaky browser tests (#1371) @atomiks
- [test] Update vitest to ^3 (#1453) @michaldudak
- [test] Skip flaky FieldRoot tests in real browsers (#1446) @michaldudak
- [useMergedRefs] Support ref cleanup functions (#1553) @atomiks
- [utils] Change order of args in `mergeReactProps` (#1533) @mnajdova

## v1.0.0-alpha.6

_Feb 6, 2025_

### AlertDialog

- `onOpenChangeComplete` prop (#1305) @atomiks
- Fix jump with `scroll-behavior` style (#1343) @atomiks

### Avatar

- Add Avatar component (#1210) @acomanescu

### Checkbox

- Avoid applying `hidden` attr when `keepMounted=true` for indicators (#1329) @onehanddev

### Dialog

- Remove `modal={open}` state (#1352) @atomiks
- Support multiple non-nested modal backdrops (#1327) @atomiks
- Fix missing `id`s on Title and Description (#1326) @mj12albert
- `onOpenChangeComplete` prop (#1305) @atomiks
- Fix jump with `scroll-behavior` style (#1343) @atomiks

### Field

- Respect `validationMode` (#1053) @atomiks
- Add `filled` and `focused` style hooks (#1341) @atomiks

### Form

- Fix focusing of invalid field controls on errors prop change (#1364) @atomiks

### Menu

- Avoid applying `hidden` attr when `keepMounted=true` for indicators (#1329) @onehanddev
- Support submenus with `openOnHover` prop (#1338) @atomiks
- Fix iPad detection when applying scroll lock (#1342) @mj12albert
- `onOpenChangeComplete` prop (#1305) @atomiks
- Fix jump with `scroll-behavior` style (#1343) @atomiks
- Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
- Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks

### Popover

- `onOpenChangeComplete` prop (#1305) @atomiks
- Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
- Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks

### PreviewCard

- `onOpenChangeComplete` prop (#1305) @atomiks
- Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
- Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks

### Progress

- Add `format` prop and `Value` component (#1355) @mj12albert

### Radio

- Avoid applying `hidden` attr when `keepMounted=true` for indicators (#1329) @onehanddev

### Select

- `onOpenChangeComplete` prop (#1305) @atomiks
- Fix jump with `scroll-behavior` style (#1343) @atomiks
- Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
- Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks

### Slider

- Fix thumb positioning (#1411) @mj12albert

### Tabs

- Fix being able to activate a disabled tab (#1359) @michaldudak
- Fix tabs activating incorrectly on non-primary button clicks (#1318) @mj12albert

### Tooltip

- `onOpenChangeComplete` prop (#1305) @atomiks
- Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
- Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks

## v1.0.0-alpha.5

_Jan 10, 2025_

### AlertDialog

- **Breaking change:** Require `Portal` part.
  The AlertDialog must explicitly include the Portal part wrapping the Popup.
  The `keepMounted` prop was removed from the Popup.
  It's only present on the Portal part.
  [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
- Don't call `onNestedDialogOpen` when unmounting a closed nested dialog [#1280](https://github.com/mui/base-ui/pull/1280) @mj12albert
- Fix the nesting of different dialogs [#1167](https://github.com/mui/base-ui/pull/1167) @mnajdova
- Remove `useFloating` call from the Popup [#1300](https://github.com/mui/base-ui/pull/1300) @michaldudak
- Set `pointer-events` on `InternalBackdrop` based on `open` state [#1221](https://github.com/mui/base-ui/pull/1221) @atomiks
- Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks

### Dialog

- **Breaking change:** Require `Portal` part.
  The Dialog must explicitly include the Portal part wrapping the Popup.
  The `keepMounted` prop was removed from the Popup.
  It's only present on the Portal part.
  [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
- Don't call `onNestedDialogOpen` when unmounting a closed nested dialog [#1280](https://github.com/mui/base-ui/pull/1280) @mj12albert
- Fix the nesting of different dialogs [#1167](https://github.com/mui/base-ui/pull/1167) @mnajdova
- Remove `useFloating` call from the Popup [#1300](https://github.com/mui/base-ui/pull/1300) @michaldudak
- Set `pointer-events` on `InternalBackdrop` based on `open` state [#1221](https://github.com/mui/base-ui/pull/1221) @atomiks
- Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks

### Menu

- **Breaking change:** Require `Portal` part.
  The Menu must explicitly include the Portal part wrapping the Positioner.
  The `keepMounted` prop was removed from the Positioner.
  It's only present on the Portal part.
  [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
- Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
- Fix `focusableWhenDisabled` components [#1313](https://github.com/mui/base-ui/pull/1313) @mj12albert
- Fix `openOnHover` issues [#1191](https://github.com/mui/base-ui/pull/1191) @atomiks
- Fix closing the menu when clicking on checkboxitem/radioitem [#1301](https://github.com/mui/base-ui/pull/1301) @michaldudak
- Fix Enter key preventDefault when rendering links [#1251](https://github.com/mui/base-ui/pull/1251) @mj12albert
- Handle pseudo-element bounds in mouseup detection [#1250](https://github.com/mui/base-ui/pull/1250) @atomiks
- Set `pointer-events` on `InternalBackdrop` based on `open` state [#1221](https://github.com/mui/base-ui/pull/1221) @atomiks
- Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks

### NumberField

- Correctly handle quick touches [#1294](https://github.com/mui/base-ui/pull/1294) @atomiks

### Popover

- **Breaking change:** Require `Portal` part.
  The Popover must explicitly include the Portal part wrapping the Positioner.
  The `keepMounted` prop was removed from the Positioner.
  It's only present on the Portal part.
  [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
- Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
- Fix PopoverTrigger and TooltipTrigger prop types [#1209](https://github.com/mui/base-ui/pull/1209) @mnajdova

### PreviewCard

- **Breaking change:** Require `Portal` part.
  The PreviewCard must explicitly include the Portal part wrapping the Positioner.
  The `keepMounted` prop was removed from the Positioner.
  It's only present on the Portal part.
  [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
- Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
- Use `FloatingPortalLite` [#1278](https://github.com/mui/base-ui/pull/1278) @atomiks

### Progress

- Set zero width when value is zero [#1204](https://github.com/mui/base-ui/pull/1204) @mj12albert

### ScrollArea

- Differentiate `x`/`y` orientation `data-scrolling` [#1188](https://github.com/mui/base-ui/pull/1188) @atomiks
- Read `DirectionProvider` and use logical positioning CSS props [#1194](https://github.com/mui/base-ui/pull/1194) @mj12albert

### Select

- **Breaking change:** Require `Portal` part.
  The Select must explicitly include the Portal part wrapping the Positioner.
  The `keepMounted` prop was removed from the Positioner.
  It's only present on the Portal part.
  [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
- Allow `id` to be passed to trigger [#1174](https://github.com/mui/base-ui/pull/1174) @atomiks
- Fallback to standard positioning when pinch-zoomed in Safari [#1139](https://github.com/mui/base-ui/pull/1139) @atomiks
- Fix `focusableWhenDisabled` components [#1313](https://github.com/mui/base-ui/pull/1313) @mj12albert
- Fix highlight flash on Safari [#1233](https://github.com/mui/base-ui/pull/1233) @atomiks
- Handle pseudo-element bounds in mouseup detection [#1250](https://github.com/mui/base-ui/pull/1250) @atomiks
- Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks

### Separator

- Support vertical orientation [#1304](https://github.com/mui/base-ui/pull/1304) @mj12albert

### Slider

- Ensure `onValueCommitted` is called with the same value as latest `onValueChange` [#1296](https://github.com/mui/base-ui/pull/1296) @mj12albert
- Replace internal map with `Composite` metadata [#1082](https://github.com/mui/base-ui/pull/1082) @mj12albert
- Set `position: relative` on range slider indicator [#1175](https://github.com/mui/base-ui/pull/1175) @mj12albert
- Use un-rounded values to position thumbs [#1219](https://github.com/mui/base-ui/pull/1219) @mj12albert

### Tabs

- Expose width/height state in tabs indicator [#1288](https://github.com/mui/base-ui/pull/1288) @aarongarciah

### Tooltip

- **Breaking change:** Require `Portal` part.
  The Tooltip must explicitly include the Portal part wrapping the Positioner.
  The `keepMounted` prop was removed from the Positioner.
  It's only present on the Portal part.
  [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
- Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
- Fix PopoverTrigger and TooltipTrigger prop types [#1209](https://github.com/mui/base-ui/pull/1209) @mnajdova
- Use `FloatingPortalLite` [#1278](https://github.com/mui/base-ui/pull/1278) @atomiks

## v1.0.0-alpha.4

_Dec 17, 2024_

Public alpha launch 🐣 Merry Xmas! 🎁


================================================
FILE: CHANGELOG.old.md
================================================
# Non-public versions

## v1.0.0-alpha.3

_Oct 7, 2024_

A big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:

- ⭐ We added several new components: CheckboxGroup, RadioGroup, Form, Separator
- ⭐ Menu has new parts: CheckboxItem, RadioItem, and Group

### `@base_ui/react@1.0.0-alpha.3`

- [AlertDialog] Move types to namespaces (#591) @michaldudak
- [Checkbox] Modernize implementation (#594) @atomiks
- [CheckboxGroup] Implement components and hooks (#458) @atomiks
- [Collapsible] Add Collapsible components and hooks (#481) @mj12albert
- [Dialog] Move types to namespaces (#697) @michaldudak
- [Dialog][Collapsible] Fix style prop merging (#641) @michaldudak
- [Form] Create new `Form` component (#589) @atomiks
- [Menu] CheckboxItem component (#533) @michaldudak
- [Menu] Do not select an item when space is pressed during typeahead (#542) @michaldudak
- [Menu] Fix custom anchor positioning (#609) @michaldudak
- [Menu] Group and Separator components (#535) @michaldudak
- [Menu] Increase test timeout (#592) @michaldudak
- [Menu] RadioItem component (#534) @michaldudak
- [Menu] Remove the unused prop (#647) @michaldudak
- [Menu] Remove wrong default value from docs (#549) @sai6855
- [Menu][Popover][PreviewCard][Tooltip] Add default value as `clippingAncestors` to collisionBoundary prop (#580) @sai6855
- [NumberField] Modernize implementation (#590) @atomiks
- [Popover] Modernize implementation (#607) @atomiks
- [PreviewCard] Modernize implementation (#626) @atomiks
- [RadioGroup] Create new `RadioGroup` component (#487) @atomiks
- [Slider] Fix Home / End regression (#526) @sai6855
- [Tooltip] Modernize implementation (#606) @atomiks
- [useButton] Modernize implementation (#643) @michaldudak
- [useScrollLock] Avoid scrollbar layout shift issues (#604) @atomiks

### Docs

- [docs] Fix 301 redirections in docs @oliviertassinari
- [docs] Make the readme specific to @base_ui/react (#633) @michaldudak
- [docs] Copy vale-action.yml from main repo @oliviertassinari
- [docs] Fix 301 to chromium (#636) @oliviertassinari
- [docs] Avoid dead links in demos (#610) @oliviertassinari
- [docs] Fix rel attribute on edit GitHub links (#614) @oliviertassinari
- [docs] Fix pnpm docs:link-check script (#552) @oliviertassinari
- [docs] Fix Stack Overflow issue canned response @oliviertassinari
- [docs] Fix outdated link to support page @oliviertassinari
- [docs] Clarify contribution guide references @oliviertassinari

### Core

- [code-infra] Remove custom playwright installation steps (#646) @Janpot
- [core] Fix 301 link to Next.js and git diff @oliviertassinari
- [core] Fix package.json repository rule @oliviertassinari
- [core] MUI X repository moved to a new location @oliviertassinari
- [core] React 19 compatibility (#605) @michaldudak
- [core] Reference `ownerDocument` (#660) @atomiks
- [core] Remove 'use client' from index files (#331) @michaldudak
- [core] Remove /.yarn (#596) @oliviertassinari
- [core] Remove Material UI dependency (#585) @michaldudak
- [core] Remove the legacy components from the repo (#584) @michaldudak
- [core] Rename positionStrategy to positionMethod (#704) @michaldudak
- [docs-infra] Fix double // (#613) @oliviertassinari
- [docs-infra] Strengthen CSP (#595) @oliviertassinari
- [infra] Adds reusable workflow for closing message on issues (#598) @michelengelen
- [infra] Adds reusable workflow for issue cleanup (#597) @michelengelen
- [infra] Fix line break in Stack Overflow message @oliviertassinari
- [test] Fix tests on Safari (#546) @michaldudak
- [test] Fix the test_types_next CI job (#703) @michaldudak
- [test] Improve visual screenshot canva (#708)
- [test] Point Istanbul to correct URL (#657) @sai6855
- [test] Run Browserstack tests on master only (#578) @michaldudak
- [test] Use `waitFor` instead of fixed timeout in tests (#632) @michaldudak
- [website] Improve utm_source strategy @oliviertassinari
- [website] Modernize the Base UI website (#538) @michaldudak

All contributors of this release in alphabetical order: @atomiks, @Janpot, @michaldudak, @michelengelen, @mj12albert, @oliviertassinari, @sai6855

## v1.0.0-alpha.2

_Aug 19, 2024_

A big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:

⭐ We added many new components: AlertDialog, Dialog, Field, Menu, Popover, PreviewCard, Progress, Slider, and Tooltip.

### `@base_ui/react@1.0.0-alpha.2`

- [Checkbox] Fix checked change when clicking button with wrapping label (#467) @atomiks
- [Dialog] Create new component and hook (#372) @michaldudak
- [Field] Create new Field components (#477) @atomiks
- [Menu] Overhaul the component API (#468) @michaldudak
- [NumberField] Fix tests on non-English locale machines (#524) @michaldudak
- [NumberField] Rename `onChange` prop to `onValueChange` (#464) @atomiks
- [Popover] Component and Hook (#381) @atomiks
- [Popover] Fix `keepMounted` focus management (#489) @atomiks
- [Popover] Wait for focus to settle in tests (#491) @michaldudak
- [PreviewCard] Create new component (#469) @atomiks
- [PreviewCard] Fix Firefox browser hang (#490) @atomiks
- [Progress] New `Progress` components (#470) @mj12albert
- [Slider] improve `disabled` prop description (#527) @sai6855
- [Slider] New Slider components and hook (#373) @mj12albert
- [Switch/Checkbox] Rename `onChange` prop to `onCheckedChange` (#465) @atomiks
- [Tabs] Fix indicator tests (#379) @michaldudak
- [Tooltip] Component and Hook (#264) @atomiks
- [Tooltip] Fix animations (#426) @atomiks
- [useCompoundParent] Display `displayName` only in dev (#525) @sai6855

### Docs

- [docs] Add badges like in Material UI @oliviertassinari
- [docs] Add the logo to the README (#448) @danilo-leal
- [docs] Convert alpha component docs to new docs template (#392) @colmtuite
- [docs] Correct Bundlephobia links (#419) @michaldudak
- [docs] Fix page description line break @oliviertassinari
- [docs] Fix the X link (#450) @michaldudak
- [docs] Fix Vale errors (#492) @oliviertassinari
- [docs] Prepare security table for once it has its first release (#536) @oliviertassinari
- [docs] Update twitter.com to x.com @oliviertassinari
- [docs][Tooltip] Use the correct version of ComponentLinkHeader (#425) @michaldudak

### Core

- [code-infra] Fix pnpm version in package.json engines (#409) @Janpot
- [code-infra] Propagate API docs builder package interface changes (#478) @LukasTy
- [code-infra] Remove raw-loader (#404) @michaldudak
- [code-infra] Use shared .stylelintrc.js config (#415) @oliviertassinari
- [core] Add `trackAnchor` prop for anchor positioning (#519) @atomiks
- [core] Add `useAnchorPositioning` Hook (#461) @atomiks
- [core] Add `useTransitionStatus` and `useExecuteIfNotAnimated` Hooks (#396) @atomiks
- [core] Add codeowners file (#447) @michaldudak
- [core] Allow Renovate to update pnpm (#446) @michaldudak
- [core] Encapsulate the common rendering logic in `useComponentRenderer` (#408) @michaldudak
- [core] Fix event naming convention @oliviertassinari
- [core] Improve performance of `mergeProps` (#456) @marcpachecog
- [core] Improve Tooltip and Popover consistency (#463) @atomiks
- [core] Link GH issue for import/prefer-default-export @oliviertassinari
- [core] Make pnpm version permissive (#529) @atomiks
- [core] Move hooks under component directories (#405) @michaldudak
- [core] Move legacy components to a subdirectory (#410) @michaldudak
- [core] Normalize rest / other to match the most common used @oliviertassinari
- [core] Refactor animation hooks (#417) @atomiks
- [core] Remove sources of old components we don't intend to support (#474) @michaldudak
- [core] Simpler pnpm dedupe error message to act on @oliviertassinari
- [core] Upgrade to core-js v3 (#418) @atomiks
- [core] Verify types in test code (#457) @michaldudak
- [dependencies] Do not try to update ESLint (#515) @michaldudak
- [docs-infra] Fix a stylelint issue (#421) @oliviertassinari
- [docs-infra] Integrate the latest @mui/docs (#378) @michaldudak
- [test] Clean up and unify test code (#532) @michaldudak
- [test] Update test-utils and remove enzyme (#473) @michaldudak
- [test] Use internal-test-utils from npm (#424) @michaldudak
- [typescript] Add `type` to export statements (#544) @michaldudak
- [website] Fix /base-ui/ code duplication (#416) @oliviertassinari- [infra] Add support donation button @oliviertassinari
- [website] Redirect to an existing page on dev (#445) @michaldudak

All contributors of this release in alphabetical order: @atomiks, @colmtuite, @danilo-leal, @Janpot, @LukasTy, @marcpachecog, @michaldudak, @mj12albert, @oliviertassinari, @sai6855

## v1.0.0-alpha.1

<!-- generated comparing v1.0.0-alpha.0..master -->

_May 14, 2024_

A big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:

⭐ We overhauled the Tabs components' API and added a few exciting new features to them (#245).

### `@base_ui/react@1.0.0-alpha.1`

- [NumberField] Fix failing browser tests (#317) @atomiks
- [Tabs] Overhaul Tabs API (#245) @michaldudak

## Docs

- Consistent arrow style (#397) @oliviertassinari
- Link to docs on PRs (#394) @oliviertassinari
- Fix Netlify preview 301 JS assets @oliviertassinari
- Reference shared code from the Core monorepo (#326) @michaldudak
- Remove or hide pages describing the old API (#323) @michaldudak
- Prepare React 19 (#393) @oliviertassinari
- Fix incorrect Tabs import instructions (#401) @michaldudak

## Core

- Rely on @mui/monorepo/.eslintrc (#352) @oliviertassinari
- Use Base UI repo in the release changelog script (#355) @michaldudak
- Export NumberField components and hooks (#400) @atomiks
- Config cleanup (#377) @michaldudak
- Make dependency updates less frequent (#375) @michaldudak
- Update @mui deps to next (#354) @atomiks
- Remove legacy dependencies and settings (#332) @michaldudak
- Remove redundant Next.js config (#333) @oliviertassinari
- Use the root dependency (#334) @oliviertassinari
- Clean up unnecessary files (#324) @michaldudak
- Describe how to publish the docs (#320) @michaldudak
- Change the references to the Material UI repo in the releaseTag script (#319) @michaldudak
- Port e2e infra back to Base UI (#395) @oliviertassinari
- Fix Firefox browser version in karma profile config and resolve user-event test TODOs (#353) @ZeeshanTamboli
- Update Karma config (#322) @michaldudak
- Use absolute URLs for non-Base pages (#321) @michaldudak

All contributors of this release in alphabetical order: @atomiks, @michaldudak, @oliviertassinari, @ZeeshanTamboli

## v1.0.0-alpha.0

_Apr 15, 2024_

This is an initial release of Base UI as the @base_ui/react package.
It features the Checkbox, Number Field, and Switch as the first components to be rewritten with a fresh new API. 🚀

### `@base_ui/react@1.0.0-alpha.0`

- [Checkbox] Component and Hook (#159) @atomiks
- [NumberField] Component and Hook (#186) @atomiks
- [Switch] Implement the component-per-node API (#135) @michaldudak
- [core] Rename package to @base_ui/react (#287) @michaldudak
- [core] Exclude legacy components from the package (#288) @michaldudak


================================================
FILE: CLAUDE.md
================================================
@AGENTS.md


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing to Base UI

## Base UI vs. MUI organization

Base UI is an open-source project of the MUI organization. The repositories are part of the same codebase.
`mui/base-ui` imports the code infrastructure from [`mui/material-ui`](https://github.com/mui/material-ui).
You can find the "contributing" guide for the main repository in [mui/material-ui/CONTRIBUTING.md](https://github.com/mui/material-ui/blob/HEAD/CONTRIBUTING.md).

Most of the content in the main repository "contributing" guide applies to this repository.
There are, however, a few differences:

- The default GitHub branch might be different.
- The local documentation site opens on a different port: 3005 instead of 3000.


================================================
FILE: LICENSE
================================================
The MIT License (MIT)

Copyright (c) 2019 Material-UI SAS

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
# Base UI

From the creators of Radix, Floating UI, and Material UI, Base UI is an unstyled UI component library for building accessible user interfaces.

---

## Documentation

To get started, check out the [Base UI documentation](https://base-ui.com/react/overview/quick-start).

## Contributing

Read our [contributing guide](/CONTRIBUTING.md) to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes.

## Releases

To see the latest updates, check out the [releases](https://base-ui.com/react/overview/releases).

## Community

- **Discord** For community support, questions, and tips, join our [Discord](https://discord.gg/g6C3hUtuxz).
- **X** To stay up-to-date on new releases and announcements follow [Base UI on X](https://x.com/base_ui).
- **Bluesky** We're also on [Bluesky](https://bsky.app/profile/base-ui.com).

## Team

- **Colm Tuite** (Radix) [@colmtuite](https://x.com/colmtuite)
- **James Nelson** (Floating UI) [@atomiksdev](https://x.com/atomiksdev)
- **Michał Dudak** (Material UI) [@michaldudak](https://x.com/michaldudak)
- **Marija Najdova** (Material UI + Fluent UI) [@marijanajdova](https://x.com/marijanajdova)
- **Albert Yu** (Material UI) [@mj12albert](https://github.com/mj12albert)
- **Lukas Tyla** (Material UI) [@LukasTy](https://github.com/LukasTy)

## License

This project is licensed under the terms of the [MIT license](/LICENSE).


================================================
FILE: SECURITY.md
================================================
# Security policy

## Supported versions

The versions of the project that are currently supported with security updates.

| Base UI version | Release    | Supported                       |
| --------------: | :--------- | :------------------------------ |
|           1.0.0 | 2025-12-11 | :white_check_mark: Stable major |
|          <1.0.0 | 2024-12-17 | ❌                              |

## Reporting a vulnerability

You can report a vulnerability by contacting us via email at [security@mui.com](mailto:security@mui.com).


================================================
FILE: babel.config.mjs
================================================
import getBaseConfig from '@mui/internal-code-infra/babel-config';
import * as path from 'node:path';
import { fileURLToPath } from 'node:url';

const dirname = path.dirname(fileURLToPath(import.meta.url));

const errorCodesPath = path.join(dirname, 'docs/src/error-codes.json');

export default function getBabelConfig(api) {
  const baseConfig = getBaseConfig(api);

  const plugins = [
    [
      '@mui/internal-babel-plugin-minify-errors',
      {
        missingError: 'annotate',
        runtimeModule: '#formatErrorMessage',
        detection: 'opt-out',
        errorCodesPath,
      },
    ],
  ];

  const displayNamePlugin = baseConfig.plugins.find(
    (p) => p[2] === '@mui/internal-babel-plugin-display-name',
  );
  displayNamePlugin[1].allowedCallees ??= {};
  displayNamePlugin[1].allowedCallees['@base-ui/utils/fastHooks'] = [
    'fastComponent',
    'fastComponentRef',
  ];

  return {
    ...baseConfig,
    plugins: [...baseConfig.plugins, ...plugins],
    overrides: [
      {
        exclude: /\.test\.(js|ts|tsx)$/,
        plugins: ['@babel/plugin-transform-react-constant-elements'],
      },
    ],
    env: {
      test: {
        sourceMaps: 'both',
      },
    },
  };
}


================================================
FILE: docs/README.md
================================================
# Docs

This is the documentation of Base UI.

To start the docs site in development mode, from the project root, run:

```bash
pnpm start
```

If you do not have pnpm installed, select your OS and follow the instructions on the [pnpm website](https://pnpm.io/installation).

Package managers other than pnpm (like npm or Yarn) are not supported and don't work.

## How can I add a new demo to the documentation?

[You can follow this guide](../CONTRIBUTING.md)
on how to get started contributing to Base UI.

## Error code extraction

Errors in production are minified. They are extracted out of the source code by running the command

```bash
pnpm extract-error-codes
```

This updates the `./src/error-codes.json` file with the newly extracted errors.

Important: If you just altered the text of an error, you are allowed to update the existing error code with the new text in `./src/error-codes.json`, but only under the following conditions:

1. There hasn't been an update to the semantic meaning of the error message. Error codes need to outlive Base UI versions, so the same code must mean the same thing across versions.
2. There hasn't been a change in parameters, no added and no removed.

In both of those cases, always create a new error code lline in `./src/error-codes.json`.


================================================
FILE: docs/next.config.mjs
================================================
// @ts-check
import * as path from 'path';
import * as url from 'url';
import * as fs from 'fs';
import { withDeploymentConfig } from '@mui/internal-docs-infra/withDocsInfra';
import transformMarkdownMetadata from '@mui/internal-docs-infra/pipeline/transformMarkdownMetadata';
import transformMarkdownRelativePaths from '@mui/internal-docs-infra/pipeline/transformMarkdownRelativePaths';
import nextMdx from '@next/mdx';
import rehypeExtractToc from '@stefanprobst/rehype-extract-toc';
import remarkGfm from 'remark-gfm';
import remarkTypography from 'remark-typography';
import { rehypeQuickNav } from 'docs/src/components/QuickNav/rehypeQuickNav.mjs';
import { rehypeConcatHeadings } from 'docs/src/components/QuickNav/rehypeConcatHeadings.mjs';
import { rehypeKbd } from 'docs/src/components/Kbd/rehypeKbd.mjs';
import { rehypeReference } from 'docs/src/components/ReferenceTable/rehypeReference.mjs';
import { rehypeSyntaxHighlighting } from 'docs/src/syntax-highlighting/index.mjs';
import { rehypeSlug } from 'docs/src/components/QuickNav/rehypeSlug.mjs';
import { rehypeSubtitle } from 'docs/src/components/Subtitle/rehypeSubtitle.mjs';

const currentDirectory = url.fileURLToPath(new URL('.', import.meta.url));
const workspaceRoot = path.resolve(currentDirectory, '../');

const withMdx = nextMdx({
  options: {
    remarkPlugins: [
      remarkGfm,
      [
        transformMarkdownMetadata,
        {
          titleSuffix: ' · Base UI',
          extractToIndex: {
            include: ['src/app/react'],
            exclude: [
              'src/app/careers',
              'src/app/production-error',
              'src/app/test',
              'src/app/experiments',
              'src/app/playground',
            ],
            baseDir: path.dirname(url.fileURLToPath(import.meta.url)),
            useVisibleDescription: true,
          },
        },
      ],
      remarkTypography,
      transformMarkdownRelativePaths,
    ],
    rehypePlugins: [
      rehypeReference,
      ...rehypeSyntaxHighlighting,
      rehypeSlug,
      rehypeConcatHeadings,
      rehypeExtractToc,
      rehypeQuickNav,
      rehypeSubtitle,
      rehypeKbd,
    ],
  },
});

/**
 * @returns {{version: string}}
 */
function loadPackageJson() {
  const pkgContent = fs.readFileSync(path.resolve(workspaceRoot, 'package.json'), 'utf8');
  return JSON.parse(pkgContent);
}

const rootPackage = loadPackageJson();

/** @type {import('next').NextConfig} */
const nextConfig = {
  trailingSlash: false,
  pageExtensions: ['mdx', 'tsx'],
  turbopack: {
    rules: {
      './src/app/sitemap/index.ts': {
        as: '*.ts',
        loaders: ['@mui/internal-docs-infra/pipeline/loadPrecomputedSitemap'],
      },
      './src/app/**/demos/*/index.ts': {
        as: '*.ts',
        loaders: ['@mui/internal-docs-infra/pipeline/loadPrecomputedCodeHighlighter'],
      },
      './src/demo-data/*/index.ts': {
        as: '*.ts',
        loaders: ['@mui/internal-docs-infra/pipeline/loadPrecomputedCodeHighlighter'],
      },
    },
  },
  webpack: (config, { defaultLoaders }) => {
    // for production builds
    config.module.rules.push({
      test: /[/\\\\]sitemap[/\\\\]index\.ts$/,
      use: [defaultLoaders.babel, '@mui/internal-docs-infra/pipeline/loadPrecomputedSitemap'],
    });
    config.module.rules.push({
      test: /[/\\\\]demos[/\\\\][^/\\\\]+[/\\\\]index\.ts$/,
      use: [
        defaultLoaders.babel,
        '@mui/internal-docs-infra/pipeline/loadPrecomputedCodeHighlighter',
      ],
    });
    config.module.rules.push({
      test: /[/\\\\]src[/\\\\]demo-data[/\\\\][^/\\\\]+[/\\\\]index\.ts$/,
      use: [
        defaultLoaders.babel,
        '@mui/internal-docs-infra/pipeline/loadPrecomputedCodeHighlighter',
      ],
    });

    return config;
  },
  env: {
    // docs-infra
    LIB_VERSION: rootPackage.version,
    SOURCE_CODE_REPO: 'https://github.com/mui/base-ui',
  },
  ...(process.env.NODE_ENV === 'production' && { distDir: 'export', output: 'export' }),
  devIndicators: false,
  experimental: {
    globalNotFound: true,
  },
};

const mergedConfig = withMdx(withDeploymentConfig(nextConfig));

if (!process.env.CI) {
  delete mergedConfig.experimental?.cpus;
}

export default mergedConfig;


================================================
FILE: docs/package.json
================================================
{
  "name": "docs",
  "private": true,
  "license": "MIT",
  "scripts": {
    "build": "rimraf ./export && cross-env NODE_ENV=production NODE_OPTIONS=--max_old_space_size=8192 next build --webpack && pnpm link-check",
    "build:clean": "rimraf .next && pnpm build",
    "dev": "next dev --webpack --port 3005",
    "deploy": "git fetch upstream master && git push -f upstream FETCH_HEAD:docs-v1",
    "serve": "serve ./export -l 3010",
    "docs-infra": "docs-infra",
    "validate": "pnpm internal-validate --command 'pnpm validate'",
    "internal-validate": "docs-infra validate --useVisibleDescription",
    "typescript": "tsc -b tsconfig.json",
    "link-check": "tsx ./scripts/reportBrokenLinks.mts",
    "generate-llms": "node --experimental-strip-types ./scripts/generateLlmTxt/index.mjs"
  },
  "dependencies": {
    "@base-ui/react": "workspace:*",
    "@base-ui/utils": "workspace:*",
    "@date-fns/tz": "^1.4.1",
    "@mdx-js/loader": "^3.1.1",
    "@mdx-js/react": "^3.1.1",
    "@mui/internal-docs-infra": "0.6.1-canary.3",
    "@next/mdx": "^16.1.6",
    "@react-spring/web": "^10.0.3",
    "@stefanprobst/rehype-extract-toc": "^3.0.0",
    "@tanstack/react-form": "^1.28.4",
    "@tanstack/react-virtual": "^3.13.21",
    "@types/mdx": "^2.0.13",
    "clipboard-copy": "^4.0.1",
    "clsx": "^2.1.1",
    "date-fns": "^4.1.0",
    "es-toolkit": "^1.45.1",
    "estree-util-value-to-estree": "^3.5.0",
    "globby": "^16.1.1",
    "hast": "^1.0.0",
    "hast-util-heading-rank": "^3.0.0",
    "hast-util-to-string": "^3.0.1",
    "lucide-react": "^0.577.0",
    "lz-string": "^1.5.0",
    "match-sorter": "^8.2.0",
    "next": "16.1.7",
    "postcss": "^8.5.8",
    "postcss-custom-media": "^12.0.1",
    "postcss-import": "^16.1.1",
    "radix-ui": "^1.4.3",
    "react": "^19.2.4",
    "react-dom": "^19.2.4",
    "react-error-boundary": "6.1.1",
    "react-hook-form": "^7.71.2",
    "react-is": "^19.2.4",
    "rehype-pretty-code": "^0.14.3",
    "remark": "^15.0.1",
    "remark-frontmatter": "^5.0.0",
    "remark-gfm": "^4.0.1",
    "remark-mdx-frontmatter": "^5.2.0",
    "remark-parse": "^11.0.0",
    "remark-rehype": "^11.1.2",
    "remark-typography": "0.7.3",
    "scroll-into-view-if-needed": "3.1.0",
    "server-only": "^0.0.1",
    "shiki": "^4.0.2",
    "to-vfile": "^8.0.0",
    "unist-util-visit-parents": "^6.0.2",
    "vfile-matter": "^5.0.1"
  },
  "devDependencies": {
    "@mdx-js/mdx": "3.1.1",
    "@tailwindcss/postcss": "4.2.1",
    "@types/gtag.js": "0.0.20",
    "@types/hast": "3.0.4",
    "@types/node": "22.18.13",
    "@types/react": "19.2.14",
    "@types/react-dom": "19.2.3",
    "@types/unist": "3.0.3",
    "@wooorm/starry-night": "3.9.0",
    "baseline-browser-mapping": "2.10.0",
    "cross-env": "10.1.0",
    "mdast-util-mdx-jsx": "3.2.0",
    "motion": "12.35.2",
    "prettier": "3.8.1",
    "react-reconciler": "0.33.0",
    "remark-parse": "11.0.0",
    "remark-stringify": "11.0.0",
    "rimraf": "6.1.3",
    "serve": "14.2.6",
    "tailwindcss": "4.2.1",
    "unified": "11.0.5",
    "unist-util-visit": "5.1.0",
    "yargs": "18.0.0",
    "zod": "4.3.6"
  }
}


================================================
FILE: docs/postcss.config.js
================================================
module.exports = {
  plugins: {
    'postcss-import': {},
    '@tailwindcss/postcss': {},
    'postcss-custom-media': {},
  },
};


================================================
FILE: docs/public/_headers
================================================
/_next/*.js
  Cache-Control: public, max-age=31536000, immutable

/static/favicon.ico
  Content-Type: image/x-icon

/performance/*
  X-Robots-Tag: noindex

/experiments/*
  X-Robots-Tag: noindex

/*
  Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  # Block usage in iframes.
  X-Frame-Options: SAMEORIGIN
  # Force the browser to trust the Content-Type header
  # https://stackoverflow.com/questions/18337630/what-is-x-content-type-options-nosniff
  X-Content-Type-Options: nosniff
  X-XSS-Protection: 1; mode=block
  Referrer-Policy: strict-origin-when-cross-origin
  # TODO: progressively reduce the CSP scopes
  # Start with a wildcard, using https://github.com/mui/toolpad/blob/f4c4eb046b352e4fc00729c3bed605e671b040c4/packages/toolpad-studio/src/server/index.ts#L241
  Content-Security-Policy: default-src * data: mediastream: blob: filesystem: about: ws: wss: 'unsafe-eval' 'wasm-unsafe-eval' 'unsafe-inline'; script-src * data: blob: 'unsafe-inline' 'unsafe-eval'; script-src-elem * data: blob: 'unsafe-inline'; connect-src * data: blob: 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; media-src * data: blob: 'unsafe-inline'; frame-src * data: blob: ; style-src * data: blob: 'unsafe-inline'; font-src * data: blob: 'unsafe-inline'; frame-ancestors *;


================================================
FILE: docs/public/_redirects
================================================
# Link used in the demos, avoid 404
/drafts / 301
/inbox* / 301
/trash / 301

# Playground SPA redirects
/vite-playground/* /vite-playground/index.html 200

# For links that we can't edit later on, for example hosted in the code published on npm
/r/discord https://discord.com/invite/g6C3hUtuxz 302
/r/invalid-render-prop /react/handbook/composition 302

# Legacy redirection
# Added in chronological order (the last line is the most recent one)
# To be removed 3+ years after being introduced

# 2025

# Handles error code path redirect to arg based path

# At the time of adding this rule, there was requirement of at max only a single args[] param
/production-error/:code args\[\]=:args /production-error?code=:code&args[]=:args 301
/production-error/:code /production-error?code=:code 301


================================================
FILE: docs/public/robots.txt
================================================
# Algolia-Crawler-Verif: 98C49CAFF7AEED76

User-agent: *
Allow: /


================================================
FILE: docs/reference/generated/accordion-header.json
================================================
{
  "name": "AccordionHeader",
  "description": "A heading that labels the corresponding panel.\nRenders an `<h3>` element.",
  "props": {
    "className": {
      "type": "string | ((state: Accordion.Header.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((state: Accordion.Header.State) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: Accordion.Header.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: Accordion.Header.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: Accordion.Header.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: Accordion.Header.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {
    "data-open": {
      "description": "Present when the accordion item is open."
    },
    "data-disabled": {
      "description": "Present when the accordion item is disabled."
    },
    "data-index": {
      "description": "Indicates the index of the accordion item.",
      "type": "number"
    }
  },
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/accordion-item.json
================================================
{
  "name": "AccordionItem",
  "description": "Groups an accordion header with the corresponding panel.\nRenders a `<div>` element.",
  "props": {
    "value": {
      "type": "any",
      "description": "A unique value that identifies this accordion item.\nIf no value is provided, a unique ID will be generated automatically.\nUse when controlling the accordion programmatically, or to set an initial\nopen state.",
      "example": "```tsx\n<Accordion.Root value={['a']}>\n  <Accordion.Item value=\"a\" /> // initially open\n  <Accordion.Item value=\"b\" /> // initially closed\n</Accordion.Root>\n```"
    },
    "onOpenChange": {
      "type": "((open: boolean, eventDetails: Accordion.Item.ChangeEventDetails) => void)",
      "description": "Event handler called when the panel is opened or closed.",
      "detailedType": "| ((\n    open: boolean,\n    eventDetails: Accordion.Item.ChangeEventDetails,\n  ) => void)\n| undefined"
    },
    "disabled": {
      "type": "boolean",
      "default": "false",
      "description": "Whether the component should ignore user interaction.",
      "detailedType": "boolean | undefined"
    },
    "className": {
      "type": "string | ((state: Accordion.Item.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((state: Accordion.Item.State) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: Accordion.Item.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: Accordion.Item.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: Accordion.Item.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: Accordion.Item.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {
    "data-open": {
      "description": "Present when the accordion item is open."
    },
    "data-disabled": {
      "description": "Present when the accordion item is disabled."
    },
    "data-index": {
      "description": "Indicates the index of the accordion item.",
      "type": "number"
    }
  },
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/accordion-panel.json
================================================
{
  "name": "AccordionPanel",
  "description": "A collapsible panel with the accordion item contents.\nRenders a `<div>` element.",
  "props": {
    "hiddenUntilFound": {
      "type": "boolean",
      "default": "false",
      "description": "Allows the browser’s built-in page search to find and expand the panel contents.\n\nOverrides the `keepMounted` prop and uses `hidden=\"until-found\"`\nto hide the element without removing it from the DOM.",
      "detailedType": "boolean | undefined"
    },
    "className": {
      "type": "string | ((state: Accordion.Panel.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((state: Accordion.Panel.State) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: Accordion.Panel.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: Accordion.Panel.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "keepMounted": {
      "type": "boolean",
      "default": "false",
      "description": "Whether to keep the element in the DOM while the panel is closed.\nThis prop is ignored when `hiddenUntilFound` is used.",
      "detailedType": "boolean | undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: Accordion.Panel.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: Accordion.Panel.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {
    "data-open": {
      "description": "Present when the accordion panel is open."
    },
    "data-orientation": {
      "description": "Indicates the orientation of the accordion."
    },
    "data-disabled": {
      "description": "Present when the accordion item is disabled."
    },
    "data-index": {
      "description": "Indicates the index of the accordion item.",
      "type": "number"
    },
    "data-starting-style": {
      "description": "Present when the panel is animating in."
    },
    "data-ending-style": {
      "description": "Present when the panel is animating out."
    }
  },
  "cssVariables": {
    "--accordion-panel-height": {
      "description": "The accordion panel's height.",
      "type": "number"
    },
    "--accordion-panel-width": {
      "description": "The accordion panel's width.",
      "type": "number"
    }
  }
}


================================================
FILE: docs/reference/generated/accordion-root.json
================================================
{
  "name": "AccordionRoot",
  "description": "Groups all parts of the accordion.\nRenders a `<div>` element.",
  "props": {
    "defaultValue": {
      "type": "Value[]",
      "description": "The uncontrolled value of the item(s) that should be initially expanded.\n\nTo render a controlled accordion, use the `value` prop instead.",
      "detailedType": "Value[] | undefined"
    },
    "value": {
      "type": "Value[]",
      "description": "The controlled value of the item(s) that should be expanded.\n\nTo render an uncontrolled accordion, use the `defaultValue` prop instead.",
      "detailedType": "Value[] | undefined"
    },
    "onValueChange": {
      "type": "((value: Value[], eventDetails: Accordion.Root.ChangeEventDetails) => void)",
      "description": "Event handler called when an accordion item is expanded or collapsed.\nProvides the new value as an argument.",
      "detailedType": "| ((\n    value: Value[],\n    eventDetails: Accordion.Root.ChangeEventDetails,\n  ) => void)\n| undefined"
    },
    "hiddenUntilFound": {
      "type": "boolean",
      "default": "false",
      "description": "Allows the browser’s built-in page search to find and expand the panel contents.\n\nOverrides the `keepMounted` prop and uses `hidden=\"until-found\"`\nto hide the element without removing it from the DOM.",
      "detailedType": "boolean | undefined"
    },
    "loopFocus": {
      "type": "boolean",
      "default": "true",
      "description": "Whether to loop keyboard focus back to the first item\nwhen the end of the list is reached while using the arrow keys.",
      "detailedType": "boolean | undefined"
    },
    "multiple": {
      "type": "boolean",
      "default": "false",
      "description": "Whether multiple items can be open at the same time.",
      "detailedType": "boolean | undefined"
    },
    "disabled": {
      "type": "boolean",
      "default": "false",
      "description": "Whether the component should ignore user interaction.",
      "detailedType": "boolean | undefined"
    },
    "orientation": {
      "type": "Orientation",
      "default": "'vertical'",
      "description": "The visual orientation of the accordion.\nControls whether roving focus uses left/right or up/down arrow keys.",
      "detailedType": "'horizontal' | 'vertical' | undefined"
    },
    "className": {
      "type": "string | ((state: Accordion.Root.State<Value>) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((\n    state: Accordion.Root.State<Value>,\n  ) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: Accordion.Root.State<Value>) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: Accordion.Root.State<Value>,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "keepMounted": {
      "type": "boolean",
      "default": "false",
      "description": "Whether to keep the element in the DOM while the panel is closed.\nThis prop is ignored when `hiddenUntilFound` is used.",
      "detailedType": "boolean | undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: Accordion.Root.State<Value>) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: Accordion.Root.State<Value>,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {
    "data-orientation": {
      "description": "Indicates the orientation of the accordion."
    },
    "data-disabled": {
      "description": "Present when the accordion is disabled."
    }
  },
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/accordion-trigger.json
================================================
{
  "name": "AccordionTrigger",
  "description": "A button that opens and closes the corresponding panel.\nRenders a `<button>` element.",
  "props": {
    "nativeButton": {
      "type": "boolean",
      "default": "true",
      "description": "Whether the component renders a native `<button>` element when replacing it\nvia the `render` prop.\nSet to `false` if the rendered element is not a button (e.g. `<div>`).",
      "detailedType": "boolean | undefined"
    },
    "className": {
      "type": "string | ((state: Accordion.Trigger.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((state: Accordion.Trigger.State) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: Accordion.Trigger.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: Accordion.Trigger.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: Accordion.Trigger.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: Accordion.Trigger.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {
    "data-panel-open": {
      "description": "Present when the accordion panel is open."
    },
    "data-disabled": {
      "description": "Present when the accordion item is disabled."
    }
  },
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/alert-dialog-backdrop.json
================================================
{
  "name": "AlertDialogBackdrop",
  "description": "An overlay displayed beneath the popup.\nRenders a `<div>` element.",
  "props": {
    "forceRender": {
      "type": "boolean",
      "default": "false",
      "description": "Whether the backdrop is forced to render even when nested.",
      "detailedType": "boolean | undefined"
    },
    "className": {
      "type": "string | ((state: AlertDialog.Backdrop.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((\n    state: AlertDialog.Backdrop.State,\n  ) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: AlertDialog.Backdrop.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: AlertDialog.Backdrop.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: AlertDialog.Backdrop.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: AlertDialog.Backdrop.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {
    "data-open": {
      "description": "Present when the dialog is open."
    },
    "data-closed": {
      "description": "Present when the dialog is closed."
    },
    "data-starting-style": {
      "description": "Present when the dialog is animating in."
    },
    "data-ending-style": {
      "description": "Present when the dialog is animating out."
    }
  },
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/alert-dialog-close.json
================================================
{
  "name": "AlertDialogClose",
  "description": "A button that closes the alert dialog.\nRenders a `<button>` element.",
  "props": {
    "nativeButton": {
      "type": "boolean",
      "default": "true",
      "description": "Whether the component renders a native `<button>` element when replacing it\nvia the `render` prop.\nSet to `false` if the rendered element is not a button (e.g. `<div>`).",
      "detailedType": "boolean | undefined"
    },
    "className": {
      "type": "string | ((state: AlertDialog.Close.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((state: AlertDialog.Close.State) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: AlertDialog.Close.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: AlertDialog.Close.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: AlertDialog.Close.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: AlertDialog.Close.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {
    "data-disabled": {
      "description": "Present when the button is disabled."
    }
  },
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/alert-dialog-description.json
================================================
{
  "name": "AlertDialogDescription",
  "description": "A paragraph with additional information about the alert dialog.\nRenders a `<p>` element.",
  "props": {
    "className": {
      "type": "string | ((state: AlertDialog.Description.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((\n    state: AlertDialog.Description.State,\n  ) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: AlertDialog.Description.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: AlertDialog.Description.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: AlertDialog.Description.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: AlertDialog.Description.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {},
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/alert-dialog-popup.json
================================================
{
  "name": "AlertDialogPopup",
  "description": "A container for the alert dialog contents.\nRenders a `<div>` element.",
  "props": {
    "initialFocus": {
      "type": "boolean | RefObject<HTMLElement | null> | ((openType: InteractionType) => boolean | void | HTMLElement | null)",
      "description": "Determines the element to focus when the dialog is opened.\n\n- `false`: Do not move focus.\n- `true`: Move focus based on the default behavior (first tabbable element or popup).\n- `RefObject`: Move focus to the ref element.\n- `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`).\n  Return an element to focus, `true` to use the default behavior, or `false`/`undefined` to do nothing.",
      "detailedType": "| boolean\n| React.RefObject<HTMLElement | null>\n| ((\n    openType: InteractionType,\n  ) => boolean | void | HTMLElement | null)\n| undefined"
    },
    "finalFocus": {
      "type": "boolean | RefObject<HTMLElement | null> | ((closeType: InteractionType) => boolean | void | HTMLElement | null)",
      "description": "Determines the element to focus when the dialog is closed.\n\n- `false`: Do not move focus.\n- `true`: Move focus based on the default behavior (trigger or previously focused element).\n- `RefObject`: Move focus to the ref element.\n- `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`).\n  Return an element to focus, `true` to use the default behavior, or `false`/`undefined` to do nothing.",
      "detailedType": "| boolean\n| React.RefObject<HTMLElement | null>\n| ((\n    closeType: InteractionType,\n  ) => boolean | void | HTMLElement | null)\n| undefined"
    },
    "className": {
      "type": "string | ((state: AlertDialog.Popup.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((state: AlertDialog.Popup.State) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: AlertDialog.Popup.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: AlertDialog.Popup.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: AlertDialog.Popup.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: AlertDialog.Popup.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {
    "data-open": {
      "description": "Present when the dialog is open."
    },
    "data-closed": {
      "description": "Present when the dialog is closed."
    },
    "data-nested": {
      "description": "Present when the dialog is nested within another dialog."
    },
    "data-nested-dialog-open": {
      "description": "Present when the dialog has other open dialogs nested within it."
    },
    "data-starting-style": {
      "description": "Present when the dialog is animating in."
    },
    "data-ending-style": {
      "description": "Present when the dialog is animating out."
    }
  },
  "cssVariables": {
    "--nested-dialogs": {
      "description": "Indicates how many dialogs are nested within.",
      "type": "number"
    }
  }
}


================================================
FILE: docs/reference/generated/alert-dialog-portal.json
================================================
{
  "name": "AlertDialogPortal",
  "description": "A portal element that moves the popup to a different part of the DOM.\nBy default, the portal element is appended to `<body>`.\nRenders a `<div>` element.",
  "props": {
    "container": {
      "type": "HTMLElement | ShadowRoot | RefObject<HTMLElement | ShadowRoot | null> | null",
      "description": "A parent element to render the portal element into.",
      "detailedType": "| HTMLElement\n| ShadowRoot\n| React.RefObject<HTMLElement | ShadowRoot | null>\n| null\n| undefined"
    },
    "className": {
      "type": "string | ((state: AlertDialog.Portal.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((\n    state: AlertDialog.Portal.State,\n  ) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: AlertDialog.Portal.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: AlertDialog.Portal.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "keepMounted": {
      "type": "boolean",
      "default": "false",
      "description": "Whether to keep the portal mounted in the DOM while the popup is hidden.",
      "detailedType": "boolean | undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: AlertDialog.Portal.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: AlertDialog.Portal.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {},
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/alert-dialog-root.json
================================================
{
  "name": "AlertDialogRoot",
  "description": "Groups all parts of the alert dialog.\nDoesn’t render its own HTML element.",
  "props": {
    "defaultOpen": {
      "type": "boolean",
      "default": "false",
      "description": "Whether the dialog is initially open.\n\nTo render a controlled dialog, use the `open` prop instead.",
      "detailedType": "boolean | undefined"
    },
    "open": {
      "type": "boolean",
      "description": "Whether the dialog is currently open.",
      "detailedType": "boolean | undefined"
    },
    "onOpenChange": {
      "type": "((open: boolean, eventDetails: AlertDialog.Root.ChangeEventDetails) => void)",
      "description": "Event handler called when the dialog is opened or closed.",
      "detailedType": "| ((\n    open: boolean,\n    eventDetails: AlertDialog.Root.ChangeEventDetails,\n  ) => void)\n| undefined"
    },
    "actionsRef": {
      "type": "RefObject<AlertDialog.Root.Actions | null>",
      "description": "A ref to imperative actions.\n- `unmount`: When specified, the dialog will not be unmounted when closed.\nInstead, the `unmount` function must be called to unmount the dialog manually.\nUseful when the dialog's animation is controlled by an external library.\n- `close`: Closes the dialog imperatively when called.",
      "detailedType": "| React.RefObject<AlertDialog.Root.Actions | null>\n| undefined"
    },
    "defaultTriggerId": {
      "type": "string | null",
      "description": "ID of the trigger that the dialog is associated with.\nThis is useful in conjunction with the `defaultOpen` prop to create an initially open dialog.",
      "detailedType": "string | null | undefined"
    },
    "handle": {
      "type": "AlertDialog.Handle<Payload>",
      "description": "A handle to associate the alert dialog with a trigger.\nIf specified, allows external triggers to control the alert dialog's open state.\nCan be created with the AlertDialog.createHandle() method.",
      "detailedType": "{} | undefined"
    },
    "onOpenChangeComplete": {
      "type": "((open: boolean) => void)",
      "description": "Event handler called after any animations complete when the dialog is opened or closed.",
      "detailedType": "((open: boolean) => void) | undefined"
    },
    "triggerId": {
      "type": "string | null",
      "description": "ID of the trigger that the dialog is associated with.\nThis is useful in conjunction with the `open` prop to create a controlled dialog.\nThere's no need to specify this prop when the popover is uncontrolled (i.e. when the `open` prop is not set).",
      "detailedType": "string | null | undefined"
    },
    "children": {
      "type": "ReactNode | PayloadChildRenderFunction<Payload>",
      "description": "The content of the dialog.\nThis can be a regular React node or a render function that receives the `payload` of the active trigger.",
      "detailedType": "| React.ReactNode\n| ((arg: { payload: Payload | undefined }) => ReactNode)"
    }
  },
  "dataAttributes": {},
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/alert-dialog-title.json
================================================
{
  "name": "AlertDialogTitle",
  "description": "A heading that labels the dialog.\nRenders an `<h2>` element.",
  "props": {
    "className": {
      "type": "string | ((state: AlertDialog.Title.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((state: AlertDialog.Title.State) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: AlertDialog.Title.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: AlertDialog.Title.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: AlertDialog.Title.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: AlertDialog.Title.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {},
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/alert-dialog-trigger.json
================================================
{
  "name": "AlertDialogTrigger",
  "description": "A button that opens the alert dialog.\nRenders a `<button>` element.",
  "props": {
    "handle": {
      "type": "DialogHandle<Payload>",
      "description": "A handle to associate the trigger with a dialog.\nCan be created with the AlertDialog.createHandle() method.",
      "detailedType": "{} | undefined"
    },
    "nativeButton": {
      "type": "boolean",
      "default": "true",
      "description": "Whether the component renders a native `<button>` element when replacing it\nvia the `render` prop.\nSet to `false` if the rendered element is not a button (e.g. `<div>`).",
      "detailedType": "boolean | undefined"
    },
    "payload": {
      "type": "Payload",
      "description": "A payload to pass to the dialog when it is opened.",
      "detailedType": "Payload | undefined"
    },
    "id": {
      "type": "string",
      "description": "ID of the trigger. In addition to being forwarded to the rendered element,\nit is also used to specify the active trigger for the dialogs in controlled mode (with the Dialog.Root `triggerId` prop).",
      "detailedType": "string | undefined"
    },
    "className": {
      "type": "string | ((state: AlertDialog.Trigger.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((state: AlertDialog.Trigger.State) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: AlertDialog.Trigger.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: AlertDialog.Trigger.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: AlertDialog.Trigger.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: AlertDialog.Trigger.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {
    "data-popup-open": {
      "description": "Present when the corresponding dialog is open."
    },
    "data-disabled": {
      "description": "Present when the trigger is disabled."
    }
  },
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/alert-dialog-viewport.json
================================================
{
  "name": "AlertDialogViewport",
  "description": "A positioning container for the dialog popup that can be made scrollable.\nRenders a `<div>` element.",
  "props": {
    "className": {
      "type": "string | ((state: AlertDialog.Viewport.State) => string | undefined)",
      "description": "CSS class applied to the element, or a function that\nreturns a class based on the component’s state.",
      "detailedType": "| string\n| ((\n    state: AlertDialog.Viewport.State,\n  ) => string | undefined)"
    },
    "style": {
      "type": "CSSProperties | ((state: AlertDialog.Viewport.State) => CSSProperties | undefined)",
      "detailedType": "| React.CSSProperties\n| ((\n    state: AlertDialog.Viewport.State,\n  ) => CSSProperties | undefined)\n| undefined"
    },
    "render": {
      "type": "ReactElement | ((props: HTMLProps, state: AlertDialog.Viewport.State) => ReactElement)",
      "description": "Allows you to replace the component’s HTML element\nwith a different tag, or compose it with another component.\n\nAccepts a `ReactElement` or a function that returns the element to render.",
      "detailedType": "| ReactElement\n| ((\n    props: HTMLProps,\n    state: AlertDialog.Viewport.State,\n  ) => ReactElement)"
    }
  },
  "dataAttributes": {
    "data-open": {
      "description": "Present when the dialog is open."
    },
    "data-closed": {
      "description": "Present when the dialog is closed."
    },
    "data-nested": {
      "description": "Present when the dialog is nested within another dialog."
    },
    "data-nested-dialog-open": {
      "description": "Present when the dialog has other open dialogs nested within it."
    },
    "data-starting-style": {
      "description": "Present when the dialog is animating in."
    },
    "data-ending-style": {
      "description": "Present when the dialog is animating out."
    }
  },
  "cssVariables": {}
}


================================================
FILE: docs/reference/generated/autocomplete-root.json
================================================
{
  "name": "AutocompleteRoot",
  "description": "Groups all parts of the autocomplete.\nDoesn't render its own HTML element.",
  "props": {
    "name": {
      "type": "string",
      "description": "Identifies the field when a form is submitted.",
      "detailedType": "string | undefined"
    },
    "defaultValue": {
      "type": "string | number | string[]",
      "description": "The uncontrolled input value of the autocomplete when it's initially rendered.\n\nTo render a controlled autocomplete, use the `value` prop instead.",
      "detailedType": "string | number | string[] | undefined"
    },
    "value": {
      "type": "string | number | string[]",
      "description": "The input value of the autocomplete. Use when controlled.",
      "detailedType": "string | number | string[] | undefined"
    },
    "onValueChange": {
      "type": "((value: string, eventDetails: Autocomplete.Root.ChangeEventDetails) => void)",
      "description": "Event handler called when the input value of the autocomplete changes.",
      "detailedType": "| ((\n    value: string,\n    eventDetails: Autocomplete.Root.ChangeEventDetails,\n  ) => void)\n| undefined"
    },
    "defaultOpen": {
      "type": "boolean",
      "default": "false",
      "description": "Whether the popup is initially open.\n\nTo render a controlled popup, use the `open` prop instead.",
      "detailedType": "boolean | undefined"
    },
    "open": {
      "type": "boolean",
      "description": "Whether the popup is currently open. Use when controlled.",
      "detailedType": "boolean | undefined"
    },
    "onOpenChange": {
      "type": "((open: boolean, eventDetails: Autocomplete.Root.ChangeEventDetails) => void)",
      "description": "Event handler called when the popup is opened or closed.",
      "detailedType": "| ((\n    open: boolean,\n    eventDetails: Autocomplete.Root.ChangeEventDetails,\n  ) => void)\n| undefined"
    },
    "autoHighlight": {
      "type": "boolean | 'always'",
      "default": "false",
      "description": "Whether the first matching item is highlighted automatically.\n- `true`: highlight after the user types and keep the highlight while the query changes.\n- `'always'`: always highlight the first item.",
      "detailedType": "boolean | 'always' | undefined"
    },
    "keepHighlight": {
      "type": "boolean",
      "default": "false",
      "description": "Whether the highlighted item should be preserved when the pointer leaves the list.",
      "detailedType": "boolean | undefined"
    },
    "highlightItemOnHover": {
      "type": "boolean",
      "default": "true",
      "description": "Whether moving the pointer over items should highlight them.\nDisabling this prop allows CSS `:hover` to be differentiated from the `:focus` (`data-highlighted`) state.",
      "detailedType": "boolean | undefined"
    },
    "actionsRef": {
      "type": "RefObject<Autocomplete.Root.Actions | null>",
      "description": "A ref to imperative actions.\n- `unmount`: When specified, the autocomplete will not be unmounted when closed.\nInstead, the `unmount` function must be called to unmount the autocomplete manually.\nUseful when the autocomplete's animation is controlled by an external library.",
      "detailedType": "| React.RefObject<Autocomplete.Root.Actions | null>\n| undefined"
    },
    "filter": {
      "type": "((itemValue: ItemValue, query: string, itemToString: ((itemValue: ItemValue) => string) | undefined) => boolean) | null",
      "description": "Filter function used to match items vs input query.",
      "detailedType": "| ((\n    itemValue: ItemValue,\n    query: string,\n    itemToString:\n      | ((itemValue: ItemValue) => string)\n      | undefined,\n  ) => boolean)\n| null\n| undefined"
    },
    "filteredItems": {
      "type": "any[] | Group[]",
      "description": "Filtered items to display in the list.\nWhen provided, the list will use these items instead of filtering the `items` prop internally.\nUse when you want to control filtering logic externally with the `useFilter()` hook.",
      "detailedType": "any[] | Group[] | undefined"
    },
    "grid": {
      "type": "boolean",
      "default": "false",
      "description": "Whether list items are presented in a grid layout.\nWhen enabled, arrow keys navigate across rows and columns inferred from DOM rows.",
   
Download .txt
gitextract_kkoivwn8/

├── .browserslistrc
├── .circleci/
│   └── config.yml
├── .editorconfig
├── .gitattributes
├── .github/
│   ├── CODEOWNERS
│   ├── ISSUE_TEMPLATE/
│   │   ├── 1.bug.md
│   │   ├── 2.feature-request.md
│   │   ├── 3.get-help.md
│   │   └── 4.docs-feedback.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── codeql/
│   │   └── codeql-config.yml
│   ├── dependabot.yml
│   └── workflows/
│       ├── check-if-pr-has-label.yml
│       ├── ci.yml
│       ├── codeql.yml
│       ├── ensure-triage-label.yml
│       ├── fixed-issue.yml
│       ├── maintenance.yml
│       ├── mark-duplicate.yml
│       ├── new-issue-triage.yml
│       ├── no-response.yml
│       ├── publish.yml
│       ├── scorecards.yml
│       ├── support-stackoverflow.yml
│       └── vale-action.yml
├── .gitignore
├── .lintignore
├── .markdownlint-cli2.mjs
├── .npmrc
├── .vale.ini
├── .vscode/
│   ├── extensions.json
│   └── settings.json
├── AGENTS.md
├── CHANGELOG.md
├── CHANGELOG.old.md
├── CLAUDE.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── babel.config.mjs
├── docs/
│   ├── README.md
│   ├── next.config.mjs
│   ├── package.json
│   ├── postcss.config.js
│   ├── public/
│   │   ├── _headers
│   │   ├── _redirects
│   │   └── robots.txt
│   ├── reference/
│   │   └── generated/
│   │       ├── accordion-header.json
│   │       ├── accordion-item.json
│   │       ├── accordion-panel.json
│   │       ├── accordion-root.json
│   │       ├── accordion-trigger.json
│   │       ├── alert-dialog-backdrop.json
│   │       ├── alert-dialog-close.json
│   │       ├── alert-dialog-description.json
│   │       ├── alert-dialog-popup.json
│   │       ├── alert-dialog-portal.json
│   │       ├── alert-dialog-root.json
│   │       ├── alert-dialog-title.json
│   │       ├── alert-dialog-trigger.json
│   │       ├── alert-dialog-viewport.json
│   │       ├── autocomplete-root.json
│   │       ├── autocomplete-value.json
│   │       ├── avatar-fallback.json
│   │       ├── avatar-image.json
│   │       ├── avatar-root.json
│   │       ├── button.json
│   │       ├── calendar-day-button.json
│   │       ├── calendar-day-grid-body.json
│   │       ├── calendar-day-grid-cell.json
│   │       ├── calendar-day-grid-header-cell.json
│   │       ├── calendar-day-grid-header-row.json
│   │       ├── calendar-day-grid-header.json
│   │       ├── calendar-day-grid-row.json
│   │       ├── calendar-day-grid.json
│   │       ├── calendar-decrement-month.json
│   │       ├── calendar-increment-month.json
│   │       ├── calendar-root.json
│   │       ├── calendar-viewport.json
│   │       ├── checkbox-group.json
│   │       ├── checkbox-indicator.json
│   │       ├── checkbox-root.json
│   │       ├── collapsible-panel.json
│   │       ├── collapsible-root.json
│   │       ├── collapsible-trigger.json
│   │       ├── combobox-arrow.json
│   │       ├── combobox-backdrop.json
│   │       ├── combobox-chip-remove.json
│   │       ├── combobox-chip.json
│   │       ├── combobox-chips.json
│   │       ├── combobox-clear.json
│   │       ├── combobox-collection.json
│   │       ├── combobox-empty.json
│   │       ├── combobox-group-label.json
│   │       ├── combobox-group.json
│   │       ├── combobox-icon.json
│   │       ├── combobox-input-group.json
│   │       ├── combobox-input.json
│   │       ├── combobox-item-indicator.json
│   │       ├── combobox-item.json
│   │       ├── combobox-label.json
│   │       ├── combobox-list.json
│   │       ├── combobox-popup.json
│   │       ├── combobox-portal.json
│   │       ├── combobox-positioner.json
│   │       ├── combobox-root.json
│   │       ├── combobox-row.json
│   │       ├── combobox-status.json
│   │       ├── combobox-trigger.json
│   │       ├── combobox-value.json
│   │       ├── context-menu-root.json
│   │       ├── context-menu-trigger.json
│   │       ├── csp-provider.json
│   │       ├── dialog-backdrop.json
│   │       ├── dialog-close.json
│   │       ├── dialog-description.json
│   │       ├── dialog-popup.json
│   │       ├── dialog-portal.json
│   │       ├── dialog-root.json
│   │       ├── dialog-title.json
│   │       ├── dialog-trigger.json
│   │       ├── dialog-viewport.json
│   │       ├── direction-provider.json
│   │       ├── drawer-backdrop.json
│   │       ├── drawer-close.json
│   │       ├── drawer-content.json
│   │       ├── drawer-description.json
│   │       ├── drawer-indent-background.json
│   │       ├── drawer-indent.json
│   │       ├── drawer-popup.json
│   │       ├── drawer-portal.json
│   │       ├── drawer-provider.json
│   │       ├── drawer-root.json
│   │       ├── drawer-swipe-area.json
│   │       ├── drawer-title.json
│   │       ├── drawer-trigger.json
│   │       ├── drawer-viewport.json
│   │       ├── field-control.json
│   │       ├── field-description.json
│   │       ├── field-error.json
│   │       ├── field-item.json
│   │       ├── field-label.json
│   │       ├── field-root.json
│   │       ├── field-validity.json
│   │       ├── fieldset-legend.json
│   │       ├── fieldset-root.json
│   │       ├── form.json
│   │       ├── group-collection-provider.json
│   │       ├── input.json
│   │       ├── localization-provider.json
│   │       ├── menu-arrow.json
│   │       ├── menu-backdrop.json
│   │       ├── menu-checkbox-item-indicator.json
│   │       ├── menu-checkbox-item.json
│   │       ├── menu-group-label.json
│   │       ├── menu-group.json
│   │       ├── menu-item.json
│   │       ├── menu-link-item.json
│   │       ├── menu-popup.json
│   │       ├── menu-portal.json
│   │       ├── menu-positioner.json
│   │       ├── menu-radio-group.json
│   │       ├── menu-radio-item-indicator.json
│   │       ├── menu-radio-item.json
│   │       ├── menu-root.json
│   │       ├── menu-submenu-root.json
│   │       ├── menu-submenu-trigger.json
│   │       ├── menu-trigger.json
│   │       ├── menu-viewport.json
│   │       ├── menubar.json
│   │       ├── merge-props-n.json
│   │       ├── merge-props.json
│   │       ├── meter-indicator.json
│   │       ├── meter-label.json
│   │       ├── meter-root.json
│   │       ├── meter-track.json
│   │       ├── meter-value.json
│   │       ├── navigation-menu-arrow.json
│   │       ├── navigation-menu-backdrop.json
│   │       ├── navigation-menu-content.json
│   │       ├── navigation-menu-icon.json
│   │       ├── navigation-menu-item.json
│   │       ├── navigation-menu-link.json
│   │       ├── navigation-menu-list.json
│   │       ├── navigation-menu-popup.json
│   │       ├── navigation-menu-portal.json
│   │       ├── navigation-menu-positioner.json
│   │       ├── navigation-menu-root.json
│   │       ├── navigation-menu-trigger.json
│   │       ├── navigation-menu-viewport.json
│   │       ├── number-field-decrement.json
│   │       ├── number-field-group.json
│   │       ├── number-field-increment.json
│   │       ├── number-field-input.json
│   │       ├── number-field-root.json
│   │       ├── number-field-scrub-area-cursor.json
│   │       ├── number-field-scrub-area.json
│   │       ├── popover-arrow.json
│   │       ├── popover-backdrop.json
│   │       ├── popover-close.json
│   │       ├── popover-description.json
│   │       ├── popover-popup.json
│   │       ├── popover-portal.json
│   │       ├── popover-positioner.json
│   │       ├── popover-root.json
│   │       ├── popover-title.json
│   │       ├── popover-trigger.json
│   │       ├── popover-viewport.json
│   │       ├── preview-card-arrow.json
│   │       ├── preview-card-backdrop.json
│   │       ├── preview-card-popup.json
│   │       ├── preview-card-portal.json
│   │       ├── preview-card-positioner.json
│   │       ├── preview-card-root.json
│   │       ├── preview-card-trigger.json
│   │       ├── preview-card-viewport.json
│   │       ├── progress-indicator.json
│   │       ├── progress-label.json
│   │       ├── progress-root.json
│   │       ├── progress-track.json
│   │       ├── progress-value.json
│   │       ├── radio-group.json
│   │       ├── radio-indicator.json
│   │       ├── radio-root.json
│   │       ├── scroll-area-content.json
│   │       ├── scroll-area-corner.json
│   │       ├── scroll-area-root.json
│   │       ├── scroll-area-scrollbar.json
│   │       ├── scroll-area-thumb.json
│   │       ├── scroll-area-viewport.json
│   │       ├── select-arrow.json
│   │       ├── select-backdrop.json
│   │       ├── select-group-label.json
│   │       ├── select-group.json
│   │       ├── select-icon.json
│   │       ├── select-item-indicator.json
│   │       ├── select-item-text.json
│   │       ├── select-item.json
│   │       ├── select-label.json
│   │       ├── select-list.json
│   │       ├── select-popup.json
│   │       ├── select-portal.json
│   │       ├── select-positioner.json
│   │       ├── select-root.json
│   │       ├── select-scroll-down-arrow.json
│   │       ├── select-scroll-up-arrow.json
│   │       ├── select-trigger.json
│   │       ├── select-value.json
│   │       ├── separator.json
│   │       ├── slider-control.json
│   │       ├── slider-indicator.json
│   │       ├── slider-label.json
│   │       ├── slider-root.json
│   │       ├── slider-thumb.json
│   │       ├── slider-track.json
│   │       ├── slider-value.json
│   │       ├── switch-root.json
│   │       ├── switch-thumb.json
│   │       ├── tabs-indicator.json
│   │       ├── tabs-list.json
│   │       ├── tabs-panel.json
│   │       ├── tabs-root.json
│   │       ├── tabs-tab.json
│   │       ├── temporal-adapter-provider.json
│   │       ├── toast-action.json
│   │       ├── toast-arrow.json
│   │       ├── toast-close.json
│   │       ├── toast-content.json
│   │       ├── toast-description.json
│   │       ├── toast-portal.json
│   │       ├── toast-positioner.json
│   │       ├── toast-provider.json
│   │       ├── toast-root.json
│   │       ├── toast-title.json
│   │       ├── toast-viewport.json
│   │       ├── toggle-group.json
│   │       ├── toggle.json
│   │       ├── toolbar-button.json
│   │       ├── toolbar-group.json
│   │       ├── toolbar-input.json
│   │       ├── toolbar-link.json
│   │       ├── toolbar-root.json
│   │       ├── toolbar-separator.json
│   │       ├── tooltip-arrow.json
│   │       ├── tooltip-popup.json
│   │       ├── tooltip-portal.json
│   │       ├── tooltip-positioner.json
│   │       ├── tooltip-provider.json
│   │       ├── tooltip-root.json
│   │       ├── tooltip-trigger.json
│   │       ├── tooltip-viewport.json
│   │       └── use-render.json
│   ├── scripts/
│   │   ├── generateLlmTxt/
│   │   │   ├── __snapshots__/
│   │   │   │   └── mdxToMarkdown.test.mjs.snap
│   │   │   ├── demoProcessor.mjs
│   │   │   ├── index.mjs
│   │   │   ├── mdxNodeHelpers.mjs
│   │   │   ├── mdxToMarkdown.mjs
│   │   │   ├── mdxToMarkdown.test.mjs
│   │   │   ├── propsReferenceTableProcessor.mjs
│   │   │   ├── referenceProcessor.mjs
│   │   │   ├── releaseTimelineProcessor.mjs
│   │   │   └── resolver.mjs
│   │   ├── playground.template.tsx
│   │   ├── rehypeExtractLinkUrls.mts
│   │   └── reportBrokenLinks.mts
│   ├── src/
│   │   ├── app/
│   │   │   ├── (docs)/
│   │   │   │   ├── layout.css
│   │   │   │   ├── layout.tsx
│   │   │   │   ├── production-error/
│   │   │   │   │   ├── ErrorCode.tsx
│   │   │   │   │   ├── ErrorDisplay.tsx
│   │   │   │   │   └── page.mdx
│   │   │   │   └── react/
│   │   │   │       ├── components/
│   │   │   │       │   ├── accordion/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── _index.module.css
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── multiple/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── alert-dialog/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── _index.module.css
│   │   │   │       │   │   │   ├── detached-triggers-controlled/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-simple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── autocomplete/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── async/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── auto-highlight/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── command-palette/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── fuzzy-matching/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── grid/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── grouped/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── inline/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── limit/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── virtualized/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── avatar/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── button/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── loading/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── calendar/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── animation/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── animation-motion/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── calendar.module.css
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── lazy-loading/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── timezone/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── timezone-display/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── unavailable-dates/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── validation/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── week-numbers/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   └── year-month-select/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       └── index.ts
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── checkbox/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── checkbox-group/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── nested/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   └── parent/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       └── index.ts
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── collapsible/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── combobox/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── async-multiple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── async-single/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── creatable/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── grouped/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── input-inside-popup/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── multiple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── virtualized/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── context-menu/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── submenu/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── dialog/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── _index.module.css
│   │   │   │       │   │   │   ├── close-confirmation/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-controlled/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-simple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── inside-scroll/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── nested/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── outside-scroll/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── uncontained/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── drawer/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── indent-provider/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── mobile-nav/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── nested/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── non-modal/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── position/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── snap-points/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── swipe-area/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── uncontained/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── field/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── fieldset/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── form/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── form-action/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── zod/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── input/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── menu/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── _index.module.css
│   │   │   │       │   │   │   ├── checkbox-items/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-controlled/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-full/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-simple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── group-labels/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── open-on-hover/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── radio-items/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── submenu/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── menubar/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── meter/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── navigation-menu/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── nested/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── nested-inline/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── data.ts
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── number-field/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── page.mdx
│   │   │   │       │   ├── popover/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── _index.module.css
│   │   │   │       │   │   │   ├── detached-triggers-controlled/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-full/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-simple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── icons-tw.tsx
│   │   │   │       │   │   │   └── open-on-hover/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── preview-card/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── detached-triggers-controlled/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-full/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── detached-triggers-simple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── index.module.css
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── progress/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── radio/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── scroll-area/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── both/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── scroll-fade/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── select/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── grouped/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── multiple/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── object-values/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── separator/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── slider/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── edge-alignment/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── range-slider/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── vertical/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── switch/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── tabs/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── toast/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── anchored/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── custom/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── position/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── promise/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── undo/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   └── varying-heights/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       └── index.ts
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── toggle/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── toggle-group/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── multiple/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── toolbar/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   └── hero/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   └── tooltip/
│   │   │   │       │       ├── demos/
│   │   │   │       │       │   ├── detached-triggers-controlled/
│   │   │   │       │       │   │   ├── css-modules/
│   │   │   │       │       │   │   │   └── index.tsx
│   │   │   │       │       │   │   ├── index.ts
│   │   │   │       │       │   │   └── tailwind/
│   │   │   │       │       │   │       └── index.tsx
│   │   │   │       │       │   ├── detached-triggers-full/
│   │   │   │       │       │   │   ├── css-modules/
│   │   │   │       │       │   │   │   ├── index.module.css
│   │   │   │       │       │   │   │   └── index.tsx
│   │   │   │       │       │   │   ├── index.ts
│   │   │   │       │       │   │   └── tailwind/
│   │   │   │       │       │   │       └── index.tsx
│   │   │   │       │       │   ├── detached-triggers-simple/
│   │   │   │       │       │   │   ├── css-modules/
│   │   │   │       │       │   │   │   └── index.tsx
│   │   │   │       │       │   │   ├── index.ts
│   │   │   │       │       │   │   └── tailwind/
│   │   │   │       │       │   │       └── index.tsx
│   │   │   │       │       │   ├── hero/
│   │   │   │       │       │   │   ├── css-modules/
│   │   │   │       │       │   │   │   ├── index.module.css
│   │   │   │       │       │   │   │   └── index.tsx
│   │   │   │       │       │   │   ├── index.ts
│   │   │   │       │       │   │   └── tailwind/
│   │   │   │       │       │   │       └── index.tsx
│   │   │   │       │       │   ├── icons-tw.tsx
│   │   │   │       │       │   └── index.module.css
│   │   │   │       │       └── page.mdx
│   │   │   │       ├── handbook/
│   │   │   │       │   ├── animation/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── animated-popover-motion-keep-mounted-false/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   ├── animated-popover-motion-keep-mounted-true/
│   │   │   │       │   │   │   │   ├── css-modules/
│   │   │   │       │   │   │   │   │   ├── index.module.css
│   │   │   │       │   │   │   │   │   └── index.tsx
│   │   │   │       │   │   │   │   └── index.ts
│   │   │   │       │   │   │   └── animated-select-motion/
│   │   │   │       │   │   │       ├── css-modules/
│   │   │   │       │   │   │       │   ├── index.module.css
│   │   │   │       │   │   │       │   └── index.tsx
│   │   │   │       │   │   │       └── index.ts
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── composition/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── customization/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── forms/
│   │   │   │       │   │   ├── demos/
│   │   │   │       │   │   │   ├── components/
│   │   │   │       │   │   │   │   ├── autocomplete.tsx
│   │   │   │       │   │   │   │   ├── button.tsx
│   │   │   │       │   │   │   │   ├── checkbox-group.tsx
│   │   │   │       │   │   │   │   ├── checkbox.tsx
│   │   │   │       │   │   │   │   ├── combobox.tsx
│   │   │   │       │   │   │   │   ├── field.tsx
│   │   │   │       │   │   │   │   ├── fieldset.tsx
│   │   │   │       │   │   │   │   ├── form.tsx
│   │   │   │       │   │   │   │   ├── number-field.tsx
│   │   │   │       │   │   │   │   ├── radio-group.tsx
│   │   │   │       │   │   │   │   ├── radio.tsx
│   │   │   │       │   │   │   │   ├── select.tsx
│   │   │   │       │   │   │   │   ├── slider.tsx
│   │   │   │       │   │   │   │   ├── switch.tsx
│   │   │   │       │   │   │   │   └── toast.tsx
│   │   │   │       │   │   │   ├── hero/
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   ├── react-hook-form/
│   │   │   │       │   │   │   │   ├── index.ts
│   │   │   │       │   │   │   │   └── tailwind/
│   │   │   │       │   │   │   │       └── index.tsx
│   │   │   │       │   │   │   └── tanstack-form/
│   │   │   │       │   │   │       ├── index.ts
│   │   │   │       │   │   │       └── tailwind/
│   │   │   │       │   │   │           └── index.tsx
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── page.mdx
│   │   │   │       │   ├── styling/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   └── typescript/
│   │   │   │       │       └── page.mdx
│   │   │   │       ├── overview/
│   │   │   │       │   ├── about/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── accessibility/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   ├── page.mdx
│   │   │   │       │   ├── quick-start/
│   │   │   │       │   │   └── page.mdx
│   │   │   │       │   └── releases/
│   │   │   │       │       ├── page.mdx
│   │   │   │       │       ├── v1-0-0/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-alpha-4/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-alpha-5/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-alpha-6/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-alpha-7/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-alpha-8/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-0/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-1/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-2/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-3/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-4/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-5/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-6/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-beta-7/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-rc-0/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-rc-1/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-0-0-rc-2/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-1-0/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       ├── v1-2-0/
│   │   │   │       │       │   └── page.mdx
│   │   │   │       │       └── v1-3-0/
│   │   │   │       │           └── page.mdx
│   │   │   │       ├── page.mdx
│   │   │   │       └── utils/
│   │   │   │           ├── csp-provider/
│   │   │   │           │   └── page.mdx
│   │   │   │           ├── direction-provider/
│   │   │   │           │   ├── demos/
│   │   │   │           │   │   └── hero/
│   │   │   │           │   │       ├── css-modules/
│   │   │   │           │   │       │   ├── index.module.css
│   │   │   │           │   │       │   └── index.tsx
│   │   │   │           │   │       ├── index.ts
│   │   │   │           │   │       └── tailwind/
│   │   │   │           │   │           └── index.tsx
│   │   │   │           │   └── page.mdx
│   │   │   │           ├── localization-provider/
│   │   │   │           │   ├── calendar.module.css
│   │   │   │           │   ├── demos/
│   │   │   │           │   │   ├── hero/
│   │   │   │           │   │   │   ├── css-modules/
│   │   │   │           │   │   │   │   └── index.tsx
│   │   │   │           │   │   │   └── index.ts
│   │   │   │           │   │   ├── nesting/
│   │   │   │           │   │   │   ├── css-modules/
│   │   │   │           │   │   │   │   ├── index.module.css
│   │   │   │           │   │   │   │   └── index.tsx
│   │   │   │           │   │   │   └── index.ts
│   │   │   │           │   │   └── start-of-week/
│   │   │   │           │   │       ├── css-modules/
│   │   │   │           │   │       │   ├── index.module.css
│   │   │   │           │   │       │   └── index.tsx
│   │   │   │           │   │       └── index.ts
│   │   │   │           │   └── page.mdx
│   │   │   │           ├── merge-props/
│   │   │   │           │   ├── demos/
│   │   │   │           │   │   └── prevent-base-ui-handler/
│   │   │   │           │   │       ├── css-modules/
│   │   │   │           │   │       │   ├── index.module.css
│   │   │   │           │   │       │   └── index.tsx
│   │   │   │           │   │       └── index.ts
│   │   │   │           │   └── page.mdx
│   │   │   │           ├── page.mdx
│   │   │   │           └── use-render/
│   │   │   │               ├── demos/
│   │   │   │               │   ├── render/
│   │   │   │               │   │   ├── css-modules/
│   │   │   │               │   │   │   ├── index.module.css
│   │   │   │               │   │   │   └── index.tsx
│   │   │   │               │   │   └── index.ts
│   │   │   │               │   └── render-callback/
│   │   │   │               │       ├── css-modules/
│   │   │   │               │       │   ├── index.module.css
│   │   │   │               │       │   └── index.tsx
│   │   │   │               │       └── index.ts
│   │   │   │               └── page.mdx
│   │   │   ├── (private)/
│   │   │   │   ├── docs-theme/
│   │   │   │   │   ├── page.module.css
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── experiments/
│   │   │   │   │   ├── [...slug]/
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── _components/
│   │   │   │   │   │   ├── Button.module.css
│   │   │   │   │   │   ├── Button.tsx
│   │   │   │   │   │   ├── EditPanel.tsx
│   │   │   │   │   │   ├── ExperimentRoot.module.css
│   │   │   │   │   │   ├── ExperimentRoot.tsx
│   │   │   │   │   │   ├── ExperimentsList.module.css
│   │   │   │   │   │   ├── ExperimentsList.tsx
│   │   │   │   │   │   ├── HideSidebar.tsx
│   │   │   │   │   │   ├── Input.module.css
│   │   │   │   │   │   ├── Input.tsx
│   │   │   │   │   │   ├── SandboxLink.tsx
│   │   │   │   │   │   ├── Select.module.css
│   │   │   │   │   │   ├── Select.tsx
│   │   │   │   │   │   ├── SettingsPanel.module.css
│   │   │   │   │   │   ├── SettingsPanel.tsx
│   │   │   │   │   │   ├── ShowSidebar.module.css
│   │   │   │   │   │   ├── ShowSidebar.tsx
│   │   │   │   │   │   ├── Sidebar.module.css
│   │   │   │   │   │   ├── Sidebar.tsx
│   │   │   │   │   │   ├── Switch.module.css
│   │   │   │   │   │   ├── Switch.tsx
│   │   │   │   │   │   ├── Tooltip.module.css
│   │   │   │   │   │   └── Tooltip.tsx
│   │   │   │   │   ├── accordion/
│   │   │   │   │   │   ├── animations.module.css
│   │   │   │   │   │   ├── animations.tsx
│   │   │   │   │   │   ├── horizontal.module.css
│   │   │   │   │   │   ├── horizontal.tsx
│   │   │   │   │   │   ├── transitions.module.css
│   │   │   │   │   │   └── transitions.tsx
│   │   │   │   │   ├── anchor-positioning.module.css
│   │   │   │   │   ├── anchor-positioning.tsx
│   │   │   │   │   ├── anchor-side-animations.module.css
│   │   │   │   │   ├── anchor-side-animations.tsx
│   │   │   │   │   ├── calendar/
│   │   │   │   │   │   ├── calendar-basic.tsx
│   │   │   │   │   │   ├── calendar-timezone.tsx
│   │   │   │   │   │   ├── calendar-two-months.tsx
│   │   │   │   │   │   ├── calendar-unavailable-dates.tsx
│   │   │   │   │   │   ├── calendar-validation.tsx
│   │   │   │   │   │   └── calendar.module.css
│   │   │   │   │   ├── collapsible/
│   │   │   │   │   │   ├── _icons.tsx
│   │   │   │   │   │   ├── animate-presence.tsx
│   │   │   │   │   │   ├── animations.module.css
│   │   │   │   │   │   ├── animations.tsx
│   │   │   │   │   │   ├── collapsible.module.css
│   │   │   │   │   │   ├── motion.module.css
│   │   │   │   │   │   ├── plain.tsx
│   │   │   │   │   │   ├── transitions.module.css
│   │   │   │   │   │   └── transitions.tsx
│   │   │   │   │   ├── combobox/
│   │   │   │   │   │   ├── creatable-tags.module.css
│   │   │   │   │   │   ├── creatable-tags.tsx
│   │   │   │   │   │   ├── dialog-combobox-multiple.tsx
│   │   │   │   │   │   ├── dialog-combobox.module.css
│   │   │   │   │   │   ├── dialog-combobox.tsx
│   │   │   │   │   │   ├── priority-combobox.module.css
│   │   │   │   │   │   └── priority-combobox.tsx
│   │   │   │   │   ├── combobox-composition.module.css
│   │   │   │   │   ├── combobox-composition.tsx
│   │   │   │   │   ├── combobox-perf.module.css
│   │   │   │   │   ├── combobox-perf.tsx
│   │   │   │   │   ├── context-menu.module.css
│   │   │   │   │   ├── context-menu.tsx
│   │   │   │   │   ├── dialog/
│   │   │   │   │   │   ├── dialog.module.css
│   │   │   │   │   │   ├── dialogs.tsx
│   │   │   │   │   │   ├── nested.module.css
│   │   │   │   │   │   └── nested.tsx
│   │   │   │   │   ├── drawer/
│   │   │   │   │   │   ├── cross-axis-scroll.module.css
│   │   │   │   │   │   ├── cross-axis-scroll.tsx
│   │   │   │   │   │   ├── drawer-controlled-opening.tsx
│   │   │   │   │   │   └── touch-ignore.tsx
│   │   │   │   │   ├── drawer-slider.module.css
│   │   │   │   │   ├── drawer-slider.tsx
│   │   │   │   │   ├── forms/
│   │   │   │   │   │   ├── _icons.tsx
│   │   │   │   │   │   ├── autofill.module.css
│   │   │   │   │   │   ├── autofill.tsx
│   │   │   │   │   │   ├── button-controls.tsx
│   │   │   │   │   │   ├── form.module.css
│   │   │   │   │   │   ├── form.tsx
│   │   │   │   │   │   └── rhf.tsx
│   │   │   │   │   ├── layout.css
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   ├── long-select.module.css
│   │   │   │   │   ├── long-select.tsx
│   │   │   │   │   ├── menu/
│   │   │   │   │   │   ├── complex-nesting.tsx
│   │   │   │   │   │   ├── menu-anchor-el.tsx
│   │   │   │   │   │   ├── menu-anchor-ref.tsx
│   │   │   │   │   │   ├── menu-disabled-items.tsx
│   │   │   │   │   │   ├── menu-fully-featured.tsx
│   │   │   │   │   │   ├── menu-horizontal.module.css
│   │   │   │   │   │   ├── menu-horizontal.tsx
│   │   │   │   │   │   ├── menu-nested.module.css
│   │   │   │   │   │   ├── menu-nested.tsx
│   │   │   │   │   │   ├── menu-submenus.tsx
│   │   │   │   │   │   ├── menu.module.css
│   │   │   │   │   │   ├── nested-detached-triggers.module.css
│   │   │   │   │   │   ├── nested-detached-triggers.tsx
│   │   │   │   │   │   ├── perf-contained.tsx
│   │   │   │   │   │   ├── perf-detached.tsx
│   │   │   │   │   │   ├── pointer-events-scope.module.css
│   │   │   │   │   │   ├── pointer-events-scope.tsx
│   │   │   │   │   │   ├── triggers.module.css
│   │   │   │   │   │   └── triggers.tsx
│   │   │   │   │   ├── menubar.module.css
│   │   │   │   │   ├── menubar.tsx
│   │   │   │   │   ├── meter.module.css
│   │   │   │   │   ├── meter.tsx
│   │   │   │   │   ├── mobile-scroll-lock.module.css
│   │   │   │   │   ├── mobile-scroll-lock.tsx
│   │   │   │   │   ├── modality.module.css
│   │   │   │   │   ├── modality.tsx
│   │   │   │   │   ├── motion.tsx
│   │   │   │   │   ├── navigation-menu-popups.tsx
│   │   │   │   │   ├── navigation-menu.module.css
│   │   │   │   │   ├── navigation-menu.tsx
│   │   │   │   │   ├── page.tsx
│   │   │   │   │   ├── perf/
│   │   │   │   │   │   ├── contained-triggers.tsx
│   │   │   │   │   │   ├── detached-triggers.tsx
│   │   │   │   │   │   ├── perf.module.css
│   │   │   │   │   │   ├── radix-triggers.tsx
│   │   │   │   │   │   └── utils/
│   │   │   │   │   │       └── benchmark.tsx
│   │   │   │   │   ├── popover/
│   │   │   │   │   │   ├── calendar-shared.ts
│   │   │   │   │   │   ├── calendar.module.css
│   │   │   │   │   │   ├── calendar.tsx
│   │   │   │   │   │   ├── dynamic-size.module.css
│   │   │   │   │   │   ├── dynamic-size.tsx
│   │   │   │   │   │   ├── nested-open-on-hover.module.css
│   │   │   │   │   │   ├── nested-open-on-hover.tsx
│   │   │   │   │   │   ├── popovers.module.css
│   │   │   │   │   │   ├── popovers.tsx
│   │   │   │   │   │   ├── vertical-shared.ts
│   │   │   │   │   │   ├── vertical.module.css
│   │   │   │   │   │   └── vertical.tsx
│   │   │   │   │   ├── popup-tabbing.module.css
│   │   │   │   │   ├── popup-tabbing.tsx
│   │   │   │   │   ├── popups/
│   │   │   │   │   │   ├── popups-in-popups.module.css
│   │   │   │   │   │   ├── popups-in-popups.tsx
│   │   │   │   │   │   ├── popups-transform-origin.module.css
│   │   │   │   │   │   └── popups-transform-origin.tsx
│   │   │   │   │   ├── preview-card/
│   │   │   │   │   │   ├── nested.module.css
│   │   │   │   │   │   ├── nested.tsx
│   │   │   │   │   │   ├── triggers.module.css
│   │   │   │   │   │   └── triggers.tsx
│   │   │   │   │   ├── rtl.module.css
│   │   │   │   │   ├── rtl.tsx
│   │   │   │   │   ├── scroll-area/
│   │   │   │   │   │   ├── inside-menu.module.css
│   │   │   │   │   │   ├── inside-menu.tsx
│   │   │   │   │   │   ├── inside-select.module.css
│   │   │   │   │   │   ├── inside-select.tsx
│   │   │   │   │   │   ├── scroll-area-inset.module.css
│   │   │   │   │   │   ├── scroll-area-inset.tsx
│   │   │   │   │   │   ├── scroll-area-slight.module.css
│   │   │   │   │   │   ├── scroll-area-slight.tsx
│   │   │   │   │   │   ├── scroll-area.module.css
│   │   │   │   │   │   ├── scroll-area.tsx
│   │   │   │   │   │   └── tabs-scroll-area.tsx
│   │   │   │   │   ├── scroll-lock.tsx
│   │   │   │   │   ├── select-perf.module.css
│   │   │   │   │   ├── select-perf.tsx
│   │   │   │   │   ├── slider/
│   │   │   │   │   │   ├── inset.module.css
│   │   │   │   │   │   ├── inset.tsx
│   │   │   │   │   │   ├── slider.module.css
│   │   │   │   │   │   ├── slider.tsx
│   │   │   │   │   │   ├── small.module.css
│   │   │   │   │   │   └── vertical.module.css
│   │   │   │   │   ├── storeWithControlledValues.module.css
│   │   │   │   │   ├── storeWithControlledValues.tsx
│   │   │   │   │   ├── tabs-animations.module.css
│   │   │   │   │   ├── tabs-animations.tsx
│   │   │   │   │   ├── tabs-overflow.module.css
│   │   │   │   │   ├── tabs-overflow.tsx
│   │   │   │   │   ├── tabs.module.css
│   │   │   │   │   ├── tabs.tsx
│   │   │   │   │   ├── toast.module.css
│   │   │   │   │   ├── toast.tsx
│   │   │   │   │   ├── toggle-group.tsx
│   │   │   │   │   ├── toggle.module.css
│   │   │   │   │   ├── toolbar/
│   │   │   │   │   │   ├── _icons.tsx
│   │   │   │   │   │   ├── basic.tsx
│   │   │   │   │   │   ├── slider.module.css
│   │   │   │   │   │   ├── text-editor.tsx
│   │   │   │   │   │   ├── toolbar.module.css
│   │   │   │   │   │   ├── triggers.module.css
│   │   │   │   │   │   └── triggers.tsx
│   │   │   │   │   ├── tooltip/
│   │   │   │   │   │   ├── disabled.module.css
│   │   │   │   │   │   ├── disabled.tsx
│   │   │   │   │   │   ├── prevent-open.module.css
│   │   │   │   │   │   ├── prevent-open.tsx
│   │   │   │   │   │   ├── tooltips.module.css
│   │   │   │   │   │   ├── tooltips.tsx
│   │   │   │   │   │   ├── transitions.module.css
│   │   │   │   │   │   └── transitions.tsx
│   │   │   │   │   ├── transition-attrs.module.css
│   │   │   │   │   └── transition-attrs.tsx
│   │   │   │   ├── hydration-repro/
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── layout.css
│   │   │   │   ├── layout.tsx
│   │   │   │   └── playground/
│   │   │   │       └── [slug]/
│   │   │   │           └── page.tsx
│   │   │   ├── (website)/
│   │   │   │   ├── careers/
│   │   │   │   │   └── design-engineer/
│   │   │   │   │       └── page.tsx
│   │   │   │   ├── css/
│   │   │   │   │   ├── components/
│   │   │   │   │   │   ├── Accordion.css
│   │   │   │   │   │   ├── Body.css
│   │   │   │   │   │   ├── BulletList.css
│   │   │   │   │   │   ├── Button.css
│   │   │   │   │   │   ├── Figure.css
│   │   │   │   │   │   ├── Icon.css
│   │   │   │   │   │   ├── Key.css
│   │   │   │   │   │   ├── Link.css
│   │   │   │   │   │   ├── List.css
│   │   │   │   │   │   ├── Menu.css
│   │   │   │   │   │   ├── Popup.css
│   │   │   │   │   │   ├── Separator.css
│   │   │   │   │   │   └── Text.css
│   │   │   │   │   ├── index.css
│   │   │   │   │   └── theme.css
│   │   │   │   ├── icons/
│   │   │   │   │   ├── MinusIcon.tsx
│   │   │   │   │   └── PlusIcon.tsx
│   │   │   │   ├── layout.tsx
│   │   │   │   ├── logos/
│   │   │   │   │   ├── GitHub.tsx
│   │   │   │   │   ├── HighlightAI.tsx
│   │   │   │   │   ├── Interfere.tsx
│   │   │   │   │   ├── Operate.tsx
│   │   │   │   │   ├── Paper.tsx
│   │   │   │   │   ├── Unsplash.tsx
│   │   │   │   │   └── Zed.tsx
│   │   │   │   └── page.tsx
│   │   │   ├── global-not-found.tsx
│   │   │   └── sitemap/
│   │   │       └── index.ts
│   │   ├── blocks/
│   │   │   ├── Demo/
│   │   │   │   ├── DemoContext.ts
│   │   │   │   ├── DemoPlayground.tsx
│   │   │   │   ├── DemoRoot.tsx
│   │   │   │   ├── DemoSourceBrowser.tsx
│   │   │   │   ├── DemoSourceCopy.tsx
│   │   │   │   ├── index.ts
│   │   │   │   └── types.ts
│   │   │   ├── GoogleAnalyticsProvider.tsx
│   │   │   ├── GoogleTagManager.tsx
│   │   │   ├── PackageManagerSnippet/
│   │   │   │   ├── PackageManagerSnippetCode.tsx
│   │   │   │   ├── PackageManagerSnippetProvider.tsx
│   │   │   │   ├── PackageManagerSnippetRoot.tsx
│   │   │   │   └── index.ts
│   │   │   ├── README.txt
│   │   │   └── createCodeSandbox/
│   │   │       ├── CreateReactApp.ts
│   │   │       ├── addHiddenInput.ts
│   │   │       ├── createCodeSandbox.ts
│   │   │       ├── createStackBlitzProject.ts
│   │   │       ├── flattenRelativeImports.ts
│   │   │       ├── packDemo.test.ts
│   │   │       └── packDemo.ts
│   │   ├── components/
│   │   │   ├── Accordion.css
│   │   │   ├── Accordion.tsx
│   │   │   ├── Code.css
│   │   │   ├── Code.tsx
│   │   │   ├── CodeBlock.css
│   │   │   ├── CodeBlock.tsx
│   │   │   ├── Demo/
│   │   │   │   ├── CodeHighlighting.css
│   │   │   │   ├── Demo.css
│   │   │   │   ├── Demo.tsx
│   │   │   │   ├── DemoCodeBlock.tsx
│   │   │   │   ├── DemoErrorFallback.tsx
│   │   │   │   ├── DemoFileSelector.tsx
│   │   │   │   ├── DemoPlayground.tsx
│   │   │   │   ├── DemoVariantSelector.tsx
│   │   │   │   └── DemoVariantSelectorProvider.tsx
│   │   │   ├── DescriptionList.css
│   │   │   ├── DescriptionList.tsx
│   │   │   ├── DocsProviders.tsx
│   │   │   ├── GhostButton.css
│   │   │   ├── GhostButton.tsx
│   │   │   ├── GoogleAnalytics.tsx
│   │   │   ├── Header.css
│   │   │   ├── Header.tsx
│   │   │   ├── HeadingLink.css
│   │   │   ├── HeadingLink.tsx
│   │   │   ├── InstallationBlock.css
│   │   │   ├── InstallationBlock.tsx
│   │   │   ├── Kbd/
│   │   │   │   ├── Kbd.css
│   │   │   │   ├── Kbd.tsx
│   │   │   │   └── rehypeKbd.mjs
│   │   │   ├── Link.css
│   │   │   ├── Link.tsx
│   │   │   ├── Logo.tsx
│   │   │   ├── Menu.css
│   │   │   ├── Menu.tsx
│   │   │   ├── MobileNav.css
│   │   │   ├── MobileNav.tsx
│   │   │   ├── Popup.css
│   │   │   ├── Popup.tsx
│   │   │   ├── QuickNav/
│   │   │   │   ├── QuickNav.css
│   │   │   │   ├── QuickNav.tsx
│   │   │   │   ├── rehypeConcatHeadings.mjs
│   │   │   │   ├── rehypeQuickNav.mjs
│   │   │   │   └── rehypeSlug.mjs
│   │   │   ├── ReferenceTable/
│   │   │   │   ├── AttributesReferenceTable.tsx
│   │   │   │   ├── CssVariablesReferenceTable.tsx
│   │   │   │   ├── ParametersReferenceTable.tsx
│   │   │   │   ├── ReferenceAccordion.tsx
│   │   │   │   ├── ReferenceTable.css
│   │   │   │   ├── ReferenceTableTooltip.css
│   │   │   │   ├── ReferenceTableTooltip.tsx
│   │   │   │   ├── ReturnValueReferenceTable.tsx
│   │   │   │   ├── referenceUtils.mjs
│   │   │   │   ├── rehypeReference.mjs
│   │   │   │   └── types.ts
│   │   │   ├── ReleaseTimeline/
│   │   │   │   ├── ReleaseTimeline.css
│   │   │   │   ├── ReleaseTimeline.tsx
│   │   │   │   └── index.tsx
│   │   │   ├── ScrollArea.css
│   │   │   ├── ScrollArea.tsx
│   │   │   ├── Search/
│   │   │   │   ├── Search.tsx
│   │   │   │   ├── SearchBar.css
│   │   │   │   ├── SearchBar.tsx
│   │   │   │   └── index.ts
│   │   │   ├── Select.css
│   │   │   ├── Select.tsx
│   │   │   ├── SideNav.css
│   │   │   ├── SideNav.tsx
│   │   │   ├── SkipNav.css
│   │   │   ├── SkipNav.tsx
│   │   │   ├── Subtitle/
│   │   │   │   ├── MarkdownLink.css
│   │   │   │   ├── MarkdownLink.tsx
│   │   │   │   ├── Subtitle.css
│   │   │   │   ├── Subtitle.tsx
│   │   │   │   └── rehypeSubtitle.mjs
│   │   │   ├── Table.css
│   │   │   ├── Table.tsx
│   │   │   ├── TableCode.css
│   │   │   └── TableCode.tsx
│   │   ├── css/
│   │   │   ├── README.md
│   │   │   ├── custom-media.css
│   │   │   ├── fonts/
│   │   │   │   └── index.css
│   │   │   ├── index.css
│   │   │   ├── mdx-components.css
│   │   │   ├── theme-redesign.css
│   │   │   └── utilities/
│   │   │       ├── align-items.css
│   │   │       ├── box-sizing.css
│   │   │       ├── display.css
│   │   │       ├── flex-direction.css
│   │   │       ├── flex-wrap.css
│   │   │       ├── font-weight.css
│   │   │       ├── gap.css
│   │   │       ├── grid-auto-rows.css
│   │   │       ├── grid-column-end.css
│   │   │       ├── grid-column-start.css
│   │   │       ├── grid-template-columns.css
│   │   │       ├── height.css
│   │   │       ├── index.css
│   │   │       ├── justify-content.css
│   │   │       ├── left.css
│   │   │       ├── margin.css
│   │   │       ├── outline.css
│   │   │       ├── padding.css
│   │   │       ├── position.css
│   │   │       ├── scroll-margin-top.css
│   │   │       ├── text-align.css
│   │   │       ├── top.css
│   │   │       ├── visibility.css
│   │   │       ├── white-space.css
│   │   │       └── width.css
│   │   ├── data/
│   │   │   └── releases.ts
│   │   ├── demo-data/
│   │   │   └── theme/
│   │   │       ├── css-modules/
│   │   │       │   ├── index.ts
│   │   │       │   └── theme.css
│   │   │       └── index.ts
│   │   ├── error-codes.json
│   │   ├── icons/
│   │   │   ├── ArrowRightIcon.tsx
│   │   │   ├── CheckIcon.tsx
│   │   │   ├── ChevronDownIcon.tsx
│   │   │   ├── CopyIcon.tsx
│   │   │   ├── ExternalLinkIcon.tsx
│   │   │   ├── GitHubIcon.tsx
│   │   │   ├── MarkdownIcon.tsx
│   │   │   ├── MoreVertIcon.tsx
│   │   │   ├── NpmIcon.tsx
│   │   │   └── ThickCheckIcon.tsx
│   │   ├── mdx/
│   │   │   ├── createHast.mjs
│   │   │   ├── createMdxComponent.ts
│   │   │   └── createMdxElement.mjs
│   │   ├── mdx-components.tsx
│   │   ├── syntax-highlighting/
│   │   │   ├── index.css
│   │   │   ├── index.mjs
│   │   │   ├── index.ts
│   │   │   ├── rehypeEmptyLines.mjs
│   │   │   ├── rehypeInlineCode.mjs
│   │   │   ├── rehypeJsxExpressions.mjs
│   │   │   └── rehypePrettierIgnore.mjs
│   │   └── utils/
│   │       ├── camelToSentenceCase.ts
│   │       ├── createDemo.ts
│   │       ├── demoExportOptions.test.ts
│   │       ├── demoExportOptions.ts
│   │       ├── getChildrenText.ts
│   │       ├── getGitHubDemoUrl.test.ts
│   │       ├── getGitHubDemoUrl.ts
│   │       └── observeScrollableInner.ts
│   ├── tsconfig.json
│   ├── types.d.ts
│   └── vitest.config.mts
├── eslint.config.mjs
├── examples/
│   ├── tanstack-start-tailwind-css/
│   │   ├── .devcontainer/
│   │   │   └── devcontainer.json
│   │   ├── .gitignore
│   │   ├── .prettierignore
│   │   ├── .vscode/
│   │   │   └── settings.json
│   │   ├── README.md
│   │   ├── eslint.config.js
│   │   ├── package.json
│   │   ├── prettier.config.js
│   │   ├── public/
│   │   │   ├── manifest.json
│   │   │   └── robots.txt
│   │   ├── src/
│   │   │   ├── components/
│   │   │   │   ├── button.tsx
│   │   │   │   ├── combobox.tsx
│   │   │   │   ├── dialog.tsx
│   │   │   │   ├── input.tsx
│   │   │   │   ├── link.tsx
│   │   │   │   ├── menu.tsx
│   │   │   │   ├── navigation-menu.tsx
│   │   │   │   ├── popover.tsx
│   │   │   │   ├── switch.tsx
│   │   │   │   └── toggle.tsx
│   │   │   ├── routeTree.gen.ts
│   │   │   ├── router.tsx
│   │   │   ├── routes/
│   │   │   │   ├── __root.tsx
│   │   │   │   ├── combobox-server-fn.tsx
│   │   │   │   └── index.tsx
│   │   │   └── styles.css
│   │   ├── tsconfig.json
│   │   └── vite.config.ts
│   └── vite-css/
│       ├── .gitignore
│       ├── README.md
│       ├── eslint.config.js
│       ├── index.html
│       ├── package.json
│       ├── src/
│       │   ├── App.css
│       │   ├── App.tsx
│       │   ├── index.css
│       │   ├── main.tsx
│       │   ├── vite-env.d.ts
│       │   └── widgets/
│       │       ├── Switch.module.css
│       │       └── Switch.tsx
│       ├── tsconfig.app.json
│       ├── tsconfig.json
│       ├── tsconfig.node.json
│       └── vite.config.ts
├── greptile.json
├── lerna.json
├── netlify/
│   └── functions/
│       └── deploy-succeeded.js
├── netlify.toml
├── nx.json
├── package.json
├── packages/
│   ├── react/
│   │   ├── .npmignore
│   │   ├── README.md
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── accordion/
│   │   │   │   ├── header/
│   │   │   │   │   ├── AccordionHeader.test.tsx
│   │   │   │   │   ├── AccordionHeader.tsx
│   │   │   │   │   └── AccordionHeaderDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── AccordionItem.test.tsx
│   │   │   │   │   ├── AccordionItem.tsx
│   │   │   │   │   ├── AccordionItemContext.ts
│   │   │   │   │   ├── AccordionItemDataAttributes.ts
│   │   │   │   │   └── stateAttributesMapping.ts
│   │   │   │   ├── panel/
│   │   │   │   │   ├── AccordionPanel.test.tsx
│   │   │   │   │   ├── AccordionPanel.tsx
│   │   │   │   │   ├── AccordionPanelCssVars.ts
│   │   │   │   │   └── AccordionPanelDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── AccordionRoot.spec.tsx
│   │   │   │   │   ├── AccordionRoot.test.tsx
│   │   │   │   │   ├── AccordionRoot.tsx
│   │   │   │   │   ├── AccordionRootContext.ts
│   │   │   │   │   └── AccordionRootDataAttributes.ts
│   │   │   │   └── trigger/
│   │   │   │       ├── AccordionTrigger.test.tsx
│   │   │   │       ├── AccordionTrigger.tsx
│   │   │   │       └── AccordionTriggerDataAttributes.ts
│   │   │   ├── alert-dialog/
│   │   │   │   ├── handle.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── root/
│   │   │   │       ├── AlertDialogRoot.spec.tsx
│   │   │   │       ├── AlertDialogRoot.test.tsx
│   │   │   │       └── AlertDialogRoot.tsx
│   │   │   ├── autocomplete/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   └── AutocompleteItem.test.tsx
│   │   │   │   ├── root/
│   │   │   │   │   ├── AutocompleteRoot.spec.tsx
│   │   │   │   │   ├── AutocompleteRoot.test.tsx
│   │   │   │   │   └── AutocompleteRoot.tsx
│   │   │   │   └── value/
│   │   │   │       ├── AutocompleteValue.test.tsx
│   │   │   │       └── AutocompleteValue.tsx
│   │   │   ├── avatar/
│   │   │   │   ├── fallback/
│   │   │   │   │   ├── AvatarFallback.test.tsx
│   │   │   │   │   └── AvatarFallback.tsx
│   │   │   │   ├── image/
│   │   │   │   │   ├── AvatarImage.test.tsx
│   │   │   │   │   ├── AvatarImage.tsx
│   │   │   │   │   ├── AvatarImageDataAttributes.ts
│   │   │   │   │   └── useImageLoadingStatus.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── root/
│   │   │   │       ├── AvatarRoot.test.tsx
│   │   │   │       ├── AvatarRoot.tsx
│   │   │   │       ├── AvatarRootContext.ts
│   │   │   │       └── stateAttributesMapping.ts
│   │   │   ├── button/
│   │   │   │   ├── Button.spec.tsx
│   │   │   │   ├── Button.test.tsx
│   │   │   │   ├── Button.tsx
│   │   │   │   ├── ButtonDataAttributes.tsx
│   │   │   │   └── index.ts
│   │   │   ├── calendar/
│   │   │   │   ├── day-button/
│   │   │   │   │   ├── CalendarDayButton.test.tsx
│   │   │   │   │   ├── CalendarDayButton.tsx
│   │   │   │   │   └── CalendarDayButtonDataAttributes.ts
│   │   │   │   ├── day-grid/
│   │   │   │   │   ├── CalendarDayGrid.test.tsx
│   │   │   │   │   └── CalendarDayGrid.tsx
│   │   │   │   ├── day-grid-body/
│   │   │   │   │   ├── CalendarDayGridBody.keyboard.test.tsx
│   │   │   │   │   ├── CalendarDayGridBody.test.tsx
│   │   │   │   │   ├── CalendarDayGridBody.tsx
│   │   │   │   │   ├── SharedCalendarDayGridBodyContext.ts
│   │   │   │   │   └── useSharedCalendarDayGridBody.ts
│   │   │   │   ├── day-grid-cell/
│   │   │   │   │   ├── CalendarDayGridCell.test.tsx
│   │   │   │   │   ├── CalendarDayGridCell.tsx
│   │   │   │   │   ├── SharedCalendarDayGridCellContext.ts
│   │   │   │   │   └── useSharedCalendarDayGridCell.ts
│   │   │   │   ├── day-grid-header/
│   │   │   │   │   ├── CalendarDayGridHeader.test.tsx
│   │   │   │   │   └── CalendarDayGridHeader.tsx
│   │   │   │   ├── day-grid-header-cell/
│   │   │   │   │   ├── CalendarDayGridHeaderCell.test.tsx
│   │   │   │   │   └── CalendarDayGridHeaderCell.tsx
│   │   │   │   ├── day-grid-header-row/
│   │   │   │   │   ├── CalendarDayGridHeaderRow.test.tsx
│   │   │   │   │   └── CalendarDayGridHeaderRow.tsx
│   │   │   │   ├── day-grid-row/
│   │   │   │   │   ├── CalendarDayGridRow.tsx
│   │   │   │   │   └── CalendarDayRow.test.tsx
│   │   │   │   ├── decrement-month/
│   │   │   │   │   ├── CalendarDecrementMonth.test.tsx
│   │   │   │   │   ├── CalendarDecrementMonth.tsx
│   │   │   │   │   └── CalendarDecrementMonthDataAttributes.ts
│   │   │   │   ├── increment-month/
│   │   │   │   │   ├── CalendarIncrementMonth.test.tsx
│   │   │   │   │   ├── CalendarIncrementMonth.tsx
│   │   │   │   │   └── CalendarIncrementMonthDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── CalendarRoot.test.tsx
│   │   │   │   │   ├── CalendarRoot.tsx
│   │   │   │   │   ├── CalendarRootDataAttributes.ts
│   │   │   │   │   └── SharedCalendarRootContext.ts
│   │   │   │   ├── store/
│   │   │   │   │   ├── SharedCalendarState.ts
│   │   │   │   │   ├── SharedCalendarStore.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── selectors.ts
│   │   │   │   │   └── test/
│   │   │   │   │       ├── value.SharedCalendarStore.test.ts
│   │   │   │   │       └── visibleDate.SharedCalendarStore.test.ts
│   │   │   │   ├── use-context/
│   │   │   │   │   └── CalendarContext.ts
│   │   │   │   ├── use-day-list/
│   │   │   │   │   ├── getDayList.ts
│   │   │   │   │   └── useCalendarDayList.ts
│   │   │   │   ├── use-week-list/
│   │   │   │   │   ├── getWeekList.ts
│   │   │   │   │   └── useCalendarWeekList.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── computeMonthDayGrid.ts
│   │   │   │   │   └── useCalendarMonthButton.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── CalendarViewport.tsx
│   │   │   │       └── CalendarViewportDataAttributes.ts
│   │   │   ├── checkbox/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── CheckboxIndicator.test.tsx
│   │   │   │   │   ├── CheckboxIndicator.tsx
│   │   │   │   │   └── CheckboxIndicatorDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── CheckboxRoot.test.tsx
│   │   │   │   │   ├── CheckboxRoot.tsx
│   │   │   │   │   ├── CheckboxRootContext.ts
│   │   │   │   │   └── CheckboxRootDataAttributes.ts
│   │   │   │   └── utils/
│   │   │   │       └── useStateAttributesMapping.ts
│   │   │   ├── checkbox-group/
│   │   │   │   ├── CheckboxGroup.test.tsx
│   │   │   │   ├── CheckboxGroup.tsx
│   │   │   │   ├── CheckboxGroupContext.ts
│   │   │   │   ├── CheckboxGroupDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── useCheckboxGroupParent.test.tsx
│   │   │   │   └── useCheckboxGroupParent.ts
│   │   │   ├── collapsible/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── panel/
│   │   │   │   │   ├── CollapsiblePanel.test.tsx
│   │   │   │   │   ├── CollapsiblePanel.tsx
│   │   │   │   │   ├── CollapsiblePanelCssVars.ts
│   │   │   │   │   ├── CollapsiblePanelDataAttributes.ts
│   │   │   │   │   └── useCollapsiblePanel.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── CollapsibleRoot.test.tsx
│   │   │   │   │   ├── CollapsibleRoot.tsx
│   │   │   │   │   ├── CollapsibleRootContext.ts
│   │   │   │   │   ├── stateAttributesMapping.ts
│   │   │   │   │   └── useCollapsibleRoot.ts
│   │   │   │   └── trigger/
│   │   │   │       ├── CollapsibleTrigger.test.tsx
│   │   │   │       ├── CollapsibleTrigger.tsx
│   │   │   │       └── CollapsibleTriggerDataAttributes.ts
│   │   │   ├── combobox/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── ComboboxArrow.test.tsx
│   │   │   │   │   ├── ComboboxArrow.tsx
│   │   │   │   │   └── ComboboxArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── ComboboxBackdrop.test.tsx
│   │   │   │   │   ├── ComboboxBackdrop.tsx
│   │   │   │   │   └── ComboboxBackdropDataAttributes.ts
│   │   │   │   ├── chip/
│   │   │   │   │   ├── ComboboxChip.test.tsx
│   │   │   │   │   ├── ComboboxChip.tsx
│   │   │   │   │   └── ComboboxChipContext.ts
│   │   │   │   ├── chip-remove/
│   │   │   │   │   ├── ComboboxChipRemove.test.tsx
│   │   │   │   │   └── ComboboxChipRemove.tsx
│   │   │   │   ├── chips/
│   │   │   │   │   ├── ComboboxChips.test.tsx
│   │   │   │   │   ├── ComboboxChips.tsx
│   │   │   │   │   └── ComboboxChipsContext.ts
│   │   │   │   ├── clear/
│   │   │   │   │   ├── ComboboxClear.test.tsx
│   │   │   │   │   ├── ComboboxClear.tsx
│   │   │   │   │   └── ComboboxClearDataAtributes.ts
│   │   │   │   ├── collection/
│   │   │   │   │   ├── ComboboxCollection.test.tsx
│   │   │   │   │   ├── ComboboxCollection.tsx
│   │   │   │   │   └── GroupCollectionContext.tsx
│   │   │   │   ├── empty/
│   │   │   │   │   ├── ComboboxEmpty.test.tsx
│   │   │   │   │   └── ComboboxEmpty.tsx
│   │   │   │   ├── group/
│   │   │   │   │   ├── ComboboxGroup.test.tsx
│   │   │   │   │   ├── ComboboxGroup.tsx
│   │   │   │   │   └── ComboboxGroupContext.ts
│   │   │   │   ├── group-label/
│   │   │   │   │   ├── ComboboxGroupLabel.test.tsx
│   │   │   │   │   └── ComboboxGroupLabel.tsx
│   │   │   │   ├── icon/
│   │   │   │   │   ├── ComboboxIcon.test.tsx
│   │   │   │   │   └── ComboboxIcon.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── input/
│   │   │   │   │   ├── ComboboxInput.test.tsx
│   │   │   │   │   ├── ComboboxInput.tsx
│   │   │   │   │   └── ComboboxInputDataAttributes.ts
│   │   │   │   ├── input-group/
│   │   │   │   │   ├── ComboboxInputGroup.test.tsx
│   │   │   │   │   ├── ComboboxInputGroup.tsx
│   │   │   │   │   └── ComboboxInputGroupDataAttributes.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── ComboboxItem.test.tsx
│   │   │   │   │   ├── ComboboxItem.tsx
│   │   │   │   │   ├── ComboboxItemContext.ts
│   │   │   │   │   └── ComboboxItemDataAttributes.ts
│   │   │   │   ├── item-indicator/
│   │   │   │   │   ├── ComboboxItemIndicator.test.tsx
│   │   │   │   │   ├── ComboboxItemIndicator.tsx
│   │   │   │   │   └── ComboboxItemIndicatorDataAttributes.ts
│   │   │   │   ├── label/
│   │   │   │   │   ├── ComboboxLabel.test.tsx
│   │   │   │   │   └── ComboboxLabel.tsx
│   │   │   │   ├── list/
│   │   │   │   │   ├── ComboboxList.test.tsx
│   │   │   │   │   └── ComboboxList.tsx
│   │   │   │   ├── popup/
│   │   │   │   │   ├── ComboboxPopup.test.tsx
│   │   │   │   │   ├── ComboboxPopup.tsx
│   │   │   │   │   └── ComboboxPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── ComboboxPortal.test.tsx
│   │   │   │   │   ├── ComboboxPortal.tsx
│   │   │   │   │   └── ComboboxPortalContext.tsx
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── ComboboxPositioner.test.tsx
│   │   │   │   │   ├── ComboboxPositioner.tsx
│   │   │   │   │   ├── ComboboxPositionerContext.tsx
│   │   │   │   │   ├── ComboboxPositionerCssVars.ts
│   │   │   │   │   └── ComboboxPositionerDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── AriaCombobox.tsx
│   │   │   │   │   ├── ComboboxRoot.spec.tsx
│   │   │   │   │   ├── ComboboxRoot.test.tsx
│   │   │   │   │   ├── ComboboxRoot.tsx
│   │   │   │   │   ├── ComboboxRootContext.tsx
│   │   │   │   │   └── utils/
│   │   │   │   │       ├── constants.ts
│   │   │   │   │       ├── index.ts
│   │   │   │   │       ├── useFilter.ts
│   │   │   │   │       └── useFilteredItems.ts
│   │   │   │   ├── row/
│   │   │   │   │   ├── ComboboxRow.tsx
│   │   │   │   │   └── ComboboxRowContext.ts
│   │   │   │   ├── status/
│   │   │   │   │   ├── ComboboxStatus.test.tsx
│   │   │   │   │   └── ComboboxStatus.tsx
│   │   │   │   ├── store.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── ComboboxTrigger.test.tsx
│   │   │   │   │   ├── ComboboxTrigger.tsx
│   │   │   │   │   └── ComboboxTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── ComboboxInternalDismissButton.tsx
│   │   │   │   │   ├── handleInputPress.ts
│   │   │   │   │   └── stateAttributesMapping.ts
│   │   │   │   └── value/
│   │   │   │       ├── ComboboxValue.test.tsx
│   │   │   │       └── ComboboxValue.tsx
│   │   │   ├── composite/
│   │   │   │   ├── composite.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── CompositeItem.tsx
│   │   │   │   │   └── useCompositeItem.ts
│   │   │   │   ├── list/
│   │   │   │   │   ├── CompositeList.test.tsx
│   │   │   │   │   ├── CompositeList.tsx
│   │   │   │   │   ├── CompositeListContext.ts
│   │   │   │   │   └── useCompositeListItem.ts
│   │   │   │   └── root/
│   │   │   │       ├── CompositeRoot.test.tsx
│   │   │   │       ├── CompositeRoot.tsx
│   │   │   │       ├── CompositeRootContext.ts
│   │   │   │       └── useCompositeRoot.ts
│   │   │   ├── context-menu/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── ContextMenuRoot.non-mac.test.tsx
│   │   │   │   │   ├── ContextMenuRoot.test.tsx
│   │   │   │   │   ├── ContextMenuRoot.tsx
│   │   │   │   │   └── ContextMenuRootContext.ts
│   │   │   │   └── trigger/
│   │   │   │       ├── ContextMenuTrigger.test.tsx
│   │   │   │       ├── ContextMenuTrigger.tsx
│   │   │   │       └── ContextMenuTriggerDataAttributes.ts
│   │   │   ├── csp-provider/
│   │   │   │   ├── CSPContext.tsx
│   │   │   │   ├── CSPProvider.test.tsx
│   │   │   │   ├── CSPProvider.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   └── index.ts
│   │   │   ├── dialog/
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── DialogBackdrop.test.tsx
│   │   │   │   │   ├── DialogBackdrop.tsx
│   │   │   │   │   └── DialogBackdropDataAttributes.ts
│   │   │   │   ├── close/
│   │   │   │   │   ├── DialogClose.test.tsx
│   │   │   │   │   ├── DialogClose.tsx
│   │   │   │   │   └── DialogCloseDataAttributes.ts
│   │   │   │   ├── description/
│   │   │   │   │   ├── DialogDescription.test.tsx
│   │   │   │   │   └── DialogDescription.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── DialogPopup.test.tsx
│   │   │   │   │   ├── DialogPopup.tsx
│   │   │   │   │   ├── DialogPopupCssVars.ts
│   │   │   │   │   └── DialogPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── DialogPortal.test.tsx
│   │   │   │   │   ├── DialogPortal.tsx
│   │   │   │   │   └── DialogPortalContext.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── DialogRoot.detached-triggers.test.tsx
│   │   │   │   │   ├── DialogRoot.spec.tsx
│   │   │   │   │   ├── DialogRoot.test.tsx
│   │   │   │   │   ├── DialogRoot.tsx
│   │   │   │   │   ├── DialogRootContext.ts
│   │   │   │   │   └── useDialogRoot.ts
│   │   │   │   ├── store/
│   │   │   │   │   ├── DialogHandle.ts
│   │   │   │   │   └── DialogStore.ts
│   │   │   │   ├── title/
│   │   │   │   │   ├── DialogTitle.test.tsx
│   │   │   │   │   └── DialogTitle.tsx
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── DialogTrigger.test.tsx
│   │   │   │   │   ├── DialogTrigger.tsx
│   │   │   │   │   └── DialogTriggerDataAttributes.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── DialogViewport.test.tsx
│   │   │   │       ├── DialogViewport.tsx
│   │   │   │       └── DialogViewportDataAttributes.ts
│   │   │   ├── direction-provider/
│   │   │   │   ├── DirectionContext.tsx
│   │   │   │   ├── DirectionProvider.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   └── index.ts
│   │   │   ├── drawer/
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── DrawerBackdrop.tsx
│   │   │   │   │   ├── DrawerBackdropCssVars.ts
│   │   │   │   │   └── DrawerBackdropDataAttributes.ts
│   │   │   │   ├── close/
│   │   │   │   │   └── DrawerClose.tsx
│   │   │   │   ├── content/
│   │   │   │   │   ├── DrawerContent.test.tsx
│   │   │   │   │   ├── DrawerContent.tsx
│   │   │   │   │   └── DrawerContentDataAttributes.ts
│   │   │   │   ├── description/
│   │   │   │   │   └── DrawerDescription.tsx
│   │   │   │   ├── indent/
│   │   │   │   │   ├── DrawerIndent.test.tsx
│   │   │   │   │   └── DrawerIndent.tsx
│   │   │   │   ├── indent-background/
│   │   │   │   │   ├── DrawerIndentBackground.test.tsx
│   │   │   │   │   └── DrawerIndentBackground.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── DrawerPopup.test.tsx
│   │   │   │   │   ├── DrawerPopup.tsx
│   │   │   │   │   ├── DrawerPopupCssVars.ts
│   │   │   │   │   └── DrawerPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   └── DrawerPortal.tsx
│   │   │   │   ├── provider/
│   │   │   │   │   ├── DrawerProvider.tsx
│   │   │   │   │   └── DrawerProviderContext.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── DrawerRoot.spec.tsx
│   │   │   │   │   ├── DrawerRoot.test.tsx
│   │   │   │   │   ├── DrawerRoot.tsx
│   │   │   │   │   ├── DrawerRootContext.ts
│   │   │   │   │   └── useDrawerSnapPoints.ts
│   │   │   │   ├── swipe-area/
│   │   │   │   │   ├── DrawerSwipeArea.test.tsx
│   │   │   │   │   ├── DrawerSwipeArea.tsx
│   │   │   │   │   └── DrawerSwipeAreaDataAttributes.ts
│   │   │   │   ├── title/
│   │   │   │   │   └── DrawerTitle.tsx
│   │   │   │   ├── trigger/
│   │   │   │   │   └── DrawerTrigger.tsx
│   │   │   │   └── viewport/
│   │   │   │       ├── DrawerViewport.test.tsx
│   │   │   │       ├── DrawerViewport.tsx
│   │   │   │       ├── DrawerViewportContext.tsx
│   │   │   │       └── DrawerViewportDataAttributes.ts
│   │   │   ├── field/
│   │   │   │   ├── control/
│   │   │   │   │   ├── FieldControl.spec.tsx
│   │   │   │   │   ├── FieldControl.test.tsx
│   │   │   │   │   ├── FieldControl.tsx
│   │   │   │   │   └── FieldControlDataAttributes.ts
│   │   │   │   ├── description/
│   │   │   │   │   ├── FieldDescription.test.tsx
│   │   │   │   │   ├── FieldDescription.tsx
│   │   │   │   │   └── FieldDescriptionDataAttributes.ts
│   │   │   │   ├── error/
│   │   │   │   │   ├── FieldError.test.tsx
│   │   │   │   │   ├── FieldError.tsx
│   │   │   │   │   └── FieldErrorDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── FieldItem.test.tsx
│   │   │   │   │   ├── FieldItem.tsx
│   │   │   │   │   └── FieldItemContext.ts
│   │   │   │   ├── label/
│   │   │   │   │   ├── FieldLabel.test.tsx
│   │   │   │   │   ├── FieldLabel.tsx
│   │   │   │   │   └── FieldLabelDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── FieldRoot.test.tsx
│   │   │   │   │   ├── FieldRoot.tsx
│   │   │   │   │   ├── FieldRootContext.ts
│   │   │   │   │   ├── FieldRootDataAttributes.ts
│   │   │   │   │   └── useFieldValidation.ts
│   │   │   │   ├── useField.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── constants.ts
│   │   │   │   │   └── getCombinedFieldValidityData.ts
│   │   │   │   └── validity/
│   │   │   │       ├── FieldValidity.test.tsx
│   │   │   │       └── FieldValidity.tsx
│   │   │   ├── fieldset/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── legend/
│   │   │   │   │   ├── FieldsetLegend.test.tsx
│   │   │   │   │   └── FieldsetLegend.tsx
│   │   │   │   └── root/
│   │   │   │       ├── FieldsetRoot.test.tsx
│   │   │   │       ├── FieldsetRoot.tsx
│   │   │   │       └── FieldsetRootContext.ts
│   │   │   ├── floating-ui-react/
│   │   │   │   ├── components/
│   │   │   │   │   ├── FloatingDelayGroup.test.tsx
│   │   │   │   │   ├── FloatingDelayGroup.tsx
│   │   │   │   │   ├── FloatingFocusManager.test.tsx
│   │   │   │   │   ├── FloatingFocusManager.tsx
│   │   │   │   │   ├── FloatingPortal.test.tsx
│   │   │   │   │   ├── FloatingPortal.tsx
│   │   │   │   │   ├── FloatingRootStore.ts
│   │   │   │   │   ├── FloatingTree.tsx
│   │   │   │   │   └── FloatingTreeStore.ts
│   │   │   │   ├── hooks/
│   │   │   │   │   ├── useClick.ts
│   │   │   │   │   ├── useClientPoint.test.tsx
│   │   │   │   │   ├── useClientPoint.ts
│   │   │   │   │   ├── useDismiss.test.tsx
│   │   │   │   │   ├── useDismiss.ts
│   │   │   │   │   ├── useFloating.ts
│   │   │   │   │   ├── useFloatingRootContext.ts
│   │   │   │   │   ├── useFocus.ts
│   │   │   │   │   ├── useHover.test.tsx
│   │   │   │   │   ├── useHover.ts
│   │   │   │   │   ├── useHoverFloatingInteraction.ts
│   │   │   │   │   ├── useHoverInteractionSharedState.ts
│   │   │   │   │   ├── useHoverReferenceInteraction.test.tsx
│   │   │   │   │   ├── useHoverReferenceInteraction.ts
│   │   │   │   │   ├── useHoverShared.ts
│   │   │   │   │   ├── useInteractions.test.tsx
│   │   │   │   │   ├── useInteractions.ts
│   │   │   │   │   ├── useListNavigation.test.tsx
│   │   │   │   │   ├── useListNavigation.ts
│   │   │   │   │   ├── useRole.ts
│   │   │   │   │   ├── useSyncedFloatingRootContext.ts
│   │   │   │   │   ├── useTypeahead.test.tsx
│   │   │   │   │   └── useTypeahead.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── middleware/
│   │   │   │   │   └── arrow.ts
│   │   │   │   ├── safePolygon.test.ts
│   │   │   │   ├── safePolygon.ts
│   │   │   │   ├── types.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── composite.ts
│   │   │   │   │   ├── constants.ts
│   │   │   │   │   ├── createAttribute.ts
│   │   │   │   │   ├── createEventEmitter.ts
│   │   │   │   │   ├── element.ts
│   │   │   │   │   ├── enqueueFocus.ts
│   │   │   │   │   ├── event.ts
│   │   │   │   │   ├── getEmptyRootContext.ts
│   │   │   │   │   ├── markOthers.test.ts
│   │   │   │   │   ├── markOthers.ts
│   │   │   │   │   ├── nodes.test.ts
│   │   │   │   │   ├── nodes.ts
│   │   │   │   │   └── tabbable.ts
│   │   │   │   └── utils.ts
│   │   │   ├── form/
│   │   │   │   ├── Form.spec.tsx
│   │   │   │   ├── Form.test.tsx
│   │   │   │   ├── Form.tsx
│   │   │   │   ├── FormContext.ts
│   │   │   │   └── index.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.test.ts
│   │   │   ├── index.ts
│   │   │   ├── input/
│   │   │   │   ├── Input.spec.tsx
│   │   │   │   ├── Input.test.tsx
│   │   │   │   ├── Input.tsx
│   │   │   │   ├── InputDataAttributes.ts
│   │   │   │   └── index.ts
│   │   │   ├── labelable-provider/
│   │   │   │   ├── LabelableContext.ts
│   │   │   │   ├── LabelableProvider.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── useAriaLabelledBy.ts
│   │   │   │   ├── useLabel.ts
│   │   │   │   └── useLabelableId.ts
│   │   │   ├── localization-provider/
│   │   │   │   ├── LocalizationContext.ts
│   │   │   │   ├── LocalizationProvider.tsx
│   │   │   │   └── index.ts
│   │   │   ├── menu/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── MenuArrow.test.tsx
│   │   │   │   │   ├── MenuArrow.tsx
│   │   │   │   │   └── MenuArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── MenuBackdrop.test.tsx
│   │   │   │   │   ├── MenuBackdrop.tsx
│   │   │   │   │   └── MenuBackdropDataAttributes.ts
│   │   │   │   ├── checkbox-item/
│   │   │   │   │   ├── MenuCheckboxItem.test.tsx
│   │   │   │   │   ├── MenuCheckboxItem.tsx
│   │   │   │   │   ├── MenuCheckboxItemContext.ts
│   │   │   │   │   └── MenuCheckboxItemDataAttributes.ts
│   │   │   │   ├── checkbox-item-indicator/
│   │   │   │   │   ├── MenuCheckboxItemIndicator.test.tsx
│   │   │   │   │   ├── MenuCheckboxItemIndicator.tsx
│   │   │   │   │   └── MenuCheckboxItemIndicatorDataAttributes.ts
│   │   │   │   ├── group/
│   │   │   │   │   ├── MenuGroup.test.tsx
│   │   │   │   │   ├── MenuGroup.tsx
│   │   │   │   │   └── MenuGroupContext.ts
│   │   │   │   ├── group-label/
│   │   │   │   │   ├── MenuGroupLabel.test.tsx
│   │   │   │   │   └── MenuGroupLabel.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── MenuItem.test.tsx
│   │   │   │   │   ├── MenuItem.tsx
│   │   │   │   │   ├── MenuItemDataAttributes.ts
│   │   │   │   │   ├── useMenuItem.ts
│   │   │   │   │   └── useMenuItemCommonProps.ts
│   │   │   │   ├── link-item/
│   │   │   │   │   ├── MenuLinkItem.test.tsx
│   │   │   │   │   ├── MenuLinkItem.tsx
│   │   │   │   │   └── MenuLinkItemDataAttributes.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── MenuPopup.test.tsx
│   │   │   │   │   ├── MenuPopup.tsx
│   │   │   │   │   └── MenuPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── MenuPortal.test.tsx
│   │   │   │   │   ├── MenuPortal.tsx
│   │   │   │   │   └── MenuPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── MenuPositioner.spec.tsx
│   │   │   │   │   ├── MenuPositioner.test.tsx
│   │   │   │   │   ├── MenuPositioner.tsx
│   │   │   │   │   ├── MenuPositionerContext.ts
│   │   │   │   │   ├── MenuPositionerCssVars.ts
│   │   │   │   │   └── MenuPositionerDataAttributes.ts
│   │   │   │   ├── radio-group/
│   │   │   │   │   ├── MenuRadioGroup.test.tsx
│   │   │   │   │   ├── MenuRadioGroup.tsx
│   │   │   │   │   └── MenuRadioGroupContext.ts
│   │   │   │   ├── radio-item/
│   │   │   │   │   ├── MenuRadioItem.test.tsx
│   │   │   │   │   ├── MenuRadioItem.tsx
│   │   │   │   │   ├── MenuRadioItemContext.ts
│   │   │   │   │   └── MenuRadioItemDataAttributes.ts
│   │   │   │   ├── radio-item-indicator/
│   │   │   │   │   ├── MenuRadioItemIndicator.test.tsx
│   │   │   │   │   ├── MenuRadioItemIndicator.tsx
│   │   │   │   │   └── MenuRadioItemIndicatorDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── MenuRoot.detached-triggers.test.tsx
│   │   │   │   │   ├── MenuRoot.test.tsx
│   │   │   │   │   ├── MenuRoot.tsx
│   │   │   │   │   └── MenuRootContext.ts
│   │   │   │   ├── store/
│   │   │   │   │   ├── MenuHandle.ts
│   │   │   │   │   └── MenuStore.ts
│   │   │   │   ├── submenu-root/
│   │   │   │   │   ├── MenuSubmenuRoot.tsx
│   │   │   │   │   └── MenuSubmenuRootContext.ts
│   │   │   │   ├── submenu-trigger/
│   │   │   │   │   ├── MenuSubmenuTrigger.test.tsx
│   │   │   │   │   ├── MenuSubmenuTrigger.tsx
│   │   │   │   │   └── MenuSubmenuTriggerDataAttributes.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── MenuTrigger.test.tsx
│   │   │   │   │   ├── MenuTrigger.tsx
│   │   │   │   │   └── MenuTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── findRootOwnerId.ts
│   │   │   │   │   ├── stateAttributesMapping.ts
│   │   │   │   │   └── types.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── MenuViewport.test.tsx
│   │   │   │       ├── MenuViewport.tsx
│   │   │   │       ├── MenuViewportCssVars.ts
│   │   │   │       └── MenuViewportDataAttributes.ts
│   │   │   ├── menubar/
│   │   │   │   ├── Menubar.test.tsx
│   │   │   │   ├── Menubar.tsx
│   │   │   │   ├── MenubarContext.ts
│   │   │   │   ├── MenubarDataAttributes.ts
│   │   │   │   └── index.ts
│   │   │   ├── merge-props/
│   │   │   │   ├── index.ts
│   │   │   │   ├── mergeProps.test.ts
│   │   │   │   └── mergeProps.ts
│   │   │   ├── meter/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── MeterIndicator.test.tsx
│   │   │   │   │   └── MeterIndicator.tsx
│   │   │   │   ├── label/
│   │   │   │   │   ├── MeterLabel.test.tsx
│   │   │   │   │   └── MeterLabel.tsx
│   │   │   │   ├── root/
│   │   │   │   │   ├── MeterRoot.test.tsx
│   │   │   │   │   ├── MeterRoot.tsx
│   │   │   │   │   └── MeterRootContext.ts
│   │   │   │   ├── track/
│   │   │   │   │   ├── MeterTrack.test.tsx
│   │   │   │   │   └── MeterTrack.tsx
│   │   │   │   └── value/
│   │   │   │       ├── MeterValue.test.tsx
│   │   │   │       └── MeterValue.tsx
│   │   │   ├── navigation-menu/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── NavigationMenuArrow.test.tsx
│   │   │   │   │   ├── NavigationMenuArrow.tsx
│   │   │   │   │   └── NavigationMenuArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── NavigationMenuBackdrop.test.tsx
│   │   │   │   │   ├── NavigationMenuBackdrop.tsx
│   │   │   │   │   └── NavigationMenuBackdropDataAttributes.ts
│   │   │   │   ├── content/
│   │   │   │   │   ├── NavigationMenuContent.test.tsx
│   │   │   │   │   ├── NavigationMenuContent.tsx
│   │   │   │   │   └── NavigationMenuContentDataAttributes.ts
│   │   │   │   ├── icon/
│   │   │   │   │   ├── NavigationMenuIcon.test.tsx
│   │   │   │   │   └── NavigationMenuIcon.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── NavigationMenuItem.test.tsx
│   │   │   │   │   ├── NavigationMenuItem.tsx
│   │   │   │   │   └── NavigationMenuItemContext.ts
│   │   │   │   ├── link/
│   │   │   │   │   ├── NavigationMenuLink.test.tsx
│   │   │   │   │   ├── NavigationMenuLink.tsx
│   │   │   │   │   └── NavigationMenuLinkDataAttributes.ts
│   │   │   │   ├── list/
│   │   │   │   │   ├── NavigationMenuDismissContext.ts
│   │   │   │   │   ├── NavigationMenuList.test.tsx
│   │   │   │   │   └── NavigationMenuList.tsx
│   │   │   │   ├── popup/
│   │   │   │   │   ├── NavigationMenuPopup.test.tsx
│   │   │   │   │   ├── NavigationMenuPopup.tsx
│   │   │   │   │   ├── NavigationMenuPopupCssVars.ts
│   │   │   │   │   └── NavigationMenuPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── NavigationMenuPortal.test.tsx
│   │   │   │   │   ├── NavigationMenuPortal.tsx
│   │   │   │   │   └── NavigationMenuPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── NavigationMenuPositioner.test.tsx
│   │   │   │   │   ├── NavigationMenuPositioner.tsx
│   │   │   │   │   ├── NavigationMenuPositionerContext.ts
│   │   │   │   │   ├── NavigationMenuPositionerCssVars.ts
│   │   │   │   │   └── NavigationMenuPositionerDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── NavigationMenuRoot.spec.tsx
│   │   │   │   │   ├── NavigationMenuRoot.test.tsx
│   │   │   │   │   ├── NavigationMenuRoot.tsx
│   │   │   │   │   ├── NavigationMenuRoot.webkit.test.tsx
│   │   │   │   │   └── NavigationMenuRootContext.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── NavigationMenuTrigger.test.tsx
│   │   │   │   │   ├── NavigationMenuTrigger.tsx
│   │   │   │   │   └── NavigationMenuTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── constants.ts
│   │   │   │   │   └── isOutsideMenuEvent.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── NavigationMenuViewport.test.tsx
│   │   │   │       └── NavigationMenuViewport.tsx
│   │   │   ├── number-field/
│   │   │   │   ├── decrement/
│   │   │   │   │   ├── NumberFieldDecrement.test.tsx
│   │   │   │   │   ├── NumberFieldDecrement.tsx
│   │   │   │   │   └── NumberFieldDecrementDataAttributes.ts
│   │   │   │   ├── group/
│   │   │   │   │   ├── NumberFieldGroup.test.tsx
│   │   │   │   │   ├── NumberFieldGroup.tsx
│   │   │   │   │   └── NumberFieldGroupDataAttributes.ts
│   │   │   │   ├── increment/
│   │   │   │   │   ├── NumberFieldIncrement.test.tsx
│   │   │   │   │   ├── NumberFieldIncrement.tsx
│   │   │   │   │   └── NumberFieldIncrementDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── input/
│   │   │   │   │   ├── NumberFieldInput.test.tsx
│   │   │   │   │   ├── NumberFieldInput.tsx
│   │   │   │   │   └── NumberFieldInputDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── NumberFieldRoot.spec.tsx
│   │   │   │   │   ├── NumberFieldRoot.test.tsx
│   │   │   │   │   ├── NumberFieldRoot.tsx
│   │   │   │   │   ├── NumberFieldRootContext.ts
│   │   │   │   │   ├── NumberFieldRootDataAttributes.ts
│   │   │   │   │   └── useNumberFieldButton.ts
│   │   │   │   ├── scrub-area/
│   │   │   │   │   ├── NumberFieldScrubArea.test.tsx
│   │   │   │   │   ├── NumberFieldScrubArea.tsx
│   │   │   │   │   ├── NumberFieldScrubAreaContext.ts
│   │   │   │   │   └── NumberFieldScrubAreaDataAttributes.ts
│   │   │   │   ├── scrub-area-cursor/
│   │   │   │   │   ├── NumberFieldScrubAreaCursor.test.tsx
│   │   │   │   │   ├── NumberFieldScrubAreaCursor.tsx
│   │   │   │   │   └── NumberFieldScrubAreaCursorDataAttributes.ts
│   │   │   │   └── utils/
│   │   │   │       ├── constants.ts
│   │   │   │       ├── getViewportRect.ts
│   │   │   │       ├── parse.test.ts
│   │   │   │       ├── parse.ts
│   │   │   │       ├── stateAttributesMapping.ts
│   │   │   │       ├── subscribeToVisualViewportResize.ts
│   │   │   │       ├── types.ts
│   │   │   │       ├── validate.test.ts
│   │   │   │       └── validate.ts
│   │   │   ├── popover/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── PopoverArrow.test.tsx
│   │   │   │   │   ├── PopoverArrow.tsx
│   │   │   │   │   └── PopoverArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── PopoverBackdrop.test.tsx
│   │   │   │   │   ├── PopoverBackdrop.tsx
│   │   │   │   │   └── PopoverBackdropDataAttributes.ts
│   │   │   │   ├── close/
│   │   │   │   │   ├── PopoverClose.test.tsx
│   │   │   │   │   └── PopoverClose.tsx
│   │   │   │   ├── description/
│   │   │   │   │   ├── PopoverDescription.test.tsx
│   │   │   │   │   └── PopoverDescription.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── PopoverPopup.test.tsx
│   │   │   │   │   ├── PopoverPopup.tsx
│   │   │   │   │   ├── PopoverPopupCssVars.ts
│   │   │   │   │   └── PopoverPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── PopoverPortal.test.tsx
│   │   │   │   │   ├── PopoverPortal.tsx
│   │   │   │   │   └── PopoverPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── PopoverPositioner.spec.tsx
│   │   │   │   │   ├── PopoverPositioner.test.tsx
│   │   │   │   │   ├── PopoverPositioner.tsx
│   │   │   │   │   ├── PopoverPositionerContext.ts
│   │   │   │   │   ├── PopoverPositionerCssVars.ts
│   │   │   │   │   └── PopoverPositionerDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── PopoverRoot.detached-triggers.test.tsx
│   │   │   │   │   ├── PopoverRoot.spec.tsx
│   │   │   │   │   ├── PopoverRoot.test.tsx
│   │   │   │   │   ├── PopoverRoot.tsx
│   │   │   │   │   └── PopoverRootContext.ts
│   │   │   │   ├── store/
│   │   │   │   │   ├── PopoverHandle.ts
│   │   │   │   │   └── PopoverStore.ts
│   │   │   │   ├── title/
│   │   │   │   │   ├── PopoverTitle.test.tsx
│   │   │   │   │   └── PopoverTitle.tsx
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── PopoverTrigger.test.tsx
│   │   │   │   │   ├── PopoverTrigger.tsx
│   │   │   │   │   └── PopoverTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   └── constants.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── PopoverViewport.test.tsx
│   │   │   │       ├── PopoverViewport.tsx
│   │   │   │       ├── PopoverViewportCssVars.ts
│   │   │   │       └── PopoverViewportDataAttributes.ts
│   │   │   ├── preview-card/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── PreviewCardArrow.test.tsx
│   │   │   │   │   ├── PreviewCardArrow.tsx
│   │   │   │   │   └── PreviewCardArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── PreviewCardBackdrop.test.tsx
│   │   │   │   │   ├── PreviewCardBackdrop.tsx
│   │   │   │   │   └── PreviewCardBackdropDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── PreviewCardPopup.test.tsx
│   │   │   │   │   ├── PreviewCardPopup.tsx
│   │   │   │   │   └── PreviewCardPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── PreviewCardPortal.test.tsx
│   │   │   │   │   ├── PreviewCardPortal.tsx
│   │   │   │   │   └── PreviewCardPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── PreviewCardPositioner.spec.tsx
│   │   │   │   │   ├── PreviewCardPositioner.test.tsx
│   │   │   │   │   ├── PreviewCardPositioner.tsx
│   │   │   │   │   ├── PreviewCardPositionerContext.ts
│   │   │   │   │   ├── PreviewCardPositionerCssVars.ts
│   │   │   │   │   └── PreviewCardPositionerDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── PreviewCardContext.ts
│   │   │   │   │   ├── PreviewCardRoot.detached-triggers.test.tsx
│   │   │   │   │   ├── PreviewCardRoot.spec.tsx
│   │   │   │   │   ├── PreviewCardRoot.test.tsx
│   │   │   │   │   └── PreviewCardRoot.tsx
│   │   │   │   ├── store/
│   │   │   │   │   ├── PreviewCardHandle.ts
│   │   │   │   │   └── PreviewCardStore.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── PreviewCardTrigger.test.tsx
│   │   │   │   │   ├── PreviewCardTrigger.tsx
│   │   │   │   │   └── PreviewCardTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   └── constants.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── PreviewCardViewport.test.tsx
│   │   │   │       ├── PreviewCardViewport.tsx
│   │   │   │       ├── PreviewCardViewportCssVars.ts
│   │   │   │       └── PreviewCardViewportDataAttributes.ts
│   │   │   ├── progress/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── ProgressIndicator.test.tsx
│   │   │   │   │   ├── ProgressIndicator.tsx
│   │   │   │   │   └── ProgressIndicatorDataAttributes.ts
│   │   │   │   ├── label/
│   │   │   │   │   ├── ProgressLabel.test.tsx
│   │   │   │   │   ├── ProgressLabel.tsx
│   │   │   │   │   └── ProgressLabelDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── ProgressRoot.test.tsx
│   │   │   │   │   ├── ProgressRoot.tsx
│   │   │   │   │   ├── ProgressRootContext.tsx
│   │   │   │   │   ├── ProgressRootDataAttributes.ts
│   │   │   │   │   └── stateAttributesMapping.ts
│   │   │   │   ├── track/
│   │   │   │   │   ├── ProgressTrack.test.tsx
│   │   │   │   │   ├── ProgressTrack.tsx
│   │   │   │   │   └── ProgressTrackDataAttributes.ts
│   │   │   │   └── value/
│   │   │   │       ├── ProgressValue.test.tsx
│   │   │   │       ├── ProgressValue.tsx
│   │   │   │       └── ProgressValueDataAttributes.ts
│   │   │   ├── radio/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── RadioIndicator.test.tsx
│   │   │   │   │   ├── RadioIndicator.tsx
│   │   │   │   │   └── RadioIndicatorDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── RadioRoot.spec.tsx
│   │   │   │   │   ├── RadioRoot.test.tsx
│   │   │   │   │   ├── RadioRoot.tsx
│   │   │   │   │   ├── RadioRootContext.ts
│   │   │   │   │   └── RadioRootDataAttributes.ts
│   │   │   │   └── utils/
│   │   │   │       └── stateAttributesMapping.ts
│   │   │   ├── radio-group/
│   │   │   │   ├── RadioGroup.spec.tsx
│   │   │   │   ├── RadioGroup.test.tsx
│   │   │   │   ├── RadioGroup.tsx
│   │   │   │   ├── RadioGroupContext.ts
│   │   │   │   ├── RadioGroupDataAttributes.ts
│   │   │   │   └── index.ts
│   │   │   ├── scroll-area/
│   │   │   │   ├── constants.ts
│   │   │   │   ├── content/
│   │   │   │   │   ├── ScrollAreaContent.test.tsx
│   │   │   │   │   └── ScrollAreaContent.tsx
│   │   │   │   ├── corner/
│   │   │   │   │   ├── ScrollAreaCorner.test.tsx
│   │   │   │   │   └── ScrollAreaCorner.tsx
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── ScrollAreaRoot.test.tsx
│   │   │   │   │   ├── ScrollAreaRoot.tsx
│   │   │   │   │   ├── ScrollAreaRootContext.ts
│   │   │   │   │   ├── ScrollAreaRootCssVars.ts
│   │   │   │   │   ├── ScrollAreaRootDataAttributes.ts
│   │   │   │   │   └── stateAttributes.ts
│   │   │   │   ├── scrollbar/
│   │   │   │   │   ├── ScrollAreaScrollbar.test.tsx
│   │   │   │   │   ├── ScrollAreaScrollbar.tsx
│   │   │   │   │   ├── ScrollAreaScrollbarContext.ts
│   │   │   │   │   ├── ScrollAreaScrollbarCssVars.ts
│   │   │   │   │   └── ScrollAreaScrollbarDataAttributes.ts
│   │   │   │   ├── thumb/
│   │   │   │   │   ├── ScrollAreaThumb.test.tsx
│   │   │   │   │   ├── ScrollAreaThumb.tsx
│   │   │   │   │   └── ScrollAreaThumbDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── getOffset.ts
│   │   │   │   │   ├── scrollEdges.test.ts
│   │   │   │   │   └── scrollEdges.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── ScrollAreaViewport.test.tsx
│   │   │   │       ├── ScrollAreaViewport.tsx
│   │   │   │       ├── ScrollAreaViewportContext.ts
│   │   │   │       ├── ScrollAreaViewportCssVars.ts
│   │   │   │       └── ScrollAreaViewportDataAttributes.ts
│   │   │   ├── select/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── SelectArrow.test.tsx
│   │   │   │   │   ├── SelectArrow.tsx
│   │   │   │   │   └── SelectArrowDataAttributes.ts
│   │   │   │   ├── backdrop/
│   │   │   │   │   ├── SelectBackdrop.test.tsx
│   │   │   │   │   ├── SelectBackdrop.tsx
│   │   │   │   │   └── SelectBackdropDataAttributes.ts
│   │   │   │   ├── group/
│   │   │   │   │   ├── SelectGroup.test.tsx
│   │   │   │   │   ├── SelectGroup.tsx
│   │   │   │   │   └── SelectGroupContext.ts
│   │   │   │   ├── group-label/
│   │   │   │   │   ├── SelectGroupLabel.test.tsx
│   │   │   │   │   └── SelectGroupLabel.tsx
│   │   │   │   ├── icon/
│   │   │   │   │   ├── SelectIcon.test.tsx
│   │   │   │   │   ├── SelectIcon.tsx
│   │   │   │   │   └── SelectIconDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── item/
│   │   │   │   │   ├── SelectItem.test.tsx
│   │   │   │   │   ├── SelectItem.tsx
│   │   │   │   │   ├── SelectItemContext.ts
│   │   │   │   │   └── SelectItemDataAttributes.ts
│   │   │   │   ├── item-indicator/
│   │   │   │   │   ├── SelectItemIndicator.test.tsx
│   │   │   │   │   ├── SelectItemIndicator.tsx
│   │   │   │   │   └── SelectItemIndicatorDataAttributes.ts
│   │   │   │   ├── item-text/
│   │   │   │   │   ├── SelectItemText.test.tsx
│   │   │   │   │   └── SelectItemText.tsx
│   │   │   │   ├── label/
│   │   │   │   │   ├── SelectLabel.test.tsx
│   │   │   │   │   └── SelectLabel.tsx
│   │   │   │   ├── list/
│   │   │   │   │   ├── SelectList.test.tsx
│   │   │   │   │   └── SelectList.tsx
│   │   │   │   ├── popup/
│   │   │   │   │   ├── SelectPopup.test.tsx
│   │   │   │   │   ├── SelectPopup.tsx
│   │   │   │   │   ├── SelectPopupDataAttributes.ts
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── SelectPortal.test.tsx
│   │   │   │   │   ├── SelectPortal.tsx
│   │   │   │   │   └── SelectPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── SelectPositioner.spec.tsx
│   │   │   │   │   ├── SelectPositioner.test.tsx
│   │   │   │   │   ├── SelectPositioner.tsx
│   │   │   │   │   ├── SelectPositionerContext.ts
│   │   │   │   │   ├── SelectPositionerCssVars.ts
│   │   │   │   │   └── SelectPositionerDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── SelectRoot.spec.tsx
│   │   │   │   │   ├── SelectRoot.test.tsx
│   │   │   │   │   ├── SelectRoot.tsx
│   │   │   │   │   └── SelectRootContext.ts
│   │   │   │   ├── scroll-arrow/
│   │   │   │   │   └── SelectScrollArrow.tsx
│   │   │   │   ├── scroll-down-arrow/
│   │   │   │   │   ├── SelectScrollDownArrow.test.tsx
│   │   │   │   │   ├── SelectScrollDownArrow.tsx
│   │   │   │   │   └── SelectScrollDownArrowDataAttributes.ts
│   │   │   │   ├── scroll-up-arrow/
│   │   │   │   │   ├── SelectScrollUpArrow.test.tsx
│   │   │   │   │   ├── SelectScrollUpArrow.tsx
│   │   │   │   │   └── SelectScrollUpArrowDataAttributes.ts
│   │   │   │   ├── store.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── SelectTrigger.test.tsx
│   │   │   │   │   ├── SelectTrigger.tsx
│   │   │   │   │   └── SelectTriggerDataAttributes.ts
│   │   │   │   └── value/
│   │   │   │       ├── SelectValue.test.tsx
│   │   │   │       ├── SelectValue.tsx
│   │   │   │       └── SelectValueDataAttributes.ts
│   │   │   ├── separator/
│   │   │   │   ├── Separator.test.tsx
│   │   │   │   ├── Separator.tsx
│   │   │   │   └── index.ts
│   │   │   ├── slider/
│   │   │   │   ├── control/
│   │   │   │   │   ├── SliderControl.test.tsx
│   │   │   │   │   ├── SliderControl.tsx
│   │   │   │   │   └── SliderControlDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── SliderIndicator.test.tsx
│   │   │   │   │   ├── SliderIndicator.tsx
│   │   │   │   │   └── SliderIndicatorDataAttributes.ts
│   │   │   │   ├── label/
│   │   │   │   │   ├── SliderLabel.test.tsx
│   │   │   │   │   └── SliderLabel.tsx
│   │   │   │   ├── root/
│   │   │   │   │   ├── SliderRoot.spec.tsx
│   │   │   │   │   ├── SliderRoot.test.tsx
│   │   │   │   │   ├── SliderRoot.tsx
│   │   │   │   │   ├── SliderRootContext.ts
│   │   │   │   │   ├── SliderRootDataAttributes.ts
│   │   │   │   │   └── stateAttributesMapping.ts
│   │   │   │   ├── thumb/
│   │   │   │   │   ├── SliderThumb.test.tsx
│   │   │   │   │   ├── SliderThumb.tsx
│   │   │   │   │   ├── SliderThumbDataAttributes.ts
│   │   │   │   │   ├── prehydrationScript.min.ts
│   │   │   │   │   └── prehydrationScript.template.js
│   │   │   │   ├── track/
│   │   │   │   │   ├── SliderTrack.test.tsx
│   │   │   │   │   ├── SliderTrack.tsx
│   │   │   │   │   └── SliderTrackDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── asc.ts
│   │   │   │   │   ├── getMidpoint.ts
│   │   │   │   │   ├── getPushedThumbValues.test.ts
│   │   │   │   │   ├── getPushedThumbValues.ts
│   │   │   │   │   ├── getSliderValue.ts
│   │   │   │   │   ├── replaceArrayItemAtIndex.ts
│   │   │   │   │   ├── resolveThumbCollision.test.ts
│   │   │   │   │   ├── resolveThumbCollision.ts
│   │   │   │   │   ├── roundValueToStep.ts
│   │   │   │   │   ├── test-utils.ts
│   │   │   │   │   ├── validateMinimumDistance.ts
│   │   │   │   │   └── valueArrayToPercentages.ts
│   │   │   │   └── value/
│   │   │   │       ├── SliderValue.test.tsx
│   │   │   │       ├── SliderValue.tsx
│   │   │   │       └── SliderValueDataAttributes.ts
│   │   │   ├── switch/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── SwitchRoot.test.tsx
│   │   │   │   │   ├── SwitchRoot.tsx
│   │   │   │   │   ├── SwitchRootContext.ts
│   │   │   │   │   └── SwitchRootDataAttributes.ts
│   │   │   │   ├── stateAttributesMapping.ts
│   │   │   │   └── thumb/
│   │   │   │       ├── SwitchThumb.test.tsx
│   │   │   │       ├── SwitchThumb.tsx
│   │   │   │       └── SwitchThumbDataAttributes.ts
│   │   │   ├── tabs/
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── indicator/
│   │   │   │   │   ├── TabsIndicator.test.tsx
│   │   │   │   │   ├── TabsIndicator.tsx
│   │   │   │   │   ├── TabsIndicatorCssVars.ts
│   │   │   │   │   ├── TabsIndicatorDataAttributes.ts
│   │   │   │   │   ├── prehydrationScript.min.ts
│   │   │   │   │   └── prehydrationScript.template.js
│   │   │   │   ├── list/
│   │   │   │   │   ├── TabsList.test.tsx
│   │   │   │   │   ├── TabsList.tsx
│   │   │   │   │   ├── TabsListContext.ts
│   │   │   │   │   └── TabsListDataAttributes.ts
│   │   │   │   ├── panel/
│   │   │   │   │   ├── TabsPanel.test.tsx
│   │   │   │   │   ├── TabsPanel.tsx
│   │   │   │   │   └── TabsPanelDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── TabsRoot.test.tsx
│   │   │   │   │   ├── TabsRoot.tsx
│   │   │   │   │   ├── TabsRootContext.ts
│   │   │   │   │   ├── TabsRootDataAttributes.ts
│   │   │   │   │   └── stateAttributesMapping.ts
│   │   │   │   └── tab/
│   │   │   │       ├── TabsTab.test.tsx
│   │   │   │       ├── TabsTab.tsx
│   │   │   │       └── TabsTabDataAttributes.ts
│   │   │   ├── temporal-adapter-date-fns/
│   │   │   │   ├── TemporalAdapterDateFns.test.ts
│   │   │   │   ├── TemporalAdapterDateFns.ts
│   │   │   │   └── index.ts
│   │   │   ├── temporal-adapter-luxon/
│   │   │   │   ├── TemporalAdapterLuxon.test.ts
│   │   │   │   ├── TemporalAdapterLuxon.ts
│   │   │   │   └── index.ts
│   │   │   ├── temporal-adapter-provider/
│   │   │   │   ├── TemporalAdapterContext.ts
│   │   │   │   ├── TemporalAdapterProvider.tsx
│   │   │   │   └── index.ts
│   │   │   ├── toast/
│   │   │   │   ├── action/
│   │   │   │   │   ├── ToastAction.test.tsx
│   │   │   │   │   ├── ToastAction.tsx
│   │   │   │   │   └── ToastActionDataAttributes.ts
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── ToastArrow.test.tsx
│   │   │   │   │   ├── ToastArrow.tsx
│   │   │   │   │   └── ToastArrowDataAttributes.ts
│   │   │   │   ├── close/
│   │   │   │   │   ├── ToastClose.test.tsx
│   │   │   │   │   ├── ToastClose.tsx
│   │   │   │   │   └── ToastCloseDataAttributes.ts
│   │   │   │   ├── content/
│   │   │   │   │   ├── ToastContent.tsx
│   │   │   │   │   └── ToastContentDataAttributes.ts
│   │   │   │   ├── createToastManager.spec.tsx
│   │   │   │   ├── createToastManager.test.tsx
│   │   │   │   ├── createToastManager.ts
│   │   │   │   ├── description/
│   │   │   │   │   ├── ToastDescription.test.tsx
│   │   │   │   │   ├── ToastDescription.tsx
│   │   │   │   │   └── ToastDescriptionDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── ToastPortal.test.tsx
│   │   │   │   │   └── ToastPortal.tsx
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── ToastPositioner.test.tsx
│   │   │   │   │   ├── ToastPositioner.tsx
│   │   │   │   │   ├── ToastPositionerContext.ts
│   │   │   │   │   ├── ToastPositionerCssVars.ts
│   │   │   │   │   └── ToastPositionerDataAttributes.ts
│   │   │   │   ├── provider/
│   │   │   │   │   ├── ToastProvider.tsx
│   │   │   │   │   └── ToastProviderContext.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── ToastRoot.test.tsx
│   │   │   │   │   ├── ToastRoot.tsx
│   │   │   │   │   ├── ToastRootContext.ts
│   │   │   │   │   ├── ToastRootCssVars.ts
│   │   │   │   │   └── ToastRootDataAttributes.ts
│   │   │   │   ├── store.ts
│   │   │   │   ├── title/
│   │   │   │   │   ├── ToastTitle.test.tsx
│   │   │   │   │   ├── ToastTitle.tsx
│   │   │   │   │   └── ToastTitleDataAttributes.ts
│   │   │   │   ├── useToastManager.spec.tsx
│   │   │   │   ├── useToastManager.test.tsx
│   │   │   │   ├── useToastManager.ts
│   │   │   │   ├── utils/
│   │   │   │   │   ├── focusVisible.ts
│   │   │   │   │   ├── resolvePromiseOptions.ts
│   │   │   │   │   └── test-utils.tsx
│   │   │   │   └── viewport/
│   │   │   │       ├── ToastViewport.test.tsx
│   │   │   │       ├── ToastViewport.tsx
│   │   │   │       ├── ToastViewportCssVars.ts
│   │   │   │       └── ToastViewportDataAttributes.ts
│   │   │   ├── toggle/
│   │   │   │   ├── Toggle.test.tsx
│   │   │   │   ├── Toggle.tsx
│   │   │   │   ├── ToggleDataAttributes.ts
│   │   │   │   └── index.ts
│   │   │   ├── toggle-group/
│   │   │   │   ├── ToggleGroup.spec.tsx
│   │   │   │   ├── ToggleGroup.test.tsx
│   │   │   │   ├── ToggleGroup.tsx
│   │   │   │   ├── ToggleGroupContext.ts
│   │   │   │   ├── ToggleGroupDataAttributes.ts
│   │   │   │   └── index.ts
│   │   │   ├── toolbar/
│   │   │   │   ├── button/
│   │   │   │   │   ├── ToolbarButton.test.tsx
│   │   │   │   │   ├── ToolbarButton.tsx
│   │   │   │   │   └── ToolbarButtonDataAttributes.ts
│   │   │   │   ├── group/
│   │   │   │   │   ├── ToolbarGroup.test.tsx
│   │   │   │   │   ├── ToolbarGroup.tsx
│   │   │   │   │   ├── ToolbarGroupContext.ts
│   │   │   │   │   └── ToolbarGroupDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── input/
│   │   │   │   │   ├── ToolbarInput.test.tsx
│   │   │   │   │   ├── ToolbarInput.tsx
│   │   │   │   │   └── ToolbarInputDataAttributes.ts
│   │   │   │   ├── link/
│   │   │   │   │   ├── ToolbarLink.test.tsx
│   │   │   │   │   ├── ToolbarLink.tsx
│   │   │   │   │   └── ToolbarLinkDataAttributes.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── ToolbarRoot.test.tsx
│   │   │   │   │   ├── ToolbarRoot.tsx
│   │   │   │   │   ├── ToolbarRootContext.ts
│   │   │   │   │   └── ToolbarRootDataAttributes.ts
│   │   │   │   └── separator/
│   │   │   │       ├── ToolbarSeparator.tsx
│   │   │   │       └── ToolbarSeparatorDataAttributes.ts
│   │   │   ├── tooltip/
│   │   │   │   ├── arrow/
│   │   │   │   │   ├── TooltipArrow.test.tsx
│   │   │   │   │   ├── TooltipArrow.tsx
│   │   │   │   │   └── TooltipArrowDataAttributes.ts
│   │   │   │   ├── index.parts.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── popup/
│   │   │   │   │   ├── TooltipPopup.test.tsx
│   │   │   │   │   ├── TooltipPopup.tsx
│   │   │   │   │   └── TooltipPopupDataAttributes.ts
│   │   │   │   ├── portal/
│   │   │   │   │   ├── TooltipPortal.test.tsx
│   │   │   │   │   ├── TooltipPortal.tsx
│   │   │   │   │   └── TooltipPortalContext.ts
│   │   │   │   ├── positioner/
│   │   │   │   │   ├── TooltipPositioner.spec.tsx
│   │   │   │   │   ├── TooltipPositioner.test.tsx
│   │   │   │   │   ├── TooltipPositioner.tsx
│   │   │   │   │   ├── TooltipPositionerContext.ts
│   │   │   │   │   ├── TooltipPositionerCssVars.ts
│   │   │   │   │   └── TooltipPositionerDataAttributes.ts
│   │   │   │   ├── provider/
│   │   │   │   │   ├── TooltipProvider.test.tsx
│   │   │   │   │   ├── TooltipProvider.tsx
│   │   │   │   │   └── TooltipProviderContext.ts
│   │   │   │   ├── root/
│   │   │   │   │   ├── TooltipRoot.detached-triggers.test.tsx
│   │   │   │   │   ├── TooltipRoot.test.tsx
│   │   │   │   │   ├── TooltipRoot.tsx
│   │   │   │   │   └── TooltipRootContext.ts
│   │   │   │   ├── store/
│   │   │   │   │   ├── TooltipHandle.ts
│   │   │   │   │   └── TooltipStore.ts
│   │   │   │   ├── trigger/
│   │   │   │   │   ├── TooltipTrigger.spec.tsx
│   │   │   │   │   ├── TooltipTrigger.test.tsx
│   │   │   │   │   ├── TooltipTrigger.tsx
│   │   │   │   │   └── TooltipTriggerDataAttributes.ts
│   │   │   │   ├── utils/
│   │   │   │   │   └── constants.ts
│   │   │   │   └── viewport/
│   │   │   │       ├── TooltipViewport.test.tsx
│   │   │   │       ├── TooltipViewport.tsx
│   │   │   │       ├── TooltipViewportCssVars.ts
│   │   │   │       └── TooltipViewportDataAttributes.ts
│   │   │   ├── types/
│   │   │   │   ├── index.ts
│   │   │   │   └── temporal/
│   │   │   │       ├── index.ts
│   │   │   │       ├── temporal-adapter.ts
│   │   │   │       └── temporal.ts
│   │   │   ├── unstable-use-media-query/
│   │   │   │   └── index.ts
│   │   │   ├── use-button/
│   │   │   │   ├── index.ts
│   │   │   │   ├── useButton.test.tsx
│   │   │   │   └── useButton.ts
│   │   │   ├── use-render/
│   │   │   │   ├── index.ts
│   │   │   │   ├── useRender.spec.tsx
│   │   │   │   ├── useRender.test.tsx
│   │   │   │   └── useRender.ts
│   │   │   └── utils/
│   │   │       ├── FloatingPortalLite.tsx
│   │   │       ├── FocusGuard.tsx
│   │   │       ├── InternalBackdrop.tsx
│   │   │       ├── adaptiveOriginMiddleware.ts
│   │   │       ├── areArraysEqual.ts
│   │   │       ├── clamp.test.ts
│   │   │       ├── clamp.ts
│   │   │       ├── closePart.tsx
│   │   │       ├── collapsibleOpenStateMapping.ts
│   │   │       ├── constants.ts
│   │   │       ├── createBaseUIEventDetails.spec.ts
│   │   │       ├── createBaseUIEventDetails.ts
│   │   │       ├── formatNumber.test.ts
│   │   │       ├── formatNumber.ts
│   │   │       ├── getCssDimensions.ts
│   │   │       ├── getDisabledMountTransitionStyles.ts
│   │   │       ├── getElementAtPoint.ts
│   │   │       ├── getPseudoElementBounds.ts
│   │   │       ├── getStateAttributesProps.test.ts
│   │   │       ├── getStateAttributesProps.ts
│   │   │       ├── hideMiddleware.ts
│   │   │       ├── itemEquality.ts
│   │   │       ├── noop.ts
│   │   │       ├── popupStateMapping.ts
│   │   │       ├── popups/
│   │   │       │   ├── index.ts
│   │   │       │   ├── popupStoreUtils.test.tsx
│   │   │       │   ├── popupStoreUtils.ts
│   │   │       │   ├── popupTriggerMap.test.ts
│   │   │       │   ├── popupTriggerMap.ts
│   │   │       │   └── store.ts
│   │   │       ├── reason-parts.ts
│   │   │       ├── reasons.ts
│   │   │       ├── resolveAriaLabelledBy.ts
│   │   │       ├── resolveClassName.ts
│   │   │       ├── resolveRef.ts
│   │   │       ├── resolveStyle.ts
│   │   │       ├── resolveValueLabel.test.ts
│   │   │       ├── resolveValueLabel.tsx
│   │   │       ├── scrollable.ts
│   │   │       ├── serializeValue.ts
│   │   │       ├── stateAttributesMapping.ts
│   │   │       ├── styles.tsx
│   │   │       ├── temporal/
│   │   │       │   ├── date-helpers.ts
│   │   │       │   ├── getDateManager.ts
│   │   │       │   ├── getInitialReferenceDate.test.ts
│   │   │       │   ├── getInitialReferenceDate.ts
│   │   │       │   ├── types.ts
│   │   │       │   ├── validateDate.test.tsx
│   │   │       │   └── validateDate.ts
│   │   │       ├── types.ts
│   │   │       ├── useAnchorPositioning.ts
│   │   │       ├── useAnimationsFinished.ts
│   │   │       ├── useBaseUiId.ts
│   │   │       ├── useFocusableWhenDisabled.ts
│   │   │       ├── useMixedToggleClickHandler.ts
│   │   │       ├── useOpenChangeComplete.tsx
│   │   │       ├── useOpenInteractionType.ts
│   │   │       ├── usePopupAutoResize.ts
│   │   │       ├── usePopupViewport.tsx
│   │   │       ├── usePressAndHold.ts
│   │   │       ├── useRegisteredLabelId.ts
│   │   │       ├── useRenderElement.spec.tsx
│   │   │       ├── useRenderElement.test.tsx
│   │   │       ├── useRenderElement.tsx
│   │   │       ├── useSwipeDismiss.test.tsx
│   │   │       ├── useSwipeDismiss.ts
│   │   │       ├── useTransitionStatus.d.ts
│   │   │       ├── useTransitionStatus.ts
│   │   │       ├── useValueChanged.ts
│   │   │       └── valueToPercent.ts
│   │   ├── test/
│   │   │   ├── addVitestMatchers.ts
│   │   │   ├── conformanceTests/
│   │   │   │   ├── className.tsx
│   │   │   │   ├── propForwarding.tsx
│   │   │   │   ├── refForwarding.tsx
│   │   │   │   ├── renderProp.tsx
│   │   │   │   └── utils.ts
│   │   │   ├── createRenderer.ts
│   │   │   ├── describeConformance.tsx
│   │   │   ├── describeGregorianAdapter/
│   │   │   │   ├── describeGregorianAdapter.ts
│   │   │   │   ├── describeGregorianAdapter.types.ts
│   │   │   │   ├── describeGregorianAdapter.utils.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── testComputations.ts
│   │   │   │   ├── testFormats.ts
│   │   │   │   └── testLocalization.ts
│   │   │   ├── floating-ui-tests/
│   │   │   │   ├── Button.module.css
│   │   │   │   ├── Button.tsx
│   │   │   │   ├── ComplexGrid.module.css
│   │   │   │   ├── ComplexGrid.tsx
│   │   │   │   ├── EmojiPicker.module.css
│   │   │   │   ├── EmojiPicker.tsx
│   │   │   │   ├── Grid.module.css
│   │   │   │   ├── Grid.tsx
│   │   │   │   ├── ListboxFocus.tsx
│   │   │   │   ├── Menu.module.css
│   │   │   │   ├── Menu.tsx
│   │   │   │   ├── MenuOrientation.module.css
│   │   │   │   ├── MenuOrientation.tsx
│   │   │   │   ├── Navigation.module.css
│   │   │   │   ├── Navigation.tsx
│   │   │   │   ├── Popover.module.css
│   │   │   │   └── Popover.tsx
│   │   │   ├── index.ts
│   │   │   ├── popupConformanceTests.tsx
│   │   │   ├── temporal.tsx
│   │   │   ├── types.d.ts
│   │   │   └── wait.ts
│   │   ├── tsconfig.build.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── vitest-env.d.ts
│   │   └── vitest.config.mts
│   └── utils/
│       ├── .npmignore
│       ├── CHANGELOG.md
│       ├── MAINTAINERS.md
│       ├── README.md
│       ├── package.json
│       ├── src/
│       │   ├── detectBrowser.ts
│       │   ├── empty.ts
│       │   ├── error.ts
│       │   ├── fastHooks.ts
│       │   ├── fastObjectShallowCompare.ts
│       │   ├── formatErrorMessage.test.ts
│       │   ├── formatErrorMessage.ts
│       │   ├── generateId.ts
│       │   ├── getReactElementRef.test.tsx
│       │   ├── getReactElementRef.ts
│       │   ├── inertValue.ts
│       │   ├── isElementDisabled.ts
│       │   ├── isMouseWithinBounds.ts
│       │   ├── mergeObjects.ts
│       │   ├── owner.ts
│       │   ├── reactVersion.ts
│       │   ├── safeReact.ts
│       │   ├── store/
│       │   │   ├── ReactStore.spec.ts
│       │   │   ├── ReactStore.test.tsx
│       │   │   ├── ReactStore.ts
│       │   │   ├── Store.ts
│       │   │   ├── StoreInspector.tsx
│       │   │   ├── createSelector.ts
│       │   │   ├── index.ts
│       │   │   └── useStore.ts
│       │   ├── testUtils.ts
│       │   ├── useAnimationFrame.ts
│       │   ├── useControlled.test.tsx
│       │   ├── useControlled.ts
│       │   ├── useEnhancedClickHandler.ts
│       │   ├── useForcedRerendering.ts
│       │   ├── useId.test.tsx
│       │   ├── useId.ts
│       │   ├── useInterval.ts
│       │   ├── useIsoLayoutEffect.ts
│       │   ├── useMergedRefs.test.tsx
│       │   ├── useMergedRefs.ts
│       │   ├── useOnFirstRender.ts
│       │   ├── useOnMount.ts
│       │   ├── usePreviousValue.test.tsx
│       │   ├── usePreviousValue.ts
│       │   ├── useRefWithInit.ts
│       │   ├── useScrollLock.ts
│       │   ├── useStableCallback.ts
│       │   ├── useTimeout.ts
│       │   ├── useValueAsRef.ts
│       │   ├── visuallyHidden.ts
│       │   └── warn.ts
│       ├── tsconfig.build.json
│       ├── tsconfig.json
│       ├── tsconfig.test.json
│       └── vitest.config.mts
├── playground/
│   └── vite-app/
│       ├── .gitignore
│       ├── README.md
│       ├── index.html
│       ├── package.json
│       ├── src/
│       │   ├── Home.tsx
│       │   ├── experiments/
│       │   │   └── perf/
│       │   │       ├── SettingsPanel.tsx
│       │   │       ├── contained-triggers.tsx
│       │   │       ├── detached-triggers.tsx
│       │   │       ├── perf.module.css
│       │   │       ├── radix-triggers.tsx
│       │   │       └── utils/
│       │   │           └── benchmark.tsx
│       │   ├── index.css
│       │   ├── index.tsx
│       │   └── routes.tsx
│       ├── tsconfig.app.json
│       ├── tsconfig.json
│       ├── tsconfig.node.json
│       └── vite.config.ts
├── pnpm-workspace.yaml
├── prettier.config.mjs
├── renovate.json
├── scripts/
│   ├── README.md
│   ├── api-docs-builder/
│   │   ├── package.json
│   │   └── src/
│   │       ├── componentHandler.ts
│   │       ├── formatter.ts
│   │       ├── hookHandler.ts
│   │       ├── index.ts
│   │       ├── order.json
│   │       └── utilityHandler.ts
│   ├── changelog.config.mjs
│   ├── inlineScripts.mts
│   └── tsconfig.json
├── stylelint.config.mjs
├── test/
│   ├── README.md
│   ├── bundle-size/
│   │   ├── bundle-size-checker.config.mjs
│   │   └── package.json
│   ├── e2e/
│   │   ├── README.md
│   │   ├── TestViewer.tsx
│   │   ├── fixtures/
│   │   │   ├── .gitkeep
│   │   │   ├── Radio.module.css
│   │   │   ├── Radio.tsx
│   │   │   ├── field/
│   │   │   │   └── validate-on-change/
│   │   │   │       ├── Input.module.css
│   │   │   │       ├── Input.tsx
│   │   │   │       ├── Select.module.css
│   │   │   │       └── Select.tsx
│   │   │   ├── menu/
│   │   │   │   ├── LinkItemNavigation.module.css
│   │   │   │   ├── LinkItemNavigation.tsx
│   │   │   │   ├── PageOne.tsx
│   │   │   │   ├── PageTwo.tsx
│   │   │   │   └── ReactRouterLinkItemNavigation.tsx
│   │   │   └── slider/
│   │   │       ├── Inset.module.css
│   │   │       ├── Inset.tsx
│   │   │       ├── Range.module.css
│   │   │       ├── Range.tsx
│   │   │       ├── RangeSliderMax.module.css
│   │   │       └── RangeSliderMax.tsx
│   │   ├── index.html
│   │   ├── index.test.ts
│   │   ├── main.tsx
│   │   ├── postcss.config.js
│   │   ├── serve.json
│   │   ├── vite.config.mjs
│   │   └── vitest.config.mts
│   ├── node-resolution/
│   │   ├── index.mjs
│   │   └── package.json
│   ├── package.json
│   ├── public-types/
│   │   ├── autocomplete.tsx
│   │   ├── checkbox.tsx
│   │   ├── combobox.tsx
│   │   ├── index.tsx
│   │   ├── menu.tsx
│   │   ├── package.json
│   │   ├── separator.tsx
│   │   ├── toast.tsx
│   │   ├── tsconfig.json
│   │   └── use-render.tsx
│   ├── regressions/
│   │   ├── README.md
│   │   ├── TestViewer.tsx
│   │   ├── fakeDateSetup.ts
│   │   ├── fixtures/
│   │   │   └── .gitkeep
│   │   ├── fixtures.ts
│   │   ├── index.html
│   │   ├── index.test.ts
│   │   ├── main.tsx
│   │   ├── manual/
│   │   │   └── README.md
│   │   ├── postcss.config.js
│   │   ├── serve.json
│   │   ├── vite.config.mjs
│   │   └── vitest.config.mts
│   ├── setupVitest.ts
│   ├── tsconfig.json
│   ├── vite.d.ts
│   └── vite.shared.config.mjs
├── tsconfig.base.json
├── tsconfig.json
├── vitest.config.mts
└── vitest.shared.mts
Download .txt
Showing preview only (552K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (5766 symbols across 1506 files)

FILE: babel.config.mjs
  function getBabelConfig (line 9) | function getBabelConfig(api) {

FILE: docs/next.config.mjs
  function loadPackageJson (line 64) | function loadPackageJson() {

FILE: docs/scripts/generateLlmTxt/demoProcessor.mjs
  function processDemo (line 27) | async function processDemo(mdxFilePath, demoPath) {

FILE: docs/scripts/generateLlmTxt/index.mjs
  constant PROJECT_ROOT (line 17) | const PROJECT_ROOT = path.resolve(import.meta.dirname, '../..');
  constant MDX_SOURCE_DIR (line 18) | const MDX_SOURCE_DIR = path.join(PROJECT_ROOT, 'src/app/(docs)/react');
  constant OUTPUT_BASE_DIR (line 19) | const OUTPUT_BASE_DIR = path.join(PROJECT_ROOT, 'public');
  constant OUTPUT_REACT_DIR (line 20) | const OUTPUT_REACT_DIR = path.join(OUTPUT_BASE_DIR, 'react');
  constant NETLIFY_DEPLOYMENT_URL (line 22) | const NETLIFY_DEPLOYMENT_URL =
  constant BASE_URL (line 25) | const BASE_URL = NETLIFY_DEPLOYMENT_URL || '/';
  function incrementHeaders (line 31) | function incrementHeaders(increment = 1) {
  function githubSlugify (line 39) | function githubSlugify(text) {
  function resolveRelativeLinks (line 49) | function resolveRelativeLinks({ base, metadataByUrl = new Map() }) {
  function prepareForInlineMarkdown (line 75) | async function prepareForInlineMarkdown(markdown, increment, metadataByU...
  function generateLlmsTxt (line 89) | async function generateLlmsTxt() {

FILE: docs/scripts/generateLlmTxt/mdxNodeHelpers.mjs
  function text (line 13) | function text(value) {
  function normalizeChildren (line 25) | function normalizeChildren(children) {
  function paragraph (line 43) | function paragraph(children) {
  function emphasis (line 55) | function emphasis(children) {
  function strong (line 67) | function strong(children) {
  function heading (line 80) | function heading(depth, children) {
  function code (line 94) | function code(value, lang) {
  function inlineCode (line 107) | function inlineCode(value) {
  function tableCell (line 119) | function tableCell(content) {
  function tableRow (line 131) | function tableRow(cells) {
  function table (line 145) | function table(headers, rows, alignment = null) {
  function textContent (line 181) | function textContent(node) {

FILE: docs/scripts/generateLlmTxt/mdxToMarkdown.mjs
  function extractMetadata (line 24) | function extractMetadata() {
  function transformJsx (line 66) | function transformJsx() {
  function mdxToMarkdown (line 252) | async function mdxToMarkdown(mdxContent, mdxFilePath, { urlPath, urlsWit...

FILE: docs/scripts/generateLlmTxt/propsReferenceTableProcessor.mjs
  function parseMarkdown (line 17) | function parseMarkdown(markdown) {
  function convertEstreeToObject (line 29) | function convertEstreeToObject(estree) {
  function convertExpressionNode (line 44) | function convertExpressionNode(node) {
  function processPropsReferenceTable (line 106) | function processPropsReferenceTable(node) {

FILE: docs/scripts/generateLlmTxt/referenceProcessor.mjs
  function parseMarkdown (line 26) | function parseMarkdown(markdown) {
  function processReference (line 39) | function processReference(node) {

FILE: docs/scripts/generateLlmTxt/releaseTimelineProcessor.mjs
  function formatDate (line 26) | function formatDate(dateStr) {
  function parseInlineMarkdown (line 35) | function parseInlineMarkdown(text) {
  function processReleaseTimeline (line 48) | function processReleaseTimeline() {

FILE: docs/scripts/generateLlmTxt/resolver.mjs
  function isAbsoluteUrl (line 3) | function isAbsoluteUrl(url) {
  function resolveUrl (line 11) | function resolveUrl(url, base) {
  function resolveMdLink (line 20) | function resolveMdLink(link, { urlPath, urlsWithMdVersion }) {
  function resolveMdLinks (line 34) | function resolveMdLinks({ urlPath, urlsWithMdVersion }) {

FILE: docs/scripts/playground.template.tsx
  function Playground (line 1) | function Playground() {

FILE: docs/src/app/(docs)/layout.tsx
  function Layout (line 15) | function Layout({ children }: React.PropsWithChildren) {

FILE: docs/src/app/(docs)/production-error/ErrorCode.tsx
  type ErrorDisplayProps (line 5) | interface ErrorDisplayProps {
  function ErrorCodeContent (line 9) | function ErrorCodeContent() {
  function ErrorCode (line 17) | function ErrorCode() {

FILE: docs/src/app/(docs)/production-error/ErrorDisplay.tsx
  function ErrorMessageWithArgs (line 6) | function ErrorMessageWithArgs() {
  function ErrorDisplay (line 28) | function ErrorDisplay() {

FILE: docs/src/app/(docs)/react/components/accordion/demos/hero/css-modules/index.tsx
  function ExampleAccordion (line 5) | function ExampleAccordion() {
  function PlusIcon (line 53) | function PlusIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/accordion/demos/hero/tailwind/index.tsx
  function ExampleAccordion (line 4) | function ExampleAccordion() {
  function PlusIcon (line 52) | function PlusIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/accordion/demos/multiple/css-modules/index.tsx
  function ExampleAccordion (line 5) | function ExampleAccordion() {
  function PlusIcon (line 53) | function PlusIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/accordion/demos/multiple/tailwind/index.tsx
  function ExampleAccordion (line 4) | function ExampleAccordion() {
  function PlusIcon (line 55) | function PlusIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/alert-dialog/demos/detached-triggers-controlled/css-modules/index.tsx
  type AlertPayload (line 6) | type AlertPayload = { message: string };
  function AlertDialogDetachedTriggersControlledDemo (line 10) | function AlertDialogDetachedTriggersControlledDemo() {

FILE: docs/src/app/(docs)/react/components/alert-dialog/demos/detached-triggers-controlled/tailwind/index.tsx
  type AlertPayload (line 5) | type AlertPayload = { message: string };
  function AlertDialogDetachedTriggersControlledDemo (line 9) | function AlertDialogDetachedTriggersControlledDemo() {

FILE: docs/src/app/(docs)/react/components/alert-dialog/demos/detached-triggers-simple/css-modules/index.tsx
  function AlertDialogDetachedTriggersSimpleDemo (line 8) | function AlertDialogDetachedTriggersSimpleDemo() {

FILE: docs/src/app/(docs)/react/components/alert-dialog/demos/detached-triggers-simple/tailwind/index.tsx
  function AlertDialogDetachedTriggersSimpleDemo (line 7) | function AlertDialogDetachedTriggersSimpleDemo() {

FILE: docs/src/app/(docs)/react/components/alert-dialog/demos/hero/css-modules/index.tsx
  function ExampleAlertDialog (line 4) | function ExampleAlertDialog() {

FILE: docs/src/app/(docs)/react/components/alert-dialog/demos/hero/tailwind/index.tsx
  function ExampleAlertDialog (line 3) | function ExampleAlertDialog() {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/async/css-modules/index.tsx
  function ExampleAsyncAutocomplete (line 6) | function ExampleAsyncAutocomplete() {
  function searchMovies (line 106) | async function searchMovies(
  type Movie (line 133) | interface Movie {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/async/tailwind/index.tsx
  function ExampleAsyncAutocomplete (line 5) | function ExampleAsyncAutocomplete() {
  function searchMovies (line 122) | async function searchMovies(
  type Movie (line 149) | interface Movie {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/auto-highlight/css-modules/index.tsx
  function ExampleAutocompleteAutoHighlight (line 5) | function ExampleAutocompleteAutoHighlight() {
  type Tag (line 31) | interface Tag {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/auto-highlight/tailwind/index.tsx
  function ExampleAutocompleteAutoHighlight (line 4) | function ExampleAutocompleteAutoHighlight() {
  type Tag (line 39) | interface Tag {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/command-palette/css-modules/index.tsx
  function ExampleAutocompleteCommandPalette (line 8) | function ExampleAutocompleteCommandPalette() {
  type Item (line 98) | interface Item {
  type Group (line 103) | interface Group {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/command-palette/tailwind/index.tsx
  function ExampleAutocompleteCommandPalette (line 7) | function ExampleAutocompleteCommandPalette() {
  type Item (line 106) | interface Item {
  type Group (line 111) | interface Group {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/fuzzy-matching/css-modules/index.tsx
  function ExampleFuzzyMatchingAutocomplete (line 7) | function ExampleFuzzyMatchingAutocomplete() {
  function highlightText (line 51) | function highlightText(text: string, query: string): React.ReactNode {
  function fuzzyFilter (line 66) | function fuzzyFilter(item: FuzzyItem, query: string): boolean {
  type FuzzyItem (line 84) | interface FuzzyItem {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/fuzzy-matching/tailwind/index.tsx
  function ExampleFuzzyMatchingAutocomplete (line 6) | function ExampleFuzzyMatchingAutocomplete() {
  function highlightText (line 59) | function highlightText(text: string, query: string): React.ReactNode {
  function fuzzyFilter (line 80) | function fuzzyFilter(item: FuzzyItem, query: string): boolean {
  type FuzzyItem (line 98) | interface FuzzyItem {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/grid/css-modules/index.tsx
  function ExampleEmojiPicker (line 6) | function ExampleEmojiPicker() {
  constant COLUMNS (line 112) | const COLUMNS = 5;
  function chunkArray (line 114) | function chunkArray<T>(array: T[], size: number): T[][] {
  type EmojiItem (line 122) | interface EmojiItem {
  type EmojiGroup (line 128) | interface EmojiGroup {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/grid/tailwind/index.tsx
  function ExampleEmojiPicker (line 5) | function ExampleEmojiPicker() {
  constant COLUMNS (line 114) | const COLUMNS = 5;
  function chunkArray (line 116) | function chunkArray<T>(array: T[], size: number): T[][] {
  type EmojiItem (line 124) | interface EmojiItem {
  type EmojiGroup (line 130) | interface EmojiGroup {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/grouped/css-modules/index.tsx
  function ExampleGroupAutocomplete (line 5) | function ExampleGroupAutocomplete() {
  type Tag (line 40) | interface Tag {
  type TagGroup (line 46) | interface TagGroup {
  function groupTags (line 95) | function groupTags(tags: Tag[]): TagGroup[] {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/grouped/tailwind/index.tsx
  function ExampleGroupAutocomplete (line 4) | function ExampleGroupAutocomplete() {
  type Tag (line 48) | interface Tag {
  type TagGroup (line 54) | interface TagGroup {
  function groupTags (line 103) | function groupTags(tags: Tag[]): TagGroup[] {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/hero/css-modules/index.tsx
  function ExampleAutocomplete (line 5) | function ExampleAutocomplete() {
  type Tag (line 31) | interface Tag {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/hero/tailwind/index.tsx
  function ExampleAutocomplete (line 4) | function ExampleAutocomplete() {
  type Tag (line 39) | interface Tag {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/inline/css-modules/index.tsx
  function ExampleAutocompleteInline (line 5) | function ExampleAutocompleteInline() {
  type Tag (line 30) | interface Tag {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/inline/tailwind/index.tsx
  function ExampleAutocompleteInline (line 4) | function ExampleAutocompleteInline() {
  type Tag (line 36) | interface Tag {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/limit/css-modules/index.tsx
  function ExampleAutocompleteLimit (line 8) | function ExampleAutocompleteLimit() {
  type Tag (line 57) | interface Tag {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/limit/tailwind/index.tsx
  function ExampleAutocompleteLimit (line 7) | function ExampleAutocompleteLimit() {
  type Tag (line 63) | interface Tag {

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/virtualized/css-modules/index.tsx
  function ExampleVirtualizedAutocomplete (line 7) | function ExampleVirtualizedAutocomplete() {
  function VirtualizedList (line 53) | function VirtualizedList({
  type VirtualizedItem (line 137) | interface VirtualizedItem {
  function getItemLabel (line 142) | function getItemLabel(item: VirtualizedItem | null) {
  type Virtualizer (line 152) | type Virtualizer = ReturnType<typeof useVirtualizer<HTMLDivElement, Elem...

FILE: docs/src/app/(docs)/react/components/autocomplete/demos/virtualized/tailwind/index.tsx
  function ExampleVirtualizedAutocomplete (line 6) | function ExampleVirtualizedAutocomplete() {
  function VirtualizedList (line 54) | function VirtualizedList({
  type VirtualizedItem (line 134) | interface VirtualizedItem {
  function getItemLabel (line 139) | function getItemLabel(item: VirtualizedItem | null) {
  type Virtualizer (line 149) | type Virtualizer = ReturnType<typeof useVirtualizer<HTMLDivElement, Elem...

FILE: docs/src/app/(docs)/react/components/avatar/demos/hero/css-modules/index.tsx
  function ExampleAvatar (line 4) | function ExampleAvatar() {

FILE: docs/src/app/(docs)/react/components/avatar/demos/hero/tailwind/index.tsx
  function ExampleAvatar (line 3) | function ExampleAvatar() {

FILE: docs/src/app/(docs)/react/components/button/demos/hero/css-modules/index.tsx
  function ExampleButton (line 5) | function ExampleButton() {

FILE: docs/src/app/(docs)/react/components/button/demos/hero/tailwind/index.tsx
  function ExampleButton (line 4) | function ExampleButton() {

FILE: docs/src/app/(docs)/react/components/button/demos/loading/css-modules/index.tsx
  function ExampleButton (line 6) | function ExampleButton() {

FILE: docs/src/app/(docs)/react/components/button/demos/loading/tailwind/index.tsx
  function ExampleButton (line 5) | function ExampleButton() {

FILE: docs/src/app/(docs)/react/components/calendar/demos/animation-motion/css-modules/index.tsx
  function AnimatedCalendarWithMotion (line 8) | function AnimatedCalendarWithMotion() {
  function ChevronLeftIcon (line 76) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 94) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/calendar/demos/animation/css-modules/index.tsx
  function AnimatedCalendar (line 9) | function AnimatedCalendar() {
  function ChevronLeftIcon (line 69) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 87) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/calendar/demos/hero/css-modules/index.tsx
  function ExampleCalendar (line 7) | function ExampleCalendar() {
  function ChevronLeftIcon (line 59) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 77) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/calendar/demos/lazy-loading/css-modules/index.tsx
  function DayPrice (line 10) | function DayPrice({
  function CalendarContent (line 49) | function CalendarContent() {
  function FlightPriceCalendar (line 138) | function FlightPriceCalendar() {
  function seededRandom (line 149) | function seededRandom(seed: number) {
  function generateMonthPrices (line 154) | function generateMonthPrices(year: number, month: number): Record<string...
  function ChevronLeftIcon (line 167) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 185) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/calendar/demos/timezone-display/css-modules/index.tsx
  function CalendarWithTimezoneDisplay (line 9) | function CalendarWithTimezoneDisplay() {
  function TimezoneSelect (line 68) | function TimezoneSelect(props: Omit<Select.Root.Props<string, false>, 'c...
  type Timezone (line 99) | type Timezone = (typeof timezones)[number];
  function ChevronUpDownIcon (line 108) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 125) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ChevronLeftIcon (line 133) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 151) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/calendar/demos/timezone/css-modules/index.tsx
  function CalendarWithTimezone (line 9) | function CalendarWithTimezone() {
  function ChevronLeftIcon (line 75) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 93) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/calendar/demos/unavailable-dates/css-modules/index.tsx
  function isDateUnavailable (line 14) | function isDateUnavailable(date: Date) {
  function UnavailableDatesCalendar (line 37) | function UnavailableDatesCalendar() {
  function ChevronLeftIcon (line 93) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 111) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/calendar/demos/validation/css-modules/index.tsx
  function MinMaxDateCalendars (line 10) | function MinMaxDateCalendars() {
  function ValidationCalendar (line 19) | function ValidationCalendar(props: Calendar.Root.Props) {
  function ChevronLeftIcon (line 71) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 89) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/calendar/demos/week-numbers/css-modules/index.tsx
  function CalendarWithWeekNumbers (line 11) | function CalendarWithWeekNumbers() {
  function ChevronLeftIcon (line 83) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 101) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/calendar/demos/year-month-select/css-modules/index.tsx
  constant YEAR_PAST (line 11) | const YEAR_PAST = 40;
  constant YEAR_FUTURE (line 12) | const YEAR_FUTURE = 10;
  constant MONTHS (line 13) | const MONTHS = Array.from({ length: 12 }, (_, i) => format(new Date(2000...
  function CalendarContent (line 15) | function CalendarContent() {
  function ExampleCalendarYearMonthSelect (line 145) | function ExampleCalendarYearMonthSelect() {
  function ChevronUpDownIcon (line 153) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 170) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ChevronLeftIcon (line 178) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 196) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/checkbox-group/demos/hero/css-modules/index.tsx
  function ExampleCheckboxGroup (line 7) | function ExampleCheckboxGroup() {
  function CheckIcon (line 49) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/checkbox-group/demos/hero/tailwind/index.tsx
  function ExampleCheckboxGroup (line 6) | function ExampleCheckboxGroup() {
  function CheckIcon (line 60) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/checkbox-group/demos/nested/css-modules/index.tsx
  function PermissionsForm (line 10) | function PermissionsForm() {
  function CheckIcon (line 147) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function HorizontalRuleIcon (line 155) | function HorizontalRuleIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/checkbox-group/demos/parent/css-modules/index.tsx
  function ExampleCheckboxGroup (line 9) | function ExampleCheckboxGroup() {
  function CheckIcon (line 70) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function HorizontalRuleIcon (line 78) | function HorizontalRuleIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/checkbox/demos/hero/css-modules/index.tsx
  function ExampleCheckbox (line 5) | function ExampleCheckbox() {
  function CheckIcon (line 18) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/checkbox/demos/hero/tailwind/index.tsx
  function ExampleCheckbox (line 4) | function ExampleCheckbox() {
  function CheckIcon (line 20) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/collapsible/demos/hero/css-modules/index.tsx
  function ExampleCollapsible (line 5) | function ExampleCollapsible() {
  function ChevronIcon (line 23) | function ChevronIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/collapsible/demos/hero/tailwind/index.tsx
  function ExampleCollapsible (line 4) | function ExampleCollapsible() {
  function ChevronIcon (line 22) | function ChevronIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/combobox/demos/async-multiple/css-modules/index.tsx
  function ExampleAsyncMultipleCombobox (line 6) | function ExampleAsyncMultipleCombobox() {
  function CheckIcon (line 190) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function XIcon (line 198) | function XIcon(props: React.ComponentProps<'svg'>) {
  type DirectoryUser (line 219) | interface DirectoryUser {
  function searchUsers (line 227) | async function searchUsers(

FILE: docs/src/app/(docs)/react/components/combobox/demos/async-multiple/tailwind/index.tsx
  function ExampleAsyncMultipleCombobox (line 5) | function ExampleAsyncMultipleCombobox() {
  function CheckIcon (line 210) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function XIcon (line 218) | function XIcon(props: React.ComponentProps<'svg'>) {
  type DirectoryUser (line 239) | interface DirectoryUser {
  function searchUsers (line 247) | async function searchUsers(

FILE: docs/src/app/(docs)/react/components/combobox/demos/async-single/css-modules/index.tsx
  function ExampleAsyncSingleCombobox (line 6) | function ExampleAsyncSingleCombobox() {
  function CheckIcon (line 154) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ClearIcon (line 162) | function ClearIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 180) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  type DirectoryUser (line 197) | interface DirectoryUser {
  function searchUsers (line 205) | async function searchUsers(

FILE: docs/src/app/(docs)/react/components/combobox/demos/async-single/tailwind/index.tsx
  function ExampleAsyncSingleCombobox (line 5) | function ExampleAsyncSingleCombobox() {
  function CheckIcon (line 176) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ClearIcon (line 184) | function ClearIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 202) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  type DirectoryUser (line 219) | interface DirectoryUser {
  function searchUsers (line 227) | async function searchUsers(

FILE: docs/src/app/(docs)/react/components/combobox/demos/creatable/css-modules/index.tsx
  function ExampleCreatableCombobox (line 7) | function ExampleCreatableCombobox() {
  function CheckIcon (line 217) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function PlusIcon (line 225) | function PlusIcon(props: React.ComponentProps<'svg'>) {
  function XIcon (line 244) | function XIcon(props: React.ComponentProps<'svg'>) {
  type LabelItem (line 265) | interface LabelItem {

FILE: docs/src/app/(docs)/react/components/combobox/demos/creatable/tailwind/index.tsx
  function ExampleCreatableCombobox (line 6) | function ExampleCreatableCombobox() {
  function CheckIcon (line 239) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function PlusIcon (line 247) | function PlusIcon(props: React.ComponentProps<'svg'>) {
  function XIcon (line 266) | function XIcon(props: React.ComponentProps<'svg'>) {
  type LabelItem (line 287) | interface LabelItem {

FILE: docs/src/app/(docs)/react/components/combobox/demos/grouped/css-modules/index.tsx
  function ExampleGroupedCombobox (line 6) | function ExampleGroupedCombobox() {
  function CheckIcon (line 55) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ClearIcon (line 63) | function ClearIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 81) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  type Produce (line 98) | interface Produce {
  type ProduceGroup (line 104) | interface ProduceGroup {
  function groupProduce (line 128) | function groupProduce(items: Produce[]): ProduceGroup[] {

FILE: docs/src/app/(docs)/react/components/combobox/demos/grouped/tailwind/index.tsx
  function ExampleGroupedCombobox (line 5) | function ExampleGroupedCombobox() {
  function CheckIcon (line 70) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ClearIcon (line 78) | function ClearIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 96) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  type Produce (line 113) | interface Produce {
  type ProduceGroup (line 119) | interface ProduceGroup {
  function groupProduce (line 143) | function groupProduce(items: Produce[]): ProduceGroup[] {

FILE: docs/src/app/(docs)/react/components/combobox/demos/hero/css-modules/index.tsx
  function ExampleCombobox (line 6) | function ExampleCombobox() {
  function CheckIcon (line 46) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ClearIcon (line 54) | function ClearIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 72) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  type Fruit (line 89) | interface Fruit {

FILE: docs/src/app/(docs)/react/components/combobox/demos/hero/tailwind/index.tsx
  function ExampleCombobox (line 5) | function ExampleCombobox() {
  function CheckIcon (line 61) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ClearIcon (line 69) | function ClearIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 87) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  type Fruit (line 104) | interface Fruit {

FILE: docs/src/app/(docs)/react/components/combobox/demos/input-inside-popup/css-modules/index.tsx
  function ExamplePopoverCombobox (line 6) | function ExamplePopoverCombobox() {
  function ChevronUpDownIcon (line 44) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 61) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  type Country (line 69) | interface Country {

FILE: docs/src/app/(docs)/react/components/combobox/demos/input-inside-popup/tailwind/index.tsx
  function ExamplePopoverCombobox (line 5) | function ExamplePopoverCombobox() {
  function ChevronUpDownIcon (line 55) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 72) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  type Country (line 80) | interface Country {

FILE: docs/src/app/(docs)/react/components/combobox/demos/multiple/css-modules/index.tsx
  function ExampleMultipleCombobox (line 6) | function ExampleMultipleCombobox() {
  function CheckIcon (line 65) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function XIcon (line 73) | function XIcon(props: React.ComponentProps<'svg'>) {
  type ProgrammingLanguage (line 94) | interface ProgrammingLanguage {

FILE: docs/src/app/(docs)/react/components/combobox/demos/multiple/tailwind/index.tsx
  function ExampleMultipleCombobox (line 5) | function ExampleMultipleCombobox() {
  function CheckIcon (line 73) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function XIcon (line 81) | function XIcon(props: React.ComponentProps<'svg'>) {
  type ProgrammingLanguage (line 102) | interface ProgrammingLanguage {

FILE: docs/src/app/(docs)/react/components/combobox/demos/virtualized/css-modules/index.tsx
  function ExampleVirtualizedCombobox (line 7) | function ExampleVirtualizedCombobox() {
  function VirtualizedList (line 52) | function VirtualizedList({
  function CheckIcon (line 139) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  type VirtualizedItem (line 147) | interface VirtualizedItem {
  function getItemLabel (line 152) | function getItemLabel(item: VirtualizedItem | null) {
  type Virtualizer (line 162) | type Virtualizer = ReturnType<typeof useVirtualizer<HTMLDivElement, Elem...

FILE: docs/src/app/(docs)/react/components/combobox/demos/virtualized/tailwind/index.tsx
  function ExampleVirtualizedCombobox (line 6) | function ExampleVirtualizedCombobox() {
  function VirtualizedList (line 56) | function VirtualizedList({
  function CheckIcon (line 142) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  type VirtualizedItem (line 150) | interface VirtualizedItem {
  function getItemLabel (line 155) | function getItemLabel(item: VirtualizedItem | null) {
  type Virtualizer (line 165) | type Virtualizer = ReturnType<typeof useVirtualizer<HTMLDivElement, Elem...

FILE: docs/src/app/(docs)/react/components/context-menu/demos/hero/css-modules/index.tsx
  function ExampleMenu (line 4) | function ExampleMenu() {

FILE: docs/src/app/(docs)/react/components/context-menu/demos/hero/tailwind/index.tsx
  function ExampleMenu (line 3) | function ExampleMenu() {

FILE: docs/src/app/(docs)/react/components/context-menu/demos/submenu/css-modules/index.tsx
  function ExampleContextMenu (line 6) | function ExampleContextMenu() {
  function ChevronRightIcon (line 50) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/context-menu/demos/submenu/tailwind/index.tsx
  function ExampleContextMenu (line 4) | function ExampleContextMenu() {
  function ChevronRightIcon (line 64) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/dialog/demos/close-confirmation/css-modules/index.tsx
  function ExampleDialog (line 7) | function ExampleDialog() {

FILE: docs/src/app/(docs)/react/components/dialog/demos/close-confirmation/tailwind/index.tsx
  function ExampleDialog (line 6) | function ExampleDialog() {

FILE: docs/src/app/(docs)/react/components/dialog/demos/detached-triggers-controlled/css-modules/index.tsx
  function DialogDetachedTriggersControlledDemo (line 8) | function DialogDetachedTriggersControlledDemo() {

FILE: docs/src/app/(docs)/react/components/dialog/demos/detached-triggers-controlled/tailwind/index.tsx
  function DialogDetachedTriggersControlledDemo (line 7) | function DialogDetachedTriggersControlledDemo() {

FILE: docs/src/app/(docs)/react/components/dialog/demos/detached-triggers-simple/css-modules/index.tsx
  function DialogDetachedTriggersSimpleDemo (line 8) | function DialogDetachedTriggersSimpleDemo() {

FILE: docs/src/app/(docs)/react/components/dialog/demos/detached-triggers-simple/tailwind/index.tsx
  function DialogDetachedTriggersSimpleDemo (line 7) | function DialogDetachedTriggersSimpleDemo() {

FILE: docs/src/app/(docs)/react/components/dialog/demos/hero/css-modules/index.tsx
  function ExampleDialog (line 4) | function ExampleDialog() {

FILE: docs/src/app/(docs)/react/components/dialog/demos/hero/tailwind/index.tsx
  function ExampleDialog (line 3) | function ExampleDialog() {

FILE: docs/src/app/(docs)/react/components/dialog/demos/inside-scroll/css-modules/index.tsx
  function InsideScrollDialog (line 6) | function InsideScrollDialog() {
  constant CONTENT_SECTIONS (line 45) | const CONTENT_SECTIONS = [

FILE: docs/src/app/(docs)/react/components/dialog/demos/inside-scroll/tailwind/index.tsx
  function InsideScrollDialog (line 5) | function InsideScrollDialog() {
  constant CONTENT_SECTIONS (line 52) | const CONTENT_SECTIONS = [

FILE: docs/src/app/(docs)/react/components/dialog/demos/nested/css-modules/index.tsx
  function ExampleDialog (line 4) | function ExampleDialog() {

FILE: docs/src/app/(docs)/react/components/dialog/demos/nested/tailwind/index.tsx
  function ExampleDialog (line 3) | function ExampleDialog() {

FILE: docs/src/app/(docs)/react/components/dialog/demos/outside-scroll/css-modules/index.tsx
  function OutsideScrollDialog (line 7) | function OutsideScrollDialog() {
  function XIcon (line 65) | function XIcon(props: React.ComponentProps<'svg'>) {
  constant CONTENT_SECTIONS (line 85) | const CONTENT_SECTIONS = [
  constant RELATED_LINKS (line 172) | const RELATED_LINKS = [

FILE: docs/src/app/(docs)/react/components/dialog/demos/outside-scroll/tailwind/index.tsx
  function OutsideScrollDialog (line 6) | function OutsideScrollDialog() {
  function XIcon (line 85) | function XIcon(props: React.ComponentProps<'svg'>) {
  constant CONTENT_SECTIONS (line 105) | const CONTENT_SECTIONS = [
  constant RELATED_LINKS (line 192) | const RELATED_LINKS = [

FILE: docs/src/app/(docs)/react/components/dialog/demos/uncontained/css-modules/index.tsx
  function ExampleUncontainedDialog (line 4) | function ExampleUncontainedDialog() {
  function XIcon (line 23) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/dialog/demos/uncontained/tailwind/index.tsx
  function ExampleUncontainedDialog (line 3) | function ExampleUncontainedDialog() {
  function XIcon (line 27) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/drawer/demos/hero/css-modules/index.tsx
  function ExampleDrawer (line 4) | function ExampleDrawer() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/hero/tailwind/index.tsx
  function ExampleDrawer (line 3) | function ExampleDrawer() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/indent-provider/css-modules/index.tsx
  function ExampleDrawer (line 6) | function ExampleDrawer() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/indent-provider/tailwind/index.tsx
  function ExampleDrawer (line 5) | function ExampleDrawer() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/mobile-nav/css-modules/index.tsx
  constant ITEMS (line 7) | const ITEMS = [
  constant LONG_LIST (line 14) | const LONG_LIST = [
  function ExampleDrawerMobileNav (line 53) | function ExampleDrawerMobileNav() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/mobile-nav/tailwind/index.tsx
  constant ITEMS (line 6) | const ITEMS = [
  constant LONG_LIST (line 13) | const LONG_LIST = [
  function ExampleDrawerMobileNav (line 52) | function ExampleDrawerMobileNav() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/nested/css-modules/index.tsx
  function ExampleDrawerNested (line 5) | function ExampleDrawerNested() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/nested/tailwind/index.tsx
  function ExampleDrawerNested (line 4) | function ExampleDrawerNested() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/non-modal/css-modules/index.tsx
  function ExampleDrawer (line 4) | function ExampleDrawer() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/non-modal/tailwind/index.tsx
  function ExampleDrawer (line 3) | function ExampleDrawer() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/position/css-modules/index.tsx
  function ExampleDrawer (line 4) | function ExampleDrawer() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/position/tailwind/index.tsx
  function ExampleDrawer (line 3) | function ExampleDrawer() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/snap-points/css-modules/index.tsx
  constant TOP_MARGIN_REM (line 6) | const TOP_MARGIN_REM = 1;
  constant VISIBLE_SNAP_POINTS_REM (line 7) | const VISIBLE_SNAP_POINTS_REM = [30];
  function toViewportSnapPoint (line 9) | function toViewportSnapPoint(heightRem: number) {
  function ExampleDrawerSnapPoints (line 15) | function ExampleDrawerSnapPoints() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/snap-points/tailwind/index.tsx
  constant TOP_MARGIN_REM (line 5) | const TOP_MARGIN_REM = 1;
  constant VISIBLE_SNAP_POINTS_REM (line 6) | const VISIBLE_SNAP_POINTS_REM = [30];
  function toViewportSnapPoint (line 8) | function toViewportSnapPoint(heightRem: number) {
  function ExampleDrawerSnapPoints (line 14) | function ExampleDrawerSnapPoints() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/swipe-area/css-modules/index.tsx
  function ExampleDrawerSwipeArea (line 6) | function ExampleDrawerSwipeArea() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/swipe-area/tailwind/index.tsx
  function ExampleDrawerSwipeArea (line 5) | function ExampleDrawerSwipeArea() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/uncontained/css-modules/index.tsx
  constant ACTIONS (line 6) | const ACTIONS = ['Unfollow', 'Mute', 'Add to Favourites', 'Add to Close ...
  function ExampleDrawerUncontained (line 8) | function ExampleDrawerUncontained() {

FILE: docs/src/app/(docs)/react/components/drawer/demos/uncontained/tailwind/index.tsx
  constant ACTIONS (line 5) | const ACTIONS = ['Unfollow', 'Mute', 'Add to Favourites', 'Add to Close ...
  function ExampleDrawerUncontained (line 7) | function ExampleDrawerUncontained() {

FILE: docs/src/app/(docs)/react/components/field/demos/hero/css-modules/index.tsx
  function ExampleField (line 4) | function ExampleField() {

FILE: docs/src/app/(docs)/react/components/field/demos/hero/tailwind/index.tsx
  function ExampleField (line 3) | function ExampleField() {

FILE: docs/src/app/(docs)/react/components/fieldset/demos/hero/css-modules/index.tsx
  function ExampleField (line 5) | function ExampleField() {

FILE: docs/src/app/(docs)/react/components/fieldset/demos/hero/tailwind/index.tsx
  function ExampleField (line 4) | function ExampleField() {

FILE: docs/src/app/(docs)/react/components/form/demos/form-action/css-modules/index.tsx
  type FormState (line 8) | interface FormState {
  function ActionStateForm (line 12) | function ActionStateForm() {
  function submitForm (line 36) | async function submitForm(_previousState: FormState, formData: FormData) {

FILE: docs/src/app/(docs)/react/components/form/demos/form-action/tailwind/index.tsx
  type FormState (line 7) | interface FormState {
  function ActionStateForm (line 11) | function ActionStateForm() {
  function submitForm (line 44) | async function submitForm(_previousState: FormState, formData: FormData) {

FILE: docs/src/app/(docs)/react/components/form/demos/hero/css-modules/index.tsx
  function ExampleForm (line 8) | function ExampleForm() {
  function submitForm (line 50) | async function submitForm(value: string) {

FILE: docs/src/app/(docs)/react/components/form/demos/hero/tailwind/index.tsx
  function ExampleForm (line 7) | function ExampleForm() {
  function submitForm (line 54) | async function submitForm(value: string) {

FILE: docs/src/app/(docs)/react/components/form/demos/zod/css-modules/index.tsx
  function submitForm (line 14) | async function submitForm(formValues: Form.Values) {
  function Page (line 28) | function Page() {

FILE: docs/src/app/(docs)/react/components/form/demos/zod/tailwind/index.tsx
  function submitForm (line 13) | async function submitForm(formValues: Form.Values) {
  function Page (line 27) | function Page() {

FILE: docs/src/app/(docs)/react/components/input/demos/hero/css-modules/index.tsx
  function ExampleInput (line 4) | function ExampleInput() {

FILE: docs/src/app/(docs)/react/components/input/demos/hero/tailwind/index.tsx
  function ExampleInput (line 3) | function ExampleInput() {

FILE: docs/src/app/(docs)/react/components/menu/demos/checkbox-items/css-modules/index.tsx
  function ExampleMenu (line 6) | function ExampleMenu() {
  function ArrowSvg (line 59) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 78) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 86) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/checkbox-items/tailwind/index.tsx
  function ExampleMenu (line 5) | function ExampleMenu() {
  function ArrowSvg (line 58) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 77) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 85) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/detached-triggers-controlled/css-modules/index.tsx
  type MenuKey (line 23) | type MenuKey = keyof typeof itemGroups;
  function MenuDetachedTriggersControlledDemo (line 27) | function MenuDetachedTriggersControlledDemo() {
  function ArrowSvg (line 109) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/detached-triggers-controlled/tailwind/index.tsx
  type MenuItemDefinition (line 8) | interface MenuItemDefinition {
  constant MENUS (line 14) | const MENUS = {
  type MenuKey (line 30) | type MenuKey = keyof typeof MENUS;
  function MenuDetachedTriggersControlledDemo (line 34) | function MenuDetachedTriggersControlledDemo() {
  function ArrowSvg (line 114) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/detached-triggers-full/css-modules/index.tsx
  type MenuContent (line 7) | type MenuContent = {
  constant MENUS (line 12) | const MENUS = {
  type MenuKey (line 36) | type MenuKey = keyof typeof MENUS;
  function MenuDetachedTriggersFullDemo (line 40) | function MenuDetachedTriggersFullDemo() {
  function ArrowSvg (line 96) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/detached-triggers-full/tailwind/index.tsx
  type MenuContent (line 5) | type MenuContent = {
  constant MENUS (line 10) | const MENUS = {
  type MenuKey (line 34) | type MenuKey = keyof typeof MENUS;
  function MenuDetachedTriggersFullDemo (line 57) | function MenuDetachedTriggersFullDemo() {
  function ArrowSvg (line 165) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/detached-triggers-simple/css-modules/index.tsx
  function MenuDetachedTriggersSimpleDemo (line 8) | function MenuDetachedTriggersSimpleDemo() {
  function ArrowSvg (line 37) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function DotsIcon (line 56) | function DotsIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/detached-triggers-simple/tailwind/index.tsx
  function MenuDetachedTriggersSimpleDemo (line 11) | function MenuDetachedTriggersSimpleDemo() {
  function ArrowSvg (line 43) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function DotsIcon (line 62) | function DotsIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/group-labels/css-modules/index.tsx
  function ExampleMenu (line 6) | function ExampleMenu() {
  function ArrowSvg (line 90) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 109) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 117) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/group-labels/tailwind/index.tsx
  function ExampleMenu (line 5) | function ExampleMenu() {
  function ArrowSvg (line 102) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 121) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 129) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/hero/css-modules/index.tsx
  function ExampleMenu (line 5) | function ExampleMenu() {
  function ArrowSvg (line 32) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 51) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/hero/tailwind/index.tsx
  function ExampleMenu (line 4) | function ExampleMenu() {
  function ArrowSvg (line 43) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 62) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/open-on-hover/css-modules/index.tsx
  function ExampleMenu (line 5) | function ExampleMenu() {
  function ArrowSvg (line 29) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 48) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/open-on-hover/tailwind/index.tsx
  function ExampleMenu (line 4) | function ExampleMenu() {
  function ArrowSvg (line 39) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 58) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/radio-items/css-modules/index.tsx
  function ExampleMenu (line 6) | function ExampleMenu() {
  function ArrowSvg (line 46) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 65) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 73) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/radio-items/tailwind/index.tsx
  function ExampleMenu (line 5) | function ExampleMenu() {
  function ArrowSvg (line 54) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 73) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 81) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/submenu/css-modules/index.tsx
  function ExampleMenu (line 6) | function ExampleMenu() {
  function getOffset (line 55) | function getOffset({ side }: { side: Menu.Positioner.Props['side'] }) {
  function ArrowSvg (line 59) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 78) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 86) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menu/demos/submenu/tailwind/index.tsx
  function ExampleMenu (line 5) | function ExampleMenu() {
  function getOffset (line 79) | function getOffset({ side }: { side: Menu.Positioner.Props['side'] }) {
  function ArrowSvg (line 83) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 102) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 110) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menubar/demos/hero/css-modules/index.tsx
  function ExampleMenubar (line 7) | function ExampleMenubar() {
  function handleClick (line 125) | function handleClick(event: React.MouseEvent<HTMLElement>) {
  function ChevronRightIcon (line 130) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/menubar/demos/hero/tailwind/index.tsx
  function ExampleMenubar (line 6) | function ExampleMenubar() {
  function handleClick (line 180) | function handleClick(event: React.MouseEvent<HTMLElement>) {
  function ChevronRightIcon (line 185) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/meter/demos/hero/css-modules/index.tsx
  function ExampleMeter (line 4) | function ExampleMeter() {

FILE: docs/src/app/(docs)/react/components/meter/demos/hero/tailwind/index.tsx
  function ExampleMeter (line 3) | function ExampleMeter() {

FILE: docs/src/app/(docs)/react/components/navigation-menu/demos/hero/css-modules/index.tsx
  function ExampleNavigationMenu (line 5) | function ExampleNavigationMenu() {
  function Link (line 77) | function Link(props: NavigationMenu.Link.Props) {
  function ChevronDownIcon (line 91) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ArrowSvg (line 99) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/navigation-menu/demos/hero/tailwind/index.tsx
  function ExampleNavigationMenu (line 4) | function ExampleNavigationMenu() {
  function Link (line 82) | function Link(props: NavigationMenu.Link.Props) {
  function ChevronDownIcon (line 96) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ArrowSvg (line 104) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/navigation-menu/demos/nested-inline/css-modules/index.tsx
  function ExampleNavigationMenu (line 8) | function ExampleNavigationMenu() {
  function Link (line 116) | function Link(props: NavigationMenu.Link.Props) {
  function ChevronDownIcon (line 130) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ArrowSvg (line 138) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/navigation-menu/demos/nested-inline/tailwind/index.tsx
  function ExampleNavigationMenu (line 7) | function ExampleNavigationMenu() {
  function Link (line 134) | function Link(props: NavigationMenu.Link.Props) {
  function ChevronDownIcon (line 148) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ArrowSvg (line 156) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/navigation-menu/demos/nested/css-modules/index.tsx
  function ExampleNavigationMenu (line 5) | function ExampleNavigationMenu() {
  function Link (line 90) | function Link(props: NavigationMenu.Link.Props) {
  function ChevronDownIcon (line 104) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 112) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {
  function ArrowSvg (line 120) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/navigation-menu/demos/nested/tailwind/index.tsx
  function ExampleNavigationMenu (line 4) | function ExampleNavigationMenu() {
  function Link (line 102) | function Link(props: NavigationMenu.Link.Props) {
  function ChevronDownIcon (line 116) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 124) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {
  function ArrowSvg (line 132) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/number-field/demos/hero/css-modules/index.tsx
  function ExampleNumberField (line 5) | function ExampleNumberField() {
  function CursorGrowIcon (line 31) | function CursorGrowIcon(props: React.ComponentProps<'svg'>) {
  function PlusIcon (line 47) | function PlusIcon(props: React.ComponentProps<'svg'>) {
  function MinusIcon (line 64) | function MinusIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/number-field/demos/hero/tailwind/index.tsx
  function ExampleNumberField (line 4) | function ExampleNumberField() {
  function CursorGrowIcon (line 30) | function CursorGrowIcon(props: React.ComponentProps<'svg'>) {
  function PlusIcon (line 46) | function PlusIcon(props: React.ComponentProps<'svg'>) {
  function MinusIcon (line 63) | function MinusIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/popover/demos/detached-triggers-controlled/css-modules/index.tsx
  function PopoverDetachedTriggersControlledDemo (line 8) | function PopoverDetachedTriggersControlledDemo() {
  function ArrowSvg (line 68) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BellIcon (line 87) | function BellIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/popover/demos/detached-triggers-controlled/tailwind/index.tsx
  function PopoverDetachedTriggersSimpleDemo (line 8) | function PopoverDetachedTriggersSimpleDemo() {

FILE: docs/src/app/(docs)/react/components/popover/demos/detached-triggers-full/css-modules/index.tsx
  function PopoverDetachedTriggersFullDemo (line 9) | function PopoverDetachedTriggersFullDemo() {
  function NotificationsPanel (line 49) | function NotificationsPanel() {
  function ProfilePanel (line 60) | function ProfilePanel() {
  function ActivityPanel (line 81) | function ActivityPanel() {
  function ArrowSvg (line 92) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BellIcon (line 111) | function BellIcon(props: React.ComponentProps<'svg'>) {
  function UserIcon (line 119) | function UserIcon(props: React.ComponentProps<'svg'>) {
  function ListIcon (line 140) | function ListIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/popover/demos/detached-triggers-full/tailwind/index.tsx
  function PopoverDetachedTriggersFullDemo (line 9) | function PopoverDetachedTriggersFullDemo() {
  function NotificationsPanel (line 146) | function NotificationsPanel() {
  function ProfilePanel (line 157) | function ProfilePanel() {
  function ActivityPanel (line 186) | function ActivityPanel() {

FILE: docs/src/app/(docs)/react/components/popover/demos/detached-triggers-simple/css-modules/index.tsx
  function PopoverDetachedTriggersSimpleDemo (line 8) | function PopoverDetachedTriggersSimpleDemo() {
  function ArrowSvg (line 34) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BellIcon (line 53) | function BellIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/popover/demos/detached-triggers-simple/tailwind/index.tsx
  function PopoverDetachedTriggersSimpleDemo (line 8) | function PopoverDetachedTriggersSimpleDemo() {

FILE: docs/src/app/(docs)/react/components/popover/demos/hero/css-modules/index.tsx
  function ExamplePopover (line 5) | function ExamplePopover() {
  function ArrowSvg (line 28) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BellIcon (line 47) | function BellIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/popover/demos/hero/tailwind/index.tsx
  function ExamplePopover (line 4) | function ExamplePopover() {

FILE: docs/src/app/(docs)/react/components/popover/demos/icons-tw.tsx
  function ArrowSvg (line 3) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BellIcon (line 22) | function BellIcon(props: React.ComponentProps<'svg'>) {
  function UserIcon (line 30) | function UserIcon(props: React.ComponentProps<'svg'>) {
  function ListIcon (line 51) | function ListIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/popover/demos/open-on-hover/css-modules/index.tsx
  function ExamplePopover (line 5) | function ExamplePopover() {
  function ArrowSvg (line 28) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BellIcon (line 47) | function BellIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/popover/demos/open-on-hover/tailwind/index.tsx
  function ExamplePopover (line 4) | function ExamplePopover() {

FILE: docs/src/app/(docs)/react/components/preview-card/demos/detached-triggers-controlled/css-modules/index.tsx
  function PreviewCardDetachedTriggersControlledDemo (line 56) | function PreviewCardDetachedTriggersControlledDemo() {
  function ArrowSvg (line 136) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/preview-card/demos/detached-triggers-controlled/tailwind/index.tsx
  function PreviewCardDetachedTriggersControlledDemo (line 55) | function PreviewCardDetachedTriggersControlledDemo() {
  function ArrowSvg (line 138) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/preview-card/demos/detached-triggers-full/css-modules/index.tsx
  function PreviewCardDetachedTriggersFullDemo (line 56) | function PreviewCardDetachedTriggersFullDemo() {
  function ArrowSvg (line 108) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/preview-card/demos/detached-triggers-full/tailwind/index.tsx
  function PreviewCardDetachedTriggersFullDemo (line 55) | function PreviewCardDetachedTriggersFullDemo() {
  function ArrowSvg (line 113) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/preview-card/demos/detached-triggers-simple/css-modules/index.tsx
  function PreviewCardDetachedTriggersSimpleDemo (line 8) | function PreviewCardDetachedTriggersSimpleDemo() {
  function ArrowSvg (line 51) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/preview-card/demos/detached-triggers-simple/tailwind/index.tsx
  function PreviewCardDetachedTriggersSimpleDemo (line 7) | function PreviewCardDetachedTriggersSimpleDemo() {
  function ArrowSvg (line 50) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/preview-card/demos/hero/css-modules/index.tsx
  function ExamplePreviewCard (line 5) | function ExamplePreviewCard() {
  function ArrowSvg (line 45) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/preview-card/demos/hero/tailwind/index.tsx
  function ExamplePreviewCard (line 4) | function ExamplePreviewCard() {
  function ArrowSvg (line 44) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/progress/demos/hero/css-modules/index.tsx
  function ExampleProgress (line 6) | function ExampleProgress() {

FILE: docs/src/app/(docs)/react/components/progress/demos/hero/tailwind/index.tsx
  function ExampleProgress (line 5) | function ExampleProgress() {

FILE: docs/src/app/(docs)/react/components/radio/demos/hero/css-modules/index.tsx
  function ExampleRadioGroup (line 7) | function ExampleRadioGroup() {

FILE: docs/src/app/(docs)/react/components/radio/demos/hero/tailwind/index.tsx
  function ExampleRadioGroup (line 6) | function ExampleRadioGroup() {

FILE: docs/src/app/(docs)/react/components/scroll-area/demos/both/css-modules/index.tsx
  function ExampleScrollAreaBoth (line 4) | function ExampleScrollAreaBoth() {

FILE: docs/src/app/(docs)/react/components/scroll-area/demos/both/tailwind/index.tsx
  function ExampleScrollAreaBoth (line 3) | function ExampleScrollAreaBoth() {

FILE: docs/src/app/(docs)/react/components/scroll-area/demos/hero/css-modules/index.tsx
  function ExampleScrollArea (line 4) | function ExampleScrollArea() {

FILE: docs/src/app/(docs)/react/components/scroll-area/demos/hero/tailwind/index.tsx
  function ExampleScrollArea (line 3) | function ExampleScrollArea() {

FILE: docs/src/app/(docs)/react/components/scroll-area/demos/scroll-fade/css-modules/index.tsx
  function ExampleScrollAreaScrollFade (line 4) | function ExampleScrollAreaScrollFade() {

FILE: docs/src/app/(docs)/react/components/scroll-area/demos/scroll-fade/tailwind/index.tsx
  function ExampleScrollAreaScrollFade (line 3) | function ExampleScrollAreaScrollFade() {

FILE: docs/src/app/(docs)/react/components/select/demos/grouped/css-modules/index.tsx
  function ExampleSelectGrouped (line 6) | function ExampleSelectGrouped() {
  function ChevronUpDownIcon (line 56) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 73) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/select/demos/grouped/tailwind/index.tsx
  function ExampleSelectGrouped (line 5) | function ExampleSelectGrouped() {
  function ChevronUpDownIcon (line 61) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 78) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/select/demos/hero/css-modules/index.tsx
  function ExampleSelect (line 13) | function ExampleSelect() {
  function ChevronUpDownIcon (line 47) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 64) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/select/demos/hero/tailwind/index.tsx
  function ExampleSelect (line 12) | function ExampleSelect() {
  function ChevronUpDownIcon (line 52) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 69) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/select/demos/multiple/css-modules/index.tsx
  type Language (line 19) | type Language = keyof typeof languages;
  function renderValue (line 23) | function renderValue(value: Language[]) {
  function MultiSelectExample (line 33) | function MultiSelectExample() {
  function ChevronUpDownIcon (line 67) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 84) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/select/demos/multiple/tailwind/index.tsx
  type Language (line 18) | type Language = keyof typeof languages;
  function renderValue (line 22) | function renderValue(value: Language[]) {
  function MultiSelectExample (line 32) | function MultiSelectExample() {
  function ChevronUpDownIcon (line 72) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 89) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/select/demos/object-values/css-modules/index.tsx
  function ObjectValueSelect (line 6) | function ObjectValueSelect() {
  function ChevronUpDownIcon (line 54) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 71) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  type ShippingMethod (line 79) | interface ShippingMethod {

FILE: docs/src/app/(docs)/react/components/select/demos/object-values/tailwind/index.tsx
  function ObjectValueSelect (line 5) | function ObjectValueSelect() {
  function ChevronUpDownIcon (line 59) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 76) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  type ShippingMethod (line 84) | interface ShippingMethod {

FILE: docs/src/app/(docs)/react/components/separator/demos/hero/css-modules/index.tsx
  function ExampleSeparator (line 4) | function ExampleSeparator() {

FILE: docs/src/app/(docs)/react/components/separator/demos/hero/tailwind/index.tsx
  function ExampleSeparator (line 3) | function ExampleSeparator() {

FILE: docs/src/app/(docs)/react/components/slider/demos/edge-alignment/css-modules/index.tsx
  function EdgeAlignedThumb (line 4) | function EdgeAlignedThumb() {

FILE: docs/src/app/(docs)/react/components/slider/demos/edge-alignment/tailwind/index.tsx
  function EdgeAlignedThumb (line 3) | function EdgeAlignedThumb() {

FILE: docs/src/app/(docs)/react/components/slider/demos/hero/css-modules/index.tsx
  function ExampleSlider (line 4) | function ExampleSlider() {

FILE: docs/src/app/(docs)/react/components/slider/demos/hero/tailwind/index.tsx
  function ExampleSlider (line 3) | function ExampleSlider() {

FILE: docs/src/app/(docs)/react/components/slider/demos/range-slider/css-modules/index.tsx
  function RangeSlider (line 4) | function RangeSlider() {

FILE: docs/src/app/(docs)/react/components/slider/demos/range-slider/tailwind/index.tsx
  function RangeSlider (line 3) | function RangeSlider() {

FILE: docs/src/app/(docs)/react/components/slider/demos/vertical/css-modules/index.tsx
  function VerticalSlider (line 4) | function VerticalSlider() {

FILE: docs/src/app/(docs)/react/components/slider/demos/vertical/tailwind/index.tsx
  function VerticalSlider (line 3) | function VerticalSlider() {

FILE: docs/src/app/(docs)/react/components/switch/demos/hero/css-modules/index.tsx
  function ExampleSwitch (line 4) | function ExampleSwitch() {

FILE: docs/src/app/(docs)/react/components/switch/demos/hero/tailwind/index.tsx
  function ExampleSwitch (line 3) | function ExampleSwitch() {

FILE: docs/src/app/(docs)/react/components/tabs/demos/hero/css-modules/index.tsx
  function ExampleTabs (line 5) | function ExampleTabs() {
  function OverviewIcon (line 33) | function OverviewIcon(props: React.ComponentProps<'svg'>) {
  function ProjectIcon (line 41) | function ProjectIcon(props: React.ComponentProps<'svg'>) {
  function PersonIcon (line 49) | function PersonIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/tabs/demos/hero/tailwind/index.tsx
  function ExampleTabs (line 4) | function ExampleTabs() {
  function OverviewIcon (line 50) | function OverviewIcon(props: React.ComponentProps<'svg'>) {
  function ProjectIcon (line 58) | function ProjectIcon(props: React.ComponentProps<'svg'>) {
  function PersonIcon (line 66) | function PersonIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toast/demos/anchored/css-modules/index.tsx
  function ExampleToast (line 11) | function ExampleToast() {
  function StackedToastButton (line 29) | function StackedToastButton() {
  function CopyButton (line 43) | function CopyButton() {
  function AnchoredToasts (line 89) | function AnchoredToasts() {
  function StackedToasts (line 111) | function StackedToasts() {
  function ArrowSvg (line 132) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ClipboardIcon (line 151) | function ClipboardIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 171) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function XIcon (line 190) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toast/demos/anchored/tailwind/index.tsx
  function ExampleToast (line 10) | function ExampleToast() {
  function StackedToastButton (line 28) | function StackedToastButton() {
  function CopyButton (line 46) | function CopyButton() {
  function AnchoredToasts (line 92) | function AnchoredToasts() {
  function StackedToasts (line 121) | function StackedToasts() {
  function ArrowSvg (line 149) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ClipboardIcon (line 168) | function ClipboardIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 188) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function XIcon (line 207) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toast/demos/custom/css-modules/index.tsx
  type CustomToastData (line 6) | interface CustomToastData {
  function isCustomToast (line 10) | function isCustomToast(
  function CustomToastExample (line 16) | function CustomToastExample() {
  function CustomToast (line 29) | function CustomToast() {
  function ToastList (line 50) | function ToastList() {
  function XIcon (line 71) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toast/demos/hero/css-modules/index.tsx
  function ExampleToast (line 6) | function ExampleToast() {
  function ToastButton (line 19) | function ToastButton() {
  function ToastList (line 38) | function ToastList() {
  function XIcon (line 53) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toast/demos/hero/tailwind/index.tsx
  function ExampleToast (line 5) | function ExampleToast() {
  function ToastButton (line 18) | function ToastButton() {
  function ToastList (line 41) | function ToastList() {
  function XIcon (line 63) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toast/demos/position/css-modules/index.tsx
  function ExampleToast (line 6) | function ExampleToast() {
  function ToastButton (line 19) | function ToastButton() {
  function ToastList (line 38) | function ToastList() {
  function XIcon (line 53) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toast/demos/position/tailwind/index.tsx
  function ExampleToast (line 5) | function ExampleToast() {
  function ToastButton (line 18) | function ToastButton() {
  function ToastList (line 41) | function ToastList() {
  function XIcon (line 64) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toast/demos/promise/css-modules/index.tsx
  function PromiseToastExample (line 6) | function PromiseToastExample() {
  function PromiseDemo (line 19) | function PromiseDemo() {
  function ToastList (line 50) | function ToastList() {
  function XIcon (line 65) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toast/demos/undo/css-modules/index.tsx
  function UndoToastExample (line 6) | function UndoToastExample() {
  function Form (line 19) | function Form() {
  function ToastList (line 46) | function ToastList() {
  function XIcon (line 62) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toast/demos/varying-heights/css-modules/index.tsx
  function VaryingHeightsToast (line 6) | function VaryingHeightsToast() {
  function ToastButton (line 19) | function ToastButton() {
  function ToastList (line 39) | function ToastList() {
  function XIcon (line 54) | function XIcon(props: React.ComponentProps<'svg'>) {
  constant TEXTS (line 74) | const TEXTS = [

FILE: docs/src/app/(docs)/react/components/toggle-group/demos/hero/css-modules/index.tsx
  function ExampleToggleGroup (line 6) | function ExampleToggleGroup() {
  function AlignLeftIcon (line 22) | function AlignLeftIcon(props: React.ComponentProps<'svg'>) {
  function AlignCenterIcon (line 40) | function AlignCenterIcon(props: React.ComponentProps<'svg'>) {
  function AlignRightIcon (line 58) | function AlignRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toggle-group/demos/hero/tailwind/index.tsx
  function ExampleToggleGroup (line 5) | function ExampleToggleGroup() {
  function AlignLeftIcon (line 36) | function AlignLeftIcon(props: React.ComponentProps<'svg'>) {
  function AlignCenterIcon (line 54) | function AlignCenterIcon(props: React.ComponentProps<'svg'>) {
  function AlignRightIcon (line 72) | function AlignRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toggle-group/demos/multiple/css-modules/index.tsx
  function ExampleToggleGroupMultiple (line 5) | function ExampleToggleGroupMultiple() {
  function BoldIcon (line 26) | function BoldIcon(props: React.ComponentProps<'svg'>) {
  function ItalicIcon (line 34) | function ItalicIcon(props: React.ComponentProps<'svg'>) {
  function UnderlineIcon (line 42) | function UnderlineIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toggle-group/demos/multiple/tailwind/index.tsx
  function ExampleToggleGroupMultiple (line 4) | function ExampleToggleGroupMultiple() {
  function BoldIcon (line 37) | function BoldIcon(props: React.ComponentProps<'svg'>) {
  function ItalicIcon (line 45) | function ItalicIcon(props: React.ComponentProps<'svg'>) {
  function UnderlineIcon (line 53) | function UnderlineIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toggle/demos/hero/css-modules/index.tsx
  function ExampleToggle (line 6) | function ExampleToggle() {
  function HeartFilledIcon (line 32) | function HeartFilledIcon(props: React.ComponentProps<'svg'>) {
  function HeartOutlineIcon (line 40) | function HeartOutlineIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toggle/demos/hero/tailwind/index.tsx
  function ExampleToggle (line 5) | function ExampleToggle() {
  function HeartFilledIcon (line 31) | function HeartFilledIcon(props: React.ComponentProps<'svg'>) {
  function HeartOutlineIcon (line 39) | function HeartOutlineIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toolbar/demos/hero/css-modules/index.tsx
  function ExampleToolbar (line 8) | function ExampleToolbar() {
  function ChevronUpDownIcon (line 73) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 90) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/toolbar/demos/hero/tailwind/index.tsx
  function ExampleToolbar (line 7) | function ExampleToolbar() {
  function ChevronUpDownIcon (line 90) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 107) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/tooltip/demos/detached-triggers-controlled/css-modules/index.tsx
  function TooltipDetachedTriggersControlledDemo (line 8) | function TooltipDetachedTriggersControlledDemo() {
  function ArrowSvg (line 67) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function InfoIcon (line 86) | function InfoIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/tooltip/demos/detached-triggers-controlled/tailwind/index.tsx
  function TooltipDetachedTriggersControlledDemo (line 8) | function TooltipDetachedTriggersControlledDemo() {

FILE: docs/src/app/(docs)/react/components/tooltip/demos/detached-triggers-full/css-modules/index.tsx
  function TooltipDetachedTriggersFullDemo (line 8) | function TooltipDetachedTriggersFullDemo() {
  function InfoContent (line 46) | function InfoContent() {
  function HelpContent (line 50) | function HelpContent() {
  function AlertContent (line 54) | function AlertContent() {
  function ArrowSvg (line 58) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function InfoIcon (line 77) | function InfoIcon(props: React.ComponentProps<'svg'>) {
  function HelpIcon (line 98) | function HelpIcon(props: React.ComponentProps<'svg'>) {
  function AlertIcon (line 119) | function AlertIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/tooltip/demos/detached-triggers-full/tailwind/index.tsx
  function TooltipDetachedTriggersFullDemo (line 8) | function TooltipDetachedTriggersFullDemo() {
  function InfoContent (line 151) | function InfoContent() {
  function HelpContent (line 155) | function HelpContent() {
  function AlertContent (line 159) | function AlertContent() {

FILE: docs/src/app/(docs)/react/components/tooltip/demos/detached-triggers-simple/css-modules/index.tsx
  function TooltipDetachedTriggersSimpleDemo (line 8) | function TooltipDetachedTriggersSimpleDemo() {
  function ArrowSvg (line 31) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function InfoIcon (line 50) | function InfoIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/tooltip/demos/detached-triggers-simple/tailwind/index.tsx
  function TooltipDetachedTriggersSimpleDemo (line 8) | function TooltipDetachedTriggersSimpleDemo() {

FILE: docs/src/app/(docs)/react/components/tooltip/demos/hero/css-modules/index.tsx
  function ExampleTooltip (line 5) | function ExampleTooltip() {
  function ArrowSvg (line 61) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BoldIcon (line 80) | function BoldIcon(props: React.ComponentProps<'svg'>) {
  function ItalicIcon (line 88) | function ItalicIcon(props: React.ComponentProps<'svg'>) {
  function UnderlineIcon (line 96) | function UnderlineIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/tooltip/demos/hero/tailwind/index.tsx
  function ExampleTooltip (line 4) | function ExampleTooltip() {
  function ArrowSvg (line 162) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BoldIcon (line 181) | function BoldIcon(props: React.ComponentProps<'svg'>) {
  function ItalicIcon (line 189) | function ItalicIcon(props: React.ComponentProps<'svg'>) {
  function UnderlineIcon (line 197) | function UnderlineIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/components/tooltip/demos/icons-tw.tsx
  function ArrowSvg (line 3) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function InfoIcon (line 22) | function InfoIcon(props: React.ComponentProps<'svg'>) {
  function HelpIcon (line 43) | function HelpIcon(props: React.ComponentProps<'svg'>) {
  function AlertIcon (line 64) | function AlertIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/handbook/animation/demos/animated-popover-motion-keep-mounted-false/css-modules/index.tsx
  function AnimatedPopoverMotionKeepMountedFalseDemo (line 7) | function AnimatedPopoverMotionKeepMountedFalseDemo() {

FILE: docs/src/app/(docs)/react/handbook/animation/demos/animated-popover-motion-keep-mounted-true/css-modules/index.tsx
  function AnimatedPopoverMotionKeepMountedTrueDemo (line 7) | function AnimatedPopoverMotionKeepMountedTrueDemo() {

FILE: docs/src/app/(docs)/react/handbook/animation/demos/animated-select-motion/css-modules/index.tsx
  function AnimatedSelectMotionDemo (line 15) | function AnimatedSelectMotionDemo() {
  function ChevronUpDownIcon (line 78) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 95) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/autocomplete.tsx
  function Root (line 5) | function Root(props: Autocomplete.Root.Props<any>) {
  function Portal (line 25) | function Portal(props: Autocomplete.Portal.Props) {
  function Positioner (line 29) | function Positioner({ className, ...props }: Autocomplete.Positioner.Pro...
  function Popup (line 39) | function Popup({ className, ...props }: Autocomplete.Popup.Props) {
  function List (line 51) | function List(props: Autocomplete.List.Props) {
  function Item (line 55) | function Item({ className, ...props }: Autocomplete.Item.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/button.tsx
  function Button (line 5) | function Button({ className, ...props }: React.ComponentPropsWithoutRef<...

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/checkbox-group.tsx
  function CheckboxGroup (line 5) | function CheckboxGroup({ className, ...props }: BaseCheckboxGroup.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/checkbox.tsx
  function Root (line 5) | function Root({ className, ...props }: Checkbox.Root.Props) {
  function Indicator (line 17) | function Indicator({ className, ...props }: Checkbox.Indicator.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/combobox.tsx
  function Root (line 6) | function Root(props: Combobox.Root.Props<any, any>) {
  function Clear (line 26) | function Clear({ className, ...props }: Combobox.Clear.Props) {
  function Trigger (line 40) | function Trigger({ className, ...props }: Combobox.Trigger.Props) {
  function Portal (line 52) | function Portal(props: Combobox.Portal.Props) {
  function Positioner (line 56) | function Positioner({ className, ...props }: Combobox.Positioner.Props) {
  function Popup (line 62) | function Popup({ className, ...props }: Combobox.Popup.Props) {
  function Empty (line 74) | function Empty({ className, ...props }: Combobox.Empty.Props) {
  function List (line 83) | function List({ className, ...props }: Combobox.List.Props) {
  function Item (line 95) | function Item({ className, ...props }: Combobox.Item.Props) {
  function ItemIndicator (line 107) | function ItemIndicator({ className, ...props }: Combobox.ItemIndicator.P...

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/field.tsx
  function Root (line 5) | function Root({ className, ...props }: Field.Root.Props) {
  function Label (line 9) | function Label({ className, ...props }: Field.Label.Props) {
  function Description (line 21) | function Description({ className, ...props }: Field.Description.Props) {
  function Error (line 43) | function Error({ className, ...props }: Field.Error.Props) {
  function Item (line 47) | function Item(props: Field.Item.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/fieldset.tsx
  function Root (line 5) | function Root(props: Fieldset.Root.Props) {
  function Legend (line 9) | function Legend({ className, ...props }: Fieldset.Legend.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/form.tsx
  function Form (line 5) | function Form({ className, ...props }: BaseForm.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/number-field.tsx
  function Root (line 5) | function Root({ className, ...props }: NumberField.Root.Props) {
  function Group (line 11) | function Group({ className, ...props }: NumberField.Group.Props) {
  function Decrement (line 15) | function Decrement({ className, ...props }: NumberField.Decrement.Props) {
  function Increment (line 43) | function Increment({ className, ...props }: NumberField.Increment.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/radio-group.tsx
  function RadioGroup (line 5) | function RadioGroup<Value>({ className, ...props }: BaseRadioGroup.Props...

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/radio.tsx
  function Root (line 5) | function Root({ className, ...props }: Radio.Root.Props) {
  function Indicator (line 17) | function Indicator({ className, ...props }: Radio.Indicator.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/select.tsx
  function Root (line 5) | function Root(props: Select.Root.Props<any>) {
  function Label (line 9) | function Label({ className, ...props }: Select.Label.Props) {
  function Trigger (line 13) | function Trigger({ className, ...props }: Select.Trigger.Props) {
  function Value (line 25) | function Value({ className, ...props }: Select.Value.Props) {
  function Icon (line 29) | function Icon({ className, ...props }: Select.Icon.Props) {
  function Portal (line 33) | function Portal(props: Select.Portal.Props) {
  function Positioner (line 37) | function Positioner({ className, ...props }: Select.Positioner.Props) {
  function Popup (line 47) | function Popup({ className, ...props }: Select.Popup.Props) {
  function ScrollUpArrow (line 59) | function ScrollUpArrow({ className, ...props }: Select.ScrollUpArrow.Pro...
  function ScrollDownArrow (line 71) | function ScrollDownArrow({ className, ...props }: Select.ScrollDownArrow...
  function List (line 83) | function List({ className, ...props }: Select.List.Props) {
  function Item (line 95) | function Item({ className, ...props }: Select.Item.Props) {
  function ItemIndicator (line 107) | function ItemIndicator({ className, ...props }: Select.ItemIndicator.Pro...
  function ItemText (line 111) | function ItemText({ className, ...props }: Select.ItemText.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/slider.tsx
  function Root (line 5) | function Root({ className, ...props }: Slider.Root.Props<any>) {
  function Value (line 9) | function Value({ className, ...props }: Slider.Value.Props) {
  function Control (line 15) | function Control({ className, ...props }: Slider.Control.Props) {
  function Track (line 24) | function Track({ className, ...props }: Slider.Track.Props) {
  function Indicator (line 36) | function Indicator({ className, ...props }: Slider.Indicator.Props) {
  function Thumb (line 42) | function Thumb({ className, ...props }: Slider.Thumb.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/switch.tsx
  function Root (line 5) | function Root({ className, ...props }: Switch.Root.Props) {
  function Thumb (line 17) | function Thumb({ className, ...props }: Switch.Thumb.Props) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/components/toast.tsx
  function Toasts (line 6) | function Toasts() {
  function ToastProvider (line 34) | function ToastProvider(props: { children: React.ReactNode }) {

FILE: docs/src/app/(docs)/react/handbook/forms/demos/hero/tailwind/index.tsx
  function ExampleForm (line 20) | function ExampleForm() {
  function App (line 254) | function App() {
  function cartesian (line 262) | function cartesian<T extends string[][]>(...arrays: T): string[][] {
  constant REGIONS (line 269) | const REGIONS = cartesian(['us', 'eu', 'ap'], ['central', 'east', 'west'...
  type Image (line 273) | interface Image {
  constant IMAGES (line 278) | const IMAGES: Image[] = ['nginx:1.29-alpine', 'node:22-slim', 'postgres:...
  constant SERVER_TYPES (line 283) | const SERVER_TYPES = [

FILE: docs/src/app/(docs)/react/handbook/forms/demos/react-hook-form/tailwind/index.tsx
  type FormValues (line 21) | interface FormValues {
  function ReactHookForm (line 33) | function ReactHookForm() {
  function App (line 408) | function App() {
  function cartesian (line 416) | function cartesian<T extends string[][]>(...arrays: T): string[][] {
  constant REGIONS (line 423) | const REGIONS = cartesian(['us', 'eu', 'ap'], ['central', 'east', 'west'...
  type Image (line 427) | interface Image {
  constant IMAGES (line 432) | const IMAGES: Image[] = ['nginx:1.29-alpine', 'node:22-slim', 'postgres:...
  constant SERVER_TYPES (line 437) | const SERVER_TYPES = [

FILE: docs/src/app/(docs)/react/handbook/forms/demos/tanstack-form/tailwind/index.tsx
  type FormValues (line 20) | interface FormValues {
  function TanstackForm (line 44) | function TanstackForm() {
  function App (line 480) | function App() {
  function isEmpty (line 488) | function isEmpty(object: Partial<Record<DeepKeys<FormValues>, Validation...
  function cartesian (line 496) | function cartesian<T extends string[][]>(...arrays: T): string[][] {
  constant REGIONS (line 503) | const REGIONS = cartesian(['us', 'eu', 'ap'], ['central', 'east', 'west'...
  type Image (line 507) | interface Image {
  constant IMAGES (line 512) | const IMAGES: Image[] = ['nginx:1.29-alpine', 'node:22-slim', 'postgres:...
  constant SERVER_TYPES (line 517) | const SERVER_TYPES = [

FILE: docs/src/app/(docs)/react/utils/direction-provider/demos/hero/css-modules/index.tsx
  function ExampleDirectionProvider (line 5) | function ExampleDirectionProvider() {

FILE: docs/src/app/(docs)/react/utils/direction-provider/demos/hero/tailwind/index.tsx
  function ExampleDirectionProvider (line 4) | function ExampleDirectionProvider() {

FILE: docs/src/app/(docs)/react/utils/localization-provider/demos/hero/css-modules/index.tsx
  function ExampleCalendar (line 9) | function ExampleCalendar() {
  function MyCalendar (line 17) | function MyCalendar() {
  function ChevronLeftIcon (line 71) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 89) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/utils/localization-provider/demos/nesting/css-modules/index.tsx
  function NestedLocalizedCalendars (line 10) | function NestedLocalizedCalendars() {
  function LocalizedCalendar (line 23) | function LocalizedCalendar() {
  function ChevronLeftIcon (line 78) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 96) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/utils/localization-provider/demos/start-of-week/css-modules/index.tsx
  function StartOfWeekCalendar (line 14) | function StartOfWeekCalendar() {
  function ChevronUpDownIcon (line 105) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 122) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ChevronLeftIcon (line 130) | function ChevronLeftIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 148) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/utils/merge-props/demos/prevent-base-ui-handler/css-modules/index.tsx
  function ExamplePreventBaseUIHandler (line 7) | function ExamplePreventBaseUIHandler() {
  function HeartFilledIcon (line 48) | function HeartFilledIcon(props: React.ComponentProps<'svg'>) {
  function HeartOutlineIcon (line 56) | function HeartOutlineIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(docs)/react/utils/use-render/demos/render-callback/css-modules/index.tsx
  type CounterState (line 7) | interface CounterState {
  type CounterProps (line 11) | interface CounterProps extends useRender.ComponentProps<'button', Counte...
  function Counter (line 13) | function Counter(props: CounterProps) {
  function ExampleCounter (line 44) | function ExampleCounter() {

FILE: docs/src/app/(docs)/react/utils/use-render/demos/render/css-modules/index.tsx
  type TextProps (line 6) | interface TextProps extends useRender.ComponentProps<'p'> {}
  function Text (line 8) | function Text(props: TextProps) {
  function ExampleText (line 20) | function ExampleText() {

FILE: docs/src/app/(private)/docs-theme/page.tsx
  function ThemePage (line 31) | function ThemePage() {

FILE: docs/src/app/(private)/experiments/[...slug]/page.tsx
  type Props (line 14) | interface Props {
  function Page (line 20) | async function Page(props: Props) {
  function generateStaticParams (line 50) | async function generateStaticParams() {
  function generateMetadata (line 67) | async function generateMetadata(props: Props): Promise<Metadata> {

FILE: docs/src/app/(private)/experiments/_components/Button.tsx
  function Button (line 6) | function Button(props: ButtonProps) {
  type ButtonProps (line 25) | interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {

FILE: docs/src/app/(private)/experiments/_components/EditPanel.tsx
  function getLocalImports (line 16) | function getLocalImports(content: string, baseDirectory: string): string...
  function getDependencyFiles (line 38) | async function getDependencyFiles(
  function resolveExtensionlessFile (line 99) | function resolveExtensionlessFile(filePath: string, preferTs: boolean): ...
  function EditPanel (line 125) | async function EditPanel(props: EditPanelProps) {
  type EditPanelProps (line 141) | interface EditPanelProps extends React.HTMLAttributes<HTMLDivElement> {

FILE: docs/src/app/(private)/experiments/_components/ExperimentRoot.tsx
  type ExperimentRootContext (line 7) | interface ExperimentRootContext {
  function ExperimentRoot (line 16) | function ExperimentRoot(props: ExperimentRootProps) {
  type ExperimentRootProps (line 38) | interface ExperimentRootProps {

FILE: docs/src/app/(private)/experiments/_components/ExperimentsList.tsx
  function ExperimentsList (line 54) | function ExperimentsList(props: React.HTMLAttributes<HTMLDivElement>) {

FILE: docs/src/app/(private)/experiments/_components/HideSidebar.tsx
  function HideSidebar (line 6) | function HideSidebar(props: React.HTMLAttributes<HTMLDivElement>) {

FILE: docs/src/app/(private)/experiments/_components/Input.tsx
  function Input (line 5) | function Input(props: BaseInput.Props) {

FILE: docs/src/app/(private)/experiments/_components/SandboxLink.tsx
  function SandboxLink (line 8) | function SandboxLink(props: SandboxLinkProps) {
  type SandboxLinkProps (line 51) | interface SandboxLinkProps extends React.ButtonHTMLAttributes<HTMLButton...

FILE: docs/src/app/(private)/experiments/_components/Select.tsx
  function Select (line 6) | function Select(props: Select.Props) {
  type Props (line 39) | interface Props extends Omit<
  function ArrowSvg (line 49) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronUpDownIcon (line 68) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 85) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/_components/SettingsPanel.tsx
  type ExperimentsSettingsContext (line 11) | interface ExperimentsSettingsContext<Settings = Record<string, unknown>> {
  function ExperimentSettingsProvider (line 20) | function ExperimentSettingsProvider<Settings extends {}>(
  function useExperimentSettings (line 70) | function useExperimentSettings<Settings extends {}>() {
  function SettingsPanel (line 79) | function SettingsPanel<Settings extends {}>(props: SettingsPanelProps<Se...
  type FieldMetadata (line 148) | interface FieldMetadata {
  type SettingsMetadata (line 155) | type SettingsMetadata<Settings> = Record<keyof Settings, FieldMetadata>;
  type SettingsPanelProps (line 157) | interface SettingsPanelProps<Settings> extends React.HTMLAttributes<HTML...
  function SettingsPopup (line 162) | function SettingsPopup(props: React.PropsWithChildren<{}>) {
  function renderSwitch (line 191) | function renderSwitch(
  function renderTextInput (line 208) | function renderTextInput(
  function renderNumberInput (line 227) | function renderNumberInput(
  function renderSelect (line 246) | function renderSelect(
  function SettingsIcon (line 266) | function SettingsIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/_components/ShowSidebar.tsx
  function ShowSidebar (line 6) | function ShowSidebar() {

FILE: docs/src/app/(private)/experiments/_components/Sidebar.tsx
  function Sidebar (line 9) | function Sidebar(props: SidebarProps) {
  type SidebarProps (line 32) | interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {

FILE: docs/src/app/(private)/experiments/_components/Switch.tsx
  function Switch (line 7) | function Switch(props: Switch.Props) {
  type Props (line 36) | interface Props extends React.HTMLAttributes<HTMLDivElement> {

FILE: docs/src/app/(private)/experiments/_components/Tooltip.tsx
  function Tooltip (line 5) | function Tooltip(props: TooltipProps) {
  type TooltipProps (line 25) | interface TooltipProps {
  function ArrowSvg (line 30) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/accordion/animations.tsx
  type Settings (line 7) | interface Settings extends Record<string, boolean> {}
  function ExampleAccordion (line 19) | function ExampleAccordion({ keepMounted, multiple }: { keepMounted: bool...
  function CssAnimations (line 67) | function CssAnimations() {
  function PlusIcon (line 87) | function PlusIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/accordion/horizontal.tsx
  function App (line 14) | function App() {

FILE: docs/src/app/(private)/experiments/accordion/transitions.tsx
  type Settings (line 7) | interface Settings extends Record<string, boolean> {}
  function ExampleAccordion (line 19) | function ExampleAccordion({ keepMounted, multiple }: { keepMounted: bool...
  function CssTransitions (line 67) | function CssTransitions() {
  function PlusIcon (line 87) | function PlusIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/anchor-positioning.tsx
  type Size (line 22) | type Size = 'xs' | 's' | 'm' | 'l' | 'xl';
  function AnchorPositioning (line 24) | function AnchorPositioning() {

FILE: docs/src/app/(private)/experiments/anchor-side-animations.tsx
  function AnchorSideAnimations (line 4) | function AnchorSideAnimations() {

FILE: docs/src/app/(private)/experiments/calendar/calendar-basic.tsx
  function CalendarBasic (line 8) | function CalendarBasic() {

FILE: docs/src/app/(private)/experiments/calendar/calendar-timezone.tsx
  function CalendarWithTimezone (line 9) | function CalendarWithTimezone() {

FILE: docs/src/app/(private)/experiments/calendar/calendar-two-months.tsx
  function Header (line 10) | function Header() {
  function DayGrid (line 33) | function DayGrid(props: { offset: 0 | 1 }) {
  function CalendarTwoMonths (line 64) | function CalendarTwoMonths() {

FILE: docs/src/app/(private)/experiments/calendar/calendar-unavailable-dates.tsx
  function isDateUnavailable (line 9) | function isDateUnavailable(date: Date) {
  function CalendarUnavailableDates (line 13) | function CalendarUnavailableDates() {

FILE: docs/src/app/(private)/experiments/calendar/calendar-validation.tsx
  function CalendarValidation (line 11) | function CalendarValidation() {

FILE: docs/src/app/(private)/experiments/collapsible/_icons.tsx
  function Nothing (line 4) | function Nothing() {
  function ChevronIcon (line 8) | function ChevronIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/collapsible/animate-presence.tsx
  function CollapsibleAnimatePresence (line 8) | function CollapsibleAnimatePresence() {

FILE: docs/src/app/(private)/experiments/collapsible/animations.tsx
  function CssAnimations (line 6) | function CssAnimations() {

FILE: docs/src/app/(private)/experiments/collapsible/plain.tsx
  function PlainCollapsible (line 6) | function PlainCollapsible() {

FILE: docs/src/app/(private)/experiments/collapsible/transitions.tsx
  function CssTransitions (line 7) | function CssTransitions() {

FILE: docs/src/app/(private)/experiments/combobox-composition.tsx
  function ComboboxComposition (line 6) | function ComboboxComposition() {
  function CheckIcon (line 47) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ClearIcon (line 55) | function ClearIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 73) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/combobox-perf.tsx
  function ExampleCombobox (line 6) | function ExampleCombobox() {
  function CheckIcon (line 117) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ClearIcon (line 125) | function ClearIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 143) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/combobox/creatable-tags.tsx
  constant INITIAL_ITEMS (line 7) | const INITIAL_ITEMS = [
  type ComboboxProps (line 21) | interface ComboboxProps {
  function Experiment (line 29) | function Experiment() {
  function Combobox (line 53) | function Combobox(props: ComboboxProps) {
  function renderRegularItem (line 234) | function renderRegularItem(item: InternalComboboxItem) {
  function renderCreateItem (line 245) | function renderCreateItem(item: InternalComboboxItem) {
  type InternalComboboxItem (line 257) | interface InternalComboboxItem {
  function CheckIcon (line 262) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function PlusIcon (line 270) | function PlusIcon(props: React.ComponentProps<'svg'>) {
  function XIcon (line 289) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/combobox/dialog-combobox-multiple.tsx
  function DialogComboboxMultiple (line 7) | function DialogComboboxMultiple() {
  function CheckIcon (line 86) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function XIcon (line 94) | function XIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/combobox/dialog-combobox.tsx
  function DialogCombobox (line 6) | function DialogCombobox() {
  function CheckIcon (line 54) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/combobox/priority-combobox.tsx
  function CustomCombobox (line 6) | function CustomCombobox(props: { items: Priority[] }) {
  function PriorityCombobox (line 47) | function PriorityCombobox() {
  type Priority (line 51) | interface Priority {
  function CheckIcon (line 66) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function MinusIcon (line 74) | function MinusIcon(props: React.ComponentProps<'svg'>) {
  function CircleAlertIcon (line 91) | function CircleAlertIcon(props: React.ComponentProps<'svg'>) {
  function SignalHighIcon (line 112) | function SignalHighIcon(props: React.ComponentProps<'svg'>) {
  function SignalMediumIcon (line 134) | function SignalMediumIcon(props: React.ComponentProps<'svg'>) {
  function SignalLowIcon (line 156) | function SignalLowIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/context-menu.tsx
  function ContextMenuExperiment (line 9) | function ContextMenuExperiment() {
  function ChevronRightIcon (line 403) | function ChevronRightIcon() {

FILE: docs/src/app/(private)/experiments/dialog/dialogs.tsx
  type Settings (line 9) | interface Settings {
  function DialogExperiment (line 44) | function DialogExperiment() {
  type StyledDialogProps (line 253) | type StyledDialogProps<Payload> = Pick<
  function StyledTrigger (line 258) | function StyledTrigger<Payload>(
  function StyledDialog (line 271) | function StyledDialog(props: StyledDialogProps<keyof typeof dialogConten...
  function renderDialogContent (line 289) | function renderDialogContent(contentKey: keyof typeof dialogContents, se...
  function StatefulComponent (line 341) | function StatefulComponent() {

FILE: docs/src/app/(private)/experiments/dialog/nested.tsx
  constant NESTED_DIALOGS (line 10) | const NESTED_DIALOGS = 8;
  type Settings (line 12) | interface Settings {
  function renderContent (line 18) | function renderContent(
  function CssTransitionDialogDemo (line 66) | function CssTransitionDialogDemo({ keepMounted, modal, disablePointerDis...
  function CssAnimationDialogDemo (line 89) | function CssAnimationDialogDemo({ keepMounted, modal, disablePointerDism...
  function ReactSpringDialogDemo (line 114) | function ReactSpringDialogDemo({ keepMounted, modal, disablePointerDismi...
  function ReactSpringTransition (line 144) | function ReactSpringTransition(props: { open: boolean; children?: React....
  function DialogExperiment (line 179) | function DialogExperiment() {

FILE: docs/src/app/(private)/experiments/drawer-slider.tsx
  function DrawerSliderExperiment (line 7) | function DrawerSliderExperiment() {

FILE: docs/src/app/(private)/experiments/drawer/cross-axis-scroll.tsx
  type SwipeDirection (line 7) | type SwipeDirection = 'left' | 'right' | 'up' | 'down';
  type OverflowAxis (line 8) | type OverflowAxis = 'x' | 'y';
  type DrawerCase (line 10) | interface DrawerCase {
  function DrawerCrossAxisScrollExperiment (line 68) | function DrawerCrossAxisScrollExperiment() {
  function DrawerCaseCard (line 86) | function DrawerCaseCard(props: { testCase: DrawerCase }) {
  function OverflowRegion (line 136) | function OverflowRegion(props: { axis: OverflowAxis }) {

FILE: docs/src/app/(private)/experiments/drawer/drawer-controlled-opening.tsx
  function ControlledOpening (line 5) | function ControlledOpening() {

FILE: docs/src/app/(private)/experiments/drawer/touch-ignore.tsx
  type EventName (line 5) | type EventName = 'plain div click' | 'ignored div click' | 'native butto...
  function DrawerTouchIgnoreExperiment (line 7) | function DrawerTouchIgnoreExperiment() {
  function CounterRow (line 150) | function CounterRow(props: { label: string; value: number }) {

FILE: docs/src/app/(private)/experiments/forms/_icons.tsx
  function Nothing (line 4) | function Nothing() {
  function ChevronUpDownIcon (line 8) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 25) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function HorizontalRuleIcon (line 33) | function HorizontalRuleIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/forms/autofill.tsx
  function Page (line 19) | function Page() {
  function ChevronUpDownIcon (line 269) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 286) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ClearIcon (line 294) | function ClearIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 312) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/forms/button-controls.tsx
  function PullRequestsCheckboxGroup (line 13) | function PullRequestsCheckboxGroup() {
  function StickersRadioGroup (line 75) | function StickersRadioGroup() {
  function DmSpamRadioGroup (line 126) | function DmSpamRadioGroup() {
  function ButtonControlsForm (line 176) | function ButtonControlsForm() {

FILE: docs/src/app/(private)/experiments/forms/form.tsx
  type Settings (line 42) | interface Settings {
  type MyFormValues (line 49) | interface MyFormValues {
  function submitForm (line 77) | async function submitForm(values: MyFormValues, native: boolean) {
  function Page (line 97) | function Page() {
  constant ALL_CHECKBOX_GROUP_VALUES (line 482) | const ALL_CHECKBOX_GROUP_VALUES = ['ads', 'annoyances', 'comments', 'tra...
  function ChevronUpDownIcon (line 484) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 501) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function HorizontalRuleIcon (line 509) | function HorizontalRuleIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/forms/rhf.tsx
  type Settings (line 21) | interface Settings {
  type FormValues (line 25) | interface FormValues {
  function ExampleForm (line 46) | function ExampleForm() {
  constant ALL_CHECKBOX_GROUP_VALUES (line 561) | const ALL_CHECKBOX_GROUP_VALUES = ['ads', 'annoyances', 'comments', 'tra...
  constant COUNTRIES (line 562) | const COUNTRIES = [

FILE: docs/src/app/(private)/experiments/layout.tsx
  function ExperimentsLayout (line 4) | function ExperimentsLayout({ children }: React.PropsWithChildren) {

FILE: docs/src/app/(private)/experiments/long-select.tsx
  function ExampleSelect (line 6) | function ExampleSelect() {
  function ArrowSvg (line 101) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronUpDownIcon (line 120) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 137) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  type Country (line 145) | interface Country {

FILE: docs/src/app/(private)/experiments/menu/complex-nesting.tsx
  function MenuComplexNestingExperiment (line 6) | function MenuComplexNestingExperiment() {
  function ChevronRightIcon (line 130) | function ChevronRightIcon() {

FILE: docs/src/app/(private)/experiments/menu/menu-anchor-el.tsx
  function Page (line 6) | function Page() {

FILE: docs/src/app/(private)/experiments/menu/menu-anchor-ref.tsx
  function Page (line 6) | function Page() {

FILE: docs/src/app/(private)/experiments/menu/menu-disabled-items.tsx
  function ExampleMenu (line 5) | function ExampleMenu() {
  function ArrowSvg (line 54) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 73) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 81) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/menu/menu-fully-featured.tsx
  type Settings (line 10) | interface Settings {
  function MenuFullyFeatured (line 20) | function MenuFullyFeatured() {
  function ChevronDownIcon (line 271) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 279) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {
  function ArrowIcon (line 287) | function ArrowIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 306) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/menu/menu-horizontal.tsx
  function NestedMenu (line 6) | function NestedMenu() {

FILE: docs/src/app/(private)/experiments/menu/menu-nested.tsx
  function NestedMenu (line 5) | function NestedMenu() {

FILE: docs/src/app/(private)/experiments/menu/menu-submenus.tsx
  type Settings (line 9) | interface Settings {
  function MenuSubmenus (line 19) | function MenuSubmenus() {
  function ChevronDownIcon (line 168) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 176) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/menu/nested-detached-triggers.tsx
  function Experiment (line 60) | function Experiment() {
  function ReusableMenu (line 155) | function ReusableMenu(props: { handle?: Menu.Handle<ContentKey>; childre...
  type MenuContentRegularItem (line 186) | type MenuContentRegularItem = {
  type MenuContentSeparator (line 194) | type MenuContentSeparator = { type: 'separator' };
  type MenuContentSubmenu (line 196) | type MenuContentSubmenu = {
  type MenuContentItem (line 202) | type MenuContentItem = MenuContentRegularItem | MenuContentSeparator | M...
  type ContentKey (line 204) | type ContentKey = keyof typeof contents;
  function renderMenuContentItem (line 206) | function renderMenuContentItem(item: MenuContentItem, key: string) {
  function ArrowSvg (line 245) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 264) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/menu/perf-contained.tsx
  type RowData (line 7) | type RowData = {
  function PerfMenuExperiment (line 25) | function PerfMenuExperiment() {
  type RowMenuProps (line 41) | interface RowMenuProps {
  function RowMenu (line 45) | function RowMenu({ rowData }: RowMenuProps) {
  function ArrowSvg (line 73) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/menu/perf-detached.tsx
  type RowData (line 7) | type RowData = {
  function PerfMenuExperiment (line 27) | function PerfMenuExperiment() {
  function RowMenu (line 51) | function RowMenu() {
  function ArrowSvg (line 82) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/menu/pointer-events-scope.tsx
  function PointerEventsScopeExperiment (line 52) | function PointerEventsScopeExperiment() {

FILE: docs/src/app/(private)/experiments/menu/triggers.tsx
  type Settings (line 10) | interface Settings {
  type MenuContentRegularItem (line 19) | type MenuContentRegularItem = {
  type MenuContentSeparator (line 27) | type MenuContentSeparator = { type: 'separator' };
  type MenuContentSubmenu (line 29) | type MenuContentSubmenu = {
  type MenuContentItem (line 35) | type MenuContentItem = MenuContentRegularItem | MenuContentSeparator | M...
  type ContentKey (line 84) | type ContentKey = keyof typeof contents;
  function MenuTriggers (line 89) | function MenuTriggers() {
  type StyledMenuProps (line 237) | type StyledMenuProps<Payload> = Pick<
  function StyledMenu (line 242) | function StyledMenu(props: StyledMenuProps<ContentKey>) {
  type MenuTriggerPropsWithFeatures (line 259) | type MenuTriggerPropsWithFeatures<Payload> = Menu.Trigger.Props<Payload>...
  function StyledTrigger (line 264) | function StyledTrigger(
  function renderMenuContent (line 289) | function renderMenuContent(contentKey: ContentKey | undefined, settings:...
  function renderMenuContentItem (line 316) | function renderMenuContentItem(item: MenuContentItem, key: string) {
  function ArrowSvg (line 388) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 407) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 415) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/menubar.tsx
  type Settings (line 10) | interface Settings {
  function getSubmenuPositionProps (line 16) | function getSubmenuPositionProps(parentOrientation: Menu.Root.Props['ori...
  function MenubarExperiment (line 24) | function MenubarExperiment() {
  function ChevronRightIcon (line 206) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {
  function ArrowIcon (line 214) | function ArrowIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 233) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/meter.tsx
  type Settings (line 7) | interface Settings {
  function BatteryMeter (line 19) | function BatteryMeter() {
  function BoltIcon (line 35) | function BoltIcon(props: React.SVGProps<SVGSVGElement>) {

FILE: docs/src/app/(private)/experiments/mobile-scroll-lock.tsx
  function ExampleDialog (line 4) | function ExampleDialog() {

FILE: docs/src/app/(private)/experiments/modality.tsx
  function Modality (line 9) | function Modality() {
  function SelectDemo (line 38) | function SelectDemo({ modal, withBackdrop }: Props) {
  function MenuDemo (line 74) | function MenuDemo({ modal, withBackdrop }: Props) {
  function DialogDemo (line 94) | function DialogDemo({ modal, withBackdrop }: Props) {
  type Props (line 117) | interface Props {

FILE: docs/src/app/(private)/experiments/motion.tsx
  function ConditionallyMounted (line 6) | function ConditionallyMounted() {
  function AlwaysMounted (line 34) | function AlwaysMounted() {
  function NoOpacity (line 60) | function NoOpacity() {
  function Page (line 102) | function Page() {

FILE: docs/src/app/(private)/experiments/navigation-menu-popups.tsx
  function ExampleNavigationMenu (line 9) | function ExampleNavigationMenu() {
  function BellIcon (line 187) | function BellIcon(props: React.ComponentProps<'svg'>) {
  function ArrowSvg (line 195) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/navigation-menu.tsx
  function ExampleNavigationMenu (line 7) | function ExampleNavigationMenu() {
  function Link (line 361) | function Link(props: NavigationMenu.Link.Props) {
  function ChevronDownIcon (line 375) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ArrowSvg (line 383) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/page.tsx
  function Experiments (line 5) | async function Experiments() {

FILE: docs/src/app/(private)/experiments/perf/contained-triggers.tsx
  type Settings (line 15) | interface Settings {
  type RowData (line 22) | interface RowData {
  type RowProps (line 27) | interface RowProps {
  function PerfExperiment (line 44) | function PerfExperiment() {
  function TestComponent (line 55) | function TestComponent() {
  function RowMenu (line 75) | function RowMenu({ rowData }: RowProps) {
  function RowPopover (line 103) | function RowPopover({ rowData }: RowProps) {
  function RowTooltip (line 123) | function RowTooltip({ rowData }: RowProps) {
  function RowDialog (line 143) | function RowDialog({ rowData }: RowProps) {
  function ArrowSvg (line 165) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/perf/detached-triggers.tsx
  type Settings (line 15) | interface Settings {
  type RowData (line 22) | interface RowData {
  function PerfExperiment (line 45) | function PerfExperiment() {
  function TestComponent (line 56) | function TestComponent() {
  function RowMenu (line 119) | function RowMenu() {
  function RowPopover (line 150) | function RowPopover() {
  function RowTooltip (line 169) | function RowTooltip() {
  function RowDialog (line 190) | function RowDialog() {
  function ArrowSvg (line 213) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/perf/radix-triggers.tsx
  type Settings (line 12) | interface Settings {
  type RowData (line 19) | interface RowData {
  type RowProps (line 24) | interface RowProps {
  function PerfExperiment (line 41) | function PerfExperiment() {
  function TestComponent (line 54) | function TestComponent() {
  function RowMenu (line 74) | function RowMenu({ rowData }: RowProps) {
  function RowPopover (line 100) | function RowPopover({ rowData }: RowProps) {
  function RowTooltip (line 118) | function RowTooltip({ rowData }: RowProps) {
  function RowDialog (line 136) | function RowDialog({ rowData }: RowProps) {
  function ArrowSvg (line 158) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/perf/utils/benchmark.tsx
  constant DOM_SETTLE_QUIET_WINDOW_MS (line 8) | const DOM_SETTLE_QUIET_WINDOW_MS = 32;
  function PerformanceBenchmark (line 142) | function PerformanceBenchmark(props: React.PropsWithChildren<{}>) {
  function logResults (line 154) | function logResults(results: number[]) {
  function removeOutliers (line 174) | function removeOutliers(data: number[]) {

FILE: docs/src/app/(private)/experiments/popover/calendar-shared.ts
  type EventData (line 5) | interface EventData {

FILE: docs/src/app/(private)/experiments/popover/calendar.tsx
  constant EVENTS (line 8) | const EVENTS: EventData[] = [
  function CalendarDemo (line 42) | function CalendarDemo() {
  type CalendarProps (line 50) | interface CalendarProps {
  function Calendar (line 56) | function Calendar(props: CalendarProps) {
  type EventProps (line 87) | interface EventProps {
  function Event (line 93) | function Event(props: EventProps) {
  function EventDetails (line 118) | function EventDetails() {
  function formatTime (line 171) | function formatTime(hour: number) {

FILE: docs/src/app/(private)/experiments/popover/dynamic-size.tsx
  function Experiment (line 9) | function Experiment() {
  function ArrowSvg (line 62) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BellIcon (line 81) | function BellIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/popover/nested-open-on-hover.tsx
  function NestedOpenOnHover (line 5) | function NestedOpenOnHover() {
  function ArrowSvg (line 39) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BellIcon (line 58) | function BellIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/popover/popovers.tsx
  type Settings (line 11) | interface Settings {
  function Popovers (line 48) | function Popovers() {
  type StyledPopoverProps (line 193) | type StyledPopoverProps<Payload> = Pick<
  function StyledTrigger (line 198) | function StyledTrigger<Payload>(
  function StyledPopover (line 215) | function StyledPopover(props: StyledPopoverProps<number>) {
  function renderPopoverContent (line 232) | function renderPopoverContent(contentIndex: number | undefined, settings...
  function ArrowSvg (line 295) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function PopupIcon (line 314) | function PopupIcon(props: React.ComponentProps<'svg'>) {
  function StatefulComponent (line 329) | function StatefulComponent() {

FILE: docs/src/app/(private)/experiments/popover/vertical.tsx
  function MorphingToolbarDemo (line 8) | function MorphingToolbarDemo() {
  function PropertiesPanel (line 54) | function PropertiesPanel() {
  function HistoryPanel (line 75) | function HistoryPanel() {
  function DiscussionPanel (line 113) | function DiscussionPanel() {
  function ArrowSvg (line 128) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function PropertiesIcon (line 147) | function PropertiesIcon(props: React.ComponentProps<'svg'>) {
  function HistoryIcon (line 171) | function HistoryIcon(props: React.ComponentProps<'svg'>) {
  function DiscussionIcon (line 192) | function DiscussionIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/popup-tabbing.tsx
  function ExampleMenu (line 9) | function ExampleMenu() {
  function ExamplePopoverInPopover (line 36) | function ExamplePopoverInPopover() {
  function ExampleCombobox (line 57) | function ExampleCombobox() {
  function PopupTabbing (line 92) | function PopupTabbing() {
  function ArrowSvg (line 222) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 241) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/popups/popups-in-popups.tsx
  function PopupsInPopups (line 12) | function PopupsInPopups() {
  function DialogDemo (line 41) | function DialogDemo({ modal, withBackdrop }: Props & { withBackdrop: boo...
  function NestedDrawerDemo (line 66) | function NestedDrawerDemo({ modal, withBackdrop }: Props & { withBackdro...
  function PopupDemoContent (line 95) | function PopupDemoContent({
  function SelectDemo (line 120) | function SelectDemo({ modal }: Props) {
  function MenuDemo (line 178) | function MenuDemo({ modal }: Props) {
  type Props (line 289) | interface Props {
  function ExampleCombobox (line 293) | function ExampleCombobox() {
  function CheckIcon (line 333) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function ClearIcon (line 341) | function ClearIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 359) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronUpDownIcon (line 378) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function ArrowSvg (line 395) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/popups/popups-transform-origin.tsx
  function Popover (line 5) | function Popover({ side }: { side: Side }) {
  function PopoverWithArrow (line 18) | function PopoverWithArrow({ side }: { side: Side }) {
  function ShiftSide (line 33) | function ShiftSide({ side }: { side: Side }) {
  function PopupTransformOrigin (line 53) | function PopupTransformOrigin() {

FILE: docs/src/app/(private)/experiments/preview-card/nested.tsx
  function ExamplePreviewCard (line 5) | function ExamplePreviewCard({ levels = 2 }: { levels?: number }) {
  function ArrowSvg (line 44) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/preview-card/triggers.tsx
  type Settings (line 12) | interface Settings {
  function PreviewCardExperiment (line 66) | function PreviewCardExperiment() {
  function PreviewCardTrigger (line 378) | function PreviewCardTrigger<Payload = string>(
  function PreviewCardContent (line 384) | function PreviewCardContent(
  function ArrowSvg (line 405) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/rtl.tsx
  function RtlNestedMenu (line 11) | function RtlNestedMenu() {
  function MenuPositioner (line 177) | function MenuPositioner({ className, ...props }: Menu.Positioner.Props) {
  function PreviewCardPositioner (line 182) | function PreviewCardPositioner({ className, ...props }: PreviewCard.Posi...

FILE: docs/src/app/(private)/experiments/scroll-area/inside-menu.tsx
  function ExampleMenu (line 8) | function ExampleMenu() {
  function ArrowSvg (line 57) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 76) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 84) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/scroll-area/inside-select.tsx
  function ExampleSelect (line 6) | function ExampleSelect() {
  function ChevronUpDownIcon (line 44) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 61) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/scroll-area/scroll-area-inset.tsx
  function ScrollAreaInset (line 5) | function ScrollAreaInset() {

FILE: docs/src/app/(private)/experiments/scroll-area/scroll-area-slight.tsx
  function ScrollAreaSlight (line 4) | function ScrollAreaSlight() {

FILE: docs/src/app/(private)/experiments/scroll-area/scroll-area.tsx
  function ScrollAreaIntroduction (line 5) | function ScrollAreaIntroduction() {

FILE: docs/src/app/(private)/experiments/scroll-area/tabs-scroll-area.tsx
  constant ITEMS (line 6) | const ITEMS = Array.from({ length: 32 }, (_, i) => `Item ${i + 1}`);
  function ScrollAreaTabsScrollArea (line 8) | function ScrollAreaTabsScrollArea() {

FILE: docs/src/app/(private)/experiments/scroll-lock.tsx
  function ScrollLock (line 6) | function ScrollLock() {

FILE: docs/src/app/(private)/experiments/select-perf.tsx
  function ExampleSelect (line 8) | function ExampleSelect() {
  function ArrowSvg (line 38) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronUpDownIcon (line 57) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 74) | function CheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/slider/inset.tsx
  function InsetSlider (line 8) | function InsetSlider(props: Slider.Root.Props) {
  function DemoSlider (line 32) | function DemoSlider(props: Slider.Root.Props & { wide?: boolean }) {
  function RadixSlider (line 69) | function RadixSlider(props: Slider.Root.Props) {
  function App (line 82) | function App() {

FILE: docs/src/app/(private)/experiments/slider/slider.tsx
  type Settings (line 10) | interface Settings extends Record<string, boolean> {}
  function DelayUntilRepeat (line 20) | function DelayUntilRepeat() {
  function Volume (line 54) | function Volume() {
  function Brightness (line 78) | function Brightness() {
  function PriceRange (line 103) | function PriceRange() {
  function TemperatureRange (line 135) | function TemperatureRange() {
  function App (line 168) | function App() {

FILE: docs/src/app/(private)/experiments/storeWithControlledValues.tsx
  function Playground (line 8) | function Playground() {
  type Props (line 63) | interface Props {
  function ControllableComponent (line 70) | function ControllableComponent(props: Props) {
  type ChildProps (line 107) | interface ChildProps {
  function ChildComponent (line 111) | function ChildComponent(props: ChildProps) {
  type State (line 116) | interface State {

FILE: docs/src/app/(private)/experiments/tabs-animations.tsx
  constant PANELS (line 10) | const PANELS = [
  function TabsAnimationsExperiment (line 29) | function TabsAnimationsExperiment() {
  type Settings (line 80) | interface Settings {

FILE: docs/src/app/(private)/experiments/tabs-overflow.tsx
  constant OVERFLOW_LABELS (line 6) | const OVERFLOW_LABELS = Array.from({ length: 20 }, (_, index) => `Tab ${...
  constant VARIANTS (line 8) | const VARIANTS = [
  function TabsOverflowExperiment (line 41) | function TabsOverflowExperiment() {

FILE: docs/src/app/(private)/experiments/tabs.tsx
  function TabsExperiment (line 10) | function TabsExperiment() {
  type Settings (line 67) | interface Settings {

FILE: docs/src/app/(private)/experiments/toast.tsx
  function showGlobalToast (line 7) | function showGlobalToast() {
  function fetchUserData (line 15) | function fetchUserData() {
  function Page (line 29) | function Page() {
  function ToastButtons (line 40) | function ToastButtons() {
  function Toasts (line 81) | function Toasts() {
  function ToastPromiseExample (line 101) | function ToastPromiseExample() {

FILE: docs/src/app/(private)/experiments/toggle-group.tsx
  function ToggleGroupDemo (line 7) | function ToggleGroupDemo() {
  function AlignLeftIcon (line 62) | function AlignLeftIcon() {
  function AlignCenterIcon (line 73) | function AlignCenterIcon() {
  function AlignRightIcon (line 84) | function AlignRightIcon() {
  function BoldIcon (line 95) | function BoldIcon() {
  function ItalicsIcon (line 104) | function ItalicsIcon() {
  function UnderlineIcon (line 114) | function UnderlineIcon() {

FILE: docs/src/app/(private)/experiments/toolbar/_icons.tsx
  function Nothing (line 4) | function Nothing() {
  function AlignLeftIcon (line 8) | function AlignLeftIcon(props: React.ComponentProps<'svg'>) {
  function AlignCenterIcon (line 19) | function AlignCenterIcon(props: React.ComponentProps<'svg'>) {
  function AlignRightIcon (line 30) | function AlignRightIcon(props: React.ComponentProps<'svg'>) {
  function BoldIcon (line 41) | function BoldIcon(props: React.ComponentProps<'svg'>) {
  function ItalicsIcon (line 50) | function ItalicsIcon(props: React.ComponentProps<'svg'>) {
  function UnderlineIcon (line 60) | function UnderlineIcon(props: React.ComponentProps<'svg'>) {
  function ArrowSvg (line 69) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function ChevronUpDownIcon (line 82) | function ChevronUpDownIcon(props: React.ComponentProps<'svg'>) {
  function CheckIcon (line 99) | function CheckIcon(props: React.ComponentProps<'svg'>) {
  function MoreHorizontalIcon (line 107) | function MoreHorizontalIcon(props: React.ComponentProps<'svg'>) {
  function ChevronDownIcon (line 117) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {
  function ChevronRightIcon (line 125) | function ChevronRightIcon(props: React.ComponentProps<'svg'>) {
  function MessageCircleIcon (line 133) | function MessageCircleIcon(props: React.ComponentProps<'svg'>) {
  function MousePointerIcon (line 141) | function MousePointerIcon(props: React.ComponentProps<'svg'>) {
  function CursorGrowIcon (line 150) | function CursorGrowIcon(props: React.ComponentProps<'svg'>) {
  function PlusIcon (line 166) | function PlusIcon(props: React.ComponentProps<'svg'>) {
  function MinusIcon (line 183) | function MinusIcon(props: React.ComponentProps<'svg'>) {
  function BellIcon (line 200) | function BellIcon(props: React.ComponentProps<'svg'>) {
  function TrashIcon (line 208) | function TrashIcon(props: React.ComponentProps<'svg'>) {
  function SlidersIcon (line 227) | function SlidersIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/toolbar/basic.tsx
  constant TEXT (line 16) | const TEXT = `Shows the basic anatomy:
  type Settings (line 25) | interface Settings extends Record<string, boolean> {}
  function App (line 40) | function App() {

FILE: docs/src/app/(private)/experiments/toolbar/text-editor.tsx
  type Settings (line 34) | interface Settings extends Record<string, boolean> {}
  function classNames (line 73) | function classNames(...c: Array<string | undefined | null | false>) {
  function renderToggleWithTooltip (line 77) | function renderToggleWithTooltip(args: {
  function App (line 115) | function App() {

FILE: docs/src/app/(private)/experiments/toolbar/triggers.tsx
  type Settings (line 31) | interface Settings extends Record<string, boolean> {}
  constant TEXT (line 78) | const TEXT = `Shows toolbar buttons as various triggers:
  function classNames (line 86) | function classNames(...c: Array<string | undefined | null | false>) {
  function renderTriggerWithTooltip (line 90) | function renderTriggerWithTooltip(args: {
  function App (line 124) | function App() {
  function ComboSlider (line 329) | function ComboSlider({ color }: { color: 'r' | 'g' | 'b' }) {

FILE: docs/src/app/(private)/experiments/tooltip/disabled.tsx
  function TooltipDetachedTriggersSimpleDemo (line 9) | function TooltipDetachedTriggersSimpleDemo() {
  function ArrowSvg (line 55) | function ArrowSvg(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/tooltip/prevent-open.tsx
  function ExampleTooltip (line 7) | function ExampleTooltip() {
  function ArrowSvg (line 82) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BoldIcon (line 101) | function BoldIcon(props: React.ComponentProps<'svg'>) {
  function ItalicIcon (line 109) | function ItalicIcon(props: React.ComponentProps<'svg'>) {
  function UnderlineIcon (line 117) | function UnderlineIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/tooltip/tooltips.tsx
  type Settings (line 12) | interface Settings {
  function TooltipsExperiment (line 21) | function TooltipsExperiment() {
  function TooltipTriggerButton (line 309) | function TooltipTriggerButton(props: Tooltip.Trigger.Props<string>) {
  function TooltipContent (line 313) | function TooltipContent(props: Tooltip.Popup.Props) {
  function ArrowSvg (line 330) | function ArrowSvg(props: React.ComponentProps<'svg'>) {
  function BoldIcon (line 349) | function BoldIcon(props: React.ComponentProps<'svg'>) {
  function ItalicIcon (line 357) | function ItalicIcon(props: React.ComponentProps<'svg'>) {
  function UnderlineIcon (line 365) | function UnderlineIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(private)/experiments/tooltip/transitions.tsx
  function TooltipPopup (line 7) | function TooltipPopup({ children, ...props }: React.ComponentProps<typeo...
  function AnchorButton (line 15) | function AnchorButton({ children, ...props }: React.ComponentProps<typeo...
  function TooltipTransitionExperiment (line 23) | function TooltipTransitionExperiment() {
  function FramerMotion (line 190) | function FramerMotion() {

FILE: docs/src/app/(private)/experiments/transition-attrs.tsx
  constant AVATAR_SRC (line 10) | const AVATAR_SRC =
  function TransitionAttrsExperiment (line 13) | function TransitionAttrsExperiment() {
  function Section (line 39) | function Section(props: { title: string; children: React.ReactNode }) {
  function FieldErrorDemo (line 48) | function FieldErrorDemo() {
  type TransitionDataAttributes (line 112) | type TransitionDataAttributes = {
  function getTransitionDataAttributes (line 117) | function getTransitionDataAttributes(transitionStatus: 'starting' | 'end...
  function FieldValidityDemo (line 127) | function FieldValidityDemo() {
  function AvatarDemo (line 204) | function AvatarDemo() {
  function CheckboxDemo (line 215) | function CheckboxDemo() {
  function RadioDemo (line 236) | function RadioDemo() {

FILE: docs/src/app/(private)/hydration-repro/page.tsx
  constant VIEWPORT_SIZE (line 6) | const VIEWPORT_SIZE = 200;
  constant SCROLLABLE_CONTENT_SIZE (line 7) | const SCROLLABLE_CONTENT_SIZE = 1000;
  function Page (line 9) | function Page() {

FILE: docs/src/app/(private)/layout.tsx
  function Layout (line 6) | function Layout({ children }: React.PropsWithChildren) {

FILE: docs/src/app/(private)/playground/[slug]/page.tsx
  type Props (line 7) | interface Props {
  constant DUMMY_SLUG (line 13) | const DUMMY_SLUG = '_';
  function Page (line 15) | async function Page(props: Props) {
  function generateStaticParams (line 30) | async function generateStaticParams() {
  function generateMetadata (line 47) | async function generateMetadata(props: Props): Promise<Metadata> {

FILE: docs/src/app/(website)/careers/design-engineer/page.tsx
  function DesignEngineerPage (line 5) | function DesignEngineerPage() {

FILE: docs/src/app/(website)/icons/MinusIcon.tsx
  function MinusIcon (line 3) | function MinusIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(website)/icons/PlusIcon.tsx
  function PlusIcon (line 3) | function PlusIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(website)/layout.tsx
  function Layout (line 8) | function Layout({ children }: React.PropsWithChildren) {

FILE: docs/src/app/(website)/logos/GitHub.tsx
  function GitHub (line 3) | function GitHub(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(website)/logos/HighlightAI.tsx
  function HighlightAI (line 3) | function HighlightAI(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(website)/logos/Interfere.tsx
  function Interfere (line 3) | function Interfere(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(website)/logos/Operate.tsx
  function Operate (line 3) | function Operate(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(website)/logos/Paper.tsx
  function Paper (line 3) | function Paper(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(website)/logos/Unsplash.tsx
  function Unsplash (line 3) | function Unsplash(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(website)/logos/Zed.tsx
  function Zed (line 3) | function Zed(props: React.ComponentProps<'svg'>) {

FILE: docs/src/app/(website)/page.tsx
  function Homepage (line 14) | function Homepage() {

FILE: docs/src/app/global-not-found.tsx
  function NotFoundPage (line 4) | function NotFoundPage() {

FILE: docs/src/blocks/Demo/DemoContext.ts
  type DemoContext (line 5) | interface DemoContext {
  function useDemoContext (line 19) | function useDemoContext() {

FILE: docs/src/blocks/Demo/DemoPlayground.tsx
  type Props (line 26) | interface Props extends React.HTMLAttributes<HTMLDivElement> {

FILE: docs/src/blocks/Demo/DemoRoot.tsx
  function DemoRoot (line 6) | function DemoRoot(props: DemoRoot.Props) {
  type Props (line 40) | interface Props extends React.HTMLAttributes<HTMLDivElement> {

FILE: docs/src/blocks/Demo/DemoSourceCopy.tsx
  type Props (line 43) | interface Props extends React.ButtonHTMLAttributes<HTMLButtonElement> {

FILE: docs/src/blocks/Demo/types.ts
  type DemoFile (line 1) | interface DemoFile {
  type DemoVariant (line 24) | interface DemoVariant {

FILE: docs/src/blocks/GoogleAnalyticsProvider.tsx
  type Window (line 7) | interface Window {
  type GoogleAnalyticsEvent (line 12) | interface GoogleAnalyticsEvent {
  type GoogleAnalyticsContextValue (line 19) | interface GoogleAnalyticsContextValue {
  function useGoogleAnalytics (line 25) | function useGoogleAnalytics() {
  type GoogleAnalyticsProviderProps (line 29) | interface GoogleAnalyticsProviderProps {
  function GoogleAnalyticsProvider (line 40) | function GoogleAnalyticsProvider({

FILE: docs/src/blocks/GoogleTagManager.tsx
  type GoogleTagManagerProps (line 4) | interface GoogleTagManagerProps {
  function GoogleTagManager (line 8) | function GoogleTagManager(props: React.PropsWithChildren<GoogleTagManage...

FILE: docs/src/blocks/PackageManagerSnippet/PackageManagerSnippetCode.tsx
  function PackageManagerSnippetCode (line 5) | function PackageManagerSnippetCode(props: PackageManagerSnippetCode.Prop...
  type Props (line 12) | type Props = {

FILE: docs/src/blocks/PackageManagerSnippet/PackageManagerSnippetProvider.tsx
  type PackageManagerSnippetContext (line 5) | interface PackageManagerSnippetContext {
  type PackageManagerSnippetProviderProps (line 22) | interface PackageManagerSnippetProviderProps {
  constant STORAGE_KEY (line 27) | const STORAGE_KEY = 'preferredPackageManager';
  function PackageManagerSnippetProvider (line 29) | function PackageManagerSnippetProvider(props: PackageManagerSnippetProvi...

FILE: docs/src/blocks/PackageManagerSnippet/PackageManagerSnippetRoot.tsx
  function PackageManagerSnippetRoot (line 7) | function PackageManagerSnippetRoot(props: PackageManagerSnippetRoot.Prop...
  type Props (line 43) | type Props = {

FILE: docs/src/blocks/createCodeSandbox/CreateReactApp.ts
  type GetHtmlParameters (line 1) | interface GetHtmlParameters {
  function getRootIndex (line 22) | function getRootIndex(useTypescript: boolean) {

FILE: docs/src/blocks/createCodeSandbox/addHiddenInput.ts
  function addHiddenInput (line 1) | function addHiddenInput(form: HTMLFormElement, name: string, value: stri...

FILE: docs/src/blocks/createCodeSandbox/createCodeSandbox.ts
  function createCodeSandbox (line 7) | function createCodeSandbox(options: createCodeSandbox.Options) {
  type Options (line 25) | interface Options {
  function createCodeSandboxRequestPayload (line 78) | function createCodeSandboxRequestPayload(options: createCodeSandbox.Opti...
  function defaultDependencyResolver (line 124) | function defaultDependencyResolver(importPath: string) {
  function createPackageJson (line 130) | function createPackageJson(
  function transformDemoFiles (line 168) | function transformDemoFiles(
  function compress (line 185) | function compress(object: any) {

FILE: docs/src/blocks/createCodeSandbox/createStackBlitzProject.ts
  function createStackBlitzProject (line 6) | function createStackBlitzProject(options: createStackBlitzProject.Option...
  type Options (line 32) | interface Options {
  function createRequestPayload (line 85) | function createRequestPayload(options: createStackBlitzProject.Options) {
  function defaultDependencyResolver (line 122) | function defaultDependencyResolver(importPath: string) {
  function getDependencies (line 128) | function getDependencies(options: createStackBlitzProject.Options, sourc...
  function transformDemoFiles (line 147) | function transformDemoFiles(

FILE: docs/src/blocks/createCodeSandbox/flattenRelativeImports.ts
  function flattenRelativeImports (line 1) | function flattenRelativeImports(rawCode: string, modulePaths: string[] =...

FILE: docs/src/blocks/createCodeSandbox/packDemo.ts
  constant SCRIPT_EXTENSIONS (line 4) | const SCRIPT_EXTENSIONS = ['js', 'ts', 'jsx', 'tsx'];
  function packDemo (line 15) | function packDemo(demoFiles: DemoFile[]) {
  function extractImports (line 48) | function extractImports(code: string) {
  function getPackageName (line 54) | function getPackageName(importPath: string) {

FILE: docs/src/components/Accordion.tsx
  constant ARROW_UP (line 8) | const ARROW_UP = 'ArrowUp';
  constant ARROW_DOWN (line 9) | const ARROW_DOWN = 'ArrowDown';
  constant ARROW_LEFT (line 10) | const ARROW_LEFT = 'ArrowLeft';
  constant ARROW_RIGHT (line 11) | const ARROW_RIGHT = 'ArrowRight';
  constant HOME (line 12) | const HOME = 'Home';
  constant END (line 13) | const END = 'End';
  constant SUPPORTED_KEYS (line 15) | const SUPPORTED_KEYS = new Set([ARROW_DOWN, ARROW_UP, ARROW_RIGHT, ARROW...
  function Root (line 21) | function Root(props: React.ComponentProps<'section'>) {
  function Trigger (line 33) | function Trigger({
  function Item (line 106) | function Item({
  function Panel (line 155) | function Panel(props: React.ComponentProps<'div'>) {
  function Content (line 159) | function Content(props: React.ComponentProps<'div'>) {
  function Scrollable (line 164) | function Scrollable({
  function HeaderRow (line 187) | function HeaderRow(props: React.ComponentProps<'div'>) {
  function HeaderCell (line 192) | function HeaderCell(props: React.ComponentProps<'div'>) {

FILE: docs/src/components/Code.tsx
  function Code (line 4) | function Code(props: React.ComponentProps<'code'>) {

FILE: docs/src/components/CodeBlock.tsx
  function Root (line 15) | function Root(props: React.ComponentPropsWithoutRef<'div'>) {
  function Panel (line 31) | function Panel({ className, children, ...other }: React.ComponentPropsWi...
  function Pre (line 75) | function Pre(props: React.ComponentProps<'pre'>) {

FILE: docs/src/components/Demo/Demo.tsx
  type DemoProps (line 30) | type DemoProps = ContentProps<{
  function Demo (line 37) | function Demo({

FILE: docs/src/components/Demo/DemoCodeBlock.tsx
  function fileNameToLanguage (line 7) | function fileNameToLanguage(fileName: string | undefined) {
  type DemoCodeBlockProps (line 32) | interface DemoCodeBlockProps {
  function Root (line 44) | function Root(props: React.ComponentProps<typeof ScrollArea.Root>) {
  function DemoCodeBlock (line 65) | function DemoCodeBlock({

FILE: docs/src/components/Demo/DemoErrorFallback.tsx
  function DemoErrorFallback (line 3) | function DemoErrorFallback(props: FallbackProps) {

FILE: docs/src/components/Demo/DemoFileSelector.tsx
  type DemoFileSelectorProps (line 6) | interface DemoFileSelectorProps {
  type Tab (line 13) | type Tab = { id: string; name: string; slug?: string };
  function DemoFileSelector (line 15) | function DemoFileSelector({

FILE: docs/src/components/Demo/DemoPlayground.tsx
  type DemoPlaygroundProps (line 5) | type DemoPlaygroundProps = {
  function DemoPlayground (line 13) | function DemoPlayground({ component, variant, children }: DemoPlayground...

FILE: docs/src/components/Demo/DemoVariantSelector.tsx
  type DemoVariantSelectorProps (line 15) | interface DemoVariantSelectorProps extends React.HtmlHTMLAttributes<HTML...
  function DemoVariantSelector (line 26) | function DemoVariantSelector({

FILE: docs/src/components/Demo/DemoVariantSelectorProvider.tsx
  type DemoVariantSelectorContext (line 5) | interface DemoVariantSelectorContext {
  type DemoVariantSelectorProviderProps (line 25) | interface DemoVariantSelectorProviderProps {
  constant VARIANT_STORAGE_KEY (line 31) | const VARIANT_STORAGE_KEY = 'preferredDemoVariant';
  constant LANGUAGE_STORAGE_KEY (line 32) | const LANGUAGE_STORAGE_KEY = 'preferredDemoLanguage';
  function DemoVariantSelectorProvider (line 34) | function DemoVariantSelectorProvider(props: DemoVariantSelectorProviderP...

FILE: docs/src/components/DescriptionList.tsx
  function Root (line 5) | function Root(props: React.ComponentProps<'dl'>) {
  function Term (line 9) | function Term({
  function Details (line 20) | function Details(props: React.ComponentProps<'dd'>) {
  function Item (line 28) | function Item(props: React.ComponentProps<'div'>) {
  function Inner (line 32) | function Inner(props: React.ComponentProps<'div'>) {

FILE: docs/src/components/DocsProviders.tsx
  function DocsProviders (line 6) | function DocsProviders({ children }: { children: React.ReactNode }) {

FILE: docs/src/components/GhostButton.tsx
  type GhostButtonProps (line 5) | interface GhostButtonProps extends React.ComponentProps<'button'> {
  function GhostButton (line 9) | function GhostButton({ className, layout = 'text', ...props }: GhostButt...

FILE: docs/src/components/GoogleAnalytics.tsx
  constant PRODUCTION_GA (line 9) | const PRODUCTION_GA =
  constant GOOGLE_ANALYTICS_ID_V4 (line 11) | const GOOGLE_ANALYTICS_ID_V4 = PRODUCTION_GA ? 'G-FE5XQBD0BH' : 'G-LSE9X...
  function GoogleAnalytics (line 13) | function GoogleAnalytics({ children }: { children?: React.ReactNode }) {

FILE: docs/src/components/Header.tsx
  constant HEADER_HEIGHT (line 15) | const HEADER_HEIGHT = 48;
  function Header (line 19) | function Header() {

FILE: docs/src/components/HeadingLink.tsx
  function HeadingLink (line 5) | function HeadingLink({ className, id, ...props }: React.ComponentPropsWi...

FILE: docs/src/components/InstallationBlock.tsx
  constant PACKAGE_MANAGERS (line 14) | const PACKAGE_MANAGERS = [
  constant PRE_STYLE (line 21) | const PRE_STYLE = {
  constant ENTITY_STYLE (line 26) | const ENTITY_STYLE = { color: 'var(--syntax-entity)' } as const;
  constant STRING_STYLE (line 27) | const STRING_STYLE = { color: 'var(--syntax-string)' } as const;
  type InstallationBlockProps (line 29) | interface InstallationBlockProps {
  function InstallationBlock (line 33) | function InstallationBlock(props: InstallationBlockProps) {

FILE: docs/src/components/Kbd/Kbd.tsx
  function Kbd (line 5) | function Kbd({ className, ...props }: React.ComponentProps<'kbd'>) {

FILE: docs/src/components/Kbd/rehypeKbd.mjs
  function rehypeKbd (line 4) | function rehypeKbd() {

FILE: docs/src/components/Link.tsx
  type LinkProps (line 7) | interface LinkProps extends React.ComponentProps<typeof NextLink> {
  function Link (line 11) | function Link(props: LinkProps) {

FILE: docs/src/components/Logo.tsx
  function Logo (line 3) | function Logo(props: React.ComponentProps<'svg'>) {

FILE: docs/src/components/Menu.tsx
  function Popup (line 9) | function Popup({ children, className, sideOffset = 8, ...props }: Menu.P...
  function Item (line 19) | function Item({ children, className, ...props }: Menu.Item.Props) {
  function LinkItem (line 27) | function LinkItem({ children, className, ...props }: Menu.LinkItem.Props) {
  function Separator (line 35) | function Separator({ className, ...props }: Menu.Separator.Props) {

FILE: docs/src/components/MobileNav.tsx
  function Root (line 13) | function Root(props: Dialog.Root.Props) {
  function Backdrop (line 26) | function Backdrop(props: Dialog.Backdrop.Props) {
  function Popup (line 32) | function Popup(props: Dialog.Popup.Props) {
  function PopupImpl (line 40) | function PopupImpl(props: React.PropsWithChildren) {
  function Section (line 147) | function Section(props: React.ComponentProps<'div'>) {
  function Heading (line 151) | function Heading(props: React.ComponentProps<'div'>) {
  function List (line 159) | function List(props: React.ComponentProps<'ul'>) {
  function Badge (line 163) | function Badge(props: React.ComponentProps<'span'>) {
  type ItemProps (line 167) | interface ItemProps extends React.ComponentPropsWithoutRef<'li'> {
  function Item (line 174) | function Item({ href, external, ...props }: ItemProps) {
  function onUrlChange (line 210) | function onUrlChange(callback: () => void) {

FILE: docs/src/components/Popup.tsx
  function Popup (line 5) | function Popup({ className, ...props }: React.ComponentProps<'div'>) {

FILE: docs/src/components/QuickNav/QuickNav.tsx
  function Container (line 8) | function Container({ className, ...props }: React.ComponentProps<'div'>) {
  function Root (line 12) | function Root({ children, className, ...props }: React.ComponentProps<'d...
  function onMounted (line 25) | function onMounted(ref: React.RefObject<HTMLDivElement | null>) {
  function isOverscrolling (line 266) | function isOverscrolling() {
  function Title (line 273) | function Title({ className, ...props }: React.ComponentProps<'header'>) {
  function List (line 277) | function List({ className, ...props }: React.ComponentProps<'ul'>) {
  function Item (line 281) | function Item({ className, ...props }: React.ComponentProps<'li'>) {
  function Link (line 285) | function Link({ className, onClick, ...props }: React.ComponentProps<'a'...

FILE: docs/src/components/QuickNav/rehypeConcatHeadings.mjs
  function rehypeConcatHeadings (line 7) | function rehypeConcatHeadings() {

FILE: docs/src/components/QuickNav/rehypeQuickNav.mjs
  constant ROOT (line 4) | const ROOT = 'QuickNav.Root';
  constant TITLE (line 5) | const TITLE = 'QuickNav.Title';
  constant LIST (line 6) | const LIST = 'QuickNav.List';
  constant ITEM (line 7) | const ITEM = 'QuickNav.Item';
  constant LINK (line 8) | const LINK = 'QuickNav.Link';
  function rehypeQuickNav (line 21) | function rehypeQuickNav() {
  function getNodeFromEntry (line 42) | function getNodeFromEntry({ value, depth, id, children }) {

FILE: docs/src/components/QuickNav/rehypeSlug.mjs
  function rehypeSlug (line 29) | function rehypeSlug(options) {
  function stringToUrl (line 53) | function stringToUrl(string) {

FILE: docs/src/components/ReferenceTable/AttributesReferenceTable.tsx
  type AttributesReferenceTableProps (line 11) | interface AttributesReferenceTableProps extends React.ComponentProps<typ...
  constant CREATE_MDX_OPTIONS (line 16) | const CREATE_MDX_OPTIONS = {
  function AttributesReferenceTable (line 21) | async function AttributesReferenceTable({

FILE: docs/src/components/ReferenceTable/CssVariablesReferenceTable.tsx
  type CssVariablesReferenceTableProps (line 11) | interface CssVariablesReferenceTableProps extends React.ComponentProps<t...
  constant CREATE_MDX_OPTIONS (line 16) | const CREATE_MDX_OPTIONS = {
  function CssVariablesReferenceTable (line 21) | async function CssVariablesReferenceTable({

FILE: docs/src/components/ReferenceTable/ParametersReferenceTable.tsx
  type ParametersReferenceTableProps (line 5) | interface ParametersReferenceTableProps extends React.ComponentPropsWith...
  function normalizeParameters (line 12) | function normalizeParameters(data: Record<string, FunctionParamDef>) {
  function ParametersReferenceTable (line 25) | async function ParametersReferenceTable({

FILE: docs/src/components/ReferenceTable/ReferenceAccordion.tsx
  function ExpandedCode (line 13) | function ExpandedCode(props: React.ComponentProps<'code'>) {
  function ExpandedPre (line 22) | function ExpandedPre(props: React.ComponentProps<'pre'>) {
  type PropDef (line 30) | interface PropDef extends BasePropDef {
  type Props (line 35) | interface Props extends React.ComponentPropsWithoutRef<any> {
  function getShortPropType (line 47) | function getShortPropType(name: string, type: string | undefined) {
  function escapeRegExp (line 83) | function escapeRegExp(input: string) {
  function replaceComponentPrefix (line 87) | function replaceComponentPrefix(input: string | undefined, from?: string...
  function ReferenceAccordion (line 95) | async function ReferenceAccordion({

FILE: docs/src/components/ReferenceTable/ReferenceTableTooltip.tsx
  function Trigger (line 5) | function Trigger(props: Tooltip.Trigger.Props) {
  function Root (line 9) | function Root(props: Tooltip.Root.Props) {
  function Popup (line 13) | function Popup({ children, ...props }: Tooltip.Popup.Props) {

FILE: docs/src/components/ReferenceTable/ReturnValueReferenceTable.tsx
  type ReturnValueReferenceTableProps (line 11) | interface ReturnValueReferenceTableProps extends React.ComponentProps<ty...
  constant TYPE_MDX_OPTIONS (line 16) | const TYPE_MDX_OPTIONS = {
  constant DESCRIPTION_MDX_OPTIONS (line 24) | const DESCRIPTION_MDX_OPTIONS = {
  function getDescription (line 29) | function getDescription(def: PropDef, name: string, includeName: boolean) {
  function ReturnValueReferenceTable (line 39) | async function ReturnValueReferenceTable({

FILE: docs/src/components/ReferenceTable/referenceUtils.mjs
  function getAttributeValue (line 8) | function getAttributeValue(node, attributeName) {
  function isComponentDef (line 45) | function isComponentDef(def) {
  function isFunctionDef (line 53) | function isFunctionDef(def) {
  function normalizeReturnValue (line 60) | function normalizeReturnValue(returnValue) {
  function isReturnValueMap (line 86) | function isReturnValueMap(returnValue) {

FILE: docs/src/components/ReferenceTable/rehypeReference.mjs
  constant REFERENCE (line 16) | const REFERENCE = 'Reference';
  constant ATTRIBUTES_TABLE (line 19) | const ATTRIBUTES_TABLE = 'AttributesReferenceTable';
  constant CSS_VARIABLES_TABLE (line 20) | const CSS_VARIABLES_TABLE = 'CssVariablesReferenceTable';
  constant PROPS_TABLE (line 22) | const PROPS_TABLE = 'PropsReferenceTable';
  constant PARAMETERS_TABLE (line 23) | const PARAMETERS_TABLE = 'ParametersReferenceTable';
  constant RETURN_VALUE_TABLE (line 24) | const RETURN_VALUE_TABLE = 'ReturnValueReferenceTable';
  constant PARAMETERS_HEADING (line 25) | const PARAMETERS_HEADING = 'Parameters';
  constant RETURN_VALUE_HEADING (line 26) | const RETURN_VALUE_HEADING = 'Return value';
  function rehypeReference (line 34) | function rehypeReference() {
  function describeComponents (line 110) | function describeComponents(componentDefs, referenceName, parts, asParam) {
  function describeFunction (line 187) | function describeFunction(functionDef) {

FILE: docs/src/components/ReferenceTable/types.ts
  type ComponentDef (line 1) | interface ComponentDef {
  type PropDef (line 9) | interface PropDef {
  type AttributeDef (line 19) | interface AttributeDef {
  type CssVariableDef (line 24) | interface CssVariableDef {
  type FunctionParamDef (line 29) | interface FunctionParamDef extends PropDef {
  type FunctionDef (line 33) | interface FunctionDef {

FILE: docs/src/components/ReleaseTimeline/ReleaseTimeline.tsx
  function renderHighlight (line 16) | function renderHighlight(text: string): React.ReactNode {
  function ReleaseTimeline (line 31) | function ReleaseTimeline() {

FILE: docs/src/components/ScrollArea.tsx
  function Viewport (line 7) | function Viewport({ className, ...props }: ScrollArea.Viewport.Props) {
  function Scrollbar (line 11) | function Scrollbar({ className, ...props }: ScrollArea.Scrollbar.Props) {
  function Corner (line 19) | function Corner({ className, ...props }: ScrollArea.Corner.Props) {

FILE: docs/src/components/Search/Search.tsx
  function Search (line 6) | function Search({

FILE: docs/src/components/Search/SearchBar.tsx
  constant SEMVER_PATTERN (line 25) | const SEMVER_PATTERN =
  function slugifyWithParentContext (line 33) | function slugifyWithParentContext(text: string, parentTitles?: string[])...
  function normalizeGroup (line 46) | function normalizeGroup(group: string) {
  function SearchBar (line 88) | function SearchBar({

FILE: docs/src/components/Select.tsx
  type TriggerProps (line 9) | interface TriggerProps extends Omit<Select.Trigger.Props, 'children'> {
  function Trigger (line 13) | function Trigger({ className, children, ...props }: TriggerProps) {
  function Popup (line 23) | function Popup({ children, className, ...props }: Select.Positioner.Prop...
  function Item (line 51) | function Item({ children, className, ...props }: Select.Item.Props) {

FILE: docs/src/components/SideNav.tsx
  function Root (line 11) | function Root(props: React.ComponentProps<'div'>) {
  function Section (line 26) | function Section(props: React.ComponentProps<'div'>) {
  function Heading (line 30) | function Heading(props: React.ComponentProps<'div'>) {
  function List (line 34) | function List(props: React.ComponentProps<'ul'>) {
  function Badge (line 38) | function Badge(props: React.ComponentProps<'span'>) {
  type ItemProps (line 42) | interface ItemProps extends React.ComponentProps<'li'> {
  constant SCROLL_MARGIN (line 49) | const SCROLL_MARGIN = 48;
  function Item (line 51) | function Item(props: ItemProps) {

FILE: docs/src/components/SkipNav.tsx
  constant MAIN_CONTENT_ID (line 5) | const MAIN_CONTENT_ID = 'main-content';
  constant HREF (line 6) | const HREF = `#${MAIN_CONTENT_ID}`;
  function SkipNav (line 8) | function SkipNav({ className, ...props }: React.ComponentProps<'a'>) {

FILE: docs/src/components/Subtitle/MarkdownLink.tsx
  function MarkdownLink (line 6) | function MarkdownLink() {

FILE: docs/src/components/Subtitle/Subtitle.tsx
  function Subtitle (line 6) | function Subtitle({

FILE: docs/src/components/Subtitle/rehypeSubtitle.mjs
  function rehypeSubtitle (line 6) | function rehypeSubtitle() {

FILE: docs/src/components/Table.tsx
  function Root (line 6) | function Root({ className, children, ...other }: React.ComponentProps<'d...
  function Head (line 14) | function Head(props: React.ComponentProps<'thead'>) {
  function Body (line 18) | function Body(props: React.ComponentProps<'tbody'>) {
  function Row (line 22) | function Row(props: React.ComponentProps<'tr'>) {
  function ColumnHeader (line 26) | function ColumnHeader({
  function RowHeader (line 38) | function RowHeader({
  function Cell (line 55) | function Cell({ children, className, ...other }: React.ComponentProps<'t...

FILE: docs/src/components/TableCode.tsx
  type TableCodeProps (line 6) | interface TableCodeProps extends React.ComponentProps<'code'> {
  function TableCode (line 11) | function TableCode({ children, className, printWidth = 40, ...props }: T...

FILE: docs/src/data/releases.ts
  type Release (line 1) | interface Release {

FILE: docs/src/demo-data/theme/css-modules/index.ts
  function DemoThemeProvider (line 3) | function DemoThemeProvider({ children }: { children: React.ReactNode }) {

FILE: docs/src/icons/ArrowRightIcon.tsx
  function ArrowRightIcon (line 3) | function ArrowRightIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/icons/CheckIcon.tsx
  function CheckIcon (line 1) | function CheckIcon() {

FILE: docs/src/icons/ChevronDownIcon.tsx
  function ChevronDownIcon (line 3) | function ChevronDownIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/icons/CopyIcon.tsx
  function CopyIcon (line 1) | function CopyIcon() {

FILE: docs/src/icons/ExternalLinkIcon.tsx
  function ExternalLinkIcon (line 3) | function ExternalLinkIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/icons/GitHubIcon.tsx
  function GitHubIcon (line 3) | function GitHubIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/icons/MarkdownIcon.tsx
  function MarkdownIcon (line 3) | function MarkdownIcon(props: React.SVGProps<SVGSVGElement>) {

FILE: docs/src/icons/MoreVertIcon.tsx
  function MoreVertIcon (line 3) | function MoreVertIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/icons/NpmIcon.tsx
  function NpmIcon (line 3) | function NpmIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/icons/ThickCheckIcon.tsx
  function ThickCheckIcon (line 3) | function ThickCheckIcon(props: React.ComponentProps<'svg'>) {

FILE: docs/src/mdx-components.tsx
  type MDXComponents (line 17) | interface MDXComponents {
  function useMDXComponents (line 107) | function useMDXComponents(): MDXComponents {

FILE: docs/src/mdx/createHast.mjs
  function createHast (line 6) | function createHast(markdown) {

FILE: docs/src/mdx/createMdxComponent.ts
  function createMdxComponent (line 4) | async function createMdxComponent(

FILE: docs/src/mdx/createMdxElement.mjs
  function createMdxElement (line 10) | function createMdxElement({ name, children, props = {} }) {
  function getAttributeValue (line 37) | function getAttributeValue(value) {

FILE: docs/src/syntax-highlighting/rehypeEmptyLines.mjs
  function rehypeEmptyLines (line 4) | function rehypeEmptyLines() {

FILE: docs/src/syntax-highlighting/rehypeInlineCode.mjs
  function rehypeInlineCode (line 8) | function rehypeInlineCode() {

FILE: docs/src/syntax-highlighting/rehypeJsxExpressions.mjs
  function rehypeJsxExpressions (line 5) | function rehypeJsxExpressions() {

FILE: docs/src/syntax-highlighting/rehypePrettierIgnore.mjs
  function rehypePrettierIgnore (line 5) | function rehypePrettierIgnore() {

FILE: docs/src/utils/camelToSentenceCase.ts
  function camelToSentenceCase (line 3) | function camelToSentenceCase(camel: string) {

FILE: docs/src/utils/demoExportOptions.test.ts
  type HeadTemplate (line 4) | type HeadTemplate = NonNullable<typeof exportOpts.headTemplate>;
  type HeadTemplateProps (line 5) | type HeadTemplateProps = Parameters<HeadTemplate>[0];
  type ExtraFiles (line 6) | type ExtraFiles = NonNullable<HeadTemplateProps['variant']>['extraFiles'];
  function getTailwindHeadTemplate (line 8) | function getTailwindHeadTemplate(source: string, extraFiles?: ExtraFiles) {
  function getInjectedClasses (line 27) | function getInjectedClasses(headTemplate: string) {
  function getInjectedClassAttribute (line 36) | function getInjectedClassAttribute(headTemplate: string) {

FILE: docs/src/utils/demoExportOptions.ts
  function addClassNames (line 40) | function addClassNames(classNames: Set<string>, classes: string) {
  function collectStringDeclarations (line 48) | function collectStringDeclarations(fileSource: ts.SourceFile) {
  function resolveStringExpression (line 63) | function resolveStringExpression(
  function collectTailwindClassNames (line 123) | function collectTailwindClassNames(file: string, classNames: Set<string>) {
  function escapeHtmlAttribute (line 156) | function escapeHtmlAttribute(value: string) {
  function exposeMetadataToPublic (line 240) | function exposeMetadataToPublic(extraFiles: VariantExtraFiles | undefine...
  constant COMMIT_REF (line 293) | const COMMIT_REF = process.env.PULL_REQUEST_ID ? process.env.COMMIT_REF ...
  constant SOURCE_CODE_REPO (line 294) | const SOURCE_CODE_REPO = process.env.SOURCE_CODE_REPO;
  function resolveDependencies (line 296) | function resolveDependencies(packageName: string): Record<string, string> {

FILE: docs/src/utils/getChildrenText.ts
  function getChildrenText (line 3) | function getChildrenText(children?: React.ReactNode): string {
  function hasChildren (line 19) | function hasChildren(

FILE: docs/src/utils/getGitHubDemoUrl.ts
  constant GITHUB_BASE (line 3) | const GITHUB_BASE = 'https://github.com/mui/base-ui/tree/HEAD';
  function getGitHubDemoUrl (line 9) | function getGitHubDemoUrl(

FILE: docs/src/utils/observeScrollableInner.ts
  function observeScrollableInner (line 3) | function observeScrollableInner(ref: HTMLElement | null) {

FILE: eslint.config.mjs
  constant NO_RESTRICTED_IMPORTS_PATTERNS_DEEPLY_NESTED (line 22) | const NO_RESTRICTED_IMPORTS_PATTERNS_DEEPLY_NESTED = [
  constant NO_RESTRICTED_IMPORTS_PATHS_TOP_LEVEL_PACKAGES (line 30) | const NO_RESTRICTED_IMPORTS_PATHS_TOP_LEVEL_PACKAGES = [

FILE: examples/tanstack-start-tailwind-css/src/components/button.tsx
  function Button (line 4) | function Button({ className, ...props }: React.ComponentPropsWithoutRef<...

FILE: examples/tanstack-start-tailwind-css/src/components/combobox.tsx
  function Root (line 6) | function Root(props: Combobox.Root.Props<any, any>) {
  function Clear (line 28) | function Clear({ className, ...props }: Combobox.Clear.Props) {
  function Trigger (line 42) | function Trigger({ className, ...props }: Combobox.Trigger.Props) {
  function Portal (line 56) | function Portal(props: Combobox.Portal.Props) {
  function Positioner (line 60) | function Positioner({ className, ...props }: Combobox.Positioner.Props) {
  function Popup (line 66) | function Popup({ className, ...props }: Combobox.Popup.Props) {
  function Empty (line 78) | function Empty({ className, ...props }: Combobox.Empty.Props) {
  function List (line 87) | function List({ className, ...props }: Combobox.List.Props) {
  function Item (line 99) | function Item({ className, ...props }: Combobox.Item.Props) {
  function ItemIndicator (line 111) | function ItemIndicator({ className, ...props }: Combobox.ItemIndicator.P...

FILE: examples/tanstack-start-tailwind-css/src/components/dialog.tsx
  function Root (line 4) | function Root(props: Dialog.Root.Props) {
  function Trigger (line 8) | function Trigger({ className, ...props }: Dialog.Trigger.Props) {
  function Portal (line 20) | function Portal(props: Dialog.Portal.Props) {
  function Backdrop (line 24) | function Backdrop({ className, ...props }: Dialog.Backdrop.Props) {
  function Popup (line 36) | function Popup({ className, ...props }: Dialog.Popup.Props) {
  function Title (line 48) | function Title({ className, ...props }: Dialog.Title.Props) {
  function Close (line 54) | function Close({ className, ...props }: Dialog.Close.Props) {

FILE: examples/tanstack-start-tailwind-css/src/components/link.tsx
  function Link (line 3) | function Link({ className, ...props }: React.ComponentPropsWithoutRef<'a...

FILE: examples/tanstack-start-tailwind-css/src/components/menu.tsx
  function Root (line 5) | function Root(props: Menu.Root.Props) {
  function Trigger (line 9) | function Trigger({ className, children, ...props }: Menu.Trigger.Props) {
  function Portal (line 24) | function Portal(props: Menu.Portal.Props) {
  function Positioner (line 28) | function Positioner({ className, ...props }: Menu.Positioner.Props) {
  function Popup (line 32) | function Popup({ className, ...props }: Menu.Popup.Props) {
  function Arrow (line 44) | function Arrow({ className, ...props }: Menu.Arrow.Props) {
  function Item (line 71) | function Item({ className, ...props }: Menu.Item.Props) {
  function SubmenuRoot (line 83) | function SubmenuRoot(props: Menu.SubmenuRoot.Props) {
  function SubmenuTrigger (line 87) | function SubmenuTrigger({ className, children, ...props }: Menu.SubmenuT...
  function Separator (line 102) | function Separator({ className, ...props }: Menu.Separator.Props) {

FILE: examples/tanstack-start-tailwind-css/src/components/navigation-menu.tsx
  function Root (line 5) | function Root({ className, ...props }: NavigationMenu.Root.Props) {
  function Trigger (line 17) | function Trigger({ className, ...props }: NavigationMenu.Trigger.Props) {
  function Icon (line 33) | function Icon({ className, ...props }: NavigationMenu.Icon.Props) {
  function Content (line 47) | function Content({ className, ...props }: NavigationMenu.Content.Props) {
  function Link (line 79) | function Link({
  function Item (line 92) | function Item(props: NavigationMenu.Item.Props) {
  function List (line 96) | function List({ className, ...props }: NavigationMenu.List.Props) {
  function Portal (line 100) | function Portal(props: NavigationMenu.Portal.Props) {
  function Positioner (line 104) | function Positioner({ className, style, ...props }: NavigationMenu.Posit...
  function Popup (line 128) | function Popup({ className, ...props }: NavigationMenu.Popup.Props) {
  function Arrow (line 140) | function Arrow({ className, ...props }: NavigationMenu.Arrow.Props) {
  function Viewport (line 167) | function Viewport({ className, ...props }: NavigationMenu.Viewport.Props) {

FILE: examples/tanstack-start-tailwind-css/src/components/popover.tsx
  function Root (line 4) | function Root(props: Popover.Root.Props) {
  function Trigger (line 8) | function Trigger({ className, ...props }: Popover.Trigger.Props) {
  function Portal (line 20) | function Portal(props: Popover.Portal.Props) {
  function Positioner (line 24) | function Positioner(props: Popover.Positioner.Props) {
  function Popup (line 28) | function Popup({ className, ...props }: Popover.Popup.Props) {
  function Arrow (line 40) | function Arrow({ className, ...props }: Popover.Arrow.Props) {
  function Title (line 67) | function Title({ className, ...props }: Popover.Title.Props) {
  function Description (line 71) | function Description({ className, ...props }: Popover.Description.Props) {

FILE: examples/tanstack-start-tailwind-css/src/components/switch.tsx
  function Root (line 4) | function Root({ className, ...props }: Switch.Root.Props) {
  function Thumb (line 16) | function Thumb({ className, ...props }: Switch.Thumb.Props) {

FILE: examples/tanstack-start-tailwind-css/src/routeTree.gen.ts
  type FileRoutesByFullPath (line 26) | interface FileRoutesByFullPath {
  type FileRoutesByTo (line 30) | interface FileRoutesByTo {
  type FileRoutesById (line 34) | interface FileRoutesById {
  type FileRouteTypes (line 39) | interface FileRouteTypes {
  type RootRouteChildren (line 47) | interface RootRouteChildren {
  type FileRoutesByPath (line 53) | interface FileRoutesByPath {
  type Register (line 82) | interface Register {

FILE: examples/tanstack-start-tailwind-css/src/routes/__root.tsx
  function RootDocument (line 32) | function RootDocument({ children }: { children: React.ReactNode }) {

FILE: examples/tanstack-start-tailwind-css/src/routes/combobox-server-fn.tsx
  function Loading (line 31) | function Loading() {
  function RouteComponent (line 45) | function RouteComponent() {

FILE: examples/tanstack-start-tailwind-css/src/routes/index.tsx
  function App (line 14) | function App() {

FILE: examples/vite-css/src/App.tsx
  function App (line 8) | function App() {

FILE: examples/vite-css/src/widgets/Switch.tsx
  function Switch (line 5) | function Switch(props: SwitchProps) {
  type SwitchProps (line 13) | type SwitchProps = BaseSwitch.Root.Props;

FILE: packages/react/src/accordion/header/AccordionHeader.tsx
  type AccordionHeaderState (line 33) | interface AccordionHeaderState extends AccordionItemState {}
  type AccordionHeaderProps (line 35) | interface AccordionHeaderProps extends BaseUIComponentProps<'h3', Accord...
  type State (line 38) | type State = AccordionHeaderState;
  type Props (line 39) | type Props = AccordionHeaderProps;

FILE: packages/react/src/accordion/header/AccordionHeaderDataAttributes.ts
  type AccordionHeaderDataAttributes (line 1) | enum AccordionHeaderDataAttributes {

FILE: packages/react/src/accordion/item/AccordionItem.tsx
  type AccordionItemState (line 146) | interface AccordionItemState extends AccordionRootState {
  type AccordionItemProps (line 157) | interface AccordionItemProps
  type AccordionItemChangeEventReason (line 183) | type AccordionItemChangeEventReason = typeof REASONS.triggerPress | type...
  type AccordionItemChangeEventDetails (line 185) | type AccordionItemChangeEventDetails =
  type State (line 189) | type State = AccordionItemState;
  type Props (line 190) | type Props = AccordionItemProps;
  type ChangeEventReason (line 191) | type ChangeEventReason = AccordionItemChangeEventReason;
  type ChangeEventDetails (line 192) | type ChangeEventDetails = AccordionItemChangeEventDetails;

FILE: packages/react/src/accordion/item/AccordionItemContext.ts
  type AccordionItemContext (line 5) | interface AccordionItemContext {
  function useAccordionItemContext (line 16) | function useAccordionItemContext() {

FILE: packages/react/src/accordion/item/AccordionItemDataAttributes.ts
  type AccordionItemDataAttributes (line 1) | enum AccordionItemDataAttributes {

FILE: packages/react/src/accordion/panel/AccordionPanel.tsx
  method onComplete (line 98) | onComplete() {
  type AccordionPanelState (line 167) | interface AccordionPanelState extends AccordionItemState {
  type AccordionPanelProps (line 174) | interface AccordionPanelProps
  type State (line 180) | type State = AccordionPanelState;
  type Props (line 181) | type Props = AccordionPanelProps;

FILE: packages/react/src/accordion/panel/AccordionPanelCssVars.ts
  type AccordionPanelCssVars (line 1) | enum AccordionPanelCssVars {

FILE: packages/react/src/accordion/panel/AccordionPanelDataAttributes.ts
  type AccordionPanelDataAttributes (line 3) | enum AccordionPanelDataAttributes {

FILE: packages/react/src/accordion/root/AccordionRoot.spec.tsx
  type AccordionChangeHandler (line 46) | type AccordionChangeHandler = NonNullable<Accordion.Root.Props<'a'>['onV...
  type AccordionDefaultChangeHandler (line 47) | type AccordionDefaultChangeHandler = NonNullable<Accordion.Root.Props['o...
  function Wrapper (line 61) | function Wrapper<Value>(props: Accordion.Root.Props<Value>) {

FILE: packages/react/src/accordion/root/AccordionRoot.test.tsx
  constant PANEL_CONTENT_1 (line 7) | const PANEL_CONTENT_1 = 'Panel contents 1';
  constant PANEL_CONTENT_2 (line 8) | const PANEL_CONTENT_2 = 'Panel contents 2';

FILE: packages/react/src/accordion/root/AccordionRoot.tsx
  type AccordionValue (line 167) | type AccordionValue<Value = any> = Value[];
  type AccordionRootState (line 169) | interface AccordionRootState<Value = any> {
  type AccordionRootProps (line 184) | interface AccordionRootProps<Value = any> extends BaseUIComponentProps<
  type AccordionRootChangeEventReason (line 245) | type AccordionRootChangeEventReason = typeof REASONS.triggerPress | type...
  type AccordionRootChangeEventDetails (line 247) | type AccordionRootChangeEventDetails =
  type Value (line 251) | type Value<TValue = any> = AccordionValue<TValue>;
  type State (line 252) | type State<TValue = any> = AccordionRootState<TValue>;
  type Props (line 253) | type Props<TValue = any> = AccordionRootProps<TValue>;
  type ChangeEventReason (line 254) | type ChangeEventReason = AccordionRootChangeEventReason;
  type ChangeEventDetails (line 255) | type ChangeEventDetails = AccordionRootChangeEventDetails;

FILE: packages/react/src/accordion/root/AccordionRootContext.ts
  type AccordionRootContext (line 7) | interface AccordionRootContext<Value = any> {
  function useAccordionRootContext (line 24) | function useAccordionRootContext<Value = any>() {

FILE: packages/react/src/accordion/root/AccordionRootDataAttributes.ts
  type AccordionRootDataAttributes (line 1) | enum AccordionRootDataAttributes {

FILE: packages/react/src/accordion/trigger/AccordionTrigger.tsx
  constant SUPPORTED_KEYS (line 23) | const SUPPORTED_KEYS = new Set([ARROW_DOWN, ARROW_UP, ARROW_RIGHT, ARROW...
  function getActiveTriggers (line 25) | function getActiveTriggers(accordionItemRefs: { current: (HTMLElement | ...
  method onKeyDown (line 97) | onKeyDown(event: React.KeyboardEvent) {
  type AccordionTriggerState (line 186) | interface AccordionTriggerState extends AccordionItemState {}
  type AccordionTriggerProps (line 188) | interface AccordionTriggerProps
  type State (line 192) | type State = AccordionTriggerState;
  type Props (line 193) | type Props = AccordionTriggerProps;

FILE: packages/react/src/accordion/trigger/AccordionTriggerDataAttributes.ts
  type AccordionTriggerDataAttributes (line 1) | enum AccordionTriggerDataAttributes {

FILE: packages/react/src/alert-dialog/handle.ts
  function createAlertDialogHandle (line 4) | function createAlertDialogHandle<Payload>(): DialogHandle<Payload> {

FILE: packages/react/src/alert-dialog/root/AlertDialogRoot.test.tsx
  type NumberPayload (line 198) | type NumberPayload = { payload: number | undefined };
  type NumberPayload (line 341) | type NumberPayload = { payload: number | undefined };
  function Test (line 630) | function Test() {
  function Test (line 662) | function Test() {
  function Test (line 713) | function Test() {
  function Test (line 745) | function Test() {

FILE: packages/react/src/alert-dialog/root/AlertDialogRoot.tsx
  function AlertDialogRoot (line 17) | function AlertDialogRoot<Payload>(props: AlertDialogRoot.Props<Payload>) {
  type AlertDialogRootState (line 74) | interface AlertDialogRootState {}
  type AlertDialogRootProps (line 76) | interface AlertDialogRootProps<Payload = unknown> extends Omit<
  type AlertDialogRootActions (line 102) | type AlertDialogRootActions = DialogRoot.Actions;
  type AlertDialogRootChangeEventReason (line 104) | type AlertDialogRootChangeEventReason = DialogRoot.ChangeEventReason;
  type AlertDialogRootChangeEventDetails (line 105) | type AlertDialogRootChangeEventDetails =
  type State (line 111) | type State = AlertDialogRootState;
  type Props (line 112) | type Props<Payload = unknown> = AlertDialogRootProps<Payload>;
  type Actions (line 113) | type Actions = AlertDialogRootActions;
  type ChangeEventReason (line 114) | type ChangeEventReason = AlertDialogRootChangeEventReason;
  type ChangeEventDetails (line 115) | type ChangeEventDetails = AlertDialogRootChangeEventDetails;

FILE: packages/react/src/autocomplete/root/AutocompleteRoot.spec.tsx
  function App2 (line 107) | function App2() {

FILE: packages/react/src/autocomplete/root/AutocompleteRoot.test.tsx
  type Movie (line 719) | interface Movie {

FILE: packages/react/src/autocomplete/root/AutocompleteRoot.tsx
  function AutocompleteRoot (line 33) | function AutocompleteRoot<ItemValue>(
  type AutocompleteRootState (line 142) | interface AutocompleteRootState extends AriaComboboxState {}
  type AutocompleteRootActions (line 144) | interface AutocompleteRootActions {
  type AutocompleteRootChangeEventReason (line 148) | type AutocompleteRootChangeEventReason = AriaCombobox.ChangeEventReason;
  type AutocompleteRootChangeEventDetails (line 149) | type AutocompleteRootChangeEventDetails = AriaCombobox.ChangeEventDetails;
  type AutocompleteRootHighlightEventReason (line 151) | type AutocompleteRootHighlightEventReason = AriaCombobox.HighlightEventR...
  type AutocompleteRootHighlightEventDetails (line 152) | type AutocompleteRootHighlightEventDetails = AriaCombobox.HighlightEvent...
  type AutocompleteRootProps (line 154) | interface AutocompleteRootProps<ItemValue> extends Omit<
  type Props (line 272) | type Props<ItemValue> = AutocompleteRootProps<ItemValue>;
  type State (line 273) | type State = AutocompleteRootState;
  type Actions (line 274) | type Actions = AutocompleteRootActions;
  type ChangeEventReason (line 275) | type ChangeEventReason = AutocompleteRootChangeEventReason;
  type ChangeEventDetails (line 276) | type ChangeEventDetails = AutocompleteRootChangeEventDetails;
  type HighlightEventReason (line 277) | type HighlightEventReason = AutocompleteRootHighlightEventReason;
  type HighlightEventDetails (line 278) | type HighlightEventDetails = AutocompleteRootHighlightEventDetails;

FILE: packages/react/src/autocomplete/value/AutocompleteValue.tsx
  function AutocompleteValue (line 11) | function AutocompleteValue(props: AutocompleteValue.Props): React.ReactE...
  type AutocompleteValueState (line 28) | interface AutocompleteValueState {}
  type AutocompleteValueProps (line 30) | interface AutocompleteValueProps {
  type State (line 35) | type State = AutocompleteValueState;
  type Props (line 36) | type Props = AutocompleteValueProps;

FILE: packages/react/src/avatar/fallback/AvatarFallback.test.tsx
  function Test (line 81) | function Test() {
  function Test (line 136) | function Test() {

FILE: packages/react/src/avatar/fallback/AvatarFallback.tsx
  type AvatarFallbackState (line 48) | interface AvatarFallbackState extends AvatarRootState {}
  type AvatarFallbackProps (line 50) | interface AvatarFallbackProps extends BaseUIComponentProps<'span', Avata...
  type State (line 58) | type State = AvatarFallbackState;
  type Props (line 59) | type Props = AvatarFallbackProps;

FILE: packages/react/src/avatar/image/AvatarImage.test.tsx
  function notifyTransitionFinished (line 41) | function notifyTransitionFinished() {
  function Test (line 56) | function Test() {
  function Test (line 109) | function Test() {

FILE: packages/react/src/avatar/image/AvatarImage.tsx
  method onComplete (line 70) | onComplete() {
  type AvatarImageState (line 92) | interface AvatarImageState extends AvatarRootState {
  type AvatarImageProps (line 99) | interface AvatarImageProps extends BaseUIComponentProps<'img', AvatarIma...
  type State (line 107) | type State = AvatarImageState;
  type Props (line 108) | type Props = AvatarImageProps;

FILE: packages/react/src/avatar/image/AvatarImageDataAttributes.ts
  type AvatarImageDataAttributes (line 3) | enum AvatarImageDataAttributes {

FILE: packages/react/src/avatar/image/useImageLoadingStatus.ts
  type ImageLoadingStatus (line 6) | type ImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';
  type UseImageLoadingStatusOptions (line 8) | interface UseImageLoadingStatusOptions {
  function useImageLoadingStatus (line 13) | function useImageLoadingStatus(

FILE: packages/react/src/avatar/root/AvatarRoot.tsx
  type ImageLoadingStatus (line 44) | type ImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';
  type AvatarRootState (line 46) | interface AvatarRootState {
  type AvatarRootProps (line 53) | interface AvatarRootProps extends BaseUIComponentProps<'span', AvatarRoo...
  type State (line 56) | type State = AvatarRootState;
  type Props (line 57) | type Props = AvatarRootProps;

FILE: packages/react/src/avatar/root/AvatarRootContext.ts
  type AvatarRootContext (line 5) | interface AvatarRootContext {
  function useAvatarRootContext (line 12) | function useAvatarRootContext() {

FILE: packages/react/src/button/Button.tsx
  type ButtonState (line 43) | interface ButtonState {
  type ButtonProps (line 50) | interface ButtonProps
  type State (line 60) | type State = ButtonState;
  type Props (line 61) | type Props = ButtonProps;

FILE: packages/react/src/button/ButtonDataAttributes.tsx
  type ButtonDataAttributes (line 1) | enum ButtonDataAttributes {

FILE: packages/react/src/calendar/day-button/CalendarDayButton.test.tsx
  method render (line 13) | render(node) {

FILE: packages/react/src/calendar/day-button/CalendarDayButton.tsx
  method selected (line 18) | selected(value) {
  method disabled (line 21) | disabled(value) {
  method unavailable (line 24) | unavailable(value) {
  method current (line 27) | current(value) {
  method outsideMonth (line 30) | outsideMonth(value) {
  method onClick (line 97) | onClick(event) {
  type CalendarDayButtonState (line 134) | interface CalendarDayButtonState {
  type CalendarDayButtonProps (line 157) | interface CalendarDayButtonProps
  type State (line 172) | type State = CalendarDayButtonState;
  type Props (line 173) | type Props = CalendarDayButtonProps;

FILE: packages/react/src/calendar/day-button/CalendarDayButtonDataAttributes.ts
  type CalendarDayButtonDataAttributes (line 1) | enum CalendarDayButtonDataAttributes {

FILE: packages/react/src/calendar/day-grid-body/CalendarDayGridBody.keyboard.test.tsx
  function renderCalendar (line 11) | function renderCalendar(
  function getDayButton (line 47) | function getDayButton(

FILE: packages/react/src/calendar/day-grid-body/CalendarDayGridBody.test.tsx
  method render (line 14) | render(node) {

FILE: packages/react/src/calendar/day-grid-body/CalendarDayGridBody.tsx
  type CalendarDayGridBodyState (line 42) | interface CalendarDayGridBodyState {}
  type CalendarDayGridBodyProps (line 44) | interface CalendarDayGridBodyProps
  type State (line 50) | type State = CalendarDayGridBodyState;
  type Props (line 51) | type Props = CalendarDayGridBodyProps;

FILE: packages/react/src/calendar/day-grid-body/SharedCalendarDayGridBodyContext.ts
  type SharedCalendarDayGridBodyContext (line 5) | interface SharedCalendarDayGridBodyContext {
  function useSharedCalendarDayGridBodyContext (line 20) | function useSharedCalendarDayGridBodyContext() {

FILE: packages/react/src/calendar/day-grid-body/useSharedCalendarDayGridBody.ts
  constant BACKWARD_KEYS (line 31) | const BACKWARD_KEYS = new Set([ARROW_UP, ARROW_LEFT]);
  constant CUSTOM_NAVIGATION_KEYS (line 32) | const CUSTOM_NAVIGATION_KEYS = new Set([HOME, END, PAGE_UP, PAGE_DOWN]);
  function useSharedCalendarDayGridBody (line 34) | function useSharedCalendarDayGridBody(
  type UseSharedCalendarDayGridBodyParameters (line 353) | interface UseSharedCalendarDayGridBodyParameters {
  type UseSharedCalendarDayGridBodyItemMetadata (line 378) | interface UseSharedCalendarDayGridBodyItemMetadata {
  type UseSharedCalendarDayGridBodyReturnValue (line 382) | interface UseSharedCalendarDayGridBodyReturnValue {

FILE: packages/react/src/calendar/day-grid-cell/CalendarDayGridCell.test.tsx
  method render (line 15) | render(node) {

FILE: packages/react/src/calendar/day-grid-cell/CalendarDayGridCell.tsx
  type CalendarDayGridCellState (line 38) | interface CalendarDayGridCellState {}
  type CalendarDayGridCellProps (line 40) | interface CalendarDayGridCellProps
  type State (line 46) | type State = CalendarDayGridCellState;
  type Props (line 47) | type Props = CalendarDayGridCellProps;

FILE: packages/react/src/calendar/day-grid-cell/SharedCalendarDayGridCellContext.ts
  type SharedCalendarDayGridCellContext (line 5) | interface SharedCalendarDayGridCellContext {
  function useCalendarDayGridCellContext (line 28) | function useCalendarDayGridCellContext() {

FILE: packages/react/src/calendar/day-grid-cell/useSharedCalendarDayGridCell.ts
  function useSharedCalendarDayGridCell (line 11) | function useSharedCalendarDayGridCell(
  type UseSharedCalendarDayGridCellParameters (line 45) | interface UseSharedCalendarDayGridCellParameters {
  type UseSharedCalendarDayGridCellReturnValue (line 52) | interface UseSharedCalendarDayGridCellReturnValue {

FILE: packages/react/src/calendar/day-grid-header-cell/CalendarDayGridHeaderCell.test.tsx
  method render (line 15) | render(node) {

FILE: packages/react/src/calendar/day-grid-header-cell/CalendarDayGridHeaderCell.tsx
  type CalendarDayGridHeaderCellState (line 39) | interface CalendarDayGridHeaderCellState {}
  type CalendarDayGridHeaderCellProps (line 41) | interface CalendarDayGridHeaderCellProps extends BaseUIComponentProps<
  type State (line 56) | type State = CalendarDayGridHeaderCellState;
  type Props (line 57) | type Props = CalendarDayGridHeaderCellProps;

FILE: packages/react/src/calendar/day-grid-header-row/CalendarDayGridHeaderRow.test.tsx
  method render (line 12) | render(node) {

FILE: packages/react/src/calendar/day-grid-header-row/CalendarDayGridHeaderRow.tsx
  type CalendarDayGridHeaderRowState (line 45) | interface CalendarDayGridHeaderRowState {}
  type CalendarDayGridHeaderRowProps (line 47) | interface CalendarDayGridHeaderRowProps extends Omit<
  type State (line 65) | type State = CalendarDayGridHeaderRowState;
  type Props (line 66) | type Props = CalendarDayGridHeaderRowProps;

FILE: packages/react/src/calendar/day-grid-header/CalendarDayGridHeader.test.tsx
  method render (line 12) | render(node) {

FILE: packages/react/src/calendar/day-grid-header/CalendarDayGridHeader.tsx
  type CalendarDayGridHeaderState (line 26) | interface CalendarDayGridHeaderState {}
  type CalendarDayGridHeaderProps (line 28) | interface CalendarDayGridHeaderProps extends BaseUIComponentProps<
  type State (line 34) | type State = CalendarDayGridHeaderState;
  type Props (line 35) | type Props = CalendarDayGridHeaderProps;

FILE: packages/react/src/calendar/day-grid-row/CalendarDayGridRow.tsx
  type CalendarDayGridRowState (line 39) | interface CalendarDayGridRowState {}
  type CalendarDayGridRowProps (line 41) | interface CalendarDayGridRowProps extends Omit<
  type State (line 63) | type State = CalendarDayGridRowState;
  type Props (line 64) | type Props = CalendarDayGridRowProps;

FILE: packages/react/src/calendar/day-grid-row/CalendarDayRow.test.tsx
  method render (line 15) | render(node) {

FILE: packages/react/src/calendar/day-grid/CalendarDayGrid.test.tsx
  method render (line 10) | render(node) {

FILE: packages/react/src/calendar/day-grid/CalendarDayGrid.tsx
  type CalendarDayGridState (line 26) | interface CalendarDayGridState {}
  type CalendarDayGridProps (line 28) | interface CalendarDayGridProps extends BaseUIComponentProps<'table', Cal...
  type State (line 31) | type State = CalendarDayGridState;
  type Props (line 32) | type Props = CalendarDayGridProps;

FILE: packages/react/src/calendar/decrement-month/CalendarDecrementMonth.test.tsx
  method render (line 14) | render(node) {
  function renderCalendar (line 154) | function renderCalendar(
  function ControlledCalendar (line 274) | function ControlledCalendar() {

FILE: packages/react/src/calendar/decrement-month/CalendarDecrementMonth.tsx
  method onClick (line 71) | onClick(event) {
  type CalendarDecrementMonthState (line 92) | interface CalendarDecrementMonthState {
  type CalendarDecrementMonthProps (line 99) | interface CalendarDecrementMonthProps
  type State (line 103) | type State = CalendarDecrementMonthState;
  type Props (line 104) | type Props = CalendarDecrementMonthProps;

FILE: packages/react/src/calendar/decrement-month/CalendarDecrementMonthDataAttributes.ts
  type CalendarDecrementMonthDataAttributes (line 1) | enum CalendarDecrementMonthDataAttributes {

FILE: packages/react/src/calendar/increment-month/CalendarIncrementMonth.test.tsx
  method render (line 14) | render(node) {
  function renderCalendar (line 154) | function renderCalendar(props: Record<string, any> = {}) {
  function ControlledCalendar (line 274) | function ControlledCalendar() {

FILE: packages/react/src/calendar/increment-month/CalendarIncrementMonth.tsx
  method onClick (line 70) | onClick(event) {
  type CalendarIncrementMonthState (line 91) | interface CalendarIncrementMonthState {
  type CalendarIncrementMonthProps (line 98) | interface CalendarIncrementMonthProps
  type State (line 102) | type State = CalendarIncrementMonthState;
  type Props (line 103) | type Props = CalendarIncrementMonthProps;

FILE: packages/react/src/calendar/increment-month/CalendarIncrementMonthDataAttributes.ts
  type CalendarIncrementMonthDataAttributes (line 1) | enum CalendarIncrementMonthDataAttributes {

FILE: packages/react/src/calendar/root/CalendarRoot.tsx
  type CalendarRootNavigationDirection (line 167) | type CalendarRootNavigationDirection = CalendarNavigationDirection;
  type CalendarRootState (line 169) | interface CalendarRootState extends CalendarRootElementState {}
  type CalendarRootProps (line 171) | interface CalendarRootProps
  type CalendarRootValueChangeHandlerContext (line 182) | interface CalendarRootValueChangeHandlerContext extends CalendarValueCha...
  type CalendarRootChangeEventReason (line 184) | type CalendarRootChangeEventReason = CalendarChangeEventReason;
  type CalendarRootValueChangeEventDetails (line 186) | type CalendarRootValueChangeEventDetails =
  type CalendarRootVisibleDateChangeEventDetails (line 189) | type CalendarRootVisibleDateChangeEventDetails = CalendarVisibleDateChan...
  type NavigationDirection (line 192) | type NavigationDirection = CalendarRootNavigationDirection;
  type State (line 193) | type State = CalendarRootState;
  type Props (line 194) | type Props = CalendarRootProps;
  type ValueChangeHandlerContext (line 195) | type ValueChangeHandlerContext = CalendarRootValueChangeHandlerContext;
  type ChangeEventReason (line 196) | type ChangeEventReason = CalendarRootChangeEventReason;
  type ValueChangeEventDetails (line 197) | type ValueChangeEventDetails = CalendarRootValueChangeEventDetails;
  type VisibleDateChangeEventDetails (line 198) | type VisibleDateChangeEventDetails = CalendarRootVisibleDateChangeEventD...

FILE: packages/react/src/calendar/root/CalendarRootDataAttributes.ts
  type CalendarRootDataAttributes (line 1) | enum CalendarRootDataAttributes {

FILE: packages/react/src/calendar/root/SharedCalendarRootContext.ts
  type SharedCalendarRootContext (line 5) | type SharedCalendarRootContext = SharedCalendarStore<any, any>;
  function useSharedCalendarRootContext (line 11) | function useSharedCalendarRootContext() {

FILE: packages/react/src/calendar/store/SharedCalendarState.ts
  type CalendarNavigationDirection (line 9) | type CalendarNavigationDirection = 'previous' | 'next' | 'none';
  type SharedCalendarState (line 11) | interface SharedCalendarState<TValue extends TemporalSupportedValue = an...

FILE: packages/react/src/calendar/store/SharedCalendarStore.ts
  type SharedCalendarStoreContext (line 19) | interface SharedCalendarStoreContext<TValue extends TemporalSupportedVal...
  class SharedCalendarStore (line 34) | class SharedCalendarStore<TValue extends TemporalSupportedValue, TError>...
    method constructor (line 40) | constructor(
    method setValue (line 185) | private setValue(newValue: TValue, event: React.MouseEvent<HTMLButtonE...
    method getNavigationDirectionFromVisibleDateChange (line 212) | private getNavigationDirectionFromVisibleDateChange(
  type SharedCalendarStoreParameters (line 229) | interface SharedCalendarStoreParameters<TValue extends TemporalSupported...
  type ValueManager (line 307) | interface ValueManager<TValue extends TemporalSupportedValue> {
  type OnSelectDateParameters (line 324) | interface OnSelectDateParameters<TValue extends TemporalSupportedValue> {
  type CalendarValueChangeHandlerContext (line 340) | interface CalendarValueChangeHandlerContext<TError> {
  type CalendarChangeEventReason (line 347) | type CalendarChangeEventReason =
  type CalendarValueChangeEventDetails (line 353) | type CalendarValueChangeEventDetails<TError> = BaseUIChangeEventDetails<
  type CalendarVisibleDateChangeEventDetails (line 358) | type CalendarVisibleDateChangeEventDetails = BaseUIChangeEventDetails<

FILE: packages/react/src/calendar/store/selectors.ts
  type CalendarRootElementState (line 318) | interface CalendarRootElementState {

FILE: packages/react/src/calendar/store/test/value.SharedCalendarStore.test.ts
  function createMockMouseEvent (line 16) | function createMockMouseEvent(): React.MouseEvent<HTMLButtonElement> {
  function createStore (line 32) | function createStore(

FILE: packages/react/src/calendar/store/test/visibleDate.SharedCalendarStore.test.ts
  function createStore (line 16) | function createStore(

FILE: packages/react/src/calendar/use-context/CalendarContext.ts
  type CalendarContext (line 7) | type CalendarContext = ReturnType<typeof selectors.publicContext> & {
  function useCalendarContext (line 11) | function useCalendarContext(): CalendarContext {

FILE: packages/react/src/calendar/use-day-list/getDayList.ts
  function getDayList (line 7) | function getDayList(

FILE: packages/react/src/calendar/use-day-list/useCalendarDayList.ts
  function useCalendarDayList (line 6) | function useCalendarDayList(): UseCalendarDayListReturnValue {
  type UseCalendarDayListReturnValue (line 12) | type UseCalendarDayListReturnValue = (parameters: {

FILE: packages/react/src/calendar/use-week-list/getWeekList.ts
  function getWeekList (line 7) | function getWeekList(

FILE: packages/react/src/calendar/use-week-list/useCalendarWeekList.ts
  function useCalendarWeekList (line 6) | function useCalendarWeekList(): UseWeekListReturnValue {
  type UseWeekListReturnValue (line 12) | type UseWeekListReturnValue = (
  type UseWeekListReturnValueParameters (line 16) | interface UseWeekListReturnValueParameters {

FILE: packages/react/src/calendar/utils/computeMonthDayGrid.ts
  function computeMonthDayGrid (line 9) | function computeMonthDayGrid(

FILE: packages/react/src/calendar/utils/useCalendarMonthButton.ts
  constant CHANGE_MONTH_TICK_DELAY (line 9) | const CHANGE_MONTH_TICK_DELAY = 100;
  type UseCalendarMonthButtonParameters (line 11) | interface UseCalendarMonthButtonParameters {
  function useCalendarMonthButton (line 25) | function useCalendarMonthButton(params: UseCalendarMonthButtonParameters) {

FILE: packages/react/src/calendar/viewport/CalendarViewport.tsx
  constant ALLOWED_TAGS (line 25) | const ALLOWED_TAGS = new Set(['div', 'section', 'span', 'tbody']);
  function getSafeTag (line 27) | function getSafeTag(localName: string): string {
  constant DATA_ATTRIBUTES (line 31) | const DATA_ATTRIBUTES = [
  function CalendarViewport (line 47) | function CalendarViewport({ children }: CalendarViewport.Props): React.J...
  type CalendarViewportProps (line 188) | interface CalendarViewportProps {
  type CalendarViewportState (line 195) | interface CalendarViewportState {
  type Props (line 203) | type Props = CalendarViewportProps;
  type State (line 204) | type State = CalendarViewportState;

FILE: packages/react/src/calendar/viewport/CalendarViewportDataAttributes.ts
  type CalendarViewportDataAttributes (line 3) | enum CalendarViewportDataAttributes {

FILE: packages/react/src/checkbox-group/CheckboxGroup.test.tsx
  function App (line 21) | function App() {
  function App (line 66) | function App() {
  function App (line 108) | function App() {
  function App (line 138) | function App() {
  function App (line 160) | function App() {
  function App (line 182) | function App() {
  function App (line 308) | function App() {
  function App (line 583) | function App() {
  function App (line 623) | function App() {

FILE: packages/react/src/checkbox-group/CheckboxGroup.tsx
  type CheckboxGroupState (line 163) | interface CheckboxGroupState extends FieldRootState {
  type CheckboxGroupProps (line 170) | interface CheckboxGroupProps extends BaseUIComponentProps<'div', Checkbo...
  type CheckboxGroupChangeEventReason (line 201) | type CheckboxGroupChangeEventReason = typeof REASONS.none;
  type CheckboxGroupChangeEventDetails (line 202) | type CheckboxGroupChangeEventDetails =
  type State (line 206) | type State = CheckboxGroupState;
  type Props (line 207) | type Props = CheckboxGroupProps;
  type ChangeEventReason (line 208) | type ChangeEventReason = CheckboxGroupChangeEventReason;
  type ChangeEventDetails (line 209) | type ChangeEventDetails = CheckboxGroupChangeEventDetails;

FILE: packages/react/src/checkbox-group/CheckboxGroupContext.ts
  type CheckboxGroupContext (line 8) | interface CheckboxGroupContext {
  function useCheckboxGroupContext (line 28) | function useCheckboxGroupContext(optional = true) {

FILE: packages/react/src/checkbox-group/CheckboxGroupDataAttributes.ts
  type CheckboxGroupDataAttributes (line 1) | enum CheckboxGroupDataAttributes {

FILE: packages/react/src/checkbox-group/useCheckboxGroupParent.test.tsx
  function App (line 14) | function App() {
  function App (line 60) | function App() {
  function App (line 88) | function App() {
  function App (line 108) | function App() {
  function App (line 141) | function App() {
  function App (line 162) | function App() {
  function App (line 210) | function App() {
  function App (line 232) | function App() {

FILE: packages/react/src/checkbox-group/useCheckboxGroupParent.ts
  constant EMPTY (line 8) | const EMPTY: string[] = [];
  function useCheckboxGroupParent (line 10) | function useCheckboxGroupParent(
  t
Copy disabled (too large) Download .json
Condensed preview — 2622 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (10,367K chars).
[
  {
    "path": ".browserslistrc",
    "chars": 2773,
    "preview": "# `npx browserslist --mobile-to-desktop \"baseline widely available\"` when the last major is released.\n# On update, sync "
  },
  {
    "path": ".circleci/config.yml",
    "chars": 9694,
    "preview": "version: 2.1\n\norbs:\n  code-infra: https://raw.githubusercontent.com/mui/mui-public/f544b55fdbbb922b7293365705cf62895b4f5"
  },
  {
    "path": ".editorconfig",
    "chars": 307,
    "preview": "# EditorConfig is awesome: https://editorconfig.org/\n\n# top-most EditorConfig file\nroot = true\n\n# Unix-style newlines wi"
  },
  {
    "path": ".gitattributes",
    "chars": 271,
    "preview": "# Set the default behavior, in case people don't have core.autocrlf set.\n* text=auto eol=lf\n\n# Undo the GitHub's default"
  },
  {
    "path": ".github/CODEOWNERS",
    "chars": 228,
    "preview": "* @atomiks @michaldudak @flaviendelangle\n/docs/src/ @atomiks @colmtuite @michaldudak @flaviendelangle\n/packages/react/ @"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/1.bug.md",
    "chars": 793,
    "preview": "---\nname: 'Bug report'\nabout: 'File a bug report.'\nlabels: ['status: waiting for maintainer']\n---\n\n# Bug report\n\n## Curr"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/2.feature-request.md",
    "chars": 609,
    "preview": "---\nname: 'Feature request'\nabout: 'Suggest a new component or an enhancement for an existing component.'\nlabels: ['stat"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/3.get-help.md",
    "chars": 323,
    "preview": "---\nname: 'Get help'\nabout: 'Ask a question.'\nlabels: ['status: waiting for maintainer']\n---\n\n# Get help\n\n## Ask a quest"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/4.docs-feedback.md",
    "chars": 309,
    "preview": "---\nname: 'Docs feedback'\nabout: 'Help us improve Base UI documentation.'\nlabels: ['status: waiting for maintainer']\n---"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 233,
    "preview": "<!-- Thanks so much for your PR, your contribution is appreciated! ❤️ -->\n\n- [ ] I have followed (at least) the [PR sect"
  },
  {
    "path": ".github/codeql/codeql-config.yml",
    "chars": 27,
    "preview": "name: CodeQL configuration\n"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 399,
    "preview": "version: 2\nupdates:\n  # Enable version updates for npm\n  - package-ecosystem: npm\n    # Look for `package.json` and `loc"
  },
  {
    "path": ".github/workflows/check-if-pr-has-label.yml",
    "chars": 447,
    "preview": "name: Check if PR has label\n\non:\n  pull_request:\n    types: [opened, labeled, unlabeled, synchronize]\n\npermissions: {}\n\n"
  },
  {
    "path": ".github/workflows/ci.yml",
    "chars": 1425,
    "preview": "name: CI\n\non:\n  push:\n    branches-ignore:\n      # Renovate branches are always Pull Requests.\n      # We don't need to "
  },
  {
    "path": ".github/workflows/codeql.yml",
    "chars": 1318,
    "preview": "name: CodeQL\n\non:\n  schedule:\n    - cron: '0 2 * * *'\n\npermissions: {}\n\njobs:\n  analyze:\n    name: Analyze\n    runs-on: "
  },
  {
    "path": ".github/workflows/ensure-triage-label.yml",
    "chars": 889,
    "preview": "name: Ensure triage label is present\n\non:\n  label:\n    types:\n      - deleted\n  issues:\n    types:\n      - opened\n\npermi"
  },
  {
    "path": ".github/workflows/fixed-issue.yml",
    "chars": 4944,
    "preview": "name: Comment on fixed issues\n\non:\n  issues:\n    types: [closed]\n\npermissions: {}\n\njobs:\n  add-comment:\n    runs-on: ubu"
  },
  {
    "path": ".github/workflows/maintenance.yml",
    "chars": 1083,
    "preview": "name: Maintenance\n\non:\n  # So that PRs touching the same files as the push are updated\n  push:\n    branches:\n      - mas"
  },
  {
    "path": ".github/workflows/mark-duplicate.yml",
    "chars": 610,
    "preview": "name: Mark duplicate\n\non:\n  issue_comment:\n    types: [created]\n\npermissions: {}\n\njobs:\n  mark-duplicate:\n    runs-on: u"
  },
  {
    "path": ".github/workflows/new-issue-triage.yml",
    "chars": 297,
    "preview": "name: New issue triage\non:\n  issues:\n    types:\n      - opened\n\npermissions: {}\n\njobs:\n  issue_cleanup:\n    name: Clean "
  },
  {
    "path": ".github/workflows/no-response.yml",
    "chars": 1430,
    "preview": "name: No response\n\n# `issues`.`closed`, `issue_comment`.`created`, and `scheduled` event types are required for this Act"
  },
  {
    "path": ".github/workflows/publish.yml",
    "chars": 1780,
    "preview": "name: Publish packages\n\non:\n  workflow_dispatch:\n    inputs:\n      sha:\n        description: 'Commit SHA to release from"
  },
  {
    "path": ".github/workflows/scorecards.yml",
    "chars": 1739,
    "preview": "name: Scorecards supply-chain security\n\non:\n  # Only the default branch is supported.\n  branch_protection_rule:\n  schedu"
  },
  {
    "path": ".github/workflows/support-stackoverflow.yml",
    "chars": 1317,
    "preview": "# Configuration for support-requests - https://github.com/dessant/support-requests\nname: Support Stack Overflow\n\non:\n  i"
  },
  {
    "path": ".github/workflows/vale-action.yml",
    "chars": 1339,
    "preview": "name: Vale action\n\non: [pull_request]\n\npermissions: {}\n\njobs:\n  vale:\n    name: runner / vale\n    runs-on: ubuntu-latest"
  },
  {
    "path": ".gitignore",
    "chars": 918,
    "preview": "# It is best to ignoring editor and system files in a local .gitignore configuration file.\n# However, in order to preven"
  },
  {
    "path": ".lintignore",
    "chars": 185,
    "preview": ".git\n/coverage\n/docs/next-env.d.ts\n/docs/.next\n/docs/export\n/docs/src/app/(private)/playground/\n/packages/react/**/*.min"
  },
  {
    "path": ".markdownlint-cli2.mjs",
    "chars": 348,
    "preview": "import { createBaseConfig } from '@mui/internal-code-infra/markdownlint';\n\nconst baseline = createBaseConfig();\n\nexport "
  },
  {
    "path": ".npmrc",
    "chars": 31,
    "preview": "enable-pre-post-scripts = true\n"
  },
  {
    "path": ".vale.ini",
    "chars": 1116,
    "preview": "# Vale config. More information at https://vale.sh/docs/topics/config/\nStylesPath = .github/styles\nMinAlertLevel = warni"
  },
  {
    "path": ".vscode/extensions.json",
    "chars": 505,
    "preview": "{\n  \"recommendations\": [\n    // Formating\n    \"esbenp.prettier-vscode\", // Prettier\n    \"editorconfig.editorconfig\", // "
  },
  {
    "path": ".vscode/settings.json",
    "chars": 221,
    "preview": "{\n  \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n  \"files.trimTrailingWhitespace\": true,\n\n  // Root workspace on"
  },
  {
    "path": "AGENTS.md",
    "chars": 4922,
    "preview": "<!-- markdownlint-disable MD038 -->\n\n# Repository Guidelines\n\nThis repository contains the source code and documentation"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 85993,
    "preview": "# Versions\n\n## v1.3.0\n\n_Mar 12, 2026_\n\n### General Changes\n\n- Warn when a component function is rendered directly (#4077"
  },
  {
    "path": "CHANGELOG.old.md",
    "chars": 11071,
    "preview": "# Non-public versions\n\n## v1.0.0-alpha.3\n\n_Oct 7, 2024_\n\nA big thanks to the 7 contributors who made this release possib"
  },
  {
    "path": "CLAUDE.md",
    "chars": 11,
    "preview": "@AGENTS.md\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 698,
    "preview": "# Contributing to Base UI\n\n## Base UI vs. MUI organization\n\nBase UI is an open-source project of the MUI organization. T"
  },
  {
    "path": "LICENSE",
    "chars": 1082,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2019 Material-UI SAS\n\nPermission is hereby granted, free of charge, to any person o"
  },
  {
    "path": "README.md",
    "chars": 1435,
    "preview": "# Base UI\n\nFrom the creators of Radix, Floating UI, and Material UI, Base UI is an unstyled UI component library for bui"
  },
  {
    "path": "SECURITY.md",
    "chars": 527,
    "preview": "# Security policy\n\n## Supported versions\n\nThe versions of the project that are currently supported with security updates"
  },
  {
    "path": "babel.config.mjs",
    "chars": 1205,
    "preview": "import getBaseConfig from '@mui/internal-code-infra/babel-config';\nimport * as path from 'node:path';\nimport { fileURLTo"
  },
  {
    "path": "docs/README.md",
    "chars": 1291,
    "preview": "# Docs\n\nThis is the documentation of Base UI.\n\nTo start the docs site in development mode, from the project root, run:\n\n"
  },
  {
    "path": "docs/next.config.mjs",
    "chars": 4231,
    "preview": "// @ts-check\nimport * as path from 'path';\nimport * as url from 'url';\nimport * as fs from 'fs';\nimport { withDeployment"
  },
  {
    "path": "docs/package.json",
    "chars": 3129,
    "preview": "{\n  \"name\": \"docs\",\n  \"private\": true,\n  \"license\": \"MIT\",\n  \"scripts\": {\n    \"build\": \"rimraf ./export && cross-env NOD"
  },
  {
    "path": "docs/postcss.config.js",
    "chars": 130,
    "preview": "module.exports = {\n  plugins: {\n    'postcss-import': {},\n    '@tailwindcss/postcss': {},\n    'postcss-custom-media': {}"
  },
  {
    "path": "docs/public/_headers",
    "chars": 1294,
    "preview": "/_next/*.js\n  Cache-Control: public, max-age=31536000, immutable\n\n/static/favicon.ico\n  Content-Type: image/x-icon\n\n/per"
  },
  {
    "path": "docs/public/_redirects",
    "chars": 793,
    "preview": "# Link used in the demos, avoid 404\n/drafts / 301\n/inbox* / 301\n/trash / 301\n\n# Playground SPA redirects\n/vite-playgroun"
  },
  {
    "path": "docs/public/robots.txt",
    "chars": 66,
    "preview": "# Algolia-Crawler-Verif: 98C49CAFF7AEED76\n\nUser-agent: *\nAllow: /\n"
  },
  {
    "path": "docs/reference/generated/accordion-header.json",
    "chars": 1540,
    "preview": "{\n  \"name\": \"AccordionHeader\",\n  \"description\": \"A heading that labels the corresponding panel.\\nRenders an `<h3>` eleme"
  },
  {
    "path": "docs/reference/generated/accordion-item.json",
    "chars": 2532,
    "preview": "{\n  \"name\": \"AccordionItem\",\n  \"description\": \"Groups an accordion header with the corresponding panel.\\nRenders a `<div"
  },
  {
    "path": "docs/reference/generated/accordion-panel.json",
    "chars": 2700,
    "preview": "{\n  \"name\": \"AccordionPanel\",\n  \"description\": \"A collapsible panel with the accordion item contents.\\nRenders a `<div>`"
  },
  {
    "path": "docs/reference/generated/accordion-root.json",
    "chars": 3927,
    "preview": "{\n  \"name\": \"AccordionRoot\",\n  \"description\": \"Groups all parts of the accordion.\\nRenders a `<div>` element.\",\n  \"props"
  },
  {
    "path": "docs/reference/generated/accordion-trigger.json",
    "chars": 1768,
    "preview": "{\n  \"name\": \"AccordionTrigger\",\n  \"description\": \"A button that opens and closes the corresponding panel.\\nRenders a `<b"
  },
  {
    "path": "docs/reference/generated/alert-dialog-backdrop.json",
    "chars": 1840,
    "preview": "{\n  \"name\": \"AlertDialogBackdrop\",\n  \"description\": \"An overlay displayed beneath the popup.\\nRenders a `<div>` element."
  },
  {
    "path": "docs/reference/generated/alert-dialog-close.json",
    "chars": 1646,
    "preview": "{\n  \"name\": \"AlertDialogClose\",\n  \"description\": \"A button that closes the alert dialog.\\nRenders a `<button>` element.\""
  },
  {
    "path": "docs/reference/generated/alert-dialog-description.json",
    "chars": 1308,
    "preview": "{\n  \"name\": \"AlertDialogDescription\",\n  \"description\": \"A paragraph with additional information about the alert dialog.\\"
  },
  {
    "path": "docs/reference/generated/alert-dialog-popup.json",
    "chars": 3517,
    "preview": "{\n  \"name\": \"AlertDialogPopup\",\n  \"description\": \"A container for the alert dialog contents.\\nRenders a `<div>` element."
  },
  {
    "path": "docs/reference/generated/alert-dialog-portal.json",
    "chars": 1879,
    "preview": "{\n  \"name\": \"AlertDialogPortal\",\n  \"description\": \"A portal element that moves the popup to a different part of the DOM."
  },
  {
    "path": "docs/reference/generated/alert-dialog-root.json",
    "chars": 3037,
    "preview": "{\n  \"name\": \"AlertDialogRoot\",\n  \"description\": \"Groups all parts of the alert dialog.\\nDoesn’t render its own HTML elem"
  },
  {
    "path": "docs/reference/generated/alert-dialog-title.json",
    "chars": 1227,
    "preview": "{\n  \"name\": \"AlertDialogTitle\",\n  \"description\": \"A heading that labels the dialog.\\nRenders an `<h2>` element.\",\n  \"pro"
  },
  {
    "path": "docs/reference/generated/alert-dialog-trigger.json",
    "chars": 2472,
    "preview": "{\n  \"name\": \"AlertDialogTrigger\",\n  \"description\": \"A button that opens the alert dialog.\\nRenders a `<button>` element."
  },
  {
    "path": "docs/reference/generated/alert-dialog-viewport.json",
    "chars": 1904,
    "preview": "{\n  \"name\": \"AlertDialogViewport\",\n  \"description\": \"A positioning container for the dialog popup that can be made scrol"
  },
  {
    "path": "docs/reference/generated/autocomplete-root.json",
    "chars": 10685,
    "preview": "{\n  \"name\": \"AutocompleteRoot\",\n  \"description\": \"Groups all parts of the autocomplete.\\nDoesn't render its own HTML ele"
  },
  {
    "path": "docs/reference/generated/autocomplete-value.json",
    "chars": 352,
    "preview": "{\n  \"name\": \"AutocompleteValue\",\n  \"description\": \"The current value of the autocomplete.\\nDoesn't render its own HTML e"
  },
  {
    "path": "docs/reference/generated/avatar-fallback.json",
    "chars": 1434,
    "preview": "{\n  \"name\": \"AvatarFallback\",\n  \"description\": \"Rendered when the image fails to load or when no image is provided.\\nRen"
  },
  {
    "path": "docs/reference/generated/avatar-image.json",
    "chars": 1629,
    "preview": "{\n  \"name\": \"AvatarImage\",\n  \"description\": \"The image to be displayed in the avatar.\\nRenders an `<img>` element.\",\n  \""
  },
  {
    "path": "docs/reference/generated/avatar-root.json",
    "chars": 1204,
    "preview": "{\n  \"name\": \"AvatarRoot\",\n  \"description\": \"Displays a user's profile picture, initials, or fallback icon.\\nRenders a `<"
  },
  {
    "path": "docs/reference/generated/button.json",
    "chars": 1771,
    "preview": "{\n  \"name\": \"Button\",\n  \"description\": \"A button component that can be used to trigger actions.\\nRenders a `<button>` el"
  },
  {
    "path": "docs/reference/generated/calendar-day-button.json",
    "chars": 2485,
    "preview": "{\n  \"name\": \"CalendarDayButton\",\n  \"description\": \"An individual interactive day button in the calendar.\\nRenders a `<bu"
  },
  {
    "path": "docs/reference/generated/calendar-day-grid-body.json",
    "chars": 2221,
    "preview": "{\n  \"name\": \"CalendarDayGridBody\",\n  \"description\": \"Groups all parts of the calendar's day grid.\\nRenders a `<tbody>` e"
  },
  {
    "path": "docs/reference/generated/calendar-day-grid-cell.json",
    "chars": 1402,
    "preview": "{\n  \"name\": \"CalendarDayGridCell\",\n  \"description\": \"An individual day cell in the calendar.\\nRenders a `<td>` element.\""
  },
  {
    "path": "docs/reference/generated/calendar-day-grid-header-cell.json",
    "chars": 1675,
    "preview": "{\n  \"name\": \"CalendarDayGridHeaderCell\",\n  \"description\": \"An individual day header cell in the calendar.\\nRenders a `<t"
  },
  {
    "path": "docs/reference/generated/calendar-day-grid-header-row.json",
    "chars": 1670,
    "preview": "{\n  \"name\": \"CalendarDayGridHeaderRow\",\n  \"description\": \"Groups all cells of the calendar's day grid header row.\\nRende"
  },
  {
    "path": "docs/reference/generated/calendar-day-grid-header.json",
    "chars": 1293,
    "preview": "{\n  \"name\": \"CalendarDayGridHeader\",\n  \"description\": \"Groups all parts of the calendar's day grid header.\\nRenders a `<"
  },
  {
    "path": "docs/reference/generated/calendar-day-grid-row.json",
    "chars": 1744,
    "preview": "{\n  \"name\": \"CalendarDayGridRow\",\n  \"description\": \"Groups all cells of a given calendar's day grid row.\\nRenders a `<tr"
  },
  {
    "path": "docs/reference/generated/calendar-day-grid.json",
    "chars": 1237,
    "preview": "{\n  \"name\": \"CalendarDayGrid\",\n  \"description\": \"Groups all the parts of the calendar's day grid.\\nRenders a `<table>` e"
  },
  {
    "path": "docs/reference/generated/calendar-decrement-month.json",
    "chars": 1731,
    "preview": "{\n  \"name\": \"CalendarDecrementMonth\",\n  \"description\": \"Displays an element to navigate to the previous month in the cal"
  },
  {
    "path": "docs/reference/generated/calendar-increment-month.json",
    "chars": 1727,
    "preview": "{\n  \"name\": \"CalendarIncrementMonth\",\n  \"description\": \"Displays an element to navigate to the next month in the calenda"
  },
  {
    "path": "docs/reference/generated/calendar-root.json",
    "chars": 6526,
    "preview": "{\n  \"name\": \"CalendarRoot\",\n  \"description\": \"Groups all parts of the calendar.\\nRenders a `<div>` element.\",\n  \"props\":"
  },
  {
    "path": "docs/reference/generated/calendar-viewport.json",
    "chars": 1400,
    "preview": "{\n  \"name\": \"CalendarViewport\",\n  \"description\": \"A viewport for displaying calendar month transitions.\\nThis component "
  },
  {
    "path": "docs/reference/generated/checkbox-group.json",
    "chars": 2602,
    "preview": "{\n  \"name\": \"CheckboxGroup\",\n  \"description\": \"Provides a shared state to a series of checkboxes.\",\n  \"props\": {\n    \"de"
  },
  {
    "path": "docs/reference/generated/checkbox-indicator.json",
    "chars": 3004,
    "preview": "{\n  \"name\": \"CheckboxIndicator\",\n  \"description\": \"Indicates whether the checkbox is ticked.\\nRenders a `<span>` element"
  },
  {
    "path": "docs/reference/generated/checkbox-root.json",
    "chars": 5813,
    "preview": "{\n  \"name\": \"CheckboxRoot\",\n  \"description\": \"Represents the checkbox itself.\\nRenders a `<span>` element and a hidden `"
  },
  {
    "path": "docs/reference/generated/collapsible-panel.json",
    "chars": 2491,
    "preview": "{\n  \"name\": \"CollapsiblePanel\",\n  \"description\": \"A panel with the collapsible contents.\\nRenders a `<div>` element.\",\n "
  },
  {
    "path": "docs/reference/generated/collapsible-root.json",
    "chars": 2262,
    "preview": "{\n  \"name\": \"CollapsibleRoot\",\n  \"description\": \"Groups all parts of the collapsible.\\nRenders a `<div>` element.\",\n  \"p"
  },
  {
    "path": "docs/reference/generated/collapsible-trigger.json",
    "chars": 1684,
    "preview": "{\n  \"name\": \"CollapsibleTrigger\",\n  \"description\": \"A button that opens and closes the collapsible panel.\\nRenders a `<b"
  },
  {
    "path": "docs/reference/generated/combobox-arrow.json",
    "chars": 1845,
    "preview": "{\n  \"name\": \"ComboboxArrow\",\n  \"description\": \"Displays an element positioned against the anchor.\\nRenders a `<div>` ele"
  },
  {
    "path": "docs/reference/generated/combobox-backdrop.json",
    "chars": 1598,
    "preview": "{\n  \"name\": \"ComboboxBackdrop\",\n  \"description\": \"An overlay displayed beneath the popup.\\nRenders a `<div>` element.\",\n"
  },
  {
    "path": "docs/reference/generated/combobox-chip-remove.json",
    "chars": 1556,
    "preview": "{\n  \"name\": \"ComboboxChipRemove\",\n  \"description\": \"A button to remove a chip.\\nRenders a `<button>` element.\",\n  \"props"
  },
  {
    "path": "docs/reference/generated/combobox-chip.json",
    "chars": 1236,
    "preview": "{\n  \"name\": \"ComboboxChip\",\n  \"description\": \"An individual chip that represents a value in a multiselectable input.\\nRe"
  },
  {
    "path": "docs/reference/generated/combobox-chips.json",
    "chars": 1226,
    "preview": "{\n  \"name\": \"ComboboxChips\",\n  \"description\": \"A container for the chips in a multiselectable input.\\nRenders a `<div>` "
  },
  {
    "path": "docs/reference/generated/combobox-clear.json",
    "chars": 2335,
    "preview": "{\n  \"name\": \"ComboboxClear\",\n  \"description\": \"Clears the value when clicked.\\nRenders a `<button>` element.\",\n  \"props\""
  },
  {
    "path": "docs/reference/generated/combobox-collection.json",
    "chars": 468,
    "preview": "{\n  \"name\": \"ComboboxCollection\",\n  \"description\": \"Renders filtered list items.\\nDoesn't render its own HTML element.\\n"
  },
  {
    "path": "docs/reference/generated/combobox-empty.json",
    "chars": 1319,
    "preview": "{\n  \"name\": \"ComboboxEmpty\",\n  \"description\": \"Renders its children only when the list is empty.\\nRequires the `items` p"
  },
  {
    "path": "docs/reference/generated/combobox-group-label.json",
    "chars": 1283,
    "preview": "{\n  \"name\": \"ComboboxGroupLabel\",\n  \"description\": \"An accessible label that is automatically associated with its parent"
  },
  {
    "path": "docs/reference/generated/combobox-group.json",
    "chars": 1442,
    "preview": "{\n  \"name\": \"ComboboxGroup\",\n  \"description\": \"Groups related items with the corresponding label.\\nRenders a `<div>` ele"
  },
  {
    "path": "docs/reference/generated/combobox-icon.json",
    "chars": 1230,
    "preview": "{\n  \"name\": \"ComboboxIcon\",\n  \"description\": \"An icon that indicates that the trigger button opens the popup.\\nRenders a"
  },
  {
    "path": "docs/reference/generated/combobox-input-group.json",
    "chars": 2830,
    "preview": "{\n  \"name\": \"ComboboxInputGroup\",\n  \"description\": \"A wrapper for the input and its associated controls.\\nRenders a `<di"
  },
  {
    "path": "docs/reference/generated/combobox-input.json",
    "chars": 2968,
    "preview": "{\n  \"name\": \"ComboboxInput\",\n  \"description\": \"A text input to search for items in the list.\\nRenders an `<input>` eleme"
  },
  {
    "path": "docs/reference/generated/combobox-item-indicator.json",
    "chars": 1801,
    "preview": "{\n  \"name\": \"ComboboxItemIndicator\",\n  \"description\": \"Indicates whether the item is selected.\\nRenders a `<span>` eleme"
  },
  {
    "path": "docs/reference/generated/combobox-item.json",
    "chars": 2955,
    "preview": "{\n  \"name\": \"ComboboxItem\",\n  \"description\": \"An individual item in the list.\\nRenders a `<div>` element.\",\n  \"props\": {"
  },
  {
    "path": "docs/reference/generated/combobox-label.json",
    "chars": 1217,
    "preview": "{\n  \"name\": \"ComboboxLabel\",\n  \"description\": \"An accessible label that is automatically associated with the combobox tr"
  },
  {
    "path": "docs/reference/generated/combobox-list.json",
    "chars": 1380,
    "preview": "{\n  \"name\": \"ComboboxList\",\n  \"description\": \"A list container for the items.\\nRenders a `<div>` element.\",\n  \"props\": {"
  },
  {
    "path": "docs/reference/generated/combobox-popup.json",
    "chars": 3688,
    "preview": "{\n  \"name\": \"ComboboxPopup\",\n  \"description\": \"A container for the list.\\nRenders a `<div>` element.\",\n  \"props\": {\n    "
  },
  {
    "path": "docs/reference/generated/combobox-portal.json",
    "chars": 1847,
    "preview": "{\n  \"name\": \"ComboboxPortal\",\n  \"description\": \"A portal element that moves the popup to a different part of the DOM.\\nB"
  },
  {
    "path": "docs/reference/generated/combobox-positioner.json",
    "chars": 9457,
    "preview": "{\n  \"name\": \"ComboboxPositioner\",\n  \"description\": \"Positions the popup against the trigger.\\nRenders a `<div>` element."
  },
  {
    "path": "docs/reference/generated/combobox-root.json",
    "chars": 11028,
    "preview": "{\n  \"name\": \"ComboboxRoot\",\n  \"description\": \"Groups all parts of the combobox.\\nDoesn't render its own HTML element.\",\n"
  },
  {
    "path": "docs/reference/generated/combobox-row.json",
    "chars": 1264,
    "preview": "{\n  \"name\": \"ComboboxRow\",\n  \"description\": \"Displays a single row of items in a grid list.\\nEnable `grid` on the root c"
  },
  {
    "path": "docs/reference/generated/combobox-status.json",
    "chars": 1336,
    "preview": "{\n  \"name\": \"ComboboxStatus\",\n  \"description\": \"Displays a status message whose content changes are announced politely t"
  },
  {
    "path": "docs/reference/generated/combobox-trigger.json",
    "chars": 3394,
    "preview": "{\n  \"name\": \"ComboboxTrigger\",\n  \"description\": \"A button that opens the popup.\\nRenders a `<button>` element.\",\n  \"prop"
  },
  {
    "path": "docs/reference/generated/combobox-value.json",
    "chars": 622,
    "preview": "{\n  \"name\": \"ComboboxValue\",\n  \"description\": \"The current value of the combobox.\\nDoesn't render its own HTML element.\""
  },
  {
    "path": "docs/reference/generated/context-menu-root.json",
    "chars": 4315,
    "preview": "{\n  \"name\": \"ContextMenuRoot\",\n  \"description\": \"A component that creates a context menu activated by right clicking or "
  },
  {
    "path": "docs/reference/generated/context-menu-trigger.json",
    "chars": 1464,
    "preview": "{\n  \"name\": \"ContextMenuTrigger\",\n  \"description\": \"An area that opens the menu on right click or long press.\\nRenders a"
  },
  {
    "path": "docs/reference/generated/csp-provider.json",
    "chars": 852,
    "preview": "{\n  \"name\": \"CSPProvider\",\n  \"description\": \"Provides a default Content Security Policy (CSP) configuration for Base UI "
  },
  {
    "path": "docs/reference/generated/dialog-backdrop.json",
    "chars": 1794,
    "preview": "{\n  \"name\": \"DialogBackdrop\",\n  \"description\": \"An overlay displayed beneath the popup.\\nRenders a `<div>` element.\",\n  "
  },
  {
    "path": "docs/reference/generated/dialog-close.json",
    "chars": 1594,
    "preview": "{\n  \"name\": \"DialogClose\",\n  \"description\": \"A button that closes the dialog.\\nRenders a `<button>` element.\",\n  \"props\""
  },
  {
    "path": "docs/reference/generated/dialog-description.json",
    "chars": 1256,
    "preview": "{\n  \"name\": \"DialogDescription\",\n  \"description\": \"A paragraph with additional information about the dialog.\\nRenders a "
  },
  {
    "path": "docs/reference/generated/dialog-popup.json",
    "chars": 3465,
    "preview": "{\n  \"name\": \"DialogPopup\",\n  \"description\": \"A container for the dialog contents.\\nRenders a `<div>` element.\",\n  \"props"
  },
  {
    "path": "docs/reference/generated/dialog-portal.json",
    "chars": 1833,
    "preview": "{\n  \"name\": \"DialogPortal\",\n  \"description\": \"A portal element that moves the popup to a different part of the DOM.\\nBy "
  },
  {
    "path": "docs/reference/generated/dialog-root.json",
    "chars": 3960,
    "preview": "{\n  \"name\": \"DialogRoot\",\n  \"description\": \"Groups all parts of the dialog.\\nDoesn’t render its own HTML element.\",\n  \"p"
  },
  {
    "path": "docs/reference/generated/dialog-title.json",
    "chars": 1181,
    "preview": "{\n  \"name\": \"DialogTitle\",\n  \"description\": \"A heading that labels the dialog.\\nRenders an `<h2>` element.\",\n  \"props\": "
  },
  {
    "path": "docs/reference/generated/dialog-trigger.json",
    "chars": 2427,
    "preview": "{\n  \"name\": \"DialogTrigger\",\n  \"description\": \"A button that opens the dialog.\\nRenders a `<button>` element.\",\n  \"props"
  },
  {
    "path": "docs/reference/generated/dialog-viewport.json",
    "chars": 1858,
    "preview": "{\n  \"name\": \"DialogViewport\",\n  \"description\": \"A positioning container for the dialog popup that can be made scrollable"
  },
  {
    "path": "docs/reference/generated/direction-provider.json",
    "chars": 445,
    "preview": "{\n  \"name\": \"DirectionProvider\",\n  \"description\": \"Enables RTL behavior for Base UI components.\",\n  \"props\": {\n    \"dire"
  },
  {
    "path": "docs/reference/generated/drawer-backdrop.json",
    "chars": 1925,
    "preview": "{\n  \"name\": \"DrawerBackdrop\",\n  \"description\": \"An overlay displayed beneath the popup.\\nRenders a `<div>` element.\",\n  "
  },
  {
    "path": "docs/reference/generated/drawer-close.json",
    "chars": 1502,
    "preview": "{\n  \"name\": \"DrawerClose\",\n  \"description\": \"A button that closes the drawer.\\nRenders a `<button>` element.\",\n  \"props\""
  },
  {
    "path": "docs/reference/generated/drawer-content.json",
    "chars": 1209,
    "preview": "{\n  \"name\": \"DrawerContent\",\n  \"description\": \"A container for the drawer contents.\\nRenders a `<div>` element.\",\n  \"pro"
  },
  {
    "path": "docs/reference/generated/drawer-description.json",
    "chars": 1256,
    "preview": "{\n  \"name\": \"DrawerDescription\",\n  \"description\": \"A paragraph with additional information about the drawer.\\nRenders a "
  },
  {
    "path": "docs/reference/generated/drawer-indent-background.json",
    "chars": 1374,
    "preview": "{\n  \"name\": \"DrawerIndentBackground\",\n  \"description\": \"An element placed before `<Drawer.Indent>` to render a backgroun"
  },
  {
    "path": "docs/reference/generated/drawer-indent.json",
    "chars": 1310,
    "preview": "{\n  \"name\": \"DrawerIndent\",\n  \"description\": \"A wrapper element intended to contain your app's main UI.\\nApplies `data-a"
  },
  {
    "path": "docs/reference/generated/drawer-popup.json",
    "chars": 4729,
    "preview": "{\n  \"name\": \"DrawerPopup\",\n  \"description\": \"A container for the drawer contents.\\nRenders a `<div>` element.\",\n  \"props"
  },
  {
    "path": "docs/reference/generated/drawer-portal.json",
    "chars": 1833,
    "preview": "{\n  \"name\": \"DrawerPortal\",\n  \"description\": \"A portal element that moves the popup to a different part of the DOM.\\nBy "
  },
  {
    "path": "docs/reference/generated/drawer-provider.json",
    "chars": 376,
    "preview": "{\n  \"name\": \"DrawerProvider\",\n  \"description\": \"Provides a shared context for coordinating global Drawer UI, such as ind"
  },
  {
    "path": "docs/reference/generated/drawer-root.json",
    "chars": 5382,
    "preview": "{\n  \"name\": \"DrawerRoot\",\n  \"description\": \"Groups all parts of the drawer.\\nDoesn't render its own HTML element.\",\n  \"p"
  },
  {
    "path": "docs/reference/generated/drawer-swipe-area.json",
    "chars": 2200,
    "preview": "{\n  \"name\": \"DrawerSwipeArea\",\n  \"description\": \"An invisible area that listens for swipe gestures to open the drawer.\\n"
  },
  {
    "path": "docs/reference/generated/drawer-title.json",
    "chars": 1181,
    "preview": "{\n  \"name\": \"DrawerTitle\",\n  \"description\": \"A heading that labels the drawer.\\nRenders an `<h2>` element.\",\n  \"props\": "
  },
  {
    "path": "docs/reference/generated/drawer-trigger.json",
    "chars": 2227,
    "preview": "{\n  \"name\": \"DrawerTrigger\",\n  \"description\": \"A button that opens the drawer.\\nRenders a `<button>` element.\",\n  \"props"
  },
  {
    "path": "docs/reference/generated/drawer-viewport.json",
    "chars": 1730,
    "preview": "{\n  \"name\": \"DrawerViewport\",\n  \"description\": \"A positioning container for the drawer popup that can be made scrollable"
  },
  {
    "path": "docs/reference/generated/field-control.json",
    "chars": 2633,
    "preview": "{\n  \"name\": \"FieldControl\",\n  \"description\": \"The form control to label and validate.\\nRenders an `<input>` element.\\n\\n"
  },
  {
    "path": "docs/reference/generated/field-description.json",
    "chars": 1894,
    "preview": "{\n  \"name\": \"FieldDescription\",\n  \"description\": \"A paragraph with additional information about the field.\\nRenders a `<"
  },
  {
    "path": "docs/reference/generated/field-error.json",
    "chars": 2798,
    "preview": "{\n  \"name\": \"FieldError\",\n  \"description\": \"An error message displayed if the field control fails validation.\\nRenders a"
  },
  {
    "path": "docs/reference/generated/field-item.json",
    "chars": 1493,
    "preview": "{\n  \"name\": \"FieldItem\",\n  \"description\": \"Groups individual items in a checkbox group or radio group with a label and d"
  },
  {
    "path": "docs/reference/generated/field-label.json",
    "chars": 2441,
    "preview": "{\n  \"name\": \"FieldLabel\",\n  \"description\": \"An accessible label that is automatically associated with the field control."
  },
  {
    "path": "docs/reference/generated/field-root.json",
    "chars": 4737,
    "preview": "{\n  \"name\": \"FieldRoot\",\n  \"description\": \"Groups all parts of the field.\\nRenders a `<div>` element.\",\n  \"props\": {\n   "
  },
  {
    "path": "docs/reference/generated/field-validity.json",
    "chars": 637,
    "preview": "{\n  \"name\": \"FieldValidity\",\n  \"description\": \"Used to display a custom message based on the field’s validity.\\nRequires"
  },
  {
    "path": "docs/reference/generated/fieldset-legend.json",
    "chars": 1251,
    "preview": "{\n  \"name\": \"FieldsetLegend\",\n  \"description\": \"An accessible label that is automatically associated with the fieldset.\\"
  },
  {
    "path": "docs/reference/generated/fieldset-root.json",
    "chars": 1216,
    "preview": "{\n  \"name\": \"FieldsetRoot\",\n  \"description\": \"Groups a shared legend with related controls.\\nRenders a `<fieldset>` elem"
  },
  {
    "path": "docs/reference/generated/form.json",
    "chars": 2824,
    "preview": "{\n  \"name\": \"Form\",\n  \"description\": \"A native form element with consolidated error handling.\\nRenders a `<form>` elemen"
  },
  {
    "path": "docs/reference/generated/group-collection-provider.json",
    "chars": 287,
    "preview": "{\n  \"name\": \"GroupCollectionProvider\",\n  \"props\": {\n    \"items\": {\n      \"type\": \"any[]\",\n      \"required\": true\n    },\n"
  },
  {
    "path": "docs/reference/generated/input.json",
    "chars": 2753,
    "preview": "{\n  \"name\": \"Input\",\n  \"description\": \"A native input element that automatically works with [Field](https://base-ui.com/"
  },
  {
    "path": "docs/reference/generated/localization-provider.json",
    "chars": 512,
    "preview": "{\n  \"name\": \"LocalizationProvider\",\n  \"description\": \"Defines the temporal locale provider for Base UI temporal componen"
  },
  {
    "path": "docs/reference/generated/menu-arrow.json",
    "chars": 1826,
    "preview": "{\n  \"name\": \"MenuArrow\",\n  \"description\": \"Displays an element positioned against the menu anchor.\\nRenders a `<div>` el"
  },
  {
    "path": "docs/reference/generated/menu-backdrop.json",
    "chars": 1571,
    "preview": "{\n  \"name\": \"MenuBackdrop\",\n  \"description\": \"An overlay displayed beneath the menu popup.\\nRenders a `<div>` element.\","
  },
  {
    "path": "docs/reference/generated/menu-checkbox-item-indicator.json",
    "chars": 2060,
    "preview": "{\n  \"name\": \"MenuCheckboxItemIndicator\",\n  \"description\": \"Indicates whether the checkbox item is ticked.\\nRenders a `<s"
  },
  {
    "path": "docs/reference/generated/menu-checkbox-item.json",
    "chars": 3747,
    "preview": "{\n  \"name\": \"MenuCheckboxItem\",\n  \"description\": \"A menu item that toggles a setting on or off.\\nRenders a `<div>` eleme"
  },
  {
    "path": "docs/reference/generated/menu-group-label.json",
    "chars": 1255,
    "preview": "{\n  \"name\": \"MenuGroupLabel\",\n  \"description\": \"An accessible label that is automatically associated with its parent gro"
  },
  {
    "path": "docs/reference/generated/menu-group.json",
    "chars": 1335,
    "preview": "{\n  \"name\": \"MenuGroup\",\n  \"description\": \"Groups related menu items with the corresponding label.\\nRenders a `<div>` el"
  },
  {
    "path": "docs/reference/generated/menu-item.json",
    "chars": 2579,
    "preview": "{\n  \"name\": \"MenuItem\",\n  \"description\": \"An individual interactive item in the menu.\\nRenders a `<div>` element.\",\n  \"p"
  },
  {
    "path": "docs/reference/generated/menu-link-item.json",
    "chars": 1743,
    "preview": "{\n  \"name\": \"MenuLinkItem\",\n  \"description\": \"A link in the menu that can be used to navigate to a different page or sec"
  },
  {
    "path": "docs/reference/generated/menu-popup.json",
    "chars": 2913,
    "preview": "{\n  \"name\": \"MenuPopup\",\n  \"description\": \"A container for the menu items.\\nRenders a `<div>` element.\",\n  \"props\": {\n  "
  },
  {
    "path": "docs/reference/generated/menu-portal.json",
    "chars": 1808,
    "preview": "{\n  \"name\": \"MenuPortal\",\n  \"description\": \"A portal element that moves the popup to a different part of the DOM.\\nBy de"
  },
  {
    "path": "docs/reference/generated/menu-positioner.json",
    "chars": 9356,
    "preview": "{\n  \"name\": \"MenuPositioner\",\n  \"description\": \"Positions the menu popup against the trigger.\\nRenders a `<div>` element"
  },
  {
    "path": "docs/reference/generated/menu-radio-group.json",
    "chars": 2309,
    "preview": "{\n  \"name\": \"MenuRadioGroup\",\n  \"description\": \"Groups related radio items.\\nRenders a `<div>` element.\",\n  \"props\": {\n "
  },
  {
    "path": "docs/reference/generated/menu-radio-item-indicator.json",
    "chars": 2037,
    "preview": "{\n  \"name\": \"MenuRadioItemIndicator\",\n  \"description\": \"Indicates whether the radio item is selected.\\nRenders a `<span>"
  },
  {
    "path": "docs/reference/generated/menu-radio-item.json",
    "chars": 3058,
    "preview": "{\n  \"name\": \"MenuRadioItem\",\n  \"description\": \"A menu item that works like a radio button in a given group.\\nRenders a `"
  },
  {
    "path": "docs/reference/generated/menu-root.json",
    "chars": 4658,
    "preview": "{\n  \"name\": \"MenuRoot\",\n  \"description\": \"Groups all parts of the menu.\\nDoesn’t render its own HTML element.\",\n  \"props"
  },
  {
    "path": "docs/reference/generated/menu-submenu-root.json",
    "chars": 4260,
    "preview": "{\n  \"name\": \"MenuSubmenuRoot\",\n  \"description\": \"Groups all parts of a submenu.\\nDoesn’t render its own HTML element.\",\n"
  },
  {
    "path": "docs/reference/generated/menu-submenu-trigger.json",
    "chars": 3217,
    "preview": "{\n  \"name\": \"MenuSubmenuTrigger\",\n  \"description\": \"A menu item that opens a submenu.\\nRenders a `<div>` element.\",\n  \"p"
  },
  {
    "path": "docs/reference/generated/menu-trigger.json",
    "chars": 3029,
    "preview": "{\n  \"name\": \"MenuTrigger\",\n  \"description\": \"A button that opens the menu.\\nRenders a `<button>` element.\",\n  \"props\": {"
  },
  {
    "path": "docs/reference/generated/menu-viewport.json",
    "chars": 3137,
    "preview": "{\n  \"name\": \"MenuViewport\",\n  \"description\": \"A viewport for displaying content transitions.\\nThis component is only req"
  },
  {
    "path": "docs/reference/generated/menubar.json",
    "chars": 1944,
    "preview": "{\n  \"name\": \"Menubar\",\n  \"description\": \"The container for menus.\",\n  \"props\": {\n    \"loopFocus\": {\n      \"type\": \"boole"
  },
  {
    "path": "docs/reference/generated/merge-props-n.json",
    "chars": 635,
    "preview": "{\n  \"name\": \"mergePropsN\",\n  \"description\": \"Merges an arbitrary number of React props using the same logic as {@link me"
  },
  {
    "path": "docs/reference/generated/merge-props.json",
    "chars": 2478,
    "preview": "{\n  \"name\": \"mergeProps\",\n  \"description\": \"Merges multiple sets of React props. It follows the Object.assign pattern wh"
  },
  {
    "path": "docs/reference/generated/meter-indicator.json",
    "chars": 1233,
    "preview": "{\n  \"name\": \"MeterIndicator\",\n  \"description\": \"Visualizes the position of the value along the range.\\nRenders a `<div>`"
  },
  {
    "path": "docs/reference/generated/meter-label.json",
    "chars": 1176,
    "preview": "{\n  \"name\": \"MeterLabel\",\n  \"description\": \"An accessible label for the meter.\\nRenders a `<span>` element.\",\n  \"props\":"
  },
  {
    "path": "docs/reference/generated/meter-root.json",
    "chars": 2573,
    "preview": "{\n  \"name\": \"MeterRoot\",\n  \"description\": \"Groups all parts of the meter and provides the value for screen readers.\\nRen"
  },
  {
    "path": "docs/reference/generated/meter-track.json",
    "chars": 1215,
    "preview": "{\n  \"name\": \"MeterTrack\",\n  \"description\": \"Contains the meter indicator and represents the entire range of the meter.\\n"
  },
  {
    "path": "docs/reference/generated/meter-value.json",
    "chars": 1392,
    "preview": "{\n  \"name\": \"MeterValue\",\n  \"description\": \"A text element displaying the current value.\\nRenders a `<span>` element.\",\n"
  },
  {
    "path": "docs/reference/generated/navigation-menu-arrow.json",
    "chars": 1927,
    "preview": "{\n  \"name\": \"NavigationMenuArrow\",\n  \"description\": \"Displays an element pointing toward the navigation menu's current a"
  },
  {
    "path": "docs/reference/generated/navigation-menu-backdrop.json",
    "chars": 1653,
    "preview": "{\n  \"name\": \"NavigationMenuBackdrop\",\n  \"description\": \"A backdrop for the navigation menu popup.\\nRenders a `<div>` ele"
  },
  {
    "path": "docs/reference/generated/navigation-menu-content.json",
    "chars": 2136,
    "preview": "{\n  \"name\": \"NavigationMenuContent\",\n  \"description\": \"A container for the content of the navigation menu item that is m"
  },
  {
    "path": "docs/reference/generated/navigation-menu-icon.json",
    "chars": 1240,
    "preview": "{\n  \"name\": \"NavigationMenuIcon\",\n  \"description\": \"An icon that indicates that the trigger button opens a menu.\",\n  \"pr"
  },
  {
    "path": "docs/reference/generated/navigation-menu-item.json",
    "chars": 1497,
    "preview": "{\n  \"name\": \"NavigationMenuItem\",\n  \"description\": \"An individual navigation menu item.\\nRenders a `<li>` element.\",\n  \""
  },
  {
    "path": "docs/reference/generated/navigation-menu-link.json",
    "chars": 1802,
    "preview": "{\n  \"name\": \"NavigationMenuLink\",\n  \"description\": \"A link in the navigation menu that can be used to navigate to a diff"
  },
  {
    "path": "docs/reference/generated/navigation-menu-list.json",
    "chars": 1248,
    "preview": "{\n  \"name\": \"NavigationMenuList\",\n  \"description\": \"Contains a list of navigation menu items.\\nRenders a `<ul>` element."
  },
  {
    "path": "docs/reference/generated/navigation-menu-popup.json",
    "chars": 2235,
    "preview": "{\n  \"name\": \"NavigationMenuPopup\",\n  \"description\": \"A container for the navigation menu contents.\\nRenders a `<nav>` el"
  },
  {
    "path": "docs/reference/generated/navigation-menu-portal.json",
    "chars": 1900,
    "preview": "{\n  \"name\": \"NavigationMenuPortal\",\n  \"description\": \"A portal element that moves the popup to a different part of the D"
  },
  {
    "path": "docs/reference/generated/navigation-menu-positioner.json",
    "chars": 9798,
    "preview": "{\n  \"name\": \"NavigationMenuPositioner\",\n  \"description\": \"Positions the navigation menu against the currently active tri"
  },
  {
    "path": "docs/reference/generated/navigation-menu-root.json",
    "chars": 3479,
    "preview": "{\n  \"name\": \"NavigationMenuRoot\",\n  \"description\": \"Groups all parts of the navigation menu.\\nRenders a `<nav>` element "
  },
  {
    "path": "docs/reference/generated/navigation-menu-trigger.json",
    "chars": 1855,
    "preview": "{\n  \"name\": \"NavigationMenuTrigger\",\n  \"description\": \"Opens the navigation menu popup when hovered or clicked, revealin"
  },
  {
    "path": "docs/reference/generated/navigation-menu-viewport.json",
    "chars": 1310,
    "preview": "{\n  \"name\": \"NavigationMenuViewport\",\n  \"description\": \"The clipping viewport of the navigation menu's current content.\\"
  },
  {
    "path": "docs/reference/generated/number-field-decrement.json",
    "chars": 2749,
    "preview": "{\n  \"name\": \"NumberFieldDecrement\",\n  \"description\": \"A stepper button that decreases the field value when clicked.\\nRen"
  },
  {
    "path": "docs/reference/generated/number-field-group.json",
    "chars": 2384,
    "preview": "{\n  \"name\": \"NumberFieldGroup\",\n  \"description\": \"Groups the input with the increment and decrement buttons.\\nRenders a "
  },
  {
    "path": "docs/reference/generated/number-field-increment.json",
    "chars": 2749,
    "preview": "{\n  \"name\": \"NumberFieldIncrement\",\n  \"description\": \"A stepper button that increases the field value when clicked.\\nRen"
  },
  {
    "path": "docs/reference/generated/number-field-input.json",
    "chars": 2614,
    "preview": "{\n  \"name\": \"NumberFieldInput\",\n  \"description\": \"The native input control in the number field.\\nRenders an `<input>` el"
  },
  {
    "path": "docs/reference/generated/number-field-root.json",
    "chars": 7920,
    "preview": "{\n  \"name\": \"NumberFieldRoot\",\n  \"description\": \"Groups all parts of the number field and manages its state.\\nRenders a "
  },
  {
    "path": "docs/reference/generated/number-field-scrub-area-cursor.json",
    "chars": 2757,
    "preview": "{\n  \"name\": \"NumberFieldScrubAreaCursor\",\n  \"description\": \"A custom element to display instead of the native cursor whi"
  },
  {
    "path": "docs/reference/generated/number-field-scrub-area.json",
    "chars": 3206,
    "preview": "{\n  \"name\": \"NumberFieldScrubArea\",\n  \"description\": \"An interactive area where the user can click and drag to change th"
  },
  {
    "path": "docs/reference/generated/popover-arrow.json",
    "chars": 1854,
    "preview": "{\n  \"name\": \"PopoverArrow\",\n  \"description\": \"Displays an element positioned against the popover anchor.\\nRenders a `<di"
  },
  {
    "path": "docs/reference/generated/popover-backdrop.json",
    "chars": 1593,
    "preview": "{\n  \"name\": \"PopoverBackdrop\",\n  \"description\": \"An overlay displayed beneath the popover.\\nRenders a `<div>` element.\","
  }
]

// ... and 2422 more files (download for full content)

About this extraction

This page contains the full source code of the mui/base-ui GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2622 files (9.3 MB), approximately 2.6M tokens, and a symbol index with 5766 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!