# dip/cmdk

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dip-cmdk).**

12,681 stars · 372 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/dip/cmdk
- awesome-repositories: https://awesome-repositories.com/repository/dip-cmdk.md

## Topics

`combobox` `command-menu` `command-palette` `radix-ui` `react`

## Description

cmdk is an unstyled, headless React component library for building accessible search-based navigation and command interfaces. It provides the logic and state management required to create keyboard-navigable command palettes that filter lists of actions and items based on user input.

The library distinguishes itself by remaining visually agnostic, offering a collection of logic-heavy components without predefined styles. It supports advanced organization through hierarchical menu navigation, nested paging systems, and conditional group filtering that hides categories when no child items match a search query.

The framework covers a broad range of functional areas, including asynchronous data handling for external search sources and customizable ranking logic to determine result priority. It also manages the UI state for overlay displays and renders specific status states for loading or empty result sets.

The components are designed to follow keyboard and screen reader standards for accessible menu rendering.

## Tags

### User Interface & Experience

- [Command Palette Frameworks](https://awesome-repositories.com/f/user-interface-experience/command-palette-frameworks.md) — Provides the logic and state management for building accessible, searchable command palettes in React.
- [Command Palettes](https://awesome-repositories.com/f/user-interface-experience/command-palettes.md) — Provides a headless React framework for building accessible, searchable command palettes that filter and sort actions. ([source](https://github.com/dip/cmdk#readme))
- [Accessible Menu Rendering](https://awesome-repositories.com/f/user-interface-experience/accessible-menu-rendering.md) — Renders searchable lists that maintain standard keyboard and screen reader navigation for accessibility. ([source](https://github.com/dip/cmdk/blob/main/pnpm-workspace.yaml))
- [Accessible UI Components](https://awesome-repositories.com/f/user-interface-experience/accessible-ui-components.md) — Builds searchable lists and dialogs that adhere to ARIA and keyboard standards for users with disabilities.
- [Search-Based Navigation Interfaces](https://awesome-repositories.com/f/user-interface-experience/component-hierarchies/hierarchy-traversers/search-based-navigation-interfaces.md) — Implements a UI pattern for triggering actions and navigating applications via a text-based search input.
- [React Components](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/component-libraries/react-components.md) — Offers reusable, headless interface elements specifically designed for the React ecosystem.
- [Focus Management](https://awesome-repositories.com/f/user-interface-experience/focus-management.md) — Manages active item indices via keyboard events to enable navigation without relying on native HTML focus.
- [Keyboard Navigation](https://awesome-repositories.com/f/user-interface-experience/keyboard-navigation.md) — Enables fast application navigation and function triggering through a keyboard-driven search interface.
- [Headless UI Libraries](https://awesome-repositories.com/f/user-interface-experience/ui-component-libraries/headless-ui-libraries.md) — Provides a collection of logic-heavy, unstyled components that manage state and accessibility without prescribing visuals.
- [Asynchronous Search Interfaces](https://awesome-repositories.com/f/user-interface-experience/asynchronous-data-fetching/asynchronous-search-interfaces.md) — Implements a search interface that fetches and renders data from background API requests in real-time.
- [Compound Components](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/rendering-models/composition-rendering-patterns/component-patterns/compound-components.md) — Uses a compound component architecture to provide a flexible and declarative API for building command menus.
- [Menu Hierarchies](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/conditional-menu-items/menu-hierarchies.md) — Implements nested menu structures and paging systems to organize large sets of commands.
- [Hierarchical Menu Organization](https://awesome-repositories.com/f/user-interface-experience/hierarchical-menu-organization.md) — Organizes commands into a structured hierarchy to improve the scannability of the command menu. ([source](https://github.com/dip/cmdk/blob/main/ARCHITECTURE.md))
- [Nested Navigation Menus](https://awesome-repositories.com/f/user-interface-experience/nested-navigation-menus.md) — Implements a paging system that replaces the current list with refined sub-items through nested navigation menus. ([source](https://github.com/dip/cmdk#readme))
- [Search Result Ranking](https://awesome-repositories.com/f/user-interface-experience/search-result-ranking.md) — Implements customizable ranking logic to determine the priority and order of search results based on user input. ([source](https://github.com/dip/cmdk/blob/main/README.md))

### Content Management & Publishing

- [Dynamic Menu Hierarchies](https://awesome-repositories.com/f/content-management-publishing/category-organizations/hierarchical-navigations/dynamic-menu-hierarchies.md) — Implements nested pages and sub-items that appear dynamically based on user selection or active search queries. ([source](https://github.com/dip/cmdk/blob/main/README.md))

### Data & Databases

- [UI List Filtering](https://awesome-repositories.com/f/data-databases/data-querying/table-item-filters/ui-list-filtering.md) — Hides or shows items in the command menu in real-time based on the user's search input. ([source](https://github.com/dip/cmdk/blob/main/ARCHITECTURE.md))
- [Conditional Group Visibility](https://awesome-repositories.com/f/data-databases/grouped-filters/conditional-group-visibility.md) — Automatically hides category headings when no matching child items are found during search. ([source](https://github.com/dip/cmdk#readme))

### Development Tools & Productivity

- [Search Ranking Algorithms](https://awesome-repositories.com/f/development-tools-productivity/search-ranking-algorithms.md) — Provides customizable scoring and priority functions to determine the order of search results.

### Software Engineering & Architecture

- [Client-Side Data Filtering](https://awesome-repositories.com/f/software-engineering-architecture/client-side-data-filtering.md) — Implements logic for processing and filtering local item collections based on user search input.
- [Context State Propagators](https://awesome-repositories.com/f/software-engineering-architecture/state-synchronization-patterns/context-state-propagators.md) — Utilizes a provider pattern to distribute search and selection state across nested components without prop drilling.

### Web Development

- [Asynchronous Data Handling](https://awesome-repositories.com/f/web-development/data-fetching-caching/asynchronous-data-handling.md) — Handles non-blocking data retrieval from external sources while maintaining active filtering and sorting. ([source](https://github.com/dip/cmdk/blob/main/README.md))
