Blade Colors
Usage
Out of the box Blade Colors comes with a set of predefined Tailwind CSS based color palettes and default color definitions like primary
, warning
and danger
utilizing these palettes.
Default Colors
By default Blade Colors comes with 6 predefined color definitions using the provided Tailwind color palettes.
- Primary
- Gray
- Success
- Info
- Warning
- Danger
<div class="space-y-2">
<x-description>
<x-slot:title>
Primary
</x-slot:title>
<div class="grid grid-cols-11 gap-2">
<div class="bg-[rgb(var(--primary-50))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--primary-100))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--primary-200))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--primary-300))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--primary-400))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--primary-500))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--primary-600))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--primary-700))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--primary-800))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--primary-900))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--primary-950))] aspect-square rounded"></div>
</div>
</x-description>
<x-description>
<x-slot:title>
Gray
</x-slot:title>
<div class="grid grid-cols-11 gap-2">
<div class="bg-[rgb(var(--gray-50))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--gray-100))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--gray-200))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--gray-300))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--gray-400))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--gray-500))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--gray-600))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--gray-700))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--gray-800))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--gray-900))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--gray-950))] aspect-square rounded"></div>
</div>
</x-description>
<x-description>
<x-slot:title>
Success
</x-slot:title>
<div class="grid grid-cols-11 gap-2">
<div class="bg-[rgb(var(--success-50))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--success-100))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--success-200))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--success-300))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--success-400))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--success-500))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--success-600))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--success-700))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--success-800))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--success-900))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--success-950))] aspect-square rounded"></div>
</div>
</x-description>
<x-description>
<x-slot:title>
Info
</x-slot:title>
<div class="grid grid-cols-11 gap-2">
<div class="bg-[rgb(var(--info-50))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--info-100))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--info-200))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--info-300))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--info-400))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--info-500))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--info-600))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--info-700))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--info-800))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--info-900))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--info-950))] aspect-square rounded"></div>
</div>
</x-description>
<x-description>
<x-slot:title>
Warning
</x-slot:title>
<div class="grid grid-cols-11 gap-2">
<div class="bg-[rgb(var(--warning-50))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--warning-100))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--warning-200))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--warning-300))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--warning-400))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--warning-500))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--warning-600))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--warning-700))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--warning-800))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--warning-900))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--warning-950))] aspect-square rounded"></div>
</div>
</x-description>
<x-description>
<x-slot:title>
Danger
</x-slot:title>
<div class="grid grid-cols-11 gap-2">
<div class="bg-[rgb(var(--danger-50))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--danger-100))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--danger-200))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--danger-300))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--danger-400))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--danger-500))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--danger-600))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--danger-700))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--danger-800))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--danger-900))] aspect-square rounded"></div>
<div class="bg-[rgb(var(--danger-950))] aspect-square rounded"></div>
</div>
</x-description>
</div>
Using CSS Variables
All configured color definitions are included in the @bladeColor
directive, which has been added to the <head>
section during installation, and are generated as CSS variables.
The generated CSS variables are a combination of their definition name and the available shade. For example the default primary
color definition has shades ranging from 100 till 900 in increments of 100, including 50 and 950 as additional shades.
Similar to the Tailwind CSS color palettes, resulting in variable names like: --primary-500
.
To use the generated CSS variables you simply supply them as "Arbitrary Values":
<div class="bg-[rgb(var(--primary-500))]"></div>
Using CSS Classes
Optionally you can import the default color definitions in your existing tailwind.config.js
file. This simplifies the usage by removing the need to supply the CSS variable as arbitrary values and instead offers the color definition as a CSS class like:
<div class="bg-primary-500"></div>
To enable support for CSS classes you need to import the tailwind.config.preset.js
in your existing tailwind.config.js
file:
import bladeColors from './vendor/distortedfusion/blade-colors/tailwind.config.preset'
export default {
presets: [bladeColors],
content: [],
...
}
Please Note: The preset only includes the default color definitions as listed under Default Colors.
To include custom colors or to use custom definition names you need to extend the colors section in your existing tailwind.config.js
file:
export default {
theme: {
extend: {
colors: {
brand: {
50: 'rgba(var(--brand-50), <alpha-value>)',
100: 'rgba(var(--brand-100), <alpha-value>)',
200: 'rgba(var(--brand-200), <alpha-value>)',
...
},
}
}
}
}
Customizing Colors Using Palettes
From a service provider's boot()
method, or middleware, you can call the BladeColor::register()
method. The register()
method takes an array of color definitions which can be used to extend the available generated CSS variables or to replace a default color definitions' color palette.
<?php
use DistortedFusion\BladeColors\Facades\BladeColor;
use DistortedFusion\BladeColors\Palettes\Tailwind;
BladeColor::register([
'primary' => Tailwind::INDIGO,
'gray' => Tailwind::ZINC,
'success' => Tailwind::GREEN,
'info' => Tailwind::BLUE,
'warning' => Tailwind::AMBER,
'danger' => Tailwind::RED,
]);
The provided Tailwind color palettes comes with a variety of palettes based on the Tailwind CSS colors.
If you would like to include all available color palettes, using their Tailwind CSS naming convention, you can register them all at once using the Tailwind::all()
method:
<?php
use DistortedFusion\BladeColors\Facades\BladeColor;
use DistortedFusion\BladeColors\Palettes\Tailwind;
BladeColor::register(Tailwind::all());
Adding Custom Colors
Instead of using the provided Tailwind color palettes, you can add your own colors by supplying a list of RGB values:
<?php
use DistortedFusion\BladeColors\Facades\BladeColor;
BladeColor::register([
'brand' => [
50 => '254, 242, 242',
100 => '254, 226, 226',
200 => '254, 202, 202',
300 => '252, 165, 165',
400 => '248, 113, 113',
500 => '239, 68, 68',
600 => '220, 38, 38',
700 => '185, 28, 28',
800 => '153, 27, 27',
900 => '127, 29, 29',
950 => '69, 10, 10',
],
]);
Disabling Default Colors
If you don't need any of the default color definitions, as listed under Default Colors, you can disable them by calling the BladeColor::disableDefaultColors()
method from a service provider's boot()
method, or middleware:
<?php
use DistortedFusion\BladeColors\Facades\BladeColor;
BladeColor::disableDefaultColors();