v0.1.0
Latest
Changelog
All notable changes to NavCraft will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.0] - 2026-07-01
Added
Admin (Tree Builder)
- Drag-and-drop nested tree builder using SortableJS
- Filament slide-over form with Content and Appearance tabs
- Item types: URL (with validation), Route (with auto-detected parameters), Mega Menu (Layup builder)
- Inline label editing via double-click
- Duplicate items with deep clone of children
- Delete with Filament confirmation modal
- Collapse/expand children with chevron toggle and child count badge
- Drag depth enforcement: mega menus cannot receive children
- Search/filter toolbar to dim non-matching items
- Undo/redo history stack (30 snapshots) with toolbar buttons
- Empty state with illustration when no items exist
- Type badges (URL/Route/Mega) with color coding
- Target/new-tab toggle for URL and Route items
- CSS class and icon fields in Appearance tab
- Full DB persistence: create, edit, reorder, rename, delete, duplicate all write through
wire:ignorefor Alpine state preservation across Livewire rendersAlpine.data('ncTreeBuilder')registered via@scriptblock (Layup pattern)- Hidden action mount points for Filament action lifecycle
Frontend (Renderer)
@navcraft('slug')Blade directive<x-navcraft-menu slug="..." />Blade component<x-navcraft-breadcrumb slug="..." />breadcrumb component@navCraftScriptsdirective (includes Layup scripts when installed)- Mobile responsive: hamburger toggle below
lg, accordion submenus - Desktop dropdowns with configurable hover or click mode
- Mega menu panels: Layup content rendering or auto-column grid fallback
- Four theme presets: minimal, bordered, pill, underline
- Sticky nav option via menu settings
- Active trail highlighting through parent chain
- Icon rendering via
<x-dynamic-component>from Heroicon names - Cached HTML rendering (1 hour TTL, timestamp-based key)
- Full ADA/WCAG 2.1 AA compliance:
<nav>landmark witharia-label- Disclosure pattern by default; optional
menubar/menuitem/nonestructure vianav_pattern aria-haspopup, dynamicaria-expanded,aria-controlsaria-current="page"on matching URLsrole="region"witharia-labelon mega panels- Keyboard: Tab, Enter/Space toggle, Escape close, Arrow keys
- External links:
target="_blank",rel="noopener", sr-only text - Visible focus indicators on all interactive elements
Theming & Customization
- CSS-variable theming: every front-end color is driven by
--nc-*custom properties, with light/dark defaults shipped intheme-style.blade.phpinside@layer navcraftso consumer:rootoverrides win — rebrand the whole menu without publishing or editing views nav_patternsetting: WAI-ARIA disclosure pattern (default, recommended for site navigation) ormenubar(opt-in for app-style menus)- Featured cards on mega items via
settings.featured(title, body, CTA), rendered beside the auto-generated link columns and editable in the item's Content tab; Layup content still takes precedence - Menu Display settings exposed in the admin: navigation pattern, open-on hover/click, theme preset, breakpoint, sticky
- Progressive, depth-scaled
z-indexon panels so nested menus stack correctly - README sections for Theming, Tailwind
@source, navigation pattern, and featured cards;navcraft:installprints the Tailwind@sourcenote
Models
Menumodel with name, slug, description, status, settings (JSON)MenuItemmodel with type, label, url, route, target, order, css_class, icon, content (JSON), settings (JSON)- Self-referencing
parent_idfor tree structure allDescendants()recursive eager-loading relationgetUrl()resolves URL for both url and route typesisOnActiveTrail()recursive active state detectiongetAncestorTrail()for breadcrumb generation- Configurable table names via config
- Soft deletes on both models
- Factories with states: published, draft, megamenu, divider, heading, childOf, withContent, withItems
Infrastructure
NavCraftPluginfor Filament panel registrationNavCraftServiceProviderwith views, migrations, config, Blade directives and componentsMenuRendererservice class with caching- 55 Pest tests covering models, tree building, rendering, theming, cloning, and service provider
- Pint and Rector for code quality
[0.0.1] - 2026-03-23
Added
- Initial development release
- Menu and MenuItem models with migrations
- Basic Filament resource for menu management