@zippytech/react-scroll-container
Version:
Custom scrollbars for your React components
53 lines (44 loc) • 1.23 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var document = global.document;
var scrollbarWidth = false;
var hideNativeScrollbarWidth = false;
exports.default = function (hideNativeScrollbarIfPossible) {
if (hideNativeScrollbarIfPossible) {
if (hideNativeScrollbarWidth !== false) {
return hideNativeScrollbarWidth;
}
} else {
if (scrollbarWidth !== false) {
return scrollbarWidth;
}
}
var result = void 0;
if (document) {
var div = document.createElement('div');
var divStyle = div.style;
if (hideNativeScrollbarIfPossible) {
div.className = 'zippy--hide-native-scroll-if-possible';
}
divStyle.width = '100px';
divStyle.height = '100px';
divStyle.position = 'absolute';
divStyle.boxSizing = 'content-box';
divStyle.top = '-99999px';
divStyle.overflow = 'scroll';
divStyle.MsOverflowStyle = 'scrollbar';
document.body.appendChild(div);
result = div.offsetWidth - div.clientWidth;
document.body.removeChild(div);
} else {
result = 0;
}
if (hideNativeScrollbarIfPossible) {
hideNativeScrollbarWidth = result;
} else {
scrollbarWidth = result;
}
return result;
};
;