]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Use `isRTL` util in Drawer JS code (#42254)
authorJulien Déramond <juderamond@gmail.com>
Mon, 30 Mar 2026 20:26:59 +0000 (22:26 +0200)
committerGitHub <noreply@github.com>
Mon, 30 Mar 2026 20:26:59 +0000 (22:26 +0200)
js/src/drawer.js

index 9f1da6964aa83462e701aab8ecda2615f1dbe714..ce71ad0f8cb0a26932a1afcbbb3a0d9f1c4eb8a6 100644 (file)
@@ -12,6 +12,7 @@ import Swipe from './util/swipe.js'
 import { enableDismissTrigger } from './util/component-functions.js'
 import {
   isDisabled,
+  isRTL,
   isVisible
 } from './util/index.js'
 
@@ -114,20 +115,17 @@ class Drawer extends DialogBase {
       swipeConfig.upCallback = () => this.hide()
     } else if (element.classList.contains('drawer-end')) {
       // RTL: swipe left to dismiss end drawer
-      const isRtl = document.documentElement.dir === 'rtl'
-      if (isRtl) {
+      if (isRTL()) {
         swipeConfig.leftCallback = () => this.hide()
       } else {
         swipeConfig.rightCallback = () => this.hide()
       }
+    } else if (isRTL()) {
+      // drawer-start (default): swipe right to dismiss in RTL
+      swipeConfig.rightCallback = () => this.hide()
     } else {
       // drawer-start (default): swipe left to dismiss in LTR
-      const isRtl = document.documentElement.dir === 'rtl'
-      if (isRtl) {
-        swipeConfig.rightCallback = () => this.hide()
-      } else {
-        swipeConfig.leftCallback = () => this.hide()
-      }
+      swipeConfig.leftCallback = () => this.hide()
     }
 
     this._swipeHelper = new Swipe(element, swipeConfig)