navius

Acknowledgements

Navius is inspired by and stands on the shoulders of the projects that charted this territory first. Credit where it's due.

The Base UI contract

Navius tracks Base UI as its 1:1 specification. The anatomy of every component (the PortalPositionerPopup split, the discrete boolean-presence state attributes (data-open / data-closed, data-checked, data-pressed, data-highlighted, data-popup-open), the data-starting-style / data-ending-style transition model, and the part/prop names) follows Base UI's contract, brought faithfully to Razor.

Headless lineage

Base UI is itself the successor to Radix UI, which set the bar for what accessible, headless components should feel like: unstyled parts you compose yourself, the controlled/uncontrolled pattern, and the WAI-ARIA keyboard contracts. Navius's earliest surface followed the Radix trail before re-basing onto the Base UI contract; that Radix heritage is gratefully acknowledged here as history.

Copy-paste distribution

The idea that you own your components (copy them into your project, keep every class, and upgrade by choice rather than by version bump) comes from shadcn/ui. Its copy-paste, you-own-the-code model is the template for how the styled helm layer and the navius add CLI distribute components.

The brain & helm split

The two-layer architecture (a headless brain that owns behaviour, with a styled helm you can swap or rewrite) mirrors the approach pioneered by spartan/ui in the Angular world. It showed that one accessible engine can sit beneath any visual layer.

Class-merge tooling

Where the styled layer needs to merge and de-conflict Tailwind classes or express component variants, it leans on TailwindMerge.NET and TailwindVariants.NET (the .NET ports that bring the familiar tailwind-merge and variant ergonomics to Blazor).