Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo-mod-jslibs-dist.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'popperjs/package/lib/dom-utils/getWindowScrollBarX.js.flow')
-rw-r--r--popperjs/package/lib/dom-utils/getWindowScrollBarX.js.flow18
1 files changed, 18 insertions, 0 deletions
diff --git a/popperjs/package/lib/dom-utils/getWindowScrollBarX.js.flow b/popperjs/package/lib/dom-utils/getWindowScrollBarX.js.flow
new file mode 100644
index 0000000..9d0d86d
--- /dev/null
+++ b/popperjs/package/lib/dom-utils/getWindowScrollBarX.js.flow
@@ -0,0 +1,18 @@
+// @flow
+import getBoundingClientRect from './getBoundingClientRect';
+import getDocumentElement from './getDocumentElement';
+import getWindowScroll from './getWindowScroll';
+
+export default function getWindowScrollBarX(element: Element): number {
+ // If <html> has a CSS width greater than the viewport, then this will be
+ // incorrect for RTL.
+ // Popper 1 is broken in this case and never had a bug report so let's assume
+ // it's not an issue. I don't think anyone ever specifies width on <html>
+ // anyway.
+ // Browsers where the left scrollbar doesn't cause an issue report `0` for
+ // this (e.g. Edge 2019, IE11, Safari)
+ return (
+ getBoundingClientRect(getDocumentElement(element)).left +
+ getWindowScroll(element).scrollLeft
+ );
+}