Skip to content

arqel-dev/nav — API Reference

Namespace Arqel\Nav\. NavigationItem + NavigationGroup + Navigation builder + BreadcrumbsBuilder.

Arqel\Nav\NavigationItem (final)

MétodoTipoDescrição
NavigationItem::make(string $label)selfFactory
NavigationItem::resource(class-string<Resource>)selfExtrai label/icon/sort/URL automaticamente
label(string)self
icon(string)selfID lucide-react
url(string)selfXOR com route
route(string $name, array $params = [])selfXOR com url
openInNewTab(bool=true)self
visible(Closure)selfPredicate (?Authenticatable) => bool
badge(int|string|Closure)selfClosures não-int|string descartadas
badgeColor(string)self
sort(int)self
isVisibleFor(?Authenticatable)boolOracle
resolveBadge(): int|string|null
toArray()arrayFiltra chaves null

Arqel\Nav\NavigationGroup (final)

Group colapsável.

MétodoDescrição
NavigationGroup::make(string $label)Factory
label(string), icon(string), sort(int)Setters base
collapsible(bool=true), collapsed(bool=true)collapsed() implica collapsible()
items(array<NavigationItem>)Rejeita não-NavigationItem
addItem(NavigationItem)Acumulação dinâmica
toArray()Ordena items por sort + filtra por visibility

Arqel\Nav\Navigation (final)

Builder principal.

MétodoFunção
item(NavigationItem)Adiciona top-level item
group(string $label, Closure)Cria group e popula via callback
addGroup(NavigationGroup)Adiciona group construído externamente
divider()Insere divisor
autoRegister(bool=true)Opt-out de auto-registo
autoRegisterFromResources(array<class-string>)Agrupa Resources por getNavigationGroup() (ou top-level se null), idempotente
build(?Authenticatable)array<{kind: 'item'|'group'|'divider', ...}> ordenado

Arqel\Nav\BreadcrumbsBuilder (final)

MétodoDescrição
withResources(array<class-string>)
buildFor(string $routeName, array $params)Resolve breadcrumbs a partir de arqel.{panel}.{resource}.{action}

Suporta actions index/create/edit/show. Quando params['record'] é Model, interpola Resource::recordTitle($record). Fallback para ucfirst($slug) quando Resource não está registado.

Constantes: ACTION_INDEX = 'index', ACTION_CREATE = 'create', ACTION_EDIT = 'edit', ACTION_SHOW = 'show'.

Licença MIT — construído com Inertia + React + Laravel.