jksantos/jetax
Jetax é um design system opinativo para a TALL Stack em PHP 8.4+ e Laravel 12+: rode o instalador e tenha sidebar, topbar, workspace e 60+ componentes Blade/Livewire prontos, com dark mode nativo, tipografia Manrope/Inter e tudo publicável para customização.
@theme {} and configurable via config/jetax.php. Whether to offer per-tenant or per-brand theming becomes a config-and-CSS decision rather than a component-rewrite estimate. The v1.1.0 changelog shows the token migration was done deliberately (dark mode overrides --color-* so Tailwind utilities respond automatically) — a good sign for rebranding cost.lang="pt-BR" in the layout example). For a Brazil/LatAm-focused product that's a feature; for a distributed English-first eng org it's an onboarding tax that has to be budgeted.@imports first. That's an external render-blocking request by default — a self-hosting decision you should make consciously if you have GDPR or performance budgets.Good fit:
vendor:publish views and patch them, and you can accept a fork if the maintainer stops.Look elsewhere when:
per_page pagination path, plus a withPath() bug that produced duplicate-segment 404s. Unit coverage reportedly ≥80%, but these are integration-level regressions shipped in consecutive patches. Server-side filtering, bulk actions, column visibility, and exports are where Filament's table is simply years ahead — don't pick Jetax for the table and then rebuild it.Default recommendation: pilot it on one internal tool behind a timebox, not on a revenue-critical surface, and pin the version.
To executives (one paragraph): "For our internal admin screens we currently estimate ~6 weeks of front-end and design work to get a consistent shell, forms, and tables. Jetax is an MIT-licensed, no-cost Laravel UI kit that hands us that layer — sidebar, topbar, dark mode, 60+ components, themable via config. There's no per-seat license and no vendor lock-in; we can fork it. The trade-off is that it's an early, single-maintainer project with no adoption yet, so I'm recommending we pilot it on one internal tool, keep it off customer-facing surfaces for now, and make a go/no-go call at the end of the pilot. Downside if it's abandoned: we own a Blade component library we already have in our repo."
To engineering: "It's an opinionated Blade/Livewire component library with a Tailwind v4 token layer and publishable views — nothing exotic on the runtime side, Alpine comes in via @livewireScripts, and the whole thing is vendor:publish-able so any component can be overridden locally. Costs we should price in: hard floor on PHP 8.4 / Laravel 12 / Livewire 4 / Tailwind 4; Google Fonts must be self-hosted for privacy and build stability; and the data-table component has had pagination regressions in the last two patches, so treat it as the weakest surface and review it before we lean on it."
Framing to use in the meeting: the decision is not "is this package good" — it's "do we want to own a UI layer we didn't write, from a maintainer we can't contract with?" MIT plus publishable views makes that a bounded bet, not a lock-in. The thing to actually judge is the exit cost, and the exit cost here is low. Judge it on that, not on the star count.
How can I help you explore Laravel packages today?