swiper
Version:
Most modern mobile touch slider and framework with hardware accelerated transitions
56 lines (51 loc) • 1.45 kB
JavaScript
;
exports.__esModule = true;
exports.default = addClasses;
function prepareClasses(entries, prefix) {
var resultClasses = [];
entries.forEach(function (item) {
if (typeof item === 'object') {
Object.entries(item).forEach(function (_ref) {
var classNames = _ref[0],
condition = _ref[1];
if (condition) {
resultClasses.push(prefix + classNames);
}
});
} else if (typeof item === 'string') {
resultClasses.push(prefix + item);
}
});
return resultClasses;
}
function addClasses() {
var swiper = this;
var classNames = swiper.classNames,
params = swiper.params,
rtl = swiper.rtl,
$el = swiper.$el,
device = swiper.device,
support = swiper.support; // prettier-ignore
var suffixes = prepareClasses(['initialized', params.direction, {
'pointer-events': support.pointerEvents && !support.touch
}, {
'free-mode': params.freeMode
}, {
'autoheight': params.autoHeight
}, {
'rtl': rtl
}, {
'multirow': params.slidesPerColumn > 1
}, {
'multirow-column': params.slidesPerColumn > 1 && params.slidesPerColumnFill === 'column'
}, {
'android': device.android
}, {
'ios': device.ios
}, {
'css-mode': params.cssMode
}], params.containerModifierClass);
classNames.push.apply(classNames, suffixes);
$el.addClass([].concat(classNames).join(' '));
swiper.emitContainerClasses();
}