Primitiveinput

Autocomplete

Stable

Campo de texto que sugere enquanto a pessoa digita: a lista estreita a cada tecla, escolher uma sugestão a escreve no campo, e texto livre continua sendo resposta válida. Composto sobre Base UI Autocomplete e sobre o Input e o ScrollArea do Up Web DS, com escala de tamanho, addon inicial, gatilho e limpeza. A diferença para o Combobox é o valor: no Combobox ele precisa ser uma das opções; aqui o valor é o texto, e a lista só sugere — use-o para busca e para campos que aceitam o que a lista não conhece. É também a base do Command.

Instalação

npx up-web-ds add autocomplete

Gera chevrons-up-down, close para a biblioteca de ícones do projeto (components.json → iconLibrary).

Preview

Basic

Default

Sizes

With Start Addon

With Trigger

With Clear

Grouped

Disabled

Invalid

Esse token não existe na Foundation. Escolha um da lista.

All states

Basic

Default

Sizes

With Start Addon

With Trigger

With Clear

Grouped

Disabled

Invalid

Esse token não existe na Foundation. Escolha um da lista.

Usage

@/components/ui/autocomplete
import {
  Autocomplete,
  AutocompleteInput,
  AutocompleteItem,
  AutocompleteList,
  AutocompletePopup,
} from '@/components/ui/autocomplete'
Autocomplete
<Autocomplete>
  <AutocompleteInput
    aria-label="Buscar um token"
    placeholder="Buscar um token"
  />
  <AutocompletePopup>
    <AutocompleteList>
      <AutocompleteItem value="--primary">--primary</AutocompleteItem>
      <AutocompleteItem value="--muted-foreground">
        --muted-foreground
      </AutocompleteItem>
      <AutocompleteItem value="--overlay">--overlay</AutocompleteItem>
    </AutocompleteList>
  </AutocompletePopup>
</Autocomplete>

Props

Autocomplete

