1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeaunamespace ComboStrap; 4*04fd306cSNickeau 5*04fd306cSNickeau 6*04fd306cSNickeauuse ComboStrap\Tag\BarTag; 7*04fd306cSNickeau 8*04fd306cSNickeau/** 9*04fd306cSNickeau * @deprecated see :container:deprecated 10*04fd306cSNickeau */ 11*04fd306cSNickeauclass ContainerTag 12*04fd306cSNickeau{ 13*04fd306cSNickeau 14*04fd306cSNickeau 15*04fd306cSNickeau public const CONTAINER_ATTRIBUTE = "container"; 16*04fd306cSNickeau public const CONTAINER_VALUES = [ContainerTag::DEFAULT_LAYOUT_CONTAINER_DEFAULT_VALUE, Breakpoint::MD, Breakpoint::LG, Breakpoint::XL, Breakpoint::XXL, Breakpoint::FLUID]; 17*04fd306cSNickeau public const DEFAULT_LAYOUT_CONTAINER_DEFAULT_VALUE = Breakpoint::SM; 18*04fd306cSNickeau public const CANONICAL = ContainerTag::TAG; 19*04fd306cSNickeau /** 20*04fd306cSNickeau * The value of the default layout container 21*04fd306cSNickeau * Page Header and Footer have a {@link BarTag} that permits to set the layout container value 22*04fd306cSNickeau * 23*04fd306cSNickeau * The page core does not have any It's by default contained for all layout 24*04fd306cSNickeau * generally applied on the page-core element ie 25*04fd306cSNickeau * <div id="page-core" data-layout-container="true"> 26*04fd306cSNickeau */ 27*04fd306cSNickeau public const DEFAULT_LAYOUT_CONTAINER_CONF = "defaultLayoutContainer"; 28*04fd306cSNickeau public const TAG = "container"; 29*04fd306cSNickeau 30*04fd306cSNickeau public static function getClassName(?string $type): string 31*04fd306cSNickeau { 32*04fd306cSNickeau $containerPrefix = ""; 33*04fd306cSNickeau if ($type !== Breakpoint::SM) { 34*04fd306cSNickeau $containerPrefix = "-$type"; 35*04fd306cSNickeau } 36*04fd306cSNickeau return "container{$containerPrefix}"; 37*04fd306cSNickeau } 38*04fd306cSNickeau 39*04fd306cSNickeau public static function renderEnterXhtml(TagAttributes $tagAttributes): string 40*04fd306cSNickeau { 41*04fd306cSNickeau $type = $tagAttributes->getType(); 42*04fd306cSNickeau $tagAttributes->addClassName(ContainerTag::getClassName($type)); 43*04fd306cSNickeau LogUtility::warning("The container syntax has been deprecated", ":container:deprecated"); 44*04fd306cSNickeau return $tagAttributes->toHtmlEnterTag("div"); 45*04fd306cSNickeau 46*04fd306cSNickeau } 47*04fd306cSNickeau 48*04fd306cSNickeau public static function renderExitXhtml(): string 49*04fd306cSNickeau { 50*04fd306cSNickeau return '</div>'; 51*04fd306cSNickeau } 52*04fd306cSNickeau} 53