artisanpack-ui/livewire-ui-components
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 renderap.livewireUiComponents.iconAlias filterap.livewireUiComponents.toastDispatched actionap.livewireUiComponents.tableColumns filterap.livewireUiComponents.themeColors filterap.livewireUiComponents.modalWillOpen / modalWillClose actions (via Support\ModalBridge)ap.livewireUiComponents.spotlightCommands filterArtisanPack\LivewireUiComponents\View\Components\BaseComponent abstract class that all Blade components now extend. Provides the shared render-pipeline seams for classes and attributes.ArtisanPack\LivewireUiComponents\Support\ModalBridge helper for firing modal lifecycle hooks server-side.artisanpack-ui/hooks: ^1.2.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.if: always()) so new Feature-suite coverage exercises even when pre-existing Unit-suite failures make the earlier step exit non-zero.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)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).illuminate/support constraint to ^10.0|^11.0|^12.0|^13.0orchestra/testbench dev constraint to ^8|^9|^10|^11 to enable testing against Laravel 13php 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)artisanpack-ui/security constraint from ^1.0 to ^1.0|^2.0 to support ArtisanPack UI Security 2.0Release v1.0.0-beta1. Refer to CHANGELOG.md for detailed changes.
Release 1.0-beta2. Refer to CHANGELOG.md for detailed changes.
Release v1.0.0-beta3. Refer to CHANGELOG.md for detailed changes.
Release v1.0-beta4. Refer to CHANGELOG.md for detailed changes.
<x-artisanpack-*> component prefixes instead of incorrect <x-*> syntax\n- ColorGenerator: Removed unused `` variable and ArtisanPackUI\Accessibility\Facades\A11y import in generateThemeCss() method\n---wire:loading to CSS-safe approach using class="hidden" with wire:loading.class.remove="hidden"\n- Ensures loading indicators are hidden by default via CSS, preventing flash of unstyled content\n- Loading content is now properly hidden on initial page render regardless of JavaScript initialization timing\n### Changed\n- Button documentation: Updated loading states section with recommended usage patterns and explanation of CSS-safe implementation\n---table-export-request events\n- Provides exportTableToCsv() and exportTableToXlsx() methods\n- Abstract getTableExportData() method for customization\n- Table component: New export props\n- exportable - Enable export functionality\n- export-formats - Configure available formats (csv, xlsx, pdf)\n- export-filename - Custom filename for exports\n#### Streaming Content (Livewire 4+)\n- StreamableContent: New component for displaying real-time streaming content\n- Supports Livewire 4's wire:stream directive\n- Blinking cursor animation option\n- Placeholder text support\n- Prose styling for rich text\n- Graceful degradation on Livewire 3\n#### Glass Effects\n- GlassHelper: New utility class for frosted glass UI effects\n- Three glass variants: frost, blur, subtle\n- Customizable tint colors with accessible text colors\n- WCAG 2.0 AA compliant contrast handling\n- GlassPresets: Six pre-built glass theme configurations\n- glass-frosted-light - Professional frosted glass for light backgrounds\n- glass-frosted-dark - Sophisticated frosted glass for dark backgrounds\n- glass-liquid-light - Premium liquid glass effect for light backgrounds\n- glass-liquid-dark - Dramatic liquid glass with enhanced glow\n- glass-minimal - Subtle, accessibility-friendly glass effect (adaptive)\n- glass-bold - Strong, prominent glass for CTAs and heroes (adaptive)\n- CSS class-based application system\n- Programmatic API for generating custom presets\n#### Accessibility & High Contrast Themes\n- HighContrastTheme: WCAG AAA compliant high-contrast theme system\n- high-contrast-light - Maximum contrast on light backgrounds (WCAG AAA)\n- high-contrast-dark - Maximum contrast on dark backgrounds (WCAG AAA)\n- enhanced-contrast-light - Improved contrast on light (WCAG AA)\n- enhanced-contrast-dark - Improved contrast on dark (WCAG AA)\n- Automatic prefers-contrast and prefers-reduced-motion media query support\n- Enhanced focus indicators for keyboard navigation\n- Text scaling classes (.text-larger, .text-extra-large)\n- Skip link styling for accessibility\n#### Theme Preview Tool\n- ThemePreview: Browser-based interactive theme customization tool\n- Real-time color adjustment with Tailwind colors or custom hex\n- Component preview gallery organized by category\n- Glass effect customization with presets and tint options\n- Accessibility preset selection\n- Dark mode toggle\n- Export to CSS or JSON\n- Shareable preview URLs with all settings encoded\n- Generated artisan command output\n- Available at /artisanpack/theme-preview route\n#### Livewire 4 Features\n- Table component: Native drag-and-drop sorting via wire:sort\n- sortable prop with sort handles\n- Cross-list dragging via sort-group\n- Table component: Infinite scroll via wire:intersect\n- infinite-scroll prop with customizable loading text\n- Modifier support (once, half, full)\n- LivewireHelper: Version detection utility for feature compatibility\n### Changed\n- Updated component count from 60+ to 70+ in documentation\n- Table component now supports associative array rows with automatic normalization\n- Updated home.md and components.md with v2.0 features\n- Added Dashboard Components category to documentation\n- GenerateThemeCss command: Enhanced with new options\n- --preset option for applying glass presets\n- --presets-only to generate only glass preset CSS\n- --high-contrast-only to generate only accessibility CSS\n- --accessibility-preset to apply specific accessibility preset\n- --no-high-contrast to skip high contrast CSS generation\n- --json to export theme configuration as JSON\n- --interactive mode for guided theme creation\n### Dependencies\n- Added phpoffice/phpspreadsheet as suggested dependency for XLSX export\n- Added barryvdh/laravel-dompdf as suggested dependency for PDF export\n### Notes\n- Livewire 4-specific features (wire:stream, wire:sort, wire:intersect) are gracefully ignored on Livewire 3\n- XLSX and PDF exports require optional dependencies to be installed\n- Theme preview tool available at /artisanpack/theme-preview (named route: artisanpack.theme-preview)\n- Glass presets use CSS custom properties for easy theming\n- High contrast themes respect system prefers-contrast and prefers-reduced-motion media queries\n- All v2.0 features are additive with no breaking changes from v1.x\n---table-export-request events\n- Provides exportTableToCsv() and exportTableToXlsx() methods\n- Abstract getTableExportData() method for customization\n- Table component: New export props\n- exportable - Enable export functionality\n- export-formats - Configure available formats (csv, xlsx, pdf)\n- export-filename - Custom filename for exports\n#### Streaming Content (Livewire 4+)\n- StreamableContent: New component for displaying real-time streaming content\n- Supports Livewire 4's wire:stream directive\n- Blinking cursor animation option\n- Placeholder text support\n- Prose styling for rich text\n- Graceful degradation on Livewire 3\n#### Glass Effects\n- GlassHelper: New utility class for frosted glass UI effects\n- Three glass variants: frost, blur, subtle\n- Customizable tint colors with accessible text colors\n- WCAG 2.0 AA compliant contrast handling\n- GlassPresets: Six pre-built glass theme configurations\n- glass-frosted-light - Professional frosted glass for light backgrounds\n- glass-frosted-dark - Sophisticated frosted glass for dark backgrounds\n- glass-liquid-light - Premium liquid glass effect for light backgrounds\n- glass-liquid-dark - Dramatic liquid glass with enhanced glow\n- glass-minimal - Subtle, accessibility-friendly glass effect (adaptive)\n- glass-bold - Strong, prominent glass for CTAs and heroes (adaptive)\n- CSS class-based application system\n- Programmatic API for generating custom presets\n#### Accessibility & High Contrast Themes\n- HighContrastTheme: WCAG AAA compliant high-contrast theme system\n- high-contrast-light - Maximum contrast on light backgrounds (WCAG AAA)\n- high-contrast-dark - Maximum contrast on dark backgrounds (WCAG AAA)\n- enhanced-contrast-light - Improved contrast on light (WCAG AA)\n- enhanced-contrast-dark - Improved contrast on dark (WCAG AA)\n- Automatic prefers-contrast and prefers-reduced-motion media query support\n- Enhanced focus indicators for keyboard navigation\n- Text scaling classes (.text-larger, .text-extra-large)\n- Skip link styling for accessibility\n#### Theme Preview Tool\n- ThemePreview: Browser-based interactive theme customization tool\n- Real-time color adjustment with Tailwind colors or custom hex\n- Component preview gallery organized by category\n- Glass effect customization with presets and tint options\n- Accessibility preset selection\n- Dark mode toggle\n- Export to CSS or JSON\n- Shareable preview URLs with all settings encoded\n- Generated artisan command output\n- Available at /artisanpack/theme-preview route\n#### Livewire 4 Features\n- Table component: Native drag-and-drop sorting via wire:sort\n- sortable prop with sort handles\n- Cross-list dragging via sort-group\n- Table component: Infinite scroll via wire:intersect\n- infinite-scroll prop with customizable loading text\n- Modifier support (once, half, full)\n- LivewireHelper: Version detection utility for feature compatibility\n### Changed\n- Updated component count from 60+ to 70+ in documentation\n- Table component now supports associative array rows with automatic normalization\n- Updated home.md and components.md with v2.0 features\n- Added Dashboard Components category to documentation\n- GenerateThemeCss command: Enhanced with new options\n- --preset option for applying glass presets\n- --presets-only to generate only glass preset CSS\n- --high-contrast-only to generate only accessibility CSS\n- --accessibility-preset to apply specific accessibility preset\n- --no-high-contrast to skip high contrast CSS generation\n- --json to export theme configuration as JSON\n- --interactive mode for guided theme creation\n### Dependencies\n- Added phpoffice/phpspreadsheet as suggested dependency for XLSX export\n- Added barryvdh/laravel-dompdf as suggested dependency for PDF export\n### Notes\n- Livewire 4-specific features (wire:stream, wire:sort, wire:intersect) are gracefully ignored on Livewire 3\n- XLSX and PDF exports require optional dependencies to be installed\n- Theme preview tool available at /artisanpack/theme-preview (named route: artisanpack.theme-preview)\n- Glass presets use CSS custom properties for easy theming\n- High contrast themes respect system prefers-contrast and prefers-reduced-motion media queries\n- All v2.0 features are additive with no breaking changes from v1.x\n---^3.6 to ^3.6|^4.0 to support Livewire 4.0\n---How can I help you explore Laravel packages today?