6 Commits
1.0.0 ... 1.1.0

Author SHA1 Message Date
brabli
0d9fbc3aed Update readme 2025-11-13 16:37:38 +00:00
brabli
14fd9ca2ec Tweak error message 2025-11-13 16:36:58 +00:00
brabli
93c4dd1e64 Add accent badge colour 2025-11-13 16:34:58 +00:00
brabli
61eaa62406 Update changelog 2025-11-13 16:30:22 +00:00
brabli
bcd97f20a3 Add zinc badge colour 2025-11-13 16:30:11 +00:00
brabli
9c1c0c1ba1 Add new colours 2025-11-13 16:26:35 +00:00
3 changed files with 23 additions and 1 deletions

View File

@@ -1,5 +1,9 @@
# Changelog
## [1.1.0] - 2025-11-13
- Add new badge colours
- Tweak error message
## [1.0.0] - 2025-02-26
- Add label attribute to set badge text
- Rename `Badge` enum to `BadgeColour`

View File

@@ -8,40 +8,58 @@ use Pcm\BadgeBundle\Model\BadgePalette;
enum BadgeColour
{
case ACCENT;
case AMBER;
case BLACK;
case BLUE;
case BROWN;
case DEFAULT;
case EMERALD;
case FOREST;
case FUCHSIA;
case GOLD;
case GREEN;
case GREY;
case LIME;
case RED;
case ROSE;
case SKY;
case MAROON;
case NAVY;
case OCHRE;
case ORANGE;
case PINK;
case STRIPE;
case YELLOW;
case ZINC;
public function getPalette(): BadgePalette
{
return match ($this) {
$this::ACCENT => new BadgePalette('text-accent', 'border-accent', 'bg-accent'),
$this::AMBER => new BadgePalette('text-amber-500', 'border-amber-500', 'bg-amber-500'),
$this::BLACK => new BadgePalette('text-zinc-900', 'border-zinc-900', 'bg-zinc-900'),
$this::BLUE => new BadgePalette('text-sky-700', 'border-sky-700', 'bg-sky-700'),
$this::BROWN => new BadgePalette('text-orange-900', 'border-orange-900', 'bg-orange-900'),
$this::DEFAULT => new BadgePalette('text-primary', 'border-primary', 'bg-primary'),
$this::EMERALD => new BadgePalette('text-emerald-600', 'border-emerald-600', 'bg-emerald-600'),
$this::FOREST => new BadgePalette('text-green-800', 'border-green-800', 'bg-green-800'),
$this::FUCHSIA => new BadgePalette('text-fuchsia-500', 'border-fuchsia-500', 'bg-fuchsia-500'),
$this::GOLD => new BadgePalette('text-yellow-600', 'border-yellow-600', 'bg-yellow-600'),
$this::GREEN => new BadgePalette('text-green-600', 'border-green-600', 'bg-green-600'),
$this::GREY => new BadgePalette('text-neutral-400', 'border-neutral-400', 'bg-neutral-400'),
$this::LIME => new BadgePalette('text-lime-600', 'border-lime-600', 'bg-lime-600'),
$this::RED => new BadgePalette('text-red-600', 'border-red-600', 'bg-red-600'),
$this::ROSE => new BadgePalette('text-rose-600', 'border-rose-600', 'bg-rose-600'),
$this::SKY => new BadgePalette('text-sky-500', 'border-sky-500', 'bg-sky-500'),
$this::MAROON => new BadgePalette('text-red-900', 'border-red-900', 'bg-red-900'),
$this::NAVY => new BadgePalette('text-blue-900', 'border-blue-900', 'bg-blue-900'),
$this::OCHRE => new BadgePalette('text-yellow-800', 'border-yellow-800', 'bg-yellow-800'),
$this::ORANGE => new BadgePalette('text-orange-500', 'border-orange-500', 'bg-orange-500'),
$this::PINK => new BadgePalette('text-pink-400', 'border-pink-400', 'bg-pink-400'),
$this::STRIPE => new BadgePalette('text-indigo-500', 'border-indigo-500', 'bg-indigo-500'),
$this::YELLOW => new BadgePalette('text-yellow-500', 'border-yellow-500', 'bg-yellow-500'),
$this::ZINC => new BadgePalette('text-zinc-500', 'border-zinc-500', 'bg-zinc-500'),
};
}
}

View File

@@ -48,7 +48,7 @@ final class Badge
if (!in_array($colour, $cases)) {
$formattedCases = implode(', ', array_map(fn (string $s) => '"'.$s.'"', $cases));
throw new \RuntimeException(sprintf('"%s" is not a valid Badge colour. Available options are: %s', $colour, $formattedCases));
throw new \RuntimeException(sprintf('"%s" is not a valid badge colour. Available options are: %s.', $colour, $formattedCases));
}
$colour = strtoupper($colour);