uikit 3.11.2-dev.19d26d0f9 → 3.11.2-dev.21a5b7139

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/.eslintrc.json +4 -49
  2. package/.prettierignore +14 -0
  3. package/.prettierrc.json +13 -0
  4. package/.webstorm.js +3 -3
  5. package/CHANGELOG.md +16 -1
  6. package/build/.eslintrc.json +1 -3
  7. package/build/build.js +26 -28
  8. package/build/icons.js +7 -11
  9. package/build/less.js +48 -36
  10. package/build/package.json +2 -2
  11. package/build/prefix.js +21 -18
  12. package/build/publishDev.js +6 -8
  13. package/build/release.js +20 -17
  14. package/build/scope.js +21 -11
  15. package/build/scss.js +72 -39
  16. package/build/util.js +71 -62
  17. package/build/wrapper/icons.js +0 -2
  18. package/dist/css/uikit-core-rtl.css +42 -17
  19. package/dist/css/uikit-core-rtl.min.css +1 -1
  20. package/dist/css/uikit-core.css +42 -17
  21. package/dist/css/uikit-core.min.css +1 -1
  22. package/dist/css/uikit-rtl.css +42 -17
  23. package/dist/css/uikit-rtl.min.css +1 -1
  24. package/dist/css/uikit.css +42 -17
  25. package/dist/css/uikit.min.css +1 -1
  26. package/dist/js/components/countdown.js +88 -133
  27. package/dist/js/components/countdown.min.js +1 -1
  28. package/dist/js/components/filter.js +410 -437
  29. package/dist/js/components/filter.min.js +1 -1
  30. package/dist/js/components/lightbox-panel.js +1116 -1305
  31. package/dist/js/components/lightbox-panel.min.js +1 -1
  32. package/dist/js/components/lightbox.js +1164 -1383
  33. package/dist/js/components/lightbox.min.js +1 -1
  34. package/dist/js/components/notification.js +94 -114
  35. package/dist/js/components/notification.min.js +1 -1
  36. package/dist/js/components/parallax.js +294 -345
  37. package/dist/js/components/parallax.min.js +1 -1
  38. package/dist/js/components/slider-parallax.js +292 -344
  39. package/dist/js/components/slider-parallax.min.js +1 -1
  40. package/dist/js/components/slider.js +724 -846
  41. package/dist/js/components/slider.min.js +1 -1
  42. package/dist/js/components/slideshow-parallax.js +292 -344
  43. package/dist/js/components/slideshow-parallax.min.js +1 -1
  44. package/dist/js/components/slideshow.js +615 -799
  45. package/dist/js/components/slideshow.min.js +1 -1
  46. package/dist/js/components/sortable.js +587 -616
  47. package/dist/js/components/sortable.min.js +1 -1
  48. package/dist/js/components/tooltip.js +324 -356
  49. package/dist/js/components/tooltip.min.js +1 -1
  50. package/dist/js/components/upload.js +153 -161
  51. package/dist/js/components/upload.min.js +1 -1
  52. package/dist/js/uikit-core.js +5293 -6602
  53. package/dist/js/uikit-core.min.js +1 -1
  54. package/dist/js/uikit-icons.js +7 -9
  55. package/dist/js/uikit-icons.min.js +1 -1
  56. package/dist/js/uikit.js +8114 -9862
  57. package/dist/js/uikit.min.js +1 -1
  58. package/jsconfig.json +1 -1
  59. package/package.json +64 -60
  60. package/src/js/api/boot.js +25 -32
  61. package/src/js/api/component.js +23 -27
  62. package/src/js/api/global.js +6 -12
  63. package/src/js/api/hooks.js +13 -32
  64. package/src/js/api/instance.js +7 -15
  65. package/src/js/api/state.js +80 -101
  66. package/src/js/components/countdown.js +23 -49
  67. package/src/js/components/filter.js +71 -66
  68. package/src/js/components/index.js +13 -13
  69. package/src/js/components/internal/lightbox-animations.js +11 -23
  70. package/src/js/components/internal/slider-transitioner.js +65 -44
  71. package/src/js/components/internal/slideshow-animations.js +42 -61
  72. package/src/js/components/lightbox-panel.js +135 -109
  73. package/src/js/components/lightbox.js +17 -38
  74. package/src/js/components/notification.js +49 -43
  75. package/src/js/components/parallax.js +16 -30
  76. package/src/js/components/slider-parallax.js +13 -23
  77. package/src/js/components/slider.js +73 -61
  78. package/src/js/components/slideshow-parallax.js +1 -1
  79. package/src/js/components/slideshow.js +8 -13
  80. package/src/js/components/sortable.js +121 -102
  81. package/src/js/components/tooltip.js +41 -31
  82. package/src/js/components/upload.js +46 -53
  83. package/src/js/core/accordion.js +54 -49
  84. package/src/js/core/alert.js +10 -17
  85. package/src/js/core/core.js +74 -53
  86. package/src/js/core/cover.js +11 -15
  87. package/src/js/core/drop.js +107 -93
  88. package/src/js/core/form-custom.js +20 -25
  89. package/src/js/core/gif.js +3 -7
  90. package/src/js/core/grid.js +57 -58
  91. package/src/js/core/height-match.js +15 -28
  92. package/src/js/core/height-viewport.js +28 -35
  93. package/src/js/core/icon.js +38 -50
  94. package/src/js/core/img.js +57 -58
  95. package/src/js/core/index.js +39 -39
  96. package/src/js/core/leader.js +9 -18
  97. package/src/js/core/margin.js +10 -24
  98. package/src/js/core/modal.js +50 -36
  99. package/src/js/core/nav.js +2 -4
  100. package/src/js/core/navbar.js +112 -84
  101. package/src/js/core/offcanvas.js +49 -53
  102. package/src/js/core/overflow-auto.js +13 -17
  103. package/src/js/core/responsive.js +14 -12
  104. package/src/js/core/scroll.js +10 -20
  105. package/src/js/core/scrollspy-nav.js +34 -31
  106. package/src/js/core/scrollspy.js +34 -51
  107. package/src/js/core/sticky.js +151 -93
  108. package/src/js/core/svg.js +60 -79
  109. package/src/js/core/switcher.js +47 -46
  110. package/src/js/core/tab.js +7 -10
  111. package/src/js/core/toggle.js +63 -65
  112. package/src/js/core/video.js +11 -22
  113. package/src/js/mixin/animate.js +19 -20
  114. package/src/js/mixin/class.js +2 -4
  115. package/src/js/mixin/container.js +7 -11
  116. package/src/js/mixin/internal/animate-fade.js +73 -30
  117. package/src/js/mixin/internal/animate-slide.js +61 -41
  118. package/src/js/mixin/internal/slideshow-animations.js +7 -14
  119. package/src/js/mixin/internal/slideshow-transitioner.js +10 -17
  120. package/src/js/mixin/media.js +5 -10
  121. package/src/js/mixin/modal.js +89 -66
  122. package/src/js/mixin/parallax.js +53 -48
  123. package/src/js/mixin/position.js +26 -20
  124. package/src/js/mixin/slider-autoplay.js +12 -21
  125. package/src/js/mixin/slider-drag.js +62 -63
  126. package/src/js/mixin/slider-nav.js +25 -34
  127. package/src/js/mixin/slider-reactive.js +2 -8
  128. package/src/js/mixin/slider.js +51 -50
  129. package/src/js/mixin/slideshow.js +13 -19
  130. package/src/js/mixin/togglable.js +90 -63
  131. package/src/js/uikit-core.js +2 -4
  132. package/src/js/uikit.js +2 -4
  133. package/src/js/util/ajax.js +27 -43
  134. package/src/js/util/animation.js +82 -75
  135. package/src/js/util/attr.js +6 -12
  136. package/src/js/util/class.js +14 -52
  137. package/src/js/util/dimensions.js +56 -43
  138. package/src/js/util/dom.js +36 -54
  139. package/src/js/util/env.js +7 -12
  140. package/src/js/util/event.js +60 -59
  141. package/src/js/util/fastdom.js +1 -6
  142. package/src/js/util/filter.js +17 -34
  143. package/src/js/util/index.js +0 -1
  144. package/src/js/util/lang.js +79 -119
  145. package/src/js/util/mouse.js +19 -17
  146. package/src/js/util/options.js +44 -49
  147. package/src/js/util/player.js +40 -36
  148. package/src/js/util/position.js +53 -45
  149. package/src/js/util/promise.js +0 -191
  150. package/src/js/util/selector.js +39 -48
  151. package/src/js/util/style.js +36 -46
  152. package/src/js/util/viewport.js +75 -64
  153. package/src/less/components/flex.less +0 -9
  154. package/src/less/components/navbar.less +0 -7
  155. package/src/less/components/utility.less +22 -0
  156. package/src/scss/components/flex.scss +0 -9
  157. package/src/scss/components/form.scss +3 -3
  158. package/src/scss/components/icon.scss +2 -2
  159. package/src/scss/components/navbar.scss +0 -7
  160. package/src/scss/components/search.scss +1 -1
  161. package/src/scss/components/utility.scss +22 -0
  162. package/src/scss/variables-theme.scss +6 -6
  163. package/src/scss/variables.scss +6 -6
  164. package/tests/js/index.js +114 -85
  165. package/tests/sticky-parallax.html +44 -41
  166. package/tests/sticky.html +20 -3
  167. package/src/js/mixin/flex-bug.js +0 -56
