wp-includes/block-supports/states.php:218Splits a state style object into groups based on block feature selectors.
$state_stylearray$block_selectorsarrayarray[]function wp_get_state_style_groups( $state_style, $block_selectors ) { $groups = array(); foreach ( $state_style as $feature => $feature_styles ) { $feature_selectors = $block_selectors[ $feature ] ?? null; if ( is_string( $feature_selectors ) ) { wp_add_state_style_group( $groups, $feature_selectors, array( $feature => $feature_styles ) ); continue; } if ( is_array( $feature_selectors ) && is_array( $feature_styles ) ) { $remaining_styles = $feature_styles; foreach ( $feature_selectors as $subfeature => $subfeature_selector ) { if ( 'root' === $subfeature || ! is_string( $subfeature_selector ) || ! array_key_exists( $subfeature, $feature_styles ) ) { continue; } wp_add_state_style_group( $groups, $subfeature_selector, array( $feature => array( $subfeature => $feature_styles[ $subfeature ], ), ) ); unset( $remaining_styles[ $subfeature ] ); } if ( array() !== $remaining_styles ) { wp_add_state_style_group( $groups, $feature_selectors['root'] ?? ( $block_selectors['root'] ?? null ), array( $feature => $remaining_styles ) ); } continue; } wp_add_state_style_group( $groups, $block_selectors['root'] ?? null, array( $feature => $feature_styles ) ); } return array_values( $groups );}Introduced in 7.1.0.
Signature, return type and hooks compared across 1 parsed release.
src/wp-includes/block-supports/states.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.