export type SpeedDialPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'; export type SpeedDialDirection = 'up' | 'down' | 'left' | 'right' | 'auto'; export type SpeedDialLabels = 'hover' | 'always' | 'never'; export type SpeedDialSize = 'sm' | 'md' | 'lg'; export type SpeedDialVariant = 'primary' | 'secondary' | 'ghost' | 'outline' | 'destructive'; export type SpeedDialIconName = 'note' | 'upload' | 'invite' | 'edit' | 'share' | 'trash' | 'camera' | 'link' | 'mail' | 'image' | 'file' | 'copy' | 'search' | 'star'; export interface SpeedDialAction { id: string; label: string; /** Built-in icon key */ icon?: SpeedDialIconName; disabled?: boolean; variant?: 'default' | 'destructive'; onclick?: () => void; } import type { Snippet } from 'svelte'; interface SpeedDialProps { actions?: SpeedDialAction[]; label?: string; /** Corner of the positioned parent / viewport */ position?: SpeedDialPosition; /** * Fan-out direction. `auto` derives from `position` * (bottom → up, top → down). */ direction?: SpeedDialDirection; open?: boolean; placement?: 'fixed' | 'absolute'; variant?: SpeedDialVariant; size?: SpeedDialSize; /** When to show action labels */ showLabels?: SpeedDialLabels; /** Dimmed overlay behind the dial while open */ backdrop?: boolean; closeOnAction?: boolean; closeOnOutsideClick?: boolean; closeOnEscape?: boolean; disabled?: boolean; class?: string; /** Main FAB icon (defaults to + that rotates when open) */ children?: Snippet; ontoggle?: (open: boolean) => void; onaction?: (action: SpeedDialAction) => void; } declare const SpeedDial: import("svelte").Component; type SpeedDial = ReturnType; export default SpeedDial;