Fab
class Fab extends BeartropyComponent
Floating Action Button (FAB) component.
Renders a fixed-position circular action button at a configurable screen
corner. Supports color and size presets via HasPresets. When an href
attribute is present, renders as <a>; otherwise renders as <button>.
Accepts a default slot for fully custom content, or an icon prop to
render a Heroicon. The label prop sets the accessible aria-label.
Traits
Trait HasPresets.
Trait HasErrorBag.
Properties
| string|null | $size | Size preset name. |
|
| string|null | $icon | Heroicon name (default: 'plus'). |
|
| string|null | $label | Accessible label for aria-label. |
|
| string|null | $onlyMobile | When truthy, hides the FAB on md+ screens. |
|
| string|null | $zIndex | CSS z-index value (default: 50). |
|
| string|null | $right | CSS right offset (default: '1rem'). |
|
| string|null | $bottom | CSS bottom offset (default: '1rem'). |
|
| string|null | $color | Color preset name. |
Methods
Compute component presets based on context.
No description
No description
No description
No description
No description
No description
No description
No description
No description
Determine the error state for a specific field.
Analyze wire:model attributes to determine binding state.
Resolve the size preset for the component.
Create a new Fab component instance.
Get the view / contents that represent the component.
Details
in
HasPresets at line 21
array
getComponentPresets(string|null $componentName = null, ComponentAttributeBag|null $attributes = null)
Compute component presets based on context.
in
HasPresets at line 59
protected array
loadPresets(string $componentName)
No description
in
HasPresets at line 73
protected array
loadComponentDefaults(string $componentName)
No description
in
HasPresets at line 88
protected bool
detectHasVariants(array $colors)
No description
in
HasPresets at line 116
protected array
computeSupports(array $sizes, array $colorsArray, array $defaults, array $magicProps)
No description
in
HasPresets at line 137
protected array
resolveSize(array $supports, array $sizes, array $defaults, array $magicProps)
No description
in
HasPresets at line 174
protected array
resolveVariant(array $supports, array $colorsArray, array $componentPresets, array $defaults, array $magicProps, bool $hasVariants)
No description
in
HasPresets at line 223
protected array
resolveColor(array $supports, array $colorsArray, array $componentPresets, array $defaults, array $magicProps, string|null $variant, bool $hasVariants)
No description
in
HasPresets at line 293
protected array
resolveFill(array $supports, array $attributes, array $defaults)
No description
in
HasPresets at line 338
protected string
buildCacheKey(string $component, array $supports, string|null $size, string|null $variant, string|null $color, bool $shouldFill)
No description
in
HasPresets at line 349
protected void
syncInstanceProps(array $supports, string|null $size, string|null $variant, string|null $color)
No description
in
HasPresets at line 365
protected array
buildPresetNames(array $supports, string|null $size, string|null $variant, string|null $color, bool $shouldFill, string $sizeOrigin, string $variantOrigin, string $colorOrigin, string $fillOrigin)
No description
in
HasPresets at line 384
protected void
debugWarnings(array $supports, array $sizePreset, array $colorPreset, string $componentName, string|null $variant, string|null $color)
No description
in
HasErrorBag at line 24
array
getErrorState(ComponentAttributeBag|null $attributes = null, ViewErrorBag|MessageBag|null $errors = null, string|null $error = null)
Determine the error state for a specific field.
Checks both the session error bag and specific error attributes.
Looks up errors by wire:model value or name attribute.
in
BeartropyComponent at line 33
array
getWireModelState(ComponentAttributeBag|null $attributes = null)
Analyze wire:model attributes to determine binding state.
Detects if wire:model is present and if it uses dot notation (e.g., user.name).
in
BeartropyComponent at line 64
array
getSizePreset(string|null $componentName = null, array|ComponentAttributeBag|null $attributes = null, string $defaultSize = 'md')
Resolve the size preset for the component.
Checks:
- Explicit
$this->size. - Magic attributes (e.g.,
<x-button sm />). - Default size.
at line 57
__construct(string|null $icon = null, string|null $label = null, string|null $onlyMobile = null, string|null $zIndex = null, string|null $right = null, string|null $bottom = null, string|null $color = null, string|null $size = null)
Create a new Fab component instance.
at line 73
View
render()
Get the view / contents that represent the component.