Small plans, good days.
interface QFabProps extends Omit<HTMLButtonAttributes & Record<"aria-label", string>, "children" | "color" | "disabled">
?: QFabColor = "primary-container"
?: boolean = undefined?: string = undefined: QBtnIcon = undefined
?: boolean = false?: boolean = false?: string = undefined?: QFabSize = undefined
?: HTMLAnchorAttributes["target"] = undefined
?: string = undefinedinterface QExtendedFabProps extends Omit<HTMLButtonAttributes, "children" | "color" | "disabled">
?: boolean = false?: QFabColor = "primary-container"
?: boolean = undefined?: string = undefined?: QBtnIcon = undefined
: string = undefined?: boolean = false?: boolean = false?: string = undefined?: QFabSize = undefined
?: HTMLAnchorAttributes["target"] = undefined
?: string = undefinedinterface QFabMenuProps extends Omit<Omit<HTMLButtonAttributes & Record<"aria-label", string>, "children" | "color" | "disabled">, "aria-label" | "onclick" | "href" | "to" | "replace" | "target" | "type" | "form" | "formaction" | "formenctype" | "formmethod" | "formnovalidate" | "formtarget" | "name" | "value">
?: QFabColor = "primary-container"
?: boolean = $bindable(false)
?: boolean = undefined: QBtnIcon = undefined
: string = undefined?: boolean = false?: string = undefined?: QFabSize = undefined
Give QFab an icon and an action-oriented aria-label. The label also appears as a tooltip on hover and focus. expressive inherits the global Quaff setting unless specified.
Baseline sizes are 40, 56, and 96px; expressive sizes are 56, 80, and 96px. Both modes default to 56px. The 80px expressive FAB suits most layouts; the 40px baseline size remains available for compatibility.
Choose a size
primary-container is the default.
Expressive adds the primary, secondary, and tertiary tone colors. surface is a legacy baseline style.primary-containersecondary-containertertiary-containerprimarysecondarytertiarysurfaceChoose a color example
QExtendedFab requires a short label; its icon is optional.
Baseline extended FABs have a minimum height of 56px. Expressive minimums are 56, 80, and 96px.
The label determines their width, and larger text can increase their height.
Set collapsed to show only the icon while keeping the accessible name. Without
an icon, the label stays visible. Your application controls when to collapse, such as in response
to scrolling or limited space.
Ready to compose
A picnic, a good book, nowhere to rush.
Fresh coffee. Open windows. A new playlist.
A postcard for someone far away.
Pick up flowers on the way home.
A little space for your ideas.
Hide unavailable actions instead of disabling a FAB. Use a clear icon and an accessible name describing the action. Tab focuses the button; Space or Enter activates it. Keep nearby controls and their focus indicators visible when positioning a FAB.
See the Material 3 specifications for FABs, extended FABs, and FAB menus, plus the accessibility guidance.