From eda83ca7077e83c6fe250d7a3793c760606efcc0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabien=20Cl=C3=A9ment?=
 <15911-goz@users.noreply.drupalcode.org>
Date: Wed, 19 Mar 2025 08:51:15 +0000
Subject: [PATCH 1/2] Issue #3513925: Multiple modals stay on top of backdrops

---
 assets/css/component/dialog.css  | 4 ++++
 assets/js/misc/dialog/dialog.js  | 5 +++++
 ui_suite_bootstrap.libraries.yml | 2 +-
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/assets/css/component/dialog.css b/assets/css/component/dialog.css
index daacad3e..54693a9a 100644
--- a/assets/css/component/dialog.css
+++ b/assets/css/component/dialog.css
@@ -1,3 +1,7 @@
 .modal-footer .ui-dialog-buttonset {
   gap: var(--bs-modal-footer-gap);
 }
+
+.modal {
+  --bs-modal-zindex: 1050;
+}
diff --git a/assets/js/misc/dialog/dialog.js b/assets/js/misc/dialog/dialog.js
index f92afb81..8c416163 100644
--- a/assets/js/misc/dialog/dialog.js
+++ b/assets/js/misc/dialog/dialog.js
@@ -225,6 +225,11 @@
       if ($element.modal !== undefined) {
         $element.modal(settings);
         $element.modal('show');
+        // Be sure modal is last, it will be on top of all other modals and
+        // backdrops.
+        // Thanks to that, no more need different z-index for modals and
+        // backdrops.
+        $element.appendTo('body');
       }
 
       if (settings.width) {
diff --git a/ui_suite_bootstrap.libraries.yml b/ui_suite_bootstrap.libraries.yml
index 6367d016..4b88db7a 100644
--- a/ui_suite_bootstrap.libraries.yml
+++ b/ui_suite_bootstrap.libraries.yml
@@ -61,7 +61,7 @@ drupal.dialog:
   js:
     assets/js/misc/dialog/dialog.js: {}
   css:
-    component:
+    theme:
       assets/css/component/dialog.css: {}
   dependencies:
     - core/jquery
-- 
GitLab


From 37625dea1fcba63da096ade8cc725090a30355e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabien=20Cl=C3=A9ment?=
 <15911-goz@users.noreply.drupalcode.org>
Date: Wed, 19 Mar 2025 08:54:15 +0000
Subject: [PATCH 2/2] Issue #3513925: Multiple modals stay on top of backdrops
 - add dependency to bootstrap to deal with css order

---
 ui_suite_bootstrap.libraries.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ui_suite_bootstrap.libraries.yml b/ui_suite_bootstrap.libraries.yml
index 4b88db7a..9ee69c3a 100644
--- a/ui_suite_bootstrap.libraries.yml
+++ b/ui_suite_bootstrap.libraries.yml
@@ -67,6 +67,7 @@ drupal.dialog:
     - core/jquery
     - core/drupal
     - core/drupalSettings
+    - ui_suite_bootstrap/bootstrap
 
 drupal.dialog.ajax:
   js:
-- 
GitLab