vael-ui v0.3.10

Actions

SplitButton

A primary action fused with a chevron that opens alternate actions in a dropdown.

Install

import { SplitButton } from 'vael-ui'

Playground

import { SplitButton } from 'vael-ui'

<SplitButton variant="primary" size="md" :disabled="false" :loading="false" triggerLabel="" side="top" align="start" :sideOffset="0" :alignOffset="0" closeOnEsc closeOnOutside :forceMount="false" scrollFade :items="items">SplitButton</SplitButton>

Props

NameTypeDefaultDescription
itemsreadonly MenuEntry<T>[]Dropdown rows — same shape as Menu.vue's `items`.
variant"primary" | "secondary" | "outline" | "ghost" | "link" | "text" | "danger""primary"
size"md" | "sm" | "lg""md"
disabledboolean | undefinedfalse
loadingboolean | "auto" | undefined"auto"Forwarded to the main action Button only.
triggerLabelstring | undefinedaria-label for the chevron button. Default: localized "More actions".
side"top" | "right" | "bottom" | "left"
align"start" | "end" | "center"
sideOffsetnumber | undefined
alignOffsetnumber | undefined
closeOnEscboolean | undefinedundefined
closeOnOutsideboolean | undefinedundefined
beforeClose((done: () => void) => void) | undefined
forceMountboolean | undefined
teleportTostring | HTMLElement | undefined
scrollFadeboolean | undefinedundefined
uiPartial<{ root: UiPartValue; main: UiPartValue; trigger: UiPartValue; positioner: UiPartValue; panel: UiPartValue; header: UiPartValue; footer: UiPartValue; }> | undefined
openboolean | undefinedfalse

Slots

NameTypeDescription
defaultanyMain action button content.
headeranyForwarded to the dropdown Menu's own `#header`.
item{ item: T; }Override one dropdown row's content while keeping its behavior — forwarded to Menu's own `#item`.
footeranyForwarded to the dropdown Menu's own `#footer`.

Events

NameTypeDescription
open-change[value: boolean, details: PopoverOpenChangeDetails]
select[item: T]
update:open[value: boolean]

Exposed

NameTypeDescription
elunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
mainElunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
triggerElunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
panelElunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.
positionerElunknownType 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.
openunknownType 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.