autocomplete

Autocomplete

An input with suggestions that accepts free-form text; the value is the text itself.

States: Default, Focus, Disabled, Invalid

Parts

PartFileDoes
AutocompleteAutocomplete.vueGroups all parts of the autocomplete, which lets the user type freely and pick from suggestions.
AutocompleteAnchorAutocompleteAnchor.vueFrames the input and its buttons as one field, and marks where the suggestion list attaches.
AutocompleteCancelAutocompleteCancel.vueClears the text the user has typed.
AutocompleteEmptyAutocompleteEmpty.vueShows a message when no suggestion matches the text.
AutocompleteGroupAutocompleteGroup.vueGroups related suggestions under an optional heading.
AutocompleteInputAutocompleteInput.vueTakes the text the user types; the suggestions filter as it changes.
AutocompleteItemAutocompleteItem.vueHolds one suggestion; picking it fills the input with its text.
AutocompleteListAutocompleteList.vueHolds the suggestions while the autocomplete is open.
AutocompleteSeparatorAutocompleteSeparator.vueSeparates groups of suggestions in the list.
AutocompleteTriggerAutocompleteTrigger.vueOpens and closes the suggestion list.
AutocompleteViewportAutocompleteViewport.vueScrolls the suggestions when the list is longer than the space available.

Anatomy

<Autocomplete>
  <AutocompleteAnchor>
    <AutocompleteInput />
    <AutocompleteCancel />
  </AutocompleteAnchor>
  <AutocompleteList>
    <AutocompleteViewport>
      <AutocompleteEmpty />
      <AutocompleteItem />
    </AutocompleteViewport>
  </AutocompleteList>
</Autocomplete>

Styling

PartRecipe
AutocompleteEmptyautocomplete-empty
AutocompleteGroupautocomplete-label
AutocompleteInputautocomplete-input
AutocompleteItemautocomplete-item
AutocompleteListautocomplete-content
AutocompleteSeparatorautocomplete-separator
AutocompleteViewportautocomplete-viewport

Install

Writes 12 files into components/ui/autocomplete/. For agents, npx @frontic/ui docs autocomplete prints this reference as markdown; the MCP server serves the same.

Installs with it
input-group
npm packages
@lucide/vue
@vueuse/core
reka-ui

Built from

API reference

Autocomplete Autocomplete.vue

Groups all parts of the autocomplete, which lets the user type freely and pick from suggestions.

PropTypeDefault
modelValuestring—
defaultValuestring—
openboolean—
defaultOpenbooleanfalse
disabledbooleanfalse
dirDirection—
namestring—
requiredbooleanfalse
resetSearchTermOnBlurbooleanfalse
openOnFocusbooleanfalse
openOnClickbooleanfalse
ignoreFilterbooleanfalse
highlightOnHoverbooleantrue
loopbooleanfalse
asChildbooleanfalse
asAsTag | Component—
EventPayload
update:modelValuevalue: string
update:openvalue: boolean
highlightpayload: { ref: HTMLElement; value: string; } | undefined
SlotSlot props
default{ open: boolean; modelValue: string; }

AutocompleteAnchor AutocompleteAnchor.vue

AutocompleteCancel AutocompleteCancel.vue

AutocompleteEmpty AutocompleteEmpty.vue

AutocompleteGroup AutocompleteGroup.vue

AutocompleteInput AutocompleteInput.vue

AutocompleteItem AutocompleteItem.vue

AutocompleteList AutocompleteList.vue

AutocompleteSeparator AutocompleteSeparator.vue

AutocompleteTrigger AutocompleteTrigger.vue

AutocompleteViewport AutocompleteViewport.vue

Example
State