vael-ui v0.3.10

Overlays

CommandPalette

Install

import { CommandPalette } from 'vael-ui'

Playground

import { CommandPalette } from 'vael-ui'

<CommandPalette placeholder="" shortcut="" closeOnSelect size="lg" position="top" modal closeOnEsc closeOnOverlay :forceMount="false" teleportTo="" query="" :items="items">CommandPalette</CommandPalette>

Props

NameTypeDefaultDescription
itemsreadonly T[]
placeholderstring | undefined
filter((item: T, query: string) => boolean) | undefinedCustom filter function; replaces the default label/keywords match. Omit to use the built-in filter.
shortcutstring | undefinedGlobal shortcut that toggles `open`, e.g. `'mod+k'` (`mod` = Cmd on Mac, Ctrl elsewhere). Unset by default — nothing listens until you opt in.
closeOnSelectboolean | undefinedtrue
size"md" | "sm" | "lg""lg"
position"top" | "right" | "bottom" | "left" | "center""top"Where the panel anchors in the viewport. `'top'` (default) matches the Spotlight/Raycast convention; `'center'` for a more Dialog-like feel.
modalboolean | undefinedtrue
closeOnEscboolean | undefinedtrue
closeOnOverlayboolean | undefinedtrue
beforeClose((done: () => void) => void) | undefinedCustom exit animation; call `done()` when complete. Forwarded straight to the underlying `Dialog`.
forceMountboolean | undefinedfalsePresence becomes `v-show`-driven, owned by the consumer. Forwarded straight to the underlying `Dialog`.
teleportTostring | undefined
containerDOMTarget | undefinedScopes the palette to one element instead of the viewport. Forwarded straight to the underlying `Dialog`.
scrollTargetDOMTarget | undefinedElement whose scrolling is locked while open, if different from `container`. Forwarded straight to the underlying `Dialog`.
uiPartial<{ panel: UiPartValue; input: UiPartValue; list: UiPartValue; groupLabel: UiPartValue; item: UiPartValue; empty: UiPartValue; }> | undefined
openboolean | undefinedfalse
querystring | undefined""

Slots

NameTypeDescription
item{ item: T; index: number; active: boolean; select: () => void; }
emptyany

Events

NameTypeDescription
open-change[value: boolean, details: DialogOpenChangeDetails]
select[item: T]
update:open[value: boolean]
update:query[value: string]

Exposed

NameTypeDescription
panelElunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
isClosingunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
closeunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
cancelCloseunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
inputElunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
listElunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
filteredItemsunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
activeIndexunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.