{{-- An M3 Expressive FAB menu: a FAB that opens into a short list of related actions.
Two to six items. The FAB (`icon`, `add` by default, in `color`'s container) turns into a round close button in the colour itself while the list is open above it, end-aligned; the list is a `popover="auto"` menu with the menu keyboard of ``. `label` names the FAB for screen readers. Give the items the same `color`. FabMenuBaselineTokens (androidx Compose Material 3, Apache-2.0): 56px items, 4px apart, 8px above the close button. --}} @props([ 'icon' => 'add', 'label' => null, 'color' => 'primary', 'position' => 'top-end', ]) @php $color = in_array($color, ['primary', 'secondary', 'tertiary'], true) ? $color : 'primary'; $key = \Illuminate\Support\Str::lower(\Illuminate\Support\Str::random(10)); $anchor = "--material-fab-menu-{$key}"; $colours = [ 'primary' => 'bg-primary-container text-on-primary-container aria-expanded:bg-primary aria-expanded:text-on-primary', 'secondary' => 'bg-secondary-container text-on-secondary-container aria-expanded:bg-secondary aria-expanded:text-on-secondary', 'tertiary' => 'bg-tertiary-container text-on-tertiary-container aria-expanded:bg-tertiary aria-expanded:text-on-tertiary', ][$color]; @endphp
class('relative inline-flex') }}>