- What is WireKit and is it free for commercial Laravel projects?
- WireKit is a free, open-source UI component library for Laravel Livewire styled with Tailwind CSS v4 and powered by Alpine.js. It ships themeable, accessible, dark-mode-aware components for forms, navigation, overlays, layouts, marketing pages and data display. It is MIT licensed, so you can use it in commercial Laravel applications. Full documentation is at docs.wirekit.app.
- What are WireKit's requirements and supported Laravel versions?
- WireKit requires PHP 8.4 or newer, Laravel 12+ or 13+, Livewire 4+, Tailwind CSS v4 and Alpine.js. Its browser baseline follows Tailwind CSS v4: Chrome and Edge 111, Safari 16.4 and Firefox 128, with no polyfills or vendor-prefix fallbacks. Legacy PHP or Laravel apps and non-Livewire Laravel apps are not a good fit.
- How do I install WireKit in a Laravel Livewire application?
- Install it with composer require pushery/wirekit. Then add @wirekitStyles in your layout head and @wirekitScripts before the closing body tag, alongside your Vite CSS and JS assets. The v2.64.0 release adds no extra install steps or dependency requirements beyond the existing TALL stack.
- How accessible is WireKit and does it support dark mode?
- WireKit is described as accessible by default and dark-mode aware. In v2.64.0 accessibility is enforced in markup: labels name comboboxes, date pickers and multi-selects, options carry lang for correct screen-reader pronunciation, and OTP, phone country picker and upload states are announced. The wirekit:doctor:a11y CLI can act as an accessibility regression gate.
- Why do my modals and drawers now ask 'Discard your changes?' after upgrading?
- Since v2.64.0, modals and drawers track dirty state and by default prompt 'Discard your changes?' on Escape, outside click or the close button. This applies to overlays wrapping forms. You can keep the default, disable it per overlay with :confirm-discard="false", or turn it off globally in config.
- How do I disable the discard confirmation for a specific modal or drawer?
- Pass :confirm-discard="false" to the individual modal or drawer, or set components.modal.confirm-discard and components.drawer.confirm-discard in the package config. You can also customize the discard question and mark filter boxes with data-wk-discard-ignore. Fields opt into dirty tracking with x-wk-unsaved.
- Does WireKit cause excessive Livewire updates with sliders, ratings and character counters?
- No, the v2.64.0 traffic profile reduces that concern. Rating, range slider and calendar components emit with wire:model.blur or wire:model.change, sending only the value the reader just chose. Character counters on inputs and textareas are computed client-side in Alpine with no server round-trip, so they do not require wire:model.live.
- What is wirekit:doctor:a11y and how should I test WireKit components?
- wirekit:doctor:a11y is WireKit's accessibility CLI; in v2.64.0 it becomes a genuine regression gate because accessibility is enforced in component markup. Run it as part of your test or CI workflow. Also test overlay discard behavior, option lang attributes and translated strings, since those are the main verification areas after upgrading.
- Can I use WireKit in a non-Livewire Laravel app or with custom JavaScript logic?
- WireKit is designed for Livewire-based Laravel apps on the TALL stack, so non-Livewire Laravel apps are a poor fit. Highly complex bespoke client-side logic is also outside its intended use. It adds Alpine behavior without introducing a JavaScript framework.
- Is WireKit actively maintained and what changed in the latest v2.64.0 release?
- v2.64.0, published 2026-07-01, is a minor release with one security fix, additive features and a default-on behavioral change around overlay discard confirmation. It improves the Livewire traffic profile, enforces accessibility in markup and adds new Alpine behavior such as sticky page headers, command palette handoff and kanban reorder mode. Existing adopters should review overlay prompts, option lang data and translation files before rollout.