86 lines
4.2 KiB
PHP
86 lines
4.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Pcm\BadgeBundle\Enum;
|
|
|
|
use Pcm\BadgeBundle\Model\BadgePalette;
|
|
|
|
enum BadgeColour
|
|
{
|
|
case ACCENT;
|
|
case AMBER;
|
|
case BLACK;
|
|
case BLUE;
|
|
case BROWN;
|
|
case CYAN;
|
|
case DANGER;
|
|
case DEFAULT;
|
|
case EMERALD;
|
|
case FOREST;
|
|
case FUCHSIA;
|
|
case GOLD;
|
|
case GREEN;
|
|
case GREY;
|
|
case INDIGO;
|
|
case LIME;
|
|
case MAROON;
|
|
case NAVY;
|
|
case OCHRE;
|
|
case ORANGE;
|
|
case PINK;
|
|
case PURPLE;
|
|
case RED;
|
|
case ROSE;
|
|
case SKY;
|
|
case SLATE;
|
|
case STONE;
|
|
case STRIPE;
|
|
case SUCCESS;
|
|
case TEAL;
|
|
case VIOLET;
|
|
case WARNING;
|
|
case YELLOW;
|
|
case ZINC;
|
|
|
|
public function getPalette(): BadgePalette
|
|
{
|
|
return match ($this) {
|
|
$this::ACCENT => new BadgePalette('text-accent', 'border-accent/30', 'bg-accent'),
|
|
$this::AMBER => new BadgePalette('text-amber-600', 'border-amber-600/30', 'bg-amber-600'),
|
|
$this::BLACK => new BadgePalette('text-zinc-900', 'border-zinc-900/30', 'bg-zinc-900'),
|
|
$this::BLUE => new BadgePalette('text-blue-700', 'border-blue-700/30', 'bg-blue-700'),
|
|
$this::BROWN => new BadgePalette('text-stone-700', 'border-stone-700/30', 'bg-stone-700'),
|
|
$this::CYAN => new BadgePalette('text-cyan-600', 'border-cyan-600/30', 'bg-cyan-600'),
|
|
$this::DANGER => new BadgePalette('text-danger', 'border-danger/30', 'bg-danger'),
|
|
$this::DEFAULT => new BadgePalette('text-primary', 'border-primary/30', 'bg-primary'),
|
|
$this::EMERALD => new BadgePalette('text-emerald-600', 'border-emerald-600/30', 'bg-emerald-600'),
|
|
$this::FOREST => new BadgePalette('text-green-800', 'border-green-800/30', 'bg-green-800'),
|
|
$this::FUCHSIA => new BadgePalette('text-fuchsia-600', 'border-fuchsia-600/30', 'bg-fuchsia-600'),
|
|
$this::GOLD => new BadgePalette('text-amber-500', 'border-amber-500/30', 'bg-amber-500'),
|
|
$this::GREEN => new BadgePalette('text-green-600', 'border-green-600/30', 'bg-green-600'),
|
|
$this::GREY => new BadgePalette('text-neutral-500', 'border-neutral-500/30', 'bg-neutral-500'),
|
|
$this::INDIGO => new BadgePalette('text-indigo-700', 'border-indigo-700/30', 'bg-indigo-700'),
|
|
$this::LIME => new BadgePalette('text-lime-600', 'border-lime-600/30', 'bg-lime-600'),
|
|
$this::MAROON => new BadgePalette('text-red-900', 'border-red-900/30', 'bg-red-900'),
|
|
$this::NAVY => new BadgePalette('text-blue-900', 'border-blue-900/30', 'bg-blue-900'),
|
|
$this::OCHRE => new BadgePalette('text-yellow-800', 'border-yellow-800/30', 'bg-yellow-800'),
|
|
$this::ORANGE => new BadgePalette('text-orange-500', 'border-orange-500/30', 'bg-orange-500'),
|
|
$this::PINK => new BadgePalette('text-pink-500', 'border-pink-500/30', 'bg-pink-500'),
|
|
$this::PURPLE => new BadgePalette('text-purple-600', 'border-purple-600/30', 'bg-purple-600'),
|
|
$this::RED => new BadgePalette('text-red-600', 'border-red-600/30', 'bg-red-600'),
|
|
$this::ROSE => new BadgePalette('text-rose-600', 'border-rose-600/30', 'bg-rose-600'),
|
|
$this::SKY => new BadgePalette('text-sky-600', 'border-sky-600/30', 'bg-sky-600'),
|
|
$this::SLATE => new BadgePalette('text-slate-600', 'border-slate-600/30', 'bg-slate-600'),
|
|
$this::STONE => new BadgePalette('text-stone-500', 'border-stone-500/30', 'bg-stone-500'),
|
|
$this::STRIPE => new BadgePalette('text-indigo-500', 'border-indigo-500/30', 'bg-indigo-500'),
|
|
$this::SUCCESS => new BadgePalette('text-success', 'border-success/30', 'bg-success'),
|
|
$this::TEAL => new BadgePalette('text-teal-600', 'border-teal-600/30', 'bg-teal-600'),
|
|
$this::VIOLET => new BadgePalette('text-violet-600', 'border-violet-600/30', 'bg-violet-600'),
|
|
$this::WARNING => new BadgePalette('text-warning', 'border-warning/30', 'bg-warning'),
|
|
$this::YELLOW => new BadgePalette('text-yellow-600', 'border-yellow-600/30', 'bg-yellow-600'),
|
|
$this::ZINC => new BadgePalette('text-zinc-500', 'border-zinc-500/30', 'bg-zinc-500'),
|
|
};
|
|
}
|
|
}
|