<?php
declare(strict_types=1);

namespace WP_AUX\Enum;

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

enum CollectionFeatureEnum: string implements OptionsEnumInterface
{
  use EnumTraits;

  case DescriptionList = 'desc-list';
  case IconList = 'icon-list';
  case InlineFactoid = 'inline-factoid';
  case StandardFactoid = 'standard-factoid';
  case LinkList = 'link-list';
  case SocialLinks = 'social-links';

  public const SETTING_LABEL = 'Collection Feature Options';

  public function label(): string
  {
    return match($this) {
      self::DescriptionList => 'Description List',
      self::IconList => 'Icon List',
      self::InlineFactoid => 'Factoids - Inline',
      self::StandardFactoid => 'Factoids - Standard',
      self::LinkList => 'Link List',
      self::SocialLinks => 'Social Links',
    };
  }
}