wp_typography_get_preset_inline_style_value

The timeline below displays how wordpress function wp_typography_get_preset_inline_style_value has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Generates an inline style value for a typography feature e.g. text decoration,
 * text transform, and font style.
 *
 * Note: This function is for backwards compatibility.
 * * It is necessary to parse older blocks whose typography styles contain presets.
 * * It mostly replaces the deprecated `wp_typography_get_css_variable_inline_style()`,
 *   but skips compiling a CSS declaration as the style engine takes over this role.
 * @link https://github.com/wordpress/gutenberg/pull/27555
 *
 * @since 6.1.0
 *
 * @param string $style_value  A raw style value for a single typography feature from a block's style attribute.
 * @param string $css_property Slug for the CSS property the inline style sets.
 * @return string A CSS inline style value.
 */
function wp_typography_get_preset_inline_style_value($style_value, $css_property)
{
    // If the style value is not a preset CSS variable go no further.
    if (empty($style_value) || !str_contains($style_value, "var:preset|{$css_property}|")) {
        return $style_value;
    }
    /*
     * For backwards compatibility.
     * Presets were removed in WordPress/gutenberg#27555.
     * A preset CSS variable is the style.
     * Gets the style value from the string and return CSS style.
     */
    $index_to_splice = strrpos($style_value, '|') + 1;
    $slug = _wp_to_kebab_case(substr($style_value, $index_to_splice));
    // Return the actual CSS inline style value,
    // e.g. `var(--wp--preset--text-decoration--underline);`.
    return sprintf('var(--wp--preset--%s--%s);', $css_property, $slug);
}