Menu
class Menu extends BeartropyComponent
Menu component.
Renders a menu list.
Traits
Trait HasPresets.
Trait HasErrorBag.
Properties
| string|null | $size | Component size (md, lg, etc.) used for preset resolution. |
from BeartropyComponent |
| array | $items | Menu items. |
|
| string | $ulClass | CSS class for UL element. |
|
| string | $titleClass | CSS class for titles. |
|
| string | $itemClass | CSS class for items. |
|
| string | $liClass | CSS class for LI elements. |
|
| string | $activeClass | CSS class for active items. |
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
Retrieve the error state for a given attribute or context.
Create a new Menu component instance.
Analyze wire:model attributes to determine binding state.
Get the size preset configuration.
Resolve the size preset for the component.
Resolve the color preset configuration.
Details
in
HasPresets at line 22
array{0: array, 1: array, 2: bool, 3: array}
getComponentPresets(string|null $componentName = null, ComponentAttributeBag|null $attributes = null)
compute component presets based on context.
in
HasPresets at line 64
protected array
loadPresets(string $componentName)
No description
in
HasPresets at line 75
protected array
loadComponentDefaults(string $componentName)
No description
in
HasPresets at line 88
protected bool
detectHasVariants(array $colors)
No description
in
HasPresets at line 100
protected array
computeSupports(array $sizes, array $colorsArray, array $defaults, array $magicProps)
No description
in
HasPresets at line 118
protected array
resolveSize(array $supports, array $sizes, array $defaults, array $magicProps)
No description
in
HasPresets at line 149
protected array
resolveVariant(array $supports, array $colorsArray, array $componentPresets, array $defaults, array $magicProps, bool $hasVariants)
No description
in
HasPresets at line 193
protected array
resolveColor(array $supports, array $colorsArray, array $componentPresets, array $defaults, array $magicProps, string|null $variant, bool $hasVariants)
No description
in
HasPresets at line 258
protected array
resolveFill(array $supports, array $attributes, array $defaults)
No description
in
HasPresets at line 303
protected string
buildCacheKey(string $component, array $supports, string|null $size, string|null $variant, string|null $color, bool $shouldFill)
No description
in
HasPresets at line 313
protected void
syncInstanceProps(array $supports, string|null $size, string|null $variant, string|null $color)
No description
in
HasPresets at line 326
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 344
protected void
debugWarnings(array $supports, array $sizePreset, array $colorPreset, string $componentName, string|null $variant, string|null $color)
No description
in
HasErrorBag at line 21
array{__bt_wireModel: string|null, __bt_finalError: string|null, __bt_hasError: bool}
getErrorState(string|null $error = null, ComponentAttributeBag|null $attributes = null, MessageBag|null $errors = null)
Retrieve the error state for a given attribute or context.
at line 46
__construct(array $items, string $ulClass = 'mt-4 space-y-2 dark:border-slate-800 lg:space-y-4 lg:mt-4 lg:border-slate-200', string $titleClass = 'font-medium text-orange-500 font-display dark:text-orange-400', string $itemClass = 'transition inline-flex items-center gap-x-2 text-gray-500 dark:text-gray-400 hover:text-orange-500 dark:hover:text-orange-400', string $liClass = 'relative', string $activeClass = 'text-orange-500 dark:text-orange-400 font-semibold')
Create a new Menu component instance.
in
BeartropyComponent at line 65
array{0: bool, 1: string|null, 2: bool, 3: string|null}
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 92
array<string,mixed>
getComponentSizePreset(string|null $componentName = null, ComponentAttributeBag|null $attributes = null)
Get the size preset configuration.
Legacy method for size resolution. Prioritizes size property, then magic attributes.
in
BeartropyComponent at line 133
array<string,mixed>
getSizePreset(string|null $componentName = null, ComponentAttributeBag|array|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.
in
BeartropyComponent at line 167
array<string,mixed>
getColorPreset(string $component, string|null $color = null, string|null $variant = null)
Resolve the color preset configuration.
Handles color resolution based on component config, variants, and defaults.
at line 68
View|Closure|string
render()
Get the view / contents that represent the component.