← All changes
|
modules/mcp/abilities/utils/element-default-styles-builder.php
+11
-4
4.3.1
→
trunk
View file →
| @@ -14,10 +14,10 @@ | ||
| 14 | 14 | * Renders the effective default-style CSS that the browser would apply to a V4 atomic |
| 15 | 15 | * element before any inline/global class overrides. |
| 16 | 16 | * |
| 17 | 17 | * Each layer is rendered via Styles_Renderer (same pipeline as frontend enqueue), then |
| 18 | - * concatenated in cascade order: widget base_styles first, kit site-wide default for the | |
| 19 | - * element's rendered tag second. | |
| 18 | + * concatenated in cascade order: the `.e-con` shell of atomic elements first, widget | |
| 19 | + * base_styles second, kit site-wide default for the element's rendered tag last. | |
| 20 | 20 | */ |
| 21 | 21 | class Element_Default_Styles_Builder { |
| 22 | 22 | |
| 23 | 23 | public static function render( |
| @@ -23,9 +23,10 @@ | ||
| 23 | 23 | public static function render( |
| 24 | 24 | array $widget_base_style_defs, |
| 25 | 25 | ?string $tag, |
| 26 | 26 | ?Default_Styles_Repository $repository, |
| 27 | - ?Styles_Renderer $renderer = null | |
| 27 | + ?Styles_Renderer $renderer = null, | |
| 28 | + string $shell_css = '' | |
| 28 | 29 | ): string { |
| 29 | 30 | $renderer = $renderer ?? Styles_Renderer::make( Plugin::$instance->breakpoints->get_breakpoints_config() ); |
| 30 | 31 | |
| 31 | 32 | $base_css = ! empty( $widget_base_style_defs ) |
| @@ -33,9 +34,15 @@ | ||
| 33 | 34 | : ''; |
| 34 | 35 | |
| 35 | 36 | $default_css = self::render_kit_default( $tag, $repository, $renderer ); |
| 36 | 37 | |
| 37 | - return trim( $base_css . "\n" . $default_css ); | |
| 38 | + $layers = array_filter( [ | |
| 39 | + $shell_css, | |
| 40 | + $base_css, | |
| 41 | + $default_css, | |
| 42 | + ] ); | |
| 43 | + | |
| 44 | + return trim( implode( "\n", $layers ) ); | |
| 38 | 45 | } |
| 39 | 46 | |
| 40 | 47 | public static function render_kit_default( |
| 41 | 48 | ?string $tag, |