Props de Autocomplete
PropTypeDefaultDescription
items, obrigatóriaItemssem valor padrãoThe items to be displayed in the list. Can be either a flat array of items or an array of groups with items.
actionsRefReact.RefObject<AutocompleteRootActions | null>sem valor padrãoA ref to imperative actions. - `unmount`: Manually unmounts the autocomplete. Call this after any externally controlled closing animation finishes.
autoHighlightboolean | "always"falseWhether the first matching item is highlighted automatically. - `true`: highlight after the user types and keep the highlight while the query changes. - `'always'`: always highlight the first item.
childrenReact.ReactNodesem valor padrão
defaultOpenbooleanfalseWhether the popup is initially open. To render a controlled popup, use the `open` prop instead.
defaultValuestring | number | readonly string[]sem valor padrãoThe uncontrolled input value of the autocomplete when it's initially rendered. To render a controlled autocomplete, use the `value` prop instead.
disabledbooleanfalseWhether the component should ignore user interaction.
filter((itemValue: Items[number]["items"][number], query: string, itemToString?: ((itemValue: Items[number]["items"][number]) => string) | undefined) => boolean) | nullsem valor padrãoFilter function used to match items vs input query.
filteredItemsreadonly any[] | readonly Group<any>[]sem valor padrãoFiltered items to display in the list. When provided, the list will use these items instead of filtering the `items` prop internally. Use when you want to control filtering logic externally with the `useFilter()` hook.
formstringsem valor padrãoIdentifies the form that owns the internal input. Useful when the autocomplete is rendered outside the form.
gridbooleanfalseWhether list items are presented in a grid layout. When enabled, arrow keys navigate across rows and columns inferred from DOM rows.
highlightItemOnHoverbooleantrueWhether moving the pointer over items should highlight them. Disabling this prop allows CSS `:hover` to be differentiated from the `:focus` (`data-highlighted`) state.
idstringsem valor padrãoThe id of the component.
inlinebooleanfalseWhether the list is rendered inline without using the component's own popup. Specify `open` unconditionally in conjunction with this prop so the list is considered visible: `<Autocomplete.Root inline open>`
inputRefReact.Ref<HTMLInputElement>sem valor padrãoA ref to the hidden input element.
itemToStringValue((itemValue: Items[number]["items"][number]) => string)sem valor padrãoWhen the item values are objects (`<Autocomplete.Item value={object}>`), this function converts the object value to a string representation for both display in the input and form submission. If the shape of the object is `{ value, label }`, the label will be used automatically without needing to specify this prop.
keepHighlightbooleanfalseWhether the highlighted item should be preserved when the pointer leaves the list.
limitnumber-1The maximum number of items to display in the list.
localeIntl.LocalesArgumentsem valor padrãoThe locale to use for string comparison. Defaults to the user's runtime locale.
loopFocusbooleantrueWhether to loop keyboard focus back to the input when the end of the list is reached while using the arrow keys. The first item can then be reached by pressing <kbd>ArrowDown</kbd> again from the input, or the last item can be reached by pressing <kbd>ArrowUp</kbd> from the input. The input is always included in the focus loop per [ARIA Authoring Practices](https://www.w3.org/WAI/ARIA/apg/patterns/combobox/). When disabled, focus does not move when on the last element and the user presses <kbd>ArrowDown</kbd>, or when on the first element and the user presses <kbd>ArrowUp</kbd>.
modalbooleanfalseDetermines if the popup enters a modal state when open. - `true`: user interaction is limited to the popup: document page scroll is locked and pointer interactions on outside elements are disabled. - `false`: user interaction with the rest of the document is allowed. On touch devices, a `true` modal blocks outside taps but leaves the page scrollable unless the popup spans nearly the full viewport width, matching native iOS behavior.
mode"none" | "list" | "inline" | "both"'list'Controls how the autocomplete behaves with respect to list filtering and inline autocompletion. - `list` (default): items are dynamically filtered based on the input value. The input value does not change based on the active item. - `both`: items are dynamically filtered based on the input value, which will temporarily change based on the active item (inline autocompletion). - `inline`: items are static (not filtered), and the input value will temporarily change based on the active item (inline autocompletion). - `none`: items are static (not filtered), and the input value will not change based on the active item.
namestringsem valor padrãoIdentifies the field when a form is submitted.
onItemHighlighted((highlightedValue: Items[number]["items"][number] | undefined, eventDetails: AutocompleteRootHighlightEventDetails) => void)sem valor padrãoCallback fired when an item is highlighted or unhighlighted. Receives the highlighted item value (or `undefined` if no item is highlighted) and event details with a `reason` property describing why the highlight changed. The `reason` can be: - `'keyboard'`: the highlight changed due to keyboard navigation. - `'pointer'`: the highlight changed due to pointer hovering. - `'none'`: the highlight changed programmatically.
onOpenChange((open: boolean, eventDetails: AutocompleteRootChangeEventDetails) => void)sem valor padrãoEvent handler called when the popup is opened or closed.
onOpenChangeComplete((open: boolean) => void)sem valor padrãoEvent handler called after any animations complete when the popup is opened or closed.
onValueChange((value: string, eventDetails: AutocompleteRootChangeEventDetails) => void)sem valor padrãoEvent handler called when the input value of the autocomplete changes.
openbooleansem valor padrãoWhether the popup is currently open. Use when controlled.
openOnInputClickbooleanfalseWhether the popup opens when clicking the input.
readOnlybooleanfalseWhether the user should be unable to choose a different option from the popup.
requiredbooleanfalseWhether the user must choose a value before submitting a form.
submitOnItemClickbooleanfalseWhether clicking an item should submit the autocomplete's owning form. By default, clicking an item via a pointer or <kbd>Enter</kbd> key does not submit the owning form. Useful when the autocomplete is used as a single-field form search input.
valuestring | number | readonly string[]sem valor padrãoThe input value of the autocomplete. Use when controlled.
virtualizedbooleanfalseWhether the items are being externally virtualized.

Estende Omit<AutocompleteRoot.Props<Items[number]['items'][number]>, 'items'>.

AutocompleteInput

Props de AutocompleteInput
PropTypeDefaultDescription
clearPropsComboboxClearPropssem valor padrãoProps for the clear button, including its accessible name.
showClearbooleanfalseRenders a button at the end of the field that clears the text. It appears only while there is text, and takes the trigger's place when both are on.
showTriggerbooleanfalseRenders a button at the end of the field that opens the suggestions. It is a pointer affordance: from the keyboard, ArrowDown opens the list.
sizenumber | "default" | "sm" | "lg"'default'Height of the field. A number is forwarded to the native `size` attribute (the width in characters) and keeps the default height.
startAddonReact.ReactNodesem valor padrãoContent drawn at the start of the field, usually an icon. Decorative.
triggerPropsAutocompleteTriggerPropssem valor padrãoProps for the trigger button, including its accessible name.
classNamestring | ((state: ComboboxInputState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
disabledbooleanfalseWhether the component should ignore user interaction.
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ComboboxInputState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: ComboboxInputState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende Omit< AutocompletePrimitive.Input.Props, 'size' >. Aceita também os atributos padrão de um elemento React (303 não listados).

AutocompletePopup

Props de AutocompletePopup
PropTypeDefaultDescription
portalPropsComboboxPortalPropssem valor padrãoProps for the portal the popup renders into.
alignAlign'start'How to align the popup relative to the specified side.
alignOffsetnumber | OffsetFunction0Additional offset along the alignment axis in pixels. Also accepts a function that returns the offset to read the dimensions of the anchor and positioner elements, along with its side and alignment. The function takes a `data` object parameter with the following properties: - `data.anchor`: the dimensions of the anchor element with properties `width` and `height`. - `data.positioner`: the dimensions of the positioner element with properties `width` and `height`. - `data.side`: which side of the anchor element the positioner is aligned against. - `data.align`: how the positioner is aligned relative to the specified side.
anchorElement | VirtualElement | React.RefObject<Element | null> | (() => Element | VirtualElement | null) | nullsem valor padrãoAn element to position the popup against. By default, the popup will be positioned against the trigger.
classNamestring | ((state: ComboboxPopupState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
finalFocusboolean | React.RefObject<HTMLElement | null> | ((closeType: InteractionType) => void | boolean | HTMLElement | null)sem valor padrãoDetermines the element to focus when the popup is closed. - `false`: Do not move focus. - `true`: Move focus based on the default behavior (trigger or previously focused element). - `RefObject`: Move focus to the ref element. - `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`). Return an element to focus, `true` to use the default behavior, or `false`/`undefined` to do nothing.
initialFocusboolean | React.RefObject<HTMLElement | null> | ((openType: InteractionType) => void | boolean | HTMLElement | null)sem valor padrãoDetermines the element to focus when the popup is opened. - `false`: Do not move focus. - `true`: Move focus based on the default behavior (first tabbable element or popup). - `RefObject`: Move focus to the ref element. - `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`). Return an element to focus, `true` to use the default behavior, or `false`/`undefined` to do nothing.
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ComboboxPopupState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
sideSide'bottom'Which side of the anchor element to align the popup against. May automatically change to avoid collisions.
sideOffsetnumber | OffsetFunction4Distance between the anchor and the popup in pixels. Also accepts a function that returns the distance to read the dimensions of the anchor and positioner elements, along with its side and alignment. The function takes a `data` object parameter with the following properties: - `data.anchor`: the dimensions of the anchor element with properties `width` and `height`. - `data.positioner`: the dimensions of the positioner element with properties `width` and `height`. - `data.side`: which side of the anchor element the positioner is aligned against. - `data.align`: how the positioner is aligned relative to the specified side.
styleReact.CSSProperties | ((state: ComboboxPopupState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende AutocompletePrimitive.Popup.Props & Pick< AutocompletePrimitive.Positioner.Props, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor' >. Aceita também os atributos padrão de um elemento React (275 não listados).

AutocompleteItem

Props de AutocompleteItem
PropTypeDefaultDescription
childrenReact.ReactNodesem valor padrão
classNamestring | ((state: AutocompleteItemState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
disabledbooleanfalseWhether the component should ignore user interaction.
indexnumbersem valor padrãoThe index of the item in the list. Improves performance when specified by avoiding the need to calculate the index automatically from the DOM.
nativeButtonbooleanfalseWhether the component renders a native `<button>` element when replacing it via the `render` prop. Set to `true` if the rendered element is a native button.
onClick((event: BaseUIEvent<React.MouseEvent<HTMLDivElement, MouseEvent>>) => void)sem valor padrãoAn optional click handler for the item when selected. It fires when clicking the item with the pointer, as well as when pressing `Enter` with the keyboard if the item is highlighted when the `Input` or `List` element has focus.
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, AutocompleteItemState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: AutocompleteItemState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.
valueanynullA unique value that identifies this item.

Estende AutocompletePrimitive.Item.Props. Aceita também os atributos padrão de um elemento React (272 não listados).

AutocompleteSeparator

Props de AutocompleteSeparator
PropTypeDefaultDescription
classNamestring | ((state: AutocompleteSeparatorState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
orientationOrientation'horizontal'The orientation of the separator.
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, AutocompleteSeparatorState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: AutocompleteSeparatorState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende AutocompletePrimitive.Separator.Props. Aceita também os atributos padrão de um elemento React (275 não listados).

AutocompleteGroup

Props de AutocompleteGroup
PropTypeDefaultDescription
classNamestring | ((state: ComboboxGroupState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
itemsreadonly any[]sem valor padrãoItems to be rendered within this group. When provided, child `Collection` components will use these items.
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ComboboxGroupState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: ComboboxGroupState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende AutocompletePrimitive.Group.Props. Aceita também os atributos padrão de um elemento React (275 não listados).

AutocompleteGroupLabel

Props de AutocompleteGroupLabel
PropTypeDefaultDescription
classNamestring | ((state: ComboboxGroupLabelState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ComboboxGroupLabelState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: ComboboxGroupLabelState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende AutocompletePrimitive.GroupLabel.Props. Aceita também os atributos padrão de um elemento React (275 não listados).

AutocompleteEmpty

Props de AutocompleteEmpty
PropTypeDefaultDescription
classNamestring | ((state: ComboboxEmptyState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ComboboxEmptyState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: ComboboxEmptyState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende AutocompletePrimitive.Empty.Props. Aceita também os atributos padrão de um elemento React (275 não listados).

AutocompleteRow

Props de AutocompleteRow
PropTypeDefaultDescription
classNamestring | ((state: ComboboxRowState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ComboboxRowState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: ComboboxRowState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende AutocompletePrimitive.Row.Props. Aceita também os atributos padrão de um elemento React (275 não listados).

AutocompleteValue

Props de AutocompleteValue
PropTypeDefaultDescription
childrenReact.ReactNode | ((value: string) => React.ReactNode)sem valor padrão

Estende AutocompleteValue.Props.

AutocompleteList

Props de AutocompleteList
PropTypeDefaultDescription
childrenReact.ReactNode | ((item: any, index: number) => React.ReactNode)sem valor padrão
classNamestring | ((state: ComboboxListState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ComboboxListState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: ComboboxListState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende AutocompletePrimitive.List.Props. Aceita também os atributos padrão de um elemento React (274 não listados).

AutocompleteClear

Props de AutocompleteClear
PropTypeDefaultDescription
classNamestring | ((state: ComboboxClearState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
disabledbooleanfalseWhether the component should ignore user interaction.
keepMountedbooleanfalseWhether the component should remain mounted in the DOM when not visible.
nativeButtonbooleantrueWhether the component renders a native `<button>` element when replacing it via the `render` prop. Set to `false` if the rendered element is not a button (for example, `<div>`).
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ComboboxClearState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: ComboboxClearState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende AutocompletePrimitive.Clear.Props. Aceita também os atributos padrão de um elemento React (284 não listados).

AutocompleteStatus

Props de AutocompleteStatus
PropTypeDefaultDescription
classNamestring | ((state: ComboboxStatusState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ComboboxStatusState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: ComboboxStatusState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende AutocompletePrimitive.Status.Props. Aceita também os atributos padrão de um elemento React (275 não listados).

AutocompleteCollection

Props de AutocompleteCollection
PropTypeDefaultDescription
children, obrigatória(item: any, index: number) => React.ReactNodesem valor padrão

Estende ComboboxCollection.Props.

AutocompleteTrigger

Props de AutocompleteTrigger
PropTypeDefaultDescription
classNamestring | ((state: AutocompleteTriggerState) => string | undefined)sem valor padrãoCSS class applied to the element, or a function that returns a class based on the component's state.
disabledbooleanfalseWhether the component should ignore user interaction.
nativeButtonbooleantrueWhether the component renders a native `<button>` element when replacing it via the `render` prop. Set to `false` if the rendered element is not a button (for example, `<div>`).
renderReact.ReactElement<unknown, string | React.JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, AutocompleteTriggerState>sem valor padrãoAllows you to replace the component's HTML element with a different tag, or compose it with another component. Accepts a `ReactElement` or a function that returns the element to render.
styleReact.CSSProperties | ((state: AutocompleteTriggerState) => React.CSSProperties | undefined)sem valor padrãoStyle applied to the element, or a function that returns a style object based on the component's state.

Estende AutocompletePrimitive.Trigger.Props. Aceita também os atributos padrão de um elemento React (284 não listados).

prop obrigatória.

Composition

O campo e o popup são irmãos dentro do Autocomplete. Com `items`, a lista recebe uma função que renderiza cada item; em grupos, cada AutocompleteGroup recebe os seus e os renderiza por AutocompleteCollection.

Composição de Autocomplete

Autocomplete

  • AutocompleteInput
  • AutocompletePopup
    • AutocompleteEmpty
    • AutocompleteList
      • AutocompleteItem
      • AutocompleteGroup
        • AutocompleteGroupLabel
        • AutocompleteCollection
          • AutocompleteItem
      • AutocompleteSeparator
    • AutocompleteStatus

Metadata

Notas de acessibilidade

Teclado verificado por teste, em jsdom e em navegador: digitar abre e estreita a lista, ArrowDown abre e percorre as sugestões, Enter escreve a sugestão destacada no campo e fecha, Escape fecha sem tirar o foco do campo e sem apagar o texto. O foco nunca sai do campo; o gatilho e o botão de limpar ficam fora da sequência de tabulação (tabindex -1), porque o caminho de teclado é o próprio campo. Leitor de tela verificado por teste: o campo tem papel combobox com aria-autocomplete="list", aria-expanded acompanha o estado, aria-controls aponta para o listbox portalizado e aria-activedescendant acompanha o destaque; grupos são nomeados pelo rótulo, que nunca vira opção; quando nada casa, o estado vazio é anunciado por uma região role="status" — um campo que aceita texto livre pode receber texto que não casa com nada, e o silêncio leria como campo quebrado. O gatilho e o botão de limpar, sem nome na origem, recebem nome acessível ("Abrir sugestões", "Limpar"), substituível por triggerProps e clearProps. Estado inválido é aria-invalid no campo, e o exemplo liga a mensagem por aria-describedby. Touch verificado em navegador com emulação de toque em viewport de 375px: campo, gatilho, limpar e as sugestões medem acima do mínimo de 24x24, o popup cabe na viewport e uma sugestão é escolhida por toque. Reduced motion verificado em navegador com prefers-reduced-motion: reduce — o zoom de entrada e saída está em motion-safe:, então o popup chega sem escala; o animate-in e o fade continuam, porque é o animationend deles que o Base UI espera para desmontar, e o popup fecha normalmente. Light e dark verificados pela varredura axe do catálogo.

Classificação

Layer
Primitive
Domínio
Domain-free (compartilhado)
Categoria
input
Status
Stable

Origem e distribuição

Fonte
coss registry / autocomplete
Licença
MIT
Distribuição
Interna

Acessibilidade

  • Teclado: revisado
  • Leitor de tela: revisado
  • Touch: revisado
  • Reduced motion: revisado

Dependências

Pacotes
@base-ui/react
Ícones
chevrons-up-down, close
Construído sobre
InputScroll Area
Usado por
Command