Nav
class Nav extends BeartropyComponent
Nav component.
Renders a navigation menu, supporting nested items, permissions, and active state detection.
Traits
Trait HasPresets.
Trait HasErrorBag.
Properties
| string|null | $size | Component size (md, lg, etc.) used for preset resolution. |
from BeartropyComponent |
| array | $items | Navigation items. |
|
| string | $sidebarBind | Sidebar collapse binding. |
|
| string | $highlightMode | 'standard' or 'text'. |
|
| string|null | $highlightParentClass | Custom highlight class for parents. |
|
| string|null | $highlightChildClass | Custom highlight class for children. |
|
| string|null | $itemClass | Base item class. |
|
| string|null | $childItemClass | Base child item class. |
|
| string | $categoryClass | Category header class. |
|
| string | $iconClass | Icon class. |
|
| string | $childBorderClass | Child border class. |
|
| string|null | $hoverTextClass | Hover text class. |
|
| string|null | $hoverTextChildClass | Child hover text class. |
|
| bool | $withnavigate | Enable Wire:navigate. |
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 Nav 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.
Decide de dónde sacar el array de navegación
Carga el archivo de navegación: config/beartropy/ui/navs/
Determine if a navigation item is active based on current request.
Render an icon for a navigation item.
Filter navigation categories and their items based on permissions.
Filter a list of navigation items based on user permissions.
Generate a unique ID for a navigation item.
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 76
__construct(mixed $items = null, string $sidebarBind = 'sidebarCollapsed', string $highlightMode = 'standard', string|null $highlightParentClass = null, string|null $highlightChildClass = null, string|null $itemClass = null, string|null $childItemClass = null, string $categoryClass = 'text-xs font-semibold text-gray-400 dark:text-gray-500 uppercase px-3 mb-1 tracking-wide select-none', string $iconClass = '', string $childBorderClass = 'border-l border-gray-300 dark:border-gray-700', string|null $hoverTextClass = null, string|null $hoverTextChildClass = null, string $color = 'beartropy', bool $withnavigate = false)
Create a new Nav 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 142
protected array
resolveItems(mixed $items)
Decide de dónde sacar el array de navegación
at line 170
protected array
loadConfigNav(string $nav = 'default')
Carga el archivo de navegación: config/beartropy/ui/navs/
at line 188
bool
isItemActive(array $item)
Determine if a navigation item is active based on current request.
Checks path matches, route name matches, and recursive child activation.
at line 267
string
renderIcon(string $icon, string $iconClass = '')
Render an icon for a navigation item.
at line 286
protected array
filterNavCategories(array $categories, mixed $user = null)
Filter navigation categories and their items based on permissions.
at line 317
array
filterNavItems(array $items, mixed $user = null)
Filter a list of navigation items based on user permissions.
at line 424
string
navId(array $item)
Generate a unique ID for a navigation item.
at line 434
View|Closure|string
render()
Get the view / contents that represent the component.