27 lines
845 B
JavaScript
27 lines
845 B
JavaScript
/**
|
|
* Measures the width of the scrollbar for the given document.
|
|
*
|
|
* @param targetDocument - Document to measure the scrollbar width
|
|
* @returns The width of the scrollbar in pixels
|
|
*/ "use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
Object.defineProperty(exports, "measureScrollbarWidth", {
|
|
enumerable: true,
|
|
get: function() {
|
|
return measureScrollbarWidth;
|
|
}
|
|
});
|
|
function measureScrollbarWidth(targetDocument) {
|
|
const outer = targetDocument.createElement('div');
|
|
outer.style.visibility = 'hidden';
|
|
outer.style.overflow = 'scroll';
|
|
const inner = targetDocument.createElement('div');
|
|
outer.appendChild(inner);
|
|
targetDocument.body.appendChild(outer);
|
|
const scrollbarWidth = outer.offsetWidth - inner.offsetWidth;
|
|
outer.remove();
|
|
return scrollbarWidth;
|
|
}
|