Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Livewire Ui Components Laravel Package

artisanpack-ui/livewire-ui-components

View on GitHub
Deep Wiki
Context7
2.1.0

Added

  • Cross-cutting UI extension hooks powered by artisanpack-ui/hooks. Nine seams for applications and third-party packages to extend rendered classes, attributes, icons, toasts, table columns, theme configuration, modal lifecycle, and spotlight commands without editing individual components. See the "Extension Hooks" section of the README for the full table. (#108)
    • ap.livewireUiComponents.componentClasses filter — opt-in per component via $this->getClasses($classes)
    • ap.livewireUiComponents.componentAttributes filter — fires on every component render
    • ap.livewireUiComponents.iconAlias filter
    • ap.livewireUiComponents.toastDispatched action
    • ap.livewireUiComponents.tableColumns filter
    • ap.livewireUiComponents.themeColors filter
    • ap.livewireUiComponents.modalWillOpen / modalWillClose actions (via Support\ModalBridge)
    • ap.livewireUiComponents.spotlightCommands filter
  • New ArtisanPack\LivewireUiComponents\View\Components\BaseComponent abstract class that all Blade components now extend. Provides the shared render-pipeline seams for classes and attributes.
  • New ArtisanPack\LivewireUiComponents\Support\ModalBridge helper for firing modal lifecycle hooks server-side.

Changed

  • Require artisanpack-ui/hooks: ^1.2.

CI

  • Drop Laravel 10 from the CI test matrix. The ecosystem dependencies (artisanpack-ui/hooks, icons, accessibility, core) all now require illuminate/support: ^11+, so composer cannot resolve a Laravel 10 test run regardless of this package's own constraint.
  • Run Feature tests unconditionally (if: always()) so new Feature-suite coverage exercises even when pre-existing Unit-suite failures make the earlier step exit non-zero.

2.0.5

Changed

  • Widened owenvoke/blade-fontawesome constraint from ^2.9 to ^2.9|^3.0 to unblock Laravel 13 adoption in downstream consumers (the v2.9 line transitively caps illuminate/support at ^12.0; v3.2.2 declares ^12.0|^13.0). Backwards compatible — existing v2.9 installs continue to resolve. (#103)

CI

  • Expanded the CI test job into a PHP × Laravel × blade-fontawesome matrix covering L10–L13 on PHP 8.2–8.4 with both blade-fontawesome v2 and v3, so future framework bumps are exercised before tag. Matrix is informational-only for this release (see #105 for the gating cleanup).

2.0.4

Changed

  • Added Laravel 13 support by widening illuminate/support constraint to ^10.0|^11.0|^12.0|^13.0
  • Widened orchestra/testbench dev constraint to ^8|^9|^10|^11 to enable testing against Laravel 13
  • Added explicit php constraint of ^8.1 so Composer fails fast on unsupported PHP versions (the floor matches Laravel 10's PHP requirement; Laravel 11/12/13 transitively enforce higher floors)

2.0.3

Changed

  • Updated artisanpack-ui/security constraint from ^1.0 to ^1.0|^2.0 to support ArtisanPack UI Security 2.0

2.0.2

Fixed

  • Fixed alignment issue with the select component
  • Guard toast JS call against missing function
  • Fix CodeRabbit review findings from GitHub migration

2.0.1

Changed

  • Updated Livewire dependency constraint from ^3.6 to ^3.6|^4.0 to support Livewire 4.0

2.0.0

Added

Dashboard Components

  • KpiCard: New component for displaying KPIs with sparklines, trend indicators, and glass effects
    • Supports sparkline visualization (area, line, bar charts)
    • Automatic trend indicator coloring (green for positive, red for negative)
    • Glass effect support with customizable tints
    • Footer slot for additional content
  • WidgetGrid: Responsive grid helper for dashboard layouts
    • Configurable column count (1-6 columns)
    • Automatic responsive breakpoints
    • Configurable gap spacing
  • Sparkline: Inline sparkline chart component
    • Supports area, line, and bar chart types
    • Customizable colors

Table Data Export

  • TableExporter: New utility class for exporting table data
    • CSV export (client-side)
    • XLSX export via PhpSpreadsheet (server-side)
    • PDF export via DomPDF (server-side)
    • Automatic header normalization for Table component format
    • Hidden column filtering
  • WithTableExport: New trait for Livewire components
    • Handles table-export-request events
    • Provides exportTableToCsv() and exportTableToXlsx() methods
    • Abstract getTableExportData() method for customization
  • Table component: New export props
    • exportable - Enable export functionality
    • export-formats - Configure available formats (csv, xlsx, pdf)
    • export-filename - Custom filename for exports

Streaming Content (Livewire 4+)

  • StreamableContent: New component for displaying real-time streaming content
    • Supports Livewire 4's wire:stream directive
    • Blinking cursor animation option
    • Placeholder text support
    • Prose styling for rich text
    • Graceful degradation on Livewire 3

Glass Effects

  • GlassHelper: New utility class for frosted glass UI effects
    • Three glass variants: frost, blur, subtle
    • Customizable tint colors with accessible text colors
    • WCAG 2.0 AA compliant contrast handling
  • GlassPresets: Six pre-built glass theme configurations
    • glass-frosted-light - Professional frosted glass for light backgrounds
    • glass-frosted-dark - Sophisticated frosted glass for dark backgrounds
    • glass-liquid-light - Premium liquid glass effect for light backgrounds
    • glass-liquid-dark - Dramatic liquid glass with enhanced glow
    • glass-minimal - Subtle, accessibility-friendly glass effect (adaptive)
    • glass-bold - Strong, prominent glass for CTAs and heroes (adaptive)
    • CSS class-based application system
    • Programmatic API for generating custom presets

Accessibility & High Contrast Themes

  • HighContrastTheme: WCAG AAA compliant high-contrast theme system
    • high-contrast-light - Maximum contrast on light backgrounds (WCAG AAA)
    • high-contrast-dark - Maximum contrast on dark backgrounds (WCAG AAA)
    • enhanced-contrast-light - Improved contrast on light (WCAG AA)
    • enhanced-contrast-dark - Improved contrast on dark (WCAG AA)
    • Automatic prefers-contrast and prefers-reduced-motion media query support
    • Enhanced focus indicators for keyboard navigation
    • Text scaling classes (.text-larger, .text-extra-large)
    • Skip link styling for accessibility

Theme Preview Tool

  • ThemePreview: Browser-based interactive theme customization tool
    • Real-time color adjustment with Tailwind colors or custom hex
    • Component preview gallery organized by category
    • Glass effect customization with presets and tint options
    • Accessibility preset selection
    • Dark mode toggle
    • Export to CSS or JSON
    • Shareable preview URLs with all settings encoded
    • Generated artisan command output
    • Available at /artisanpack/theme-preview route

Livewire 4 Features

  • Table component: Native drag-and-drop sorting via wire:sort
    • sortable prop with sort handles
    • Cross-list dragging via sort-group
  • Table component: Infinite scroll via wire:intersect
    • infinite-scroll prop with customizable loading text
    • Modifier support (once, half, full)
  • LivewireHelper: Version detection utility for feature compatibility

Changed

  • Updated component count from 60+ to 70+ in documentation
  • Table component now supports associative array rows with automatic normalization
  • Updated home.md and components.md with v2.0 features
  • Added Dashboard Components category to documentation
  • GenerateThemeCss command: Enhanced with new options
    • --preset option for applying glass presets
    • --presets-only to generate only glass preset CSS
    • --high-contrast-only to generate only accessibility CSS
    • --accessibility-preset to apply specific accessibility preset
    • --no-high-contrast to skip high contrast CSS generation
    • --json to export theme configuration as JSON
    • --interactive mode for guided theme creation

Dependencies

  • Added phpoffice/phpspreadsheet as suggested dependency for XLSX export
  • Added barryvdh/laravel-dompdf as suggested dependency for PDF export

Notes

  • Livewire 4-specific features (wire:stream, wire:sort, wire:intersect) are gracefully ignored on Livewire 3
  • XLSX and PDF exports require optional dependencies to be installed
  • Theme preview tool available at /artisanpack/theme-preview (named route: artisanpack.theme-preview)
  • Glass presets use CSS custom properties for easy theming
  • High contrast themes respect system prefers-contrast and prefers-reduced-motion media queries
  • All v2.0 features are additive with no breaking changes from v1.x

1.0.2

Fixed

  • Button component: Fixed loading state content (spinners, loading text/icons) showing in default state instead of only during loading
    • Changed from wire:loading to CSS-safe approach using class="hidden" with wire:loading.class.remove="hidden"
    • Ensures loading indicators are hidden by default via CSS, preventing flash of unstyled content
    • Loading content is now properly hidden on initial page render regardless of JavaScript initialization timing

Changed

  • Button documentation: Updated loading states section with recommended usage patterns and explanation of CSS-safe implementation

1.0.1

Fixed

  • Demo views: Fixed image-gallery and image-slider demo views to use correct <x-artisanpack-*> component prefixes instead of incorrect <x-*> syntax
  • ColorGenerator: Removed unused $a11y variable and ArtisanPackUI\Accessibility\Facades\A11y import in generateThemeCss() method

1.0.0

First Stable Release

This is the first stable release of ArtisanPack UI Livewire UI Components, a comprehensive UI component library for the TALL stack (Tailwind CSS, Alpine.js, Laravel, and Livewire).

Highlights

  • 77 Production-Ready Components: Complete library spanning form inputs, layout elements, navigation, data display, feedback, and utility components
  • Full Test Coverage: 1,567+ tests with 6,490 assertions ensuring reliability
  • Laravel 10, 11, and 12 Support: Future-proof compatibility with current and upcoming Laravel versions
  • Livewire 3.6+ Compatible: Built for the latest Livewire features
  • Tailwind CSS 4 and daisyUI: Modern styling with full dark mode support
  • Accessibility Focused: WCAG 2.1 compliant components
  • Comprehensive Documentation: Detailed guides and examples for every component

Component Categories

  • Form Components (25): Button, Input, Select, Checkbox, DatePicker, Editor, File upload, and more
  • Layout Components (11): Card, Modal, Tabs, Accordion, Drawer, Dropdown
  • Navigation Components (9): Menu, Breadcrumbs, Pagination, Spotlight Search
  • Data Display Components (22): Table, Chart, Calendar, Avatar, Badge, Progress
  • Feedback Components (4): Alert, Toast, Loading, Errors
  • Utility Components (6): Carousel, Icon, ThemeToggle, Swap

Migration from Beta

If upgrading from a beta version, no breaking changes are expected. The component API remains stable.


1.0.0-beta.4

Added

  • CodeRabbit AI code review configuration file for automated code quality checks
  • New enhancement issue template for improvement requests
  • Comprehensive default merge request template with standardized sections

Changed

  • CONTRIBUTING.md: Completely overhauled contributing guidelines with extensive documentation
    • Added detailed development workflow and Git branching strategy
    • Expanded code style guidelines and best practices
    • Included comprehensive testing requirements and documentation standards
    • Added merge request and issue management guidelines
  • Issue templates: Updated and streamlined issue templates
    • Enhanced bug report template with better structure
    • Improved feature request template with clearer sections
    • Updated task template with standardized format
  • Merge request templates: Restructured merge request templates
    • Consolidated templates into default and release templates
    • Enhanced release merge request template with comprehensive checklist
    • Removed redundant bug, feature, and task-specific templates
  • Drawer component: Code improvements and optimizations

Fixed

  • Menu item component: Fixed padding issues for better visual consistency (menu-item.blade.php:line 2)
  • Input component: Resolved rendering and functionality issues
    • Fixed input field rendering (input.blade.php, Input.php)
    • Fixed checkbox component rendering (checkbox.blade.php, Checkbox.php)
    • Fixed toggle component rendering (toggle.blade.php, Toggle.php)

Infrastructure

  • Enhanced project documentation and contribution guidelines
  • Improved automated code review workflow with CodeRabbit integration
  • Streamlined GitLab issue and merge request templates
1.0.0-beta.3

Added

  • Laravel Boost AI guidelines in resources/boost/guidelines/core.blade.php for enhanced AI-assisted development
  • New loading property for Button component that accepts either text or icon name (auto-detected by prefix)
  • Developer tools support with comprehensive documentation

Changed

  • Button component: Added support for custom loading states with loading prop
    • Automatically detects if value is an icon (o-, s-, fa-, c-, heroicon-, icon- prefixes) or text
    • Replaces default spinner with custom content during loading state
    • Hides regular button content when loading text is provided
  • Documentation: Completely rewrote table component documentation to match actual implementation
    • Fixed all examples to use correct :headers array with object structure
    • Documented [@scope](https://github.com/scope) directives for custom cell/header rendering
    • Added comprehensive examples for sorting, pagination, row selection, expandable rows
    • Updated button, checkbox, input, and form component documentation
  • Updated dependency versions:
    • artisanpack-ui/accessibility: 2.0.0 → 2.1.0
    • artisanpack-ui/code-style: 1.0.5 → 1.1.0
    • artisanpack-ui/icons: 2.0.0 → 2.1.0
    • Added artisanpack-ui/hooks: 1.2.0
    • laravel/serializable-closure: v1.3.7 → v2.0.6
    • nette/utils: v4.0.8 → v4.0.9
  • Removed deprecated package: tormjens/eventy

Fixed

  • Security: Fixed XSS vulnerabilities in icon rendering
    • ToastException: Added icon name validation to prevent XSS attacks
    • Toast trait: Added icon name validation with regex pattern and safe Blade bindings
    • Icons now validated against allowlist pattern before rendering
  • GitLab CI: Fixed build stage failure with PHP 8.5
    • Changed build stage from composer:2 image (PHP 8.5) to php:8.2 for consistency
    • Added PHP zip extension installation to resolve dependency requirements
  • Type safety: Improved strict type compliance throughout codebase
    • Button component: Changed loose comparison 1 == $spinner to strict "1" === $spinner
    • MenuItem component: Changed loose comparison 1 == $spinner to strict "1" === $spinner
    • Header component: Changed 1 == $progressIndicator to true === $progressIndicator
    • Card component: Changed 1 == $progressIndicator to true === $progressIndicator
  • Type declarations: Fixed property type declarations for boolean attributes
    • Card component: Changed progressIndicator type from ?string to string|bool|null
    • Header component: Changed progressIndicator type from ?string to string|bool|null
  • PHPDoc: Corrected namespace in GenerateThemeCss command
    • Fixed [@param](https://github.com/param) type from incorrect \ArtisanPackUI\LivewireUIComponents\Styling\ColorGenerator to correct \ArtisanPack\LivewireUiComponents\Styling\ColorGenerator
  • Code quality: Removed development markers from production code
    • Checkbox component: Removed inline comment "// [CHANGED] Added value prop"
  • Editor component: Replaced fragile quote replacement with Laravel's Js::from() helper
    • Prevents JavaScript errors when config values contain single quotes
    • Uses proper JSON/JS-safe representation instead of string manipulation

Infrastructure

  • Updated GitLab CI configuration to ensure PHP version consistency across all pipeline stages
  • Enhanced code security with comprehensive input validation
1.0.0-beta.2

Changed

  • Updated artisanpack-ui/accessibility to ^2.0.0 for Laravel 12 compatibility
  • Updated artisanpack-ui/icons to ^2.0 for Laravel 12 compatibility
  • Updated phpstan/phpstan to ^2.0
  • Updated larastan/larastan to ^3.0 for Laravel 12 support
  • Updated rector/rector to ^2.0 for PHPStan 2.0 compatibility

Infrastructure

  • Added support for Laravel 12
  • Updated development tooling dependencies for improved code analysis
1.0.0-beta.1

Added

  • New profile component for user profile displays
  • New fieldset component for grouping form fields
  • Comprehensive testing framework using Pest PHP
  • Code style checking with PHP_CodeSniffer
  • Support for artisanpack-ui/core package for improved configuration handling
  • AI guidelines for development
  • Component name standardization across the package

Changed

  • Button component: Complete overhaul with improved functionality and consistency
  • Toast component: Enhanced accessibility support
  • Drawer component: Updated to support multiple interaction modes
  • Tabs component: Added extensive customization options
  • Menu item component: Improved icon/spinner spacing logic and added menu-item class

Fixed

  • Fatal error in the toast trait
  • Accessibility issues in dropdown component
  • Accessibility issues in profile component
  • Accessibility issues in sub menu component
  • Rendering issues with checkbox component
  • Rendering issues with radio component
  • Rendering issues with toggle component
  • Issues with input component
  • Issues with select component
  • Issues with textarea component

Infrastructure

  • Updated .gitlab-ci.yml configuration
  • Removed unnecessary development files from repository
  • Updated .gitattributes to exclude development files from releases
  • Updated .gitignore to prevent committing build artifacts
  • Enhanced documentation
0.6.0
  • Updated rating component functionality and accessibility.
  • Added image slider and image gallery components.
  • Updated carousel component with customizable icons and accessibility improvements.
  • Added support for vertical tabs.
  • Added customization options for stat component.
  • Added search functionality for tags component.
  • Added pagination component options.
  • Added drag-and-drop upload functionality for file and image library components.
  • Added custom icon support for ListItem and Loading components.
  • Added color and theme support for datepicker component.
  • Added color variants for avatar, alert, badge, button and toast components.
  • Added button component variants.
  • Repository cleanup and documentation improvements.
0.5.0
  • Added random color generator functionality.
  • Added icon options for accordion and collapse components.
  • Added card variant support for checkbox and radio components.
  • Added card figure positioning options.
  • Updated HR separator component.
  • Updated menu documentation.
  • Fixed calendar component issues.
  • Fixed Mary references throughout the codebase.
0.4.4
  • Fixed issue with the editor component.
0.4.3
  • Fixed issue with the rich text editor component.
  • Added in ability to customize the background for hover and active states for menu items.
0.4.2
  • Added in some various fixes to the package.
0.4.1
  • Added a fix for the custom event modal for the calendar.
0.4.0
  • Updated the calendar component to be able to show events and event modals.
0.3.3
  • Fixed issues with tables and Livewire components.
0.3.2
  • Fixed styling for the sidebar on the main component.
0.3.1
  • Fixed a problem with the theme generator CSS overwriting dark mode CSS variables.
  • Fixed a problem with color stops not being generated for primary, secondary and accent colors.
0.3.0
  • Added fixes for rendering the components.
0.2.0
  • Added in typography components for heading, subheading, text and link.
0.1.0
  • Initial test release of the ArtisanPack UI Livewire UI Components package.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views