137748cd8SNickeau<?php 237748cd8SNickeau 337748cd8SNickeau 437748cd8SNickeaunamespace ComboStrap; 537748cd8SNickeau 637748cd8SNickeau 737748cd8SNickeauclass TextColor 837748cd8SNickeau{ 937748cd8SNickeau 1037748cd8SNickeau const TEXT_COLOR_ATTRIBUTE = "text-color"; 1137748cd8SNickeau const CSS_ATTRIBUTE = "color"; 1237748cd8SNickeau const CANONICAL = self::TEXT_COLOR_ATTRIBUTE; 1337748cd8SNickeau const TEXT_TAGS = [ 1437748cd8SNickeau \syntax_plugin_combo_text::TAG, 1537748cd8SNickeau \syntax_plugin_combo_itext::TAG 1637748cd8SNickeau ]; 1737748cd8SNickeau const TEXT_COLORS = array( 1837748cd8SNickeau 'primary', 1937748cd8SNickeau 'secondary', 2037748cd8SNickeau 'success', 2137748cd8SNickeau 'danger', 2237748cd8SNickeau 'warning', 2337748cd8SNickeau 'info', 2437748cd8SNickeau 'light', 2537748cd8SNickeau 'dark', 2637748cd8SNickeau 'body', 2737748cd8SNickeau 'muted', 2837748cd8SNickeau 'white', 2937748cd8SNickeau 'black-50', 3037748cd8SNickeau 'white-50' 3137748cd8SNickeau ); 3237748cd8SNickeau 3337748cd8SNickeau /** 3437748cd8SNickeau * @param TagAttributes $attributes 3537748cd8SNickeau */ 3637748cd8SNickeau public static function processTextColorAttribute(TagAttributes &$attributes) 3737748cd8SNickeau { 3837748cd8SNickeau 3937748cd8SNickeau $colorAttributes = [TextColor::CSS_ATTRIBUTE, TextColor::TEXT_COLOR_ATTRIBUTE]; 4037748cd8SNickeau foreach ($colorAttributes as $colorAttribute) { 4137748cd8SNickeau if ($attributes->hasComponentAttribute($colorAttribute)) { 4237748cd8SNickeau $colorValue = $attributes->getValueAndRemove($colorAttribute); 4337748cd8SNickeau $lowerCase = strtolower($colorValue); 4437748cd8SNickeau if (in_array($lowerCase, self::TEXT_COLORS)) { 4537748cd8SNickeau /** 4637748cd8SNickeau * The bootstrap text class 4737748cd8SNickeau * https://getbootstrap.com/docs/5.0/utilities/colors/#colors 4837748cd8SNickeau */ 4937748cd8SNickeau $attributes->addClassName("text-$lowerCase"); 5037748cd8SNickeau } else { 5137748cd8SNickeau /** 5237748cd8SNickeau * Other Text Colors 5337748cd8SNickeau */ 5437748cd8SNickeau $colorValue = ColorUtility::getColorValue($colorValue); 5537748cd8SNickeau if (!empty($colorValue)) { 56*82a60d03SNickeau $attributes->addStyleDeclarationIfNotSet(TextColor::CSS_ATTRIBUTE, $colorValue); 5737748cd8SNickeau } 5837748cd8SNickeau } 5937748cd8SNickeau break; 6037748cd8SNickeau } 6137748cd8SNickeau } 6237748cd8SNickeau 6337748cd8SNickeau 6437748cd8SNickeau } 6537748cd8SNickeau 6637748cd8SNickeau 6737748cd8SNickeau 6837748cd8SNickeau} 69