137748cd8SNickeau<?php 237748cd8SNickeau 337748cd8SNickeau 437748cd8SNickeaunamespace ComboStrap; 537748cd8SNickeau 637748cd8SNickeau 737748cd8SNickeauclass FontSize 837748cd8SNickeau{ 937748cd8SNickeau 1037748cd8SNickeau const FONT_SIZE = "font-size"; 1137748cd8SNickeau const CANONICAL = self::FONT_SIZE; 1237748cd8SNickeau 1337748cd8SNickeau const SCALE_TO_HEADING_NUMBER = [ 1437748cd8SNickeau 6=>1, 1537748cd8SNickeau 5=>2, 1637748cd8SNickeau 4=>3, 1737748cd8SNickeau 3=>4, 1837748cd8SNickeau 2=>5, 1937748cd8SNickeau 1=>6 2037748cd8SNickeau ]; 2137748cd8SNickeau const HEADING_NUMBER = [ 2237748cd8SNickeau "h1"=>1, 2337748cd8SNickeau "h2"=>2, 2437748cd8SNickeau "h3"=>3, 2537748cd8SNickeau "h4"=>4, 2637748cd8SNickeau "h5"=>5, 2737748cd8SNickeau "h6"=>6 2837748cd8SNickeau ]; 2937748cd8SNickeau 3037748cd8SNickeau /** 3137748cd8SNickeau * 3237748cd8SNickeau * https://getbootstrap.com/docs/5.0/utilities/text/#font-size 3337748cd8SNickeau * @param TagAttributes $tagAttributes 3437748cd8SNickeau */ 3537748cd8SNickeau public static function processFontSizeAttribute(TagAttributes &$tagAttributes) 3637748cd8SNickeau { 3737748cd8SNickeau 3837748cd8SNickeau if ($tagAttributes->hasComponentAttribute(self::FONT_SIZE)) { 3937748cd8SNickeau $value = $tagAttributes->getValueAndRemove(self::FONT_SIZE); 4037748cd8SNickeau if(is_numeric($value)){ 4137748cd8SNickeau if (key_exists($value, self::SCALE_TO_HEADING_NUMBER)){ 4237748cd8SNickeau $headingValue = self::SCALE_TO_HEADING_NUMBER[$value]; 4337748cd8SNickeau $tagAttributes->addClassName("fs-$headingValue"); 4437748cd8SNickeau } else { 4537748cd8SNickeau LogUtility::msg("The font-size scale value ($value) is not between 1 and 6.",LogUtility::LVL_MSG_ERROR,self::CANONICAL); 4637748cd8SNickeau } 4737748cd8SNickeau 4837748cd8SNickeau } else { 4937748cd8SNickeau if (key_exists($value, self::HEADING_NUMBER)){ 5037748cd8SNickeau $headingValue = self::HEADING_NUMBER[$value]; 5137748cd8SNickeau $tagAttributes->addClassName("fs-$headingValue"); 5237748cd8SNickeau } else { 53*82a60d03SNickeau $tagAttributes->addStyleDeclarationIfNotSet("font-size", $value); 5437748cd8SNickeau } 5537748cd8SNickeau } 5637748cd8SNickeau } 5737748cd8SNickeau 5837748cd8SNickeau } 5937748cd8SNickeau 6037748cd8SNickeau 6137748cd8SNickeau 6237748cd8SNickeau} 63