1*37748cd8SNickeau<?php 2*37748cd8SNickeau 3*37748cd8SNickeau 4*37748cd8SNickeaunamespace ComboStrap; 5*37748cd8SNickeau 6*37748cd8SNickeau 7*37748cd8SNickeauclass FontSize 8*37748cd8SNickeau{ 9*37748cd8SNickeau 10*37748cd8SNickeau const FONT_SIZE = "font-size"; 11*37748cd8SNickeau const CANONICAL = self::FONT_SIZE; 12*37748cd8SNickeau 13*37748cd8SNickeau const SCALE_TO_HEADING_NUMBER = [ 14*37748cd8SNickeau 6=>1, 15*37748cd8SNickeau 5=>2, 16*37748cd8SNickeau 4=>3, 17*37748cd8SNickeau 3=>4, 18*37748cd8SNickeau 2=>5, 19*37748cd8SNickeau 1=>6 20*37748cd8SNickeau ]; 21*37748cd8SNickeau const HEADING_NUMBER = [ 22*37748cd8SNickeau "h1"=>1, 23*37748cd8SNickeau "h2"=>2, 24*37748cd8SNickeau "h3"=>3, 25*37748cd8SNickeau "h4"=>4, 26*37748cd8SNickeau "h5"=>5, 27*37748cd8SNickeau "h6"=>6 28*37748cd8SNickeau ]; 29*37748cd8SNickeau 30*37748cd8SNickeau /** 31*37748cd8SNickeau * 32*37748cd8SNickeau * https://getbootstrap.com/docs/5.0/utilities/text/#font-size 33*37748cd8SNickeau * @param TagAttributes $tagAttributes 34*37748cd8SNickeau */ 35*37748cd8SNickeau public static function processFontSizeAttribute(TagAttributes &$tagAttributes) 36*37748cd8SNickeau { 37*37748cd8SNickeau 38*37748cd8SNickeau if ($tagAttributes->hasComponentAttribute(self::FONT_SIZE)) { 39*37748cd8SNickeau $value = $tagAttributes->getValueAndRemove(self::FONT_SIZE); 40*37748cd8SNickeau if(is_numeric($value)){ 41*37748cd8SNickeau if (key_exists($value, self::SCALE_TO_HEADING_NUMBER)){ 42*37748cd8SNickeau $headingValue = self::SCALE_TO_HEADING_NUMBER[$value]; 43*37748cd8SNickeau $tagAttributes->addClassName("fs-$headingValue"); 44*37748cd8SNickeau } else { 45*37748cd8SNickeau LogUtility::msg("The font-size scale value ($value) is not between 1 and 6.",LogUtility::LVL_MSG_ERROR,self::CANONICAL); 46*37748cd8SNickeau } 47*37748cd8SNickeau 48*37748cd8SNickeau } else { 49*37748cd8SNickeau if (key_exists($value, self::HEADING_NUMBER)){ 50*37748cd8SNickeau $headingValue = self::HEADING_NUMBER[$value]; 51*37748cd8SNickeau $tagAttributes->addClassName("fs-$headingValue"); 52*37748cd8SNickeau } else { 53*37748cd8SNickeau $tagAttributes->addStyleDeclaration("font-size", $value); 54*37748cd8SNickeau } 55*37748cd8SNickeau } 56*37748cd8SNickeau } 57*37748cd8SNickeau 58*37748cd8SNickeau } 59*37748cd8SNickeau 60*37748cd8SNickeau 61*37748cd8SNickeau 62*37748cd8SNickeau} 63