diff --git a/core/modules/views/views_ui/templates/views-ui-container.html.twig b/core/modules/views/views_ui/templates/views-ui-container.html.twig
new file mode 100644
index 0000000..f41bd7f
--- /dev/null
+++ b/core/modules/views/views_ui/templates/views-ui-container.html.twig
@@ -0,0 +1,18 @@
+{#
+/**
+ * @file
+ * Template for a generic container/wrapper.
+ *
+ * Available variables:
+ * - attributes: An array of HTML attributes to apply to the container element.
+ * - children: An array of renderable elements such as dropbuttons and tabs.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_views_ui_container()
+ *
+ * @ingroup themeable
+ */
+#}
+
+ {{ children }}
+
\ No newline at end of file
diff --git a/core/modules/views/views_ui/views_ui.module b/core/modules/views/views_ui/views_ui.module
index 24d54ef..0e5c8d4 100644
--- a/core/modules/views/views_ui/views_ui.module
+++ b/core/modules/views/views_ui/views_ui.module
@@ -189,6 +189,7 @@ function views_ui_theme() {
// is not desired.
'views_ui_container' => array(
'render element' => 'element',
+ 'template' => 'views-ui-container',
'file' => 'views_ui.theme.inc',
),
);
diff --git a/core/modules/views/views_ui/views_ui.theme.inc b/core/modules/views/views_ui/views_ui.theme.inc
index 176955f..3403ef6b 100644
--- a/core/modules/views/views_ui/views_ui.theme.inc
+++ b/core/modules/views/views_ui/views_ui.theme.inc
@@ -8,11 +8,11 @@
use Drupal\Core\Template\Attribute;
/**
- * Generic container function.
+ * Prepares variables for views-ui-container.html.twig.
*/
-function theme_views_ui_container($variables) {
- $element = $variables['element'];
- return '
' . $element['#children'] . '
';
+function template_preprocess_views_ui_container(&$variables) {
+ $variables['attributes'] = new Attribute($variables['element']['#attributes']);
+ $variables['children'] = $variables['element']['#children'];
}
function template_preprocess_views_ui_display_tab_setting(&$variables) {