PluginProbe
Elementor Website Builder – more than just a page builder / trunk
Elementor Website Builder – more than just a page builder vtrunk
4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 All 456 releases
← All changes | modules/mcp/abilities/utils/element-default-styles-builder.php +11 -4 4.3.2 → 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,