<?php
declare(strict_types=1);

namespace WP_AUX\Entities\AuxCF\PageFields\Page;

use AuxCF\Entities\Field\RadioFieldEntity;
use WP_AUX\Enum\PageHeaderTypeEnum;
use AuxCF\Entities\Field\Enum\ChoicesFieldLayoutEnum;
use AuxCF\Entities\Settings\Enum\OperatorEnum;
use WP_AUX\Enum\PageMediaEnum;

class PageHeaderMediaHeightFieldEntity extends RadioFieldEntity
{
  public static string $name = 'aux_page_header_media_height';
	public static string $nickname = 'media_height';
  protected string $label = 'Page Header Media Height';
  protected string $instructions = 'Select the media height that best accommodates your content needs. Note, standard page headers with an image will still have an image height that is responsive to the amount of text, and the media height only affects the amount of spacing above and below the text.';
  protected mixed $choices = [
    'narrow' => 'Narrow',
    'standard' => 'Standard',
    'tall' => 'Tall',
  ];
  protected ChoicesFieldLayoutEnum $layout = ChoicesFieldLayoutEnum::Horizontal;
  protected mixed $defaultValue = 'standard';

  protected array $initConditionalLogic = [
    [
      [ PageHeaderTypeFieldEntity::class, OperatorEnum::EQUALS, PageHeaderTypeEnum::Hero ],
    ],
    [
      [ PageMediaTypeFieldEntity::class, OperatorEnum::EQUALS, PageMediaEnum::Image ],
    ],
  ];

}
