Crystal Theme
Clean, monochromatic notification system
Configuration
Setting as Default in Laravel
// config/flasher.php
return [
'default' => 'theme.crystal',
'themes' => [
'crystal' => [
'scripts' => [
'/vendor/flasher/themes/theme.crystal.min.js',
],
'styles' => [
'/vendor/flasher/themes/theme.crystal.min.css',
],
],
],
];
Theme Usage
flash()->success('Your changes have been saved!');
flash()->use('theme.crystal')->success('This uses Crystal Theme');
Key Features
Visual Design
Accessibility
Customization
CSS Variables
:root {
/* Base appearance */
--crystal-bg-light: #ffffff; /* Light mode background */
--crystal-bg-dark: rgba(30, 30, 30, 0.95); /* Dark mode background */
--crystal-text-light: #2c3e50; /* Light mode text */
--crystal-text-dark: rgba(255, 255, 255, 0.95); /* Dark mode text */
--crystal-shadow: rgba(0, 0, 0, 0.08); /* Light mode shadow */
--crystal-shadow-dark: rgba(0, 0, 0, 0.25); /* Dark mode shadow */
/* Type colors (uses default PHPFlasher colors) */
--fl-success: #10b981; /* Success color */
--fl-info: #3b82f6; /* Info color */
--fl-warning: #f59e0b; /* Warning color */
--fl-error: #ef4444; /* Error color */
}
HTML Structure
<div class="fl-crystal fl-[type]" role="[role]" aria-live="[ariaLive]" aria-atomic="true">
<div class="fl-content">
<div class="fl-text">
<p class="fl-message">Message text</p>
</div>
<button class="fl-close" aria-label="Close [type] message">×</button>
</div>
<div class="fl-progress-bar">
<div class="fl-progress"></div>
</div>
</div>