Introduction
Installation
Next.jsViteLaravelReact RouterRemixAstroTanStack StartTanStack RouterManual InstallationMCP
All componentsTheme
FieldFormInputText FieldTextareaSearch FieldInput OTPNumber FieldNumber FormatSliderCheckboxSwitchRadioSelectCombo BoxList BoxChoice BoxMulti SelectToken FieldNewTag FieldTag GroupCalendarDate FieldDate PickerDate Range PickerRange CalendarTime FieldColor PickerColor FieldColor AreaColor SliderColor SwatchColor Swatch PickerColor ThumbColor WheelDrop ZoneFile Trigger
ButtonButton GroupToggleToggle GroupPreskok Auth Button
EditorHeadingLinkTextKeyboard
CardContainerGrid ListResizableTableTreeSeparatorDescription ListScroll AreaShow MoreToolbar
BreadcrumbsNavbarPaginationTabsSidebar
DialogModalDrawerPopoverPreview TriggerNewSheetTooltipContext MenuDropdownCommandCommand MenuDisclosureMenu
ToastProgress BarProgress CircleMeterLoaderSkeletonNoteBadge
Chart (helpers)Area ChartBar ChartLine ChartPie ChartExperimental ChartsNewExperimental Radial ChartNewExperimental Radar ChartNewBar ListTracker
Async ImageAvatarCarouselPreskok Icon
Forms

Combo Box

Autocomplete combo box with input, popover list, and keyboard navigation.

View as MarkdownAsk ChatGPT

Installation

npx shadcn@latest add @preskok/combo-box

Usage

import { ComboBox } from "@/components/ui/preskok-ui/combo-box"

type City = { id: string; name: string }
const cities: City[] = [
  { id: "nyc", name: "New York" },
  { id: "ldn", name: "London" },
  { id: "tko", name: "Tokyo" },
]

export function ComboBoxDemo() {
  return (
    <ComboBox label="City">
      <ComboBox.Input placeholder="Search cities" />
      <ComboBox.List items={cities}>
        {(item: City) => (
          <ComboBox.Option id={item.id} textValue={item.name}>
            {item.name}
          </ComboBox.Option>
        )}
      </ComboBox.List>
    </ComboBox>
  )
}

Select

A select component with searchable options and custom styling.

List Box

Present and select from a list of options with labels, descriptions, and sections.

On this page

Installation
Usage
Filter existing teams or create a new one.