<?php

abstract class Type_SearchBarForm extends EnumBasic
{
    const Retangular = '1';
    const Arredondada = '2';

    protected static $nickname = array(
        self::Retangular => 'Retangular',
        self::Arredondada => 'Arredondada',
    );
}

abstract class Type_SearchBarButtonBackground extends EnumBasic
{
    const Padrao = '1';
    const Invisivel = '2';

    protected static $nickname = array(
        self::Padrao => 'Padrão',
        self::Invisivel => 'Invisível',
    );
}

abstract class Type_ProductBoxPromotionStyle extends EnumBasic
{
    const Default = 'default';
    const Square = 'square';
    const OnlyDescription = 'onlyDesc';
    const None = 'vazio';

    protected static $nickname = array(
        self::Default => 'Padrão',
        self::Square => 'Quadrado com descrição',
        self::OnlyDescription => 'Apenas descrição',
        self::None => 'Vazio'
    );
}

abstract class Type_CartIcon extends EnumBasic
{
    const Cart = 'fas fa-shopping-cart';
    const Bag = 'fas fa-shopping-bag';
    const Basket = 'fas fa-shopping-basket';

    protected static $nickname = array(
        self::Cart => 'Carrinho',
        self::Bag => 'Sacola',
        self::Basket => 'Cesta',
    );
}

abstract class Type_ProductListTitleStyle extends EnumBasic
{
    const Left = 1;
    const Center = 2;
    const CenterWithLines = 3;

    protected static $nickname = array(
        self::Left => 'À esquerda',
        self::Center => 'Centralizado',
        self::CenterWithLines => 'Centralizado com linhas',
    );
}

abstract class Type_MenuBorderRadius extends EnumBasic
{
    const Small = '0.25rem';
    const Medium = '1.2rem';
    const Larger = '1.6rem';

    protected static $nickname = array(
        self::Small => 'Pequena',
        self::Medium => 'Media',
        self::Larger => 'Grande'
    );
}

abstract class Type_MenuTypography extends EnumBasic
{
    const Any = 'any';
    const Uppercase = 'uppercase';
    const Lowercase = 'lowercase';
    const FirstUpperCase = 'firstuppercase';
    protected static $nickname = array(
        self::Any => 'Nenhum',
        self::Uppercase => 'Maiúscula',
        self::Lowercase => 'Minúsculo',
        self::FirstUpperCase => 'Primeira letra maiúscula'
    );
}

abstract class Type_ProductListTypography extends EnumBasic
{
    const Normal = 1;
    const Bold = 2;
    const Italic = 3;
    protected static $nickname = array(
        self::Normal => 'Normal',
        self::Bold => 'Negrito',
        self::Italic => 'Itálico',
    );
}

abstract class Type_ProductShow extends EnumBasic
{   
    const Grid = 1;
    const Slide = 2;
    const AsideSlide = 3;

    protected static $nickname = array(
        self::Grid => 'Grade',
        self::Slide => 'Slide',
        self::AsideSlide => 'Slide ao lado'
    );
}

abstract class Type_MenuSubCategory extends Enumbasic
{
    const Any = 1;
    const Topic = 2;

    protected static $nickname = array(
        self::Any => 'Nenhum',
        self::Topic => 'Topico'
    );
}


abstract class Type_SelectionIndicators extends EnumBasic{
    const Arrow = 1;
    const Underline = 2;

    protected static $nickname = array(
        self::Arrow => 'Seta',
        self::Underline => 'Sublinhado'
    );
}

abstract class Type_ProductListFont extends EnumBasic
{
    const Google = 1;
    const System = 2;
    
    protected static $nickname = array(
        self::Google => 'Google',
        self::System => 'System'
    );
}

abstract class Type_HeaderLogoPosition extends EnumBasic
{
    const Left = '1';
    const Center = '2';

    protected static $nickname = array(
        self::Left => 'À esquerda',
        self::Center => 'Centralizado',
    );
}

abstract class Type_MenuPosition extends EnumBasic
{
    const Center = '1';
    const Full = '2';

    protected static $nickname = array(
        self::Center => 'Centralizado',
        self::Full => 'Tela Inteira',
    );
}

abstract class Type_MenuLinkHomeDisplay extends EnumBasic
{
    const Icon = 'icon';
    const Text = 'text';

    protected static $nickname = array(
        self::Icon => 'Ícone',
        self::Text => 'Texto',
    );
}

abstract class Type_FixSearchBar extends EnumBasic 
{
    const Disable = '0';
    const Enable = '1';

    protected static $nickname = array(
        self::Disable => 'Desabilitado',
        self::Enable => 'Habilitado',
    );
}

abstract class Type_CartOptions extends EnumBasic 
{
    const FloatingCart = '1';
    const SideCart = '2';

    protected static $nickname = array(
        self::FloatingCart => 'Carrinho Flutuante',
        self::SideCart => 'Carrinho Lateral',
    );
}