happones/kinetix
happones/kinetix is a Laravel/PHP package by happones. See the repository README for its features, installation steps, configuration options, and usage examples, and review it to confirm compatibility and suitability for your project.
Architecture fit
<KinetixAccessibilityPanel>, <KinetixAccessibilityMenu>, <KinetixModeToggle> — plus best-effort server-side persistence of per-user preferences. A framework implies routing, navigation, and state ownership; a widget kit implies none of that. Everything downstream hinges on which one this actually is, so resolving that is the first deliverable, not an implementation detail.Inertia::render(), Wayfinder-generated route functions, and Vue 3 SFCs under resources/js/pages.Integration feasibility
vite.config.js, mount components, add a preference column and a small controller endpoint. Days, not weeks.Technical risk
darkMode: 'class' in tailwind.config.js; Tailwind 4 is CSS-first (@theme, @custom-variant dark). If the package ships a preset or a config-file assumption, it fails silently — the UI renders, the theme just never applies.@inertiajs/vite means any client-only component reading localStorage during render produces hydration mismatches and flash-of-incorrect-theme. The theme class must be applied pre-hydration on <html>.Key questions
laravel/framework (we run v13) and inertiajs/inertia-laravel (v3) — actually tested, or merely unconstrained?Inertia::lazy() / LazyProp (removed)?Stack fit
<script setup lang="ts"> is the right shape, but TypeScript types must live in our types/ directory, not be consumed inline from the package. If the package doesn't ship or accept typed props, we wrap it.@custom-variant dark before committing any code.route:list --except-vendor hygiene needs to be in the workflow so vendor noise doesn't mask our own routes.Migration path
Compatibility
Sequencing
Maintenance
repositories VCS entry to a commit SHA, so an upstream deletion or force-push cannot break our build.Support
Scaling
localStorage, with the server as reconciliation rather than the hot path. Unbounded per-user writes to a preferences column will show up as write amplification under load long before they show up in local testing.Failure modes
tailwind.config.js dark mode strategy that Tailwind 4 ignores. UI renders, toggle does nothing.Ramp-up
How can I help you explore Laravel packages today?