The collection
Built for the moments that make a product.
Start with the pieces users touch every day. Every component carries the same accessibility, responsive behaviour, and exacting finish.
Command palette
Fast, keyboard-first navigation that scales with the complexity of your product.
Form controls
Clear, forgiving controls with labels, hints, validation, and focus states built in.
Notification centre
A composed home for updates, progress, success, and the occasional useful interruption.
Data table
Dense information made calm with precise alignment, useful states, and responsive detail.
Preference controls
Settings that remain readable at a glance and feel obvious the first time around.
No saved views yet
Save your current filters to return to this view in one click.
Empty states
Useful next steps for the quiet moments, without burying people in explanation.
A better baseline
The details are already decided.
Harbour gives teams an opinionated starting point, then gets out of the way. Spend time on the product—not re-solving focus rings.
Accessible by default
Keyboard paths, clear focus, useful labels, and reduced-motion support are part of the component—not an afterthought.
Theme without rewrites
Swap the atmosphere while your component structure, states, and semantics stay exactly where they belong.
Made for Laravel
Blade-first composition, predictable props, named slots, and conventions that feel at home in the framework.
From install to interface
Three steps. One point of view.
Move from a blank Laravel view to a composed product surface without giving up the control that makes it yours.
Add Harbour to the project you already have.
No starter rewrite. No foreign runtime. Install the package and keep your Laravel application recognisably yours.
composer require harbour/ui
Readable Blade. Thoughtful defaults.
- 01<x-ui.card title="Project health">
- 02 <x-ui.metric label="Deployments" value="42" />
- 03 <x-ui.progress :value="86" />
- 04</x-ui.card>