123456789101112131415161718192021222324252627282930313233343536373839 |
- <?php
-
- namespace App\Enums;
-
- use Filament\Support\Contracts\HasColor;
- use Filament\Support\Contracts\HasIcon;
- use Filament\Support\Contracts\HasLabel;
-
- enum TaxType: string implements HasColor, HasIcon, HasLabel
- {
- case Sales = 'sales';
- case Purchase = 'purchase';
- case None = 'none';
-
- public const DEFAULT = self::Sales->value;
-
- public function getLabel(): ?string
- {
- return translate($this->name);
- }
-
- public function getColor(): string | array | null
- {
- return match ($this) {
- self::Sales => 'success',
- self::Purchase => 'warning',
- self::None => 'gray',
- };
- }
-
- public function getIcon(): ?string
- {
- return match ($this) {
- self::Sales => 'heroicon-o-currency-dollar',
- self::Purchase => 'heroicon-o-shopping-bag',
- self::None => 'heroicon-o-x-circle',
- };
- }
- }
|