nyoncode / wire-core
Shared foundation for the Wire ecosystem – traits, actions, modals, notifications, icons, colors.
Requires
- php: ^8.2
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
- livewire/livewire: ^3.0
- nyoncode/laravel-package-toolkit: ^2.0.1
Requires (Dev)
- laravel/pint: ^1.29
- orchestra/testbench: ^8.0|^9.0|^10.0|^11.0
- pestphp/pest: ^2.0|^3.0|^4.0
README
Shared foundation for the Wire ecosystem – traits, actions, modals, notifications, icons, and colors.
Requirements
- PHP 8.2+
- Laravel 10, 11, or 12
- Livewire 3.x
Installation
Wire Core is typically installed as a dependency of wire-forms or wire-table. You don't usually install it directly:
composer require nyoncode/wire-core
Tailwind CSS
Wire Core's Blade components (icons, badges, buttons, dropdowns, modals, notifications) use Tailwind CSS classes. Add the package views to your Tailwind content configuration:
Tailwind 3 (tailwind.config.js):
export default { content: [ // ... your app paths './vendor/nyoncode/wire-core/resources/views/**/*.blade.php', ], }
Tailwind 4 (resources/css/app.css):
@source "../../vendor/nyoncode/wire-core/resources/views";
Alpine.js
Wire Core uses inline Alpine.js directives (included via Livewire 3). No separate Alpine installation needed.
What's Included
Concerns (Traits)
Shared traits used by Actions, Columns, Fields, and other components:
HasColor– Tailwind CSS color class managementHasIcons– SVG icon rendering with 50+ built-in iconsHasVisibility– Conditional visibility, permissions, disabled stateHasDynamicProperties– Closure-based dynamic properties (label, color, icon per record)HasKeyboardShortcut– Keyboard shortcut support with Alpine.js integrationHasLifecycle– Before/after hooks with halt supportHasLoadingState– Loading indicators, debounce, timeoutHasModal– Modal/confirmation dialog configurationHasButtonStyles– Button CSS class generation
Actions
Complete action system for row, bulk, and header actions:
Action,BulkAction,HeaderAction– Action typesActionGroup– Dropdown groupingActionHalt– Pipeline halt with modalDeleteAction,EditAction,ViewAction– Pre-built actionsModalStep,ModalFooterAction– Multi-step wizard support
Notifications
Pluggable notification system with three built-in drivers:
SessionDriver– Laravel session flash (default)LivewireEventDriver– Livewire browser eventsFlasherDriver– PHP Flasher integration
Configuration
Publish the config file:
php artisan vendor:publish --tag=wire-core-config
License
MIT