UNPKG

1.29 kBJavaScriptView Raw
1function prepareClasses(entries, prefix) {
2 const resultClasses = [];
3 entries.forEach(item => {
4 if (typeof item === 'object') {
5 Object.keys(item).forEach(classNames => {
6 if (item[classNames]) {
7 resultClasses.push(prefix + classNames);
8 }
9 });
10 } else if (typeof item === 'string') {
11 resultClasses.push(prefix + item);
12 }
13 });
14 return resultClasses;
15}
16
17export default function addClasses() {
18 const swiper = this;
19 const {
20 classNames,
21 params,
22 rtl,
23 $el,
24 device,
25 support
26 } = swiper; // prettier-ignore
27
28 const suffixes = prepareClasses(['initialized', params.direction, {
29 'pointer-events': !support.touch
30 }, {
31 'free-mode': swiper.params.freeMode && params.freeMode.enabled
32 }, {
33 'autoheight': params.autoHeight
34 }, {
35 'rtl': rtl
36 }, {
37 'grid': params.grid && params.grid.rows > 1
38 }, {
39 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'
40 }, {
41 'android': device.android
42 }, {
43 'ios': device.ios
44 }, {
45 'css-mode': params.cssMode
46 }, {
47 'centered': params.cssMode && params.centeredSlides
48 }], params.containerModifierClass);
49 classNames.push(...suffixes);
50 $el.addClass([...classNames].join(' '));
51 swiper.emitContainerClasses();
52}
\No newline at end of file