@talentsoft-opensource/uxp-themes
Version:
Talentsoft UX themes
34 lines (33 loc) • 1.59 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var perfectScrollbar = require('perfect-scrollbar');
var activateScrollBars = function () {
var $elementScroll = document.querySelectorAll('.scrollbar--active');
Array.prototype.forEach.call($elementScroll, function ($item) {
var isVertical = $item.classList.contains('ps--active-y');
var isHorizontal = $item.classList.contains('ps--active-x');
var useHorizontalWheel = $item.classList.contains('ps--horizontal-wheel');
initializeScrollBar($item, isVertical, isHorizontal, useHorizontalWheel);
});
};
var initializeScrollBar = function ($element, $isVertical, $isHorizontal, $useHorizontalWheel) {
if ($isVertical === void 0) { $isVertical = true; }
if ($isHorizontal === void 0) { $isHorizontal = false; }
if ($useHorizontalWheel === void 0) { $useHorizontalWheel = false; }
if ($element) {
var scrollbar_1 = new perfectScrollbar($element, {
wheelPropagation: false,
minScrollbarLength: 20,
suppressScrollX: !$isHorizontal,
suppressScrollY: !$isVertical,
useBothWheelAxes: $useHorizontalWheel
});
var observer = new MutationObserver(function (mutationList) {
scrollbar_1.update();
});
observer.observe($element, { childList: true, subtree: true, characterData: true });
scrollbar_1.update();
return scrollbar_1;
}
};
exports.default = { activateScrollBars: activateScrollBars, initializeScrollBar: initializeScrollBar };