value; public function getColor(): string|array|null { return match ($this) { self::Slate => Color::Slate, self::Gray => Color::Gray, self::Zinc => Color::Zinc, self::Neutral => Color::Neutral, self::Stone => Color::Stone, self::Red => Color::Red, self::Orange => Color::Orange, self::Amber => Color::Amber, self::Yellow => Color::Yellow, self::Lime => Color::Lime, self::Green => Color::Green, self::Emerald => Color::Emerald, self::Teal => Color::Teal, self::Cyan => Color::Cyan, self::Sky => Color::Sky, self::Blue => Color::Blue, self::Indigo => Color::Indigo, self::Violet => Color::Violet, self::Purple => Color::Purple, self::Fuchsia => Color::Fuchsia, self::Pink => Color::Pink, self::Rose => Color::Rose, }; } /** * @throws UnexpectedValueException */ public function getHexCode(): string { $colorArray = $this->getColor(); if ($colorArray !== null && isset($colorArray[600])) { $rgbToString = $colorArray[600]; return Rgb::fromString("rgb({$rgbToString})")->toHex(); } throw new UnexpectedValueException("The color {$this->value} does not have a hex code."); } }