'Draft', self::APPROVED => 'Approved', self::PRODUCTION => 'Production', self::SHIPPED => 'Shipped', self::READY_FOR_INVOICE => 'Ready for Invoice', self::INVOICED => 'Invoiced', }; } public function getColor(): string|array|null { return match ($this) { self::DRAFT => 'gray', self::APPROVED => 'success', self::PRODUCTION => 'primary', self::SHIPPED => 'warning', self::READY_FOR_INVOICE => 'invoicing', self::INVOICED => 'invoiced', }; } public function getIcon(): ?string { return match ($this) { self::DRAFT => IconEnum::DRAFT->value, self::APPROVED => IconEnum::APPROVED->value, self::PRODUCTION => IconEnum::PRODUCTION->value, self::SHIPPED => IconEnum::SHIPPED->value, self::READY_FOR_INVOICE => IconEnum::INVOICING->value, self::INVOICED => IconEnum::INVOICED->value, }; } }