WordPress Version: 5.9
/**
* Build an array with CSS classes and inline styles defining the font sizes
* which will be applied to the navigation markup in the front-end.
*
* @param array $attributes Navigation block attributes.
*
* @return array Font size CSS classes and inline styles.
*/
function block_core_navigation_build_css_font_sizes($attributes)
{
// CSS classes.
$font_sizes = array('css_classes' => array(), 'inline_styles' => '');
$has_named_font_size = array_key_exists('fontSize', $attributes);
$has_custom_font_size = array_key_exists('customFontSize', $attributes);
if ($has_named_font_size) {
// Add the font size class.
$font_sizes['css_classes'][] = sprintf('has-%s-font-size', $attributes['fontSize']);
} elseif ($has_custom_font_size) {
// Add the custom font size inline style.
$font_sizes['inline_styles'] = sprintf('font-size: %spx;', $attributes['customFontSize']);
}
return $font_sizes;
}