.
*
diff --git a/core/modules/layout_builder/layouts/twocol_section/layout--twocol-section.html.twig b/core/modules/layout_builder/layouts/twocol_section/layout--twocol-section.html.twig
index a5d1d36376b..9969f8e57a1 100644
--- a/core/modules/layout_builder/layouts/twocol_section/layout--twocol-section.html.twig
+++ b/core/modules/layout_builder/layouts/twocol_section/layout--twocol-section.html.twig
@@ -4,6 +4,7 @@
* Default theme implementation to display a two-column layout.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*
diff --git a/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php b/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php
index 083de3983d7..7bedf79a5ca 100644
--- a/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php
+++ b/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php
@@ -124,6 +124,7 @@ class BlockComponentRenderArray implements EventSubscriberInterface {
'#plugin_id' => $block->getPluginId(),
'#base_plugin_id' => $block->getBaseId(),
'#derivative_plugin_id' => $block->getDerivativeId(),
+ '#in_preview' => $event->inPreview(),
'#weight' => $event->getComponent()->getWeight(),
];
diff --git a/core/modules/layout_builder/tests/modules/layout_builder_test/layout_builder_test.module b/core/modules/layout_builder/tests/modules/layout_builder_test/layout_builder_test.module
index cd6070f53ff..0ab1298a7a1 100644
--- a/core/modules/layout_builder/tests/modules/layout_builder_test/layout_builder_test.module
+++ b/core/modules/layout_builder/tests/modules/layout_builder_test/layout_builder_test.module
@@ -131,3 +131,14 @@ function layout_builder_test_module_implements_alter(&$implementations, $hook) {
] + $implementations;
}
}
+
+/**
+ * Implements hook_theme().
+ */
+function layout_builder_test_theme() {
+ return [
+ 'block__preview_aware_block' => [
+ 'base hook' => 'block',
+ ],
+ ];
+}
diff --git a/core/modules/layout_builder/tests/modules/layout_builder_test/templates/block--preview-aware-block.html.twig b/core/modules/layout_builder/tests/modules/layout_builder_test/templates/block--preview-aware-block.html.twig
new file mode 100644
index 00000000000..fe9ca8e1e4d
--- /dev/null
+++ b/core/modules/layout_builder/tests/modules/layout_builder_test/templates/block--preview-aware-block.html.twig
@@ -0,0 +1,5 @@
+{% if in_preview %}
+ The block template is being previewed.
+{% endif %}
+
+{% include '@block/block.html.twig' %}
diff --git a/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTest.php b/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTest.php
index 24c88e18186..e3baf8870c1 100644
--- a/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTest.php
+++ b/core/modules/layout_builder/tests/src/Functional/LayoutBuilderTest.php
@@ -719,15 +719,47 @@ class LayoutBuilderTest extends BrowserTestBase {
$page->pressButton('Add block');
$assert_session->elementExists('css', '.go-birds-preview');
+ $assert_session->pageTextContains('The block template is being previewed.');
$assert_session->pageTextContains('This block is being rendered in preview mode.');
$page->pressButton('Save layout');
$this->drupalGet('node/1');
$assert_session->elementNotExists('css', '.go-birds-preview');
+ $assert_session->pageTextNotContains('The block template is being previewed.');
$assert_session->pageTextContains('This block is being rendered normally.');
}
+ /**
+ * Tests preview-aware templates.
+ */
+ public function testPreviewAwareTemplates() {
+ $assert_session = $this->assertSession();
+ $page = $this->getSession()->getPage();
+
+ $this->drupalLogin($this->drupalCreateUser([
+ 'configure any layout',
+ 'administer node display',
+ ]));
+
+ $this->drupalGet('admin/structure/types/manage/bundle_with_section_field/display/default');
+ $this->submitForm(['layout[enabled]' => TRUE], 'Save');
+ $page->clickLink('Manage layout');
+ $page->clickLink('Add section');
+ $page->clickLink('1 column layout');
+ $page->pressButton('Add section');
+ $page->clickLink('Add block');
+ $page->clickLink('Preview-aware block');
+ $page->pressButton('Add block');
+
+ $assert_session->pageTextContains('This is a preview, indeed');
+
+ $page->pressButton('Save layout');
+ $this->drupalGet('node/1');
+
+ $assert_session->pageTextNotContains('This is a preview, indeed');
+ }
+
/**
* Tests the interaction between full and default view modes.
*
diff --git a/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php b/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php
index 883d3c7d206..9d797038db2 100644
--- a/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php
+++ b/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php
@@ -120,6 +120,7 @@ class BlockComponentRenderArrayTest extends UnitTestCase {
'#base_plugin_id' => 'block_plugin_id',
'#derivative_plugin_id' => NULL,
'content' => $block_content,
+ '#in_preview' => FALSE,
];
$expected_build_with_expected_cache = $expected_build + [
@@ -195,6 +196,7 @@ class BlockComponentRenderArrayTest extends UnitTestCase {
'#base_plugin_id' => 'block_plugin_id',
'#derivative_plugin_id' => NULL,
'content' => $block_content,
+ '#in_preview' => FALSE,
];
$expected_cache = $expected_build + [
@@ -324,6 +326,7 @@ class BlockComponentRenderArrayTest extends UnitTestCase {
'#attributes' => [
'data-layout-content-preview-placeholder-label' => $placeholder_label,
],
+ '#in_preview' => TRUE,
];
$expected_cache = $expected_build + [
@@ -332,6 +335,7 @@ class BlockComponentRenderArrayTest extends UnitTestCase {
'tags' => ['test'],
'max-age' => 0,
],
+ '#in_preview' => TRUE,
];
$subscriber->onBuildRender($event);
@@ -383,6 +387,7 @@ class BlockComponentRenderArrayTest extends UnitTestCase {
'#attributes' => [
'data-layout-content-preview-placeholder-label' => $placeholder_string,
],
+ '#in_preview' => TRUE,
];
$expected_build['content']['#markup'] = $placeholder_string;
@@ -392,6 +397,7 @@ class BlockComponentRenderArrayTest extends UnitTestCase {
'tags' => ['test'],
'max-age' => 0,
],
+ '#in_preview' => TRUE,
];
$subscriber->onBuildRender($event);
diff --git a/core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php b/core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php
index fe9fbdc35c2..a149ff84675 100644
--- a/core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php
+++ b/core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php
@@ -115,6 +115,7 @@ class SectionRenderTest extends UnitTestCase {
'tags' => [],
'max-age' => -1,
],
+ '#in_preview' => FALSE,
];
$block = $this->prophesize(BlockPluginInterface::class)->willImplement(PreviewFallbackInterface::class);
@@ -198,6 +199,7 @@ class SectionRenderTest extends UnitTestCase {
'tags' => [],
'max-age' => 0,
],
+ '#in_preview' => TRUE,
];
$block = $this->prophesize(BlockPluginInterface::class)->willImplement(PreviewFallbackInterface::class);
$this->blockManager->createInstance('block_plugin_id', ['id' => 'block_plugin_id'])->willReturn($block->reveal());
@@ -254,6 +256,7 @@ class SectionRenderTest extends UnitTestCase {
'tags' => [],
'max-age' => -1,
],
+ '#in_preview' => FALSE,
];
$block = $this->prophesize(BlockPluginInterface::class)
diff --git a/core/modules/layout_discovery/layout_discovery.module b/core/modules/layout_discovery/layout_discovery.module
index ce08617e025..efc9d3b30ba 100644
--- a/core/modules/layout_discovery/layout_discovery.module
+++ b/core/modules/layout_discovery/layout_discovery.module
@@ -34,11 +34,12 @@ function layout_discovery_theme() {
* @param array &$variables
* An associative array containing:
* - content: An associative array containing the properties of the element.
- * Properties used: #settings, #layout.
+ * Properties used: #settings, #layout, #in_preview.
*/
function template_preprocess_layout(&$variables) {
$variables['settings'] = $variables['content']['#settings'] ?? [];
$variables['layout'] = $variables['content']['#layout'] ?? [];
+ $variables['in_preview'] = $variables['content']['#in_preview'] ?? FALSE;
// Create an attributes variable for each region.
foreach (Element::children($variables['content']) as $name) {
diff --git a/core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig b/core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig
index 3a7f9934d09..01d61e009fd 100644
--- a/core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig
+++ b/core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig
@@ -4,6 +4,7 @@
* Default theme implementation to display a one-column layout.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*
diff --git a/core/modules/layout_discovery/layouts/threecol_25_50_25/layout--threecol-25-50-25.html.twig b/core/modules/layout_discovery/layouts/threecol_25_50_25/layout--threecol-25-50-25.html.twig
index e5441d8b6be..cd226f02019 100644
--- a/core/modules/layout_discovery/layouts/threecol_25_50_25/layout--threecol-25-50-25.html.twig
+++ b/core/modules/layout_discovery/layouts/threecol_25_50_25/layout--threecol-25-50-25.html.twig
@@ -7,6 +7,7 @@
* additional areas for the top and the bottom.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*
diff --git a/core/modules/layout_discovery/layouts/threecol_33_34_33/layout--threecol-33-34-33.html.twig b/core/modules/layout_discovery/layouts/threecol_33_34_33/layout--threecol-33-34-33.html.twig
index 6445061c04e..762cece8cf7 100644
--- a/core/modules/layout_discovery/layouts/threecol_33_34_33/layout--threecol-33-34-33.html.twig
+++ b/core/modules/layout_discovery/layouts/threecol_33_34_33/layout--threecol-33-34-33.html.twig
@@ -7,6 +7,7 @@
* additional areas for the top and the bottom.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*
diff --git a/core/modules/layout_discovery/layouts/twocol/layout--twocol.html.twig b/core/modules/layout_discovery/layouts/twocol/layout--twocol.html.twig
index 262c657f919..11939907baf 100644
--- a/core/modules/layout_discovery/layouts/twocol/layout--twocol.html.twig
+++ b/core/modules/layout_discovery/layouts/twocol/layout--twocol.html.twig
@@ -4,6 +4,7 @@
* Default theme implementation to display a two-column layout.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*
diff --git a/core/modules/layout_discovery/layouts/twocol_bricks/layout--twocol-bricks.html.twig b/core/modules/layout_discovery/layouts/twocol_bricks/layout--twocol-bricks.html.twig
index dc29e03e430..f772834f505 100644
--- a/core/modules/layout_discovery/layouts/twocol_bricks/layout--twocol-bricks.html.twig
+++ b/core/modules/layout_discovery/layouts/twocol_bricks/layout--twocol-bricks.html.twig
@@ -7,6 +7,7 @@
* the top, bottom and in the middle.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*
diff --git a/core/modules/system/templates/block--system-menu-block.html.twig b/core/modules/system/templates/block--system-menu-block.html.twig
index 6113bc2ed8f..1e6c3e020e1 100644
--- a/core/modules/system/templates/block--system-menu-block.html.twig
+++ b/core/modules/system/templates/block--system-menu-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: HTML attributes for the containing element.
* - id: A valid HTML ID and guaranteed unique.
diff --git a/core/modules/system/tests/modules/layout_test/templates/layout-test-1col.html.twig b/core/modules/system/tests/modules/layout_test/templates/layout-test-1col.html.twig
index 2207e3c71ab..ab03efabc94 100644
--- a/core/modules/system/tests/modules/layout_test/templates/layout-test-1col.html.twig
+++ b/core/modules/system/tests/modules/layout_test/templates/layout-test-1col.html.twig
@@ -5,6 +5,9 @@
*/
#}
+ {% if in_preview %}
+ This is a preview, indeed
+ {% endif %}
{{ content.top }}
diff --git a/core/profiles/demo_umami/themes/umami/layouts/oneplusfourgrid_section/layout--oneplusfourgrid-section.html.twig b/core/profiles/demo_umami/themes/umami/layouts/oneplusfourgrid_section/layout--oneplusfourgrid-section.html.twig
index 5345bcae80b..40fc3e77058 100644
--- a/core/profiles/demo_umami/themes/umami/layouts/oneplusfourgrid_section/layout--oneplusfourgrid-section.html.twig
+++ b/core/profiles/demo_umami/themes/umami/layouts/oneplusfourgrid_section/layout--oneplusfourgrid-section.html.twig
@@ -4,6 +4,7 @@
* Default theme implementation to display a one plus four grid layout.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*
diff --git a/core/profiles/demo_umami/themes/umami/templates/classy/block/block--system-menu-block.html.twig b/core/profiles/demo_umami/themes/umami/templates/classy/block/block--system-menu-block.html.twig
index 407f8403fd2..db3f9f80881 100644
--- a/core/profiles/demo_umami/themes/umami/templates/classy/block/block--system-menu-block.html.twig
+++ b/core/profiles/demo_umami/themes/umami/templates/classy/block/block--system-menu-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: HTML attributes for the containing element.
* - id: A valid HTML ID and guaranteed unique.
diff --git a/core/profiles/demo_umami/themes/umami/templates/classy/block/block.html.twig b/core/profiles/demo_umami/themes/umami/templates/classy/block/block.html.twig
index fd3311be958..114d7c4de4f 100644
--- a/core/profiles/demo_umami/themes/umami/templates/classy/block/block.html.twig
+++ b/core/profiles/demo_umami/themes/umami/templates/classy/block/block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
diff --git a/core/profiles/demo_umami/themes/umami/templates/components/banner-block/block--bundle--banner-block.html.twig b/core/profiles/demo_umami/themes/umami/templates/components/banner-block/block--bundle--banner-block.html.twig
index 9b13cd68443..d23cc297bf7 100644
--- a/core/profiles/demo_umami/themes/umami/templates/components/banner-block/block--bundle--banner-block.html.twig
+++ b/core/profiles/demo_umami/themes/umami/templates/components/banner-block/block--bundle--banner-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
diff --git a/core/profiles/demo_umami/themes/umami/templates/components/footer-promo-block/block--bundle--footer-promo-block.html.twig b/core/profiles/demo_umami/themes/umami/templates/components/footer-promo-block/block--bundle--footer-promo-block.html.twig
index e90416b9cc0..489dd0c2e24 100644
--- a/core/profiles/demo_umami/themes/umami/templates/components/footer-promo-block/block--bundle--footer-promo-block.html.twig
+++ b/core/profiles/demo_umami/themes/umami/templates/components/footer-promo-block/block--bundle--footer-promo-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
diff --git a/core/profiles/demo_umami/themes/umami/templates/components/help-block/block--help.html.twig b/core/profiles/demo_umami/themes/umami/templates/components/help-block/block--help.html.twig
index 20e2a4a9aa8..a924817e48b 100644
--- a/core/profiles/demo_umami/themes/umami/templates/components/help-block/block--help.html.twig
+++ b/core/profiles/demo_umami/themes/umami/templates/components/help-block/block--help.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
diff --git a/core/profiles/demo_umami/themes/umami/templates/components/navigation/block--umami-main-menu.html.twig b/core/profiles/demo_umami/themes/umami/templates/components/navigation/block--umami-main-menu.html.twig
index 51174d43c98..ad21956c338 100644
--- a/core/profiles/demo_umami/themes/umami/templates/components/navigation/block--umami-main-menu.html.twig
+++ b/core/profiles/demo_umami/themes/umami/templates/components/navigation/block--umami-main-menu.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: HTML attributes for the containing element.
* - id: A valid HTML ID and guaranteed unique.
diff --git a/core/profiles/demo_umami/themes/umami/templates/components/search/block--search-form-block.html.twig b/core/profiles/demo_umami/themes/umami/templates/components/search/block--search-form-block.html.twig
index 01599d5f7e7..29e828c12e5 100644
--- a/core/profiles/demo_umami/themes/umami/templates/components/search/block--search-form-block.html.twig
+++ b/core/profiles/demo_umami/themes/umami/templates/components/search/block--search-form-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: A list HTML attributes populated by modules, intended to
* be added to the main container tag of this template. Includes:
diff --git a/core/tests/Drupal/Tests/Core/Layout/LayoutDefaultTest.php b/core/tests/Drupal/Tests/Core/Layout/LayoutDefaultTest.php
index af9cc38759b..30b14710057 100644
--- a/core/tests/Drupal/Tests/Core/Layout/LayoutDefaultTest.php
+++ b/core/tests/Drupal/Tests/Core/Layout/LayoutDefaultTest.php
@@ -30,6 +30,7 @@ class LayoutDefaultTest extends UnitTestCase {
],
]);
$expected += [
+ '#in_preview' => FALSE,
'#settings' => [
'label' => '',
],
diff --git a/core/themes/claro/templates/classy/block/block--search-form-block.html.twig b/core/themes/claro/templates/classy/block/block--search-form-block.html.twig
index 667202fb6b6..d1cda724ba8 100644
--- a/core/themes/claro/templates/classy/block/block--search-form-block.html.twig
+++ b/core/themes/claro/templates/classy/block/block--search-form-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: A list HTML attributes populated by modules, intended to
* be added to the main container tag of this template. Includes:
diff --git a/core/themes/claro/templates/classy/block/block--system-menu-block.html.twig b/core/themes/claro/templates/classy/block/block--system-menu-block.html.twig
index 407f8403fd2..db3f9f80881 100644
--- a/core/themes/claro/templates/classy/block/block--system-menu-block.html.twig
+++ b/core/themes/claro/templates/classy/block/block--system-menu-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: HTML attributes for the containing element.
* - id: A valid HTML ID and guaranteed unique.
diff --git a/core/themes/claro/templates/classy/block/block.html.twig b/core/themes/claro/templates/classy/block/block.html.twig
index fd3311be958..114d7c4de4f 100644
--- a/core/themes/claro/templates/classy/block/block.html.twig
+++ b/core/themes/claro/templates/classy/block/block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
diff --git a/core/themes/olivero/templates/block/block--page-title-block.html.twig b/core/themes/olivero/templates/block/block--page-title-block.html.twig
index 64361701688..1cf7bcb0e98 100644
--- a/core/themes/olivero/templates/block/block--page-title-block.html.twig
+++ b/core/themes/olivero/templates/block/block--page-title-block.html.twig
@@ -12,6 +12,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
diff --git a/core/themes/olivero/templates/block/block--primary-menu--plugin-id--search-form-block.html.twig b/core/themes/olivero/templates/block/block--primary-menu--plugin-id--search-form-block.html.twig
index f6bb1414d7e..529b857ec97 100644
--- a/core/themes/olivero/templates/block/block--primary-menu--plugin-id--search-form-block.html.twig
+++ b/core/themes/olivero/templates/block/block--primary-menu--plugin-id--search-form-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - content_attributes: A list of HTML attributes applied to the main content
* - attributes: A list HTML attributes populated by modules, intended to
diff --git a/core/themes/olivero/templates/block/block--secondary-menu.html.twig b/core/themes/olivero/templates/block/block--secondary-menu.html.twig
index 6c6c77a9b0a..3c03dace1be 100644
--- a/core/themes/olivero/templates/block/block--secondary-menu.html.twig
+++ b/core/themes/olivero/templates/block/block--secondary-menu.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: HTML attributes for the containing element.
* - id: A valid HTML ID and guaranteed unique.
diff --git a/core/themes/olivero/templates/block/block--system-menu-block.html.twig b/core/themes/olivero/templates/block/block--system-menu-block.html.twig
index 1b56b155d0d..9e9c25df6a6 100644
--- a/core/themes/olivero/templates/block/block--system-menu-block.html.twig
+++ b/core/themes/olivero/templates/block/block--system-menu-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: HTML attributes for the containing element.
* - id: A valid HTML ID and guaranteed unique.
diff --git a/core/themes/olivero/templates/block/block.html.twig b/core/themes/olivero/templates/block/block.html.twig
index 647fb4e1f70..6681e1ea851 100644
--- a/core/themes/olivero/templates/block/block.html.twig
+++ b/core/themes/olivero/templates/block/block.html.twig
@@ -12,6 +12,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
diff --git a/core/themes/stable9/layouts/layout_builder/fourcol_section/layout--fourcol-section.html.twig b/core/themes/stable9/layouts/layout_builder/fourcol_section/layout--fourcol-section.html.twig
index e610278c45e..0dd0820a7d5 100644
--- a/core/themes/stable9/layouts/layout_builder/fourcol_section/layout--fourcol-section.html.twig
+++ b/core/themes/stable9/layouts/layout_builder/fourcol_section/layout--fourcol-section.html.twig
@@ -4,6 +4,7 @@
* Theme override for a four-column 25%-25%-25%-25% layout.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*/
diff --git a/core/themes/stable9/layouts/layout_builder/threecol_section/layout--threecol-section.html.twig b/core/themes/stable9/layouts/layout_builder/threecol_section/layout--threecol-section.html.twig
index 123acfec3e6..a85b90c127f 100644
--- a/core/themes/stable9/layouts/layout_builder/threecol_section/layout--threecol-section.html.twig
+++ b/core/themes/stable9/layouts/layout_builder/threecol_section/layout--threecol-section.html.twig
@@ -4,6 +4,7 @@
* Theme override for a three-column layout.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*/
diff --git a/core/themes/stable9/layouts/layout_builder/twocol_section/layout--twocol-section.html.twig b/core/themes/stable9/layouts/layout_builder/twocol_section/layout--twocol-section.html.twig
index d047debe53c..dc9ee5ccdc7 100644
--- a/core/themes/stable9/layouts/layout_builder/twocol_section/layout--twocol-section.html.twig
+++ b/core/themes/stable9/layouts/layout_builder/twocol_section/layout--twocol-section.html.twig
@@ -4,6 +4,7 @@
* Theme override to display a two-column layout.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*/
diff --git a/core/themes/stable9/layouts/layout_discovery/onecol/layout--onecol.html.twig b/core/themes/stable9/layouts/layout_discovery/onecol/layout--onecol.html.twig
index 7fe5b121ca8..f3bda9290c2 100644
--- a/core/themes/stable9/layouts/layout_discovery/onecol/layout--onecol.html.twig
+++ b/core/themes/stable9/layouts/layout_discovery/onecol/layout--onecol.html.twig
@@ -4,6 +4,7 @@
* Theme override to display a one-column layout.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*/
diff --git a/core/themes/stable9/layouts/layout_discovery/threecol_25_50_25/layout--threecol-25-50-25.html.twig b/core/themes/stable9/layouts/layout_discovery/threecol_25_50_25/layout--threecol-25-50-25.html.twig
index 715470bd061..6829a6e6fed 100644
--- a/core/themes/stable9/layouts/layout_discovery/threecol_25_50_25/layout--threecol-25-50-25.html.twig
+++ b/core/themes/stable9/layouts/layout_discovery/threecol_25_50_25/layout--threecol-25-50-25.html.twig
@@ -7,6 +7,7 @@
* additional areas for the top and the bottom.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*/
diff --git a/core/themes/stable9/layouts/layout_discovery/threecol_33_34_33/layout--threecol-33-34-33.html.twig b/core/themes/stable9/layouts/layout_discovery/threecol_33_34_33/layout--threecol-33-34-33.html.twig
index f0a541d4958..43bfe201570 100644
--- a/core/themes/stable9/layouts/layout_discovery/threecol_33_34_33/layout--threecol-33-34-33.html.twig
+++ b/core/themes/stable9/layouts/layout_discovery/threecol_33_34_33/layout--threecol-33-34-33.html.twig
@@ -7,6 +7,7 @@
* additional areas for the top and the bottom.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*/
diff --git a/core/themes/stable9/layouts/layout_discovery/twocol/layout--twocol.html.twig b/core/themes/stable9/layouts/layout_discovery/twocol/layout--twocol.html.twig
index 4de66f04895..c56c36c66b5 100644
--- a/core/themes/stable9/layouts/layout_discovery/twocol/layout--twocol.html.twig
+++ b/core/themes/stable9/layouts/layout_discovery/twocol/layout--twocol.html.twig
@@ -4,6 +4,7 @@
* Theme override to display a two-column layout.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*/
diff --git a/core/themes/stable9/layouts/layout_discovery/twocol_bricks/layout--twocol-bricks.html.twig b/core/themes/stable9/layouts/layout_discovery/twocol_bricks/layout--twocol-bricks.html.twig
index 08a0b479206..0069dd132e8 100644
--- a/core/themes/stable9/layouts/layout_discovery/twocol_bricks/layout--twocol-bricks.html.twig
+++ b/core/themes/stable9/layouts/layout_discovery/twocol_bricks/layout--twocol-bricks.html.twig
@@ -7,6 +7,7 @@
* the top, bottom and in the middle.
*
* Available variables:
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content for this layout.
* - attributes: HTML attributes for the layout
.
*/
diff --git a/core/themes/stable9/templates/block/block--system-menu-block.html.twig b/core/themes/stable9/templates/block/block--system-menu-block.html.twig
index e78e1de7f66..937c1865eda 100644
--- a/core/themes/stable9/templates/block/block--system-menu-block.html.twig
+++ b/core/themes/stable9/templates/block/block--system-menu-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: HTML attributes for the containing element.
* - id: A valid HTML ID and guaranteed unique.
diff --git a/core/themes/stable9/templates/block/block.html.twig b/core/themes/stable9/templates/block/block.html.twig
index dca6f48fb31..e842e404576 100644
--- a/core/themes/stable9/templates/block/block.html.twig
+++ b/core/themes/stable9/templates/block/block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.
diff --git a/core/themes/starterkit_theme/templates/block/block--search-form-block.html.twig b/core/themes/starterkit_theme/templates/block/block--search-form-block.html.twig
index 667202fb6b6..d1cda724ba8 100644
--- a/core/themes/starterkit_theme/templates/block/block--search-form-block.html.twig
+++ b/core/themes/starterkit_theme/templates/block/block--search-form-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: A list HTML attributes populated by modules, intended to
* be added to the main container tag of this template. Includes:
diff --git a/core/themes/starterkit_theme/templates/block/block--system-menu-block.html.twig b/core/themes/starterkit_theme/templates/block/block--system-menu-block.html.twig
index 407f8403fd2..db3f9f80881 100644
--- a/core/themes/starterkit_theme/templates/block/block--system-menu-block.html.twig
+++ b/core/themes/starterkit_theme/templates/block/block--system-menu-block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: HTML attributes for the containing element.
* - id: A valid HTML ID and guaranteed unique.
diff --git a/core/themes/starterkit_theme/templates/block/block.html.twig b/core/themes/starterkit_theme/templates/block/block.html.twig
index fd3311be958..114d7c4de4f 100644
--- a/core/themes/starterkit_theme/templates/block/block.html.twig
+++ b/core/themes/starterkit_theme/templates/block/block.html.twig
@@ -11,6 +11,7 @@
* - label_display: The display settings for the label.
* - provider: The module or other provider that provided this block plugin.
* - Block plugin specific settings will also be stored here.
+ * - in_preview: Whether the plugin is being rendered in preview mode.
* - content: The content of this block.
* - attributes: array of HTML attributes populated by modules, intended to
* be added to the main container tag of this template.