<?php
declare(strict_types=1);

namespace WP_AUX\Enum;

use WP_AUX\Interfaces\OptionsEnumInterface;
use WP_AUX\Traits\EnumTraits;

enum CardsLayoutEnum: string implements OptionsEnumInterface
{
  use EnumTraits;

  case Standard = 'standard';
  case Inline = 'inline';
  case Linked = 'linked';

  public const DEFAULT = self::Standard;

  public const SETTING_LABEL = 'AUX cards layout type';

  public function label(): string
  {
    return match($this) {
      self::Standard => 'Standard',
      self::Inline => 'Inline',
      self::Linked => 'Linked',
    };
  }

  public function baseClass(): string
  {
    return match($this) {
      self::Standard => 'card-group',
      self::Inline => 'inline-card-group',
      self::Linked => 'linked-card-group',
      default => 'card-group',
    };
  }
}
