vael-ui v0.3.10

Actions

SpeedDial

A floating action button that fans out into secondary actions on demand.

Install

import { SpeedDial } from 'vael-ui'

Playground

import { SpeedDial } from 'vael-ui'

<SpeedDial direction="up" openOn="click" :disabled="false" closeOnSelect ariaLabel="Actions" :radius="96" motionCss :items="items">SpeedDial</SpeedDial>

Props

NameTypeDefaultDescription
itemsreadonly T[]
direction"right" | "left" | "up" | "down" | "quarter-circle""up"
openOn"hover" | "click""click"`hover` only activates on real hover-capable pointers; click always works too.
disabledboolean | undefinedfalse
closeOnSelectboolean | undefinedtrueSelecting an action closes the dial; `false` keeps it open.
ariaLabelstring | undefined"Actions"Accessible name for both the trigger button and the action `role="menu"`.
radiusnumber | undefined96Arc radius (px) for `direction="quarter-circle"` — ignored otherwise.
motionCssboolean | undefinedtrueGates the built-in action fan-out/fan-in transition. `false` skips it entirely — reach for `@action-enter`/`@action-leave` instead if you want a consumer-owned animation (a spring, a staggered GSAP timeline) in its place.
uiPartial<{ root: UiPartValue; trigger: UiPartValue; action: UiPartValue; }> | undefined
openboolean | undefinedfalse

Slots

NameTypeDescription
icon{ open: boolean; }
item{ item: T; index: number; }

Events

NameTypeDescription
select[item: T]
action-enter[el: Element, done: () => void]
action-leave[el: Element, done: () => void]
update:open[value: boolean]

Exposed

NameTypeDescription
elunknownType 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.
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.
toggleunknownType inference unavailable — vue-component-meta cannot resolve defineExpose on this generic component.