@@ -1,7 +1,19 @@
1
- import {createEvent, css, Dimensions, escape, getImage, includes, isUndefined, queryAll, startsWith, toFloat, toPx, trigger} from 'uikit-util';
1
+ import {
2
+ createEvent,
3
+ css,
4
+ Dimensions,
5
+ escape,
6
+ getImage,
7
+ includes,
8
+ isUndefined,
9
+ queryAll,
10
+ startsWith,
11
+ toFloat,
12
+ toPx,
13
+ trigger,
14
+ } from 'uikit-util';
2
15
 
3
16
  export default {
4
-
5
17
  args: 'dataSrc',
6
18
 
7
19
  props: {
@@ -12,7 +24,7 @@ export default {
12
24
  height: Number,
13
25
  offsetTop: String,
14
26
  offsetLeft: String,
15
- target: String
27
+ target: String,
16
28
  },
17
29
 
18
30
  data: {
@@ -23,24 +35,23 @@ export default {
23
35
  height: false,
24
36
  offsetTop: '50vh',
25
37
  offsetLeft: '50vw',
26
- target: false
38
+ target: false,
27
39
  },
28
40
 
29
41
  computed: {
30
-
31
- cacheKey({dataSrc}) {
42
+ cacheKey({ dataSrc }) {
32
43
  return `${this.$name}.${dataSrc}`;
33
44
  },
34
45
 
35
- width({width, dataWidth}) {
46
+ width({ width, dataWidth }) {
36
47
  return width || dataWidth;
37
48
  },
38
49
 
39
- height({height, dataHeight}) {
50
+ height({ height, dataHeight }) {
40
51
  return height || dataHeight;
41
52
  },
42
53
 
43
- sizes({sizes, dataSizes}) {
54
+ sizes({ sizes, dataSizes }) {
44
55
  return sizes || dataSizes;
45
56
  },
46
57
 
@@ -49,29 +60,25 @@ export default {
49
60
  },
50
61
 
51
62
  target: {
52
-
53
- get({target}) {
63
+ get({ target }) {
54
64
  return [this.$el, ...queryAll(target, this.$el)];
55
65
  },
56
66
 
57
67
  watch() {
58
68
  this.observe();
59
- }
60
-
69
+ },
61
70
  },
62
71
 
63
- offsetTop({offsetTop}) {
72
+ offsetTop({ offsetTop }) {
64
73
  return toPx(offsetTop, 'height');
65
74
  },
66
75
 
67
- offsetLeft({offsetLeft}) {
76
+ offsetLeft({ offsetLeft }) {
68
77
  return toPx(offsetLeft, 'width');
69
- }
70
-
78
+ },
71
79
  },
72
80
 
73
81
  connected() {
74
-
75
82
  if (!window.IntersectionObserver) {
76
83
  setSrcAttrs(this.$el, this.dataSrc, this.dataSrcset, this.sizes);
77
84
  return;
@@ -84,11 +91,10 @@ export default {
84
91
  }
85
92
 
86
93
  this.observer = new IntersectionObserver(this.load, {
87
- rootMargin: `${this.offsetTop}px ${this.offsetLeft}px`
94
+ rootMargin: `${this.offsetTop}px ${this.offsetLeft}px`,
88
95
  });
89
96
 
90
97
  requestAnimationFrame(this.observe);
91
-
92
98
  },
93
99
 
94
100
  disconnected() {
@@ -96,9 +102,7 @@ export default {
96
102
  },
97
103
 
98
104
  update: {
99
-
100
- read({image}) {
101
-
105
+ read({ image }) {
102
106
  if (!this.observer) {
103
107
  return false;
104
108
  }
@@ -111,81 +115,76 @@ export default {
111
115
  return false;
112
116
  }
113
117
 
114
- image && image.then(img => img && img.currentSrc !== '' && setSrcAttrs(this.$el, currentSrc(img)));
115
-
118
+ image &&
119
+ image.then(
120
+ (img) => img && img.currentSrc !== '' && setSrcAttrs(this.$el, currentSrc(img))
121
+ );
116
122
  },
117
123
 
118
124
  write(data) {
119
-
120
125
  if (this.dataSrcset && window.devicePixelRatio !== 1) {
121
-
122
126
  const bgSize = css(this.$el, 'backgroundSize');
123
127
  if (bgSize.match(/^(auto\s?)+$/) || toFloat(bgSize) === data.bgSize) {
124
128
  data.bgSize = getSourceSize(this.dataSrcset, this.sizes);
125
129
  css(this.$el, 'backgroundSize', `${data.bgSize}px`);
126
130
  }
127
-
128
131
  }
129
-
130
132
  },
131
133
 
132
- events: ['resize']
133
-
134
+ events: ['resize'],
134
135
  },
135
136
 
136
137
  methods: {
137
-
138
138
  load(entries) {
139
-
140
139
  // Old chromium based browsers (UC Browser) did not implement `isIntersecting`
141
- if (!entries.some(entry => isUndefined(entry.isIntersecting) || entry.isIntersecting)) {
140
+ if (
141
+ !entries.some((entry) => isUndefined(entry.isIntersecting) || entry.isIntersecting)
142
+ ) {
142
143
  return;
143
144
  }
144
145
 
145
- this._data.image = getImage(this.dataSrc, this.dataSrcset, this.sizes).then(img => {
146
-
147
- setSrcAttrs(this.$el, currentSrc(img), img.srcset, img.sizes);
148
- storage[this.cacheKey] = currentSrc(img);
149
- return img;
150
-
151
- }, e => trigger(this.$el, new e.constructor(e.type, e)));
146
+ this._data.image = getImage(this.dataSrc, this.dataSrcset, this.sizes).then(
147
+ (img) => {
148
+ setSrcAttrs(this.$el, currentSrc(img), img.srcset, img.sizes);
149
+ storage[this.cacheKey] = currentSrc(img);
150
+ return img;
151
+ },
152
+ (e) => trigger(this.$el, new e.constructor(e.type, e))
153
+ );
152
154
 
153
155
  this.observer.disconnect();
154
156
  },
155
157
 
156
158
  observe() {
157
159
  if (this._connected && !this._data.image) {
158
- this.target.forEach(el => this.observer.observe(el));
160
+ this.target.forEach((el) => this.observer.observe(el));
159
161
  }
160
- }
161
-
162
- }
163
-
162
+ },
163
+ },
164
164
  };
165
165
 
166
166
  function setSrcAttrs(el, src, srcset, sizes) {
167
-
168
167
  if (isImg(el)) {
169
168
  const set = (prop, val) => val && val !== el[prop] && (el[prop] = val);
170
169
  set('sizes', sizes);
171
170
  set('srcset', srcset);
172
171
  set('src', src);
173
172
  } else if (src) {
174
-
175
173
  const change = !includes(el.style.backgroundImage, src);
176
174
  if (change) {
177
175
  css(el, 'backgroundImage', `url(${escape(src)})`);
178
176
  trigger(el, createEvent('load', false));
179
177
  }
180
-
181
178
  }
182
-
183
179
  }
184
180
 
185
181
  function getPlaceholderImage(width, height, sizes) {
186
-
187
182
  if (sizes) {
188
- ({width, height} = Dimensions.ratio({width, height}, 'width', toPx(sizesToPixel(sizes))));
183
+ ({ width, height } = Dimensions.ratio(
184
+ { width, height },
185
+ 'width',
186
+ toPx(sizesToPixel(sizes))
187
+ ));
189
188
  }
190
189
 
191
190
  return `data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="${width}" height="${height}"></svg>`;
@@ -212,11 +211,11 @@ const additionRe = /[+-]?(\d+)/g;
212
211
  function evaluateSize(size) {
213
212
  return startsWith(size, 'calc')
214
213
  ? size
215
- .slice(5, -1)
216
- .replace(sizeRe, size => toPx(size))
217
- .replace(/ /g, '')
218
- .match(additionRe)
219
- .reduce((a, b) => a + +b, 0)
214
+ .slice(5, -1)
215
+ .replace(sizeRe, (size) => toPx(size))
216
+ .replace(/ /g, '')
217
+ .match(additionRe)
218
+ .reduce((a, b) => a + +b, 0)
220
219
  : size;
221
220
  }
222
221
 
@@ -225,7 +224,7 @@ function getSourceSize(srcset, sizes) {
225
224
  const srcSize = toPx(sizesToPixel(sizes));
226
225
  const descriptors = (srcset.match(srcSetRe) || []).map(toFloat).sort((a, b) => a - b);
227
226
 
228
- return descriptors.filter(size => size >= srcSize)[0] || descriptors.pop() || '';
227
+ return descriptors.filter((size) => size >= srcSize)[0] || descriptors.pop() || '';
229
228
  }
230
229
 
231
230
  function isImg(el) {
@@ -1,41 +1,41 @@
1
- export {default as Accordion} from './accordion';
2
- export {default as Alert} from './alert';
3
- export {default as Cover} from './cover';
4
- export {default as Drop, default as Dropdown} from './drop';
5
- export {default as FormCustom} from './form-custom';
6
- export {default as Gif} from './gif';
7
- export {default as Grid} from './grid';
8
- export {default as HeightMatch} from './height-match';
9
- export {default as HeightViewport} from './height-viewport';
10
- export {default as Icon} from './icon';
11
- export {default as Img} from './img';
12
- export {default as Leader} from './leader';
13
- export {default as Margin} from './margin';
14
- export {default as Modal} from './modal';
15
- export {default as Nav} from './nav';
16
- export {default as Navbar} from './navbar';
17
- export {default as Offcanvas} from './offcanvas';
18
- export {default as OverflowAuto} from './overflow-auto';
19
- export {default as Responsive} from './responsive';
20
- export {default as Scroll} from './scroll';
21
- export {default as Scrollspy} from './scrollspy';
22
- export {default as ScrollspyNav} from './scrollspy-nav';
23
- export {default as Sticky} from './sticky';
24
- export {default as Svg} from './svg';
25
- export {default as Switcher} from './switcher';
26
- export {default as Tab} from './tab';
27
- export {default as Toggle} from './toggle';
28
- export {default as Video} from './video';
1
+ export { default as Accordion } from './accordion';
2
+ export { default as Alert } from './alert';
3
+ export { default as Cover } from './cover';
4
+ export { default as Drop, default as Dropdown } from './drop';
5
+ export { default as FormCustom } from './form-custom';
6
+ export { default as Gif } from './gif';
7
+ export { default as Grid } from './grid';
8
+ export { default as HeightMatch } from './height-match';
9
+ export { default as HeightViewport } from './height-viewport';
10
+ export { default as Icon } from './icon';
11
+ export { default as Img } from './img';
12
+ export { default as Leader } from './leader';
13
+ export { default as Margin } from './margin';
14
+ export { default as Modal } from './modal';
15
+ export { default as Nav } from './nav';
16
+ export { default as Navbar } from './navbar';
17
+ export { default as Offcanvas } from './offcanvas';
18
+ export { default as OverflowAuto } from './overflow-auto';
19
+ export { default as Responsive } from './responsive';
20
+ export { default as Scroll } from './scroll';
21
+ export { default as Scrollspy } from './scrollspy';
22
+ export { default as ScrollspyNav } from './scrollspy-nav';
23
+ export { default as Sticky } from './sticky';
24
+ export { default as Svg } from './svg';
25
+ export { default as Switcher } from './switcher';
26
+ export { default as Tab } from './tab';
27
+ export { default as Toggle } from './toggle';
28
+ export { default as Video } from './video';
29
29
 
30
30
  // Icon components
31
- export {Close} from './icon';
32
- export {Spinner} from './icon';
33
- export {Slidenav as SlidenavNext} from './icon';
34
- export {Slidenav as SlidenavPrevious} from './icon';
35
- export {Search as SearchIcon} from './icon';
36
- export {IconComponent as Marker} from './icon';
37
- export {IconComponent as NavbarToggleIcon} from './icon';
38
- export {IconComponent as OverlayIcon} from './icon';
39
- export {IconComponent as PaginationNext} from './icon';
40
- export {IconComponent as PaginationPrevious} from './icon';
41
- export {IconComponent as Totop} from './icon';
31
+ export { Close } from './icon';
32
+ export { Spinner } from './icon';
33
+ export { Slidenav as SlidenavNext } from './icon';
34
+ export { Slidenav as SlidenavPrevious } from './icon';
35
+ export { Search as SearchIcon } from './icon';
36
+ export { IconComponent as Marker } from './icon';
37
+ export { IconComponent as NavbarToggleIcon } from './icon';
38
+ export { IconComponent as OverlayIcon } from './icon';
39
+ export { IconComponent as PaginationNext } from './icon';
40
+ export { IconComponent as PaginationPrevious } from './icon';
41
+ export { IconComponent as Totop } from './icon';
@@ -1,28 +1,25 @@
1
1
  import Class from '../mixin/class';
2
2
  import Media from '../mixin/media';
3
- import {attr, getCssVar, toggleClass, unwrap, wrapInner} from 'uikit-util';
3
+ import { attr, getCssVar, toggleClass, unwrap, wrapInner } from 'uikit-util';
4
4
 
5
5
  export default {
6
-
7
6
  mixins: [Class, Media],
8
7
 
9
8
  props: {
10
- fill: String
9
+ fill: String,
11
10
  },
12
11
 
13
12
  data: {
14
13
  fill: '',
15
14
  clsWrapper: 'uk-leader-fill',
16
15
  clsHide: 'uk-leader-hide',
17
- attrFill: 'data-fill'
16
+ attrFill: 'data-fill',
18
17
  },
19
18
 
20
19
  computed: {
21
-
22
- fill({fill}) {
20
+ fill({ fill }) {
23
21
  return fill || getCssVar('leader-fill-content');
24
- }
25
-
22
+ },
26
23
  },
27
24
 
28
25
  connected() {
@@ -34,9 +31,7 @@ export default {
34
31
  },
35
32
 
36
33
  update: {
37
-
38
- read({changed, width}) {
39
-
34
+ read({ changed, width }) {
40
35
  const prev = width;
41
36
 
42
37
  width = Math.floor(this.$el.offsetWidth / 2);
@@ -45,23 +40,19 @@ export default {
45
40
  width,
46
41
  fill: this.fill,
47
42
  changed: changed || prev !== width,
48
- hide: !this.matchMedia
43
+ hide: !this.matchMedia,
49
44
  };
50
45
  },
51
46
 
52
47
  write(data) {
53
-
54
48
  toggleClass(this.wrapper, this.clsHide, data.hide);
55
49
 
56
50
  if (data.changed) {
57
51
  data.changed = false;
58
52
  attr(this.wrapper, this.attrFill, new Array(data.width).join(data.fill));
59
53
  }
60
-
61
54
  },
62
55
 
63
- events: ['resize']
64
-
65
- }
66
-
56
+ events: ['resize'],
57
+ },
67
58
  };
@@ -1,30 +1,27 @@
1
- import {isRtl, isVisible, offsetPosition, toggleClass} from 'uikit-util';
1
+ import { isRtl, isVisible, offsetPosition, toggleClass } from 'uikit-util';
2
2
 
3
3
  export default {
4
-
5
4
  props: {
6
5
  margin: String,
7
- firstColumn: Boolean
6
+ firstColumn: Boolean,
8
7
  },
9
8
 
10
9
  data: {
11
10
  margin: 'uk-margin-small-top',
12
- firstColumn: 'uk-first-column'
11
+ firstColumn: 'uk-first-column',
13
12
  },
14
13
 
15
14
  update: {
16
-
17
15
  read() {
18
-
19
16
  const rows = getRows(this.$el.children);
20
17
 
21
18
  return {
22
19
  rows,
23
- columns: getColumns(rows)
20
+ columns: getColumns(rows),
24
21
  };
25
22
  },
26
23
 
27
- write({columns, rows}) {
24
+ write({ columns, rows }) {
28
25
  for (let i = 0; i < rows.length; i++) {
29
26
  for (let j = 0; j < rows[i].length; j++) {
30
27
  toggleClass(rows[i][j], this.margin, i !== 0);
@@ -33,10 +30,8 @@ export default {
33
30
  }
34
31
  },
35
32
 
36
- events: ['resize']
37
-
38
- }
39
-
33
+ events: ['resize'],
34
+ },
40
35
  };
41
36
 
42
37
  export function getRows(items) {
@@ -44,7 +39,6 @@ export function getRows(items) {
44
39
  }
45
40
 
46
41
  function getColumns(rows) {
47
-
48
42
  const columns = [];
49
43
 
50
44
  for (let i = 0; i < rows.length; i++) {
@@ -54,17 +48,13 @@ function getColumns(rows) {
54
48
  }
55
49
  }
56
50
 
57
- return isRtl
58
- ? columns.reverse()
59
- : columns;
51
+ return isRtl ? columns.reverse() : columns;
60
52
  }
61
53
 
62
54
  function sortBy(items, startProp, endProp) {
63
-
64
55
  const sorted = [[]];
65
56
 
66
57
  for (let i = 0; i < items.length; i++) {
67
-
68
58
  const el = items[i];
69
59
 
70
60
  if (!isVisible(el)) {
@@ -74,7 +64,6 @@ function sortBy(items, startProp, endProp) {
74
64
  let dim = getOffset(el);
75
65
 
76
66
  for (let j = sorted.length - 1; j >= 0; j--) {
77
-
78
67
  const current = sorted[j];
79
68
 
80
69
  if (!current[0]) {
@@ -104,17 +93,14 @@ function sortBy(items, startProp, endProp) {
104
93
  sorted.unshift([el]);
105
94
  break;
106
95
  }
107
-
108
96
  }
109
-
110
97
  }
111
98
 
112
99
  return sorted;
113
100
  }
114
101
 
115
102
  function getOffset(element, offset = false) {
116
-
117
- let {offsetTop, offsetLeft, offsetHeight, offsetWidth} = element;
103
+ let { offsetTop, offsetLeft, offsetHeight, offsetWidth } = element;
118
104
 
119
105
  if (offset) {
120
106
  [offsetTop, offsetLeft] = offsetPosition(element);
@@ -124,6 +110,6 @@ function getOffset(element, offset = false) {
124
110
  top: offsetTop,
125
111
  left: offsetLeft,
126
112
  bottom: offsetTop + offsetHeight,
127
- right: offsetLeft + offsetWidth
113
+ right: offsetLeft + offsetWidth,
128
114
  };
129
115
  }