uikit 3.11.2-dev.ab82450f4 → 3.11.2-dev.b4d9c97d5

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 (220) 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 +52 -19
  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 +121 -202
  19. package/dist/css/uikit-core-rtl.min.css +1 -1
  20. package/dist/css/uikit-core.css +121 -202
  21. package/dist/css/uikit-core.min.css +1 -1
  22. package/dist/css/uikit-rtl.css +123 -208
  23. package/dist/css/uikit-rtl.min.css +1 -1
  24. package/dist/css/uikit.css +123 -208
  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 +408 -439
  29. package/dist/js/components/filter.min.js +1 -1
  30. package/dist/js/components/lightbox-panel.js +1098 -1316
  31. package/dist/js/components/lightbox-panel.min.js +1 -1
  32. package/dist/js/components/lightbox.js +1144 -1393
  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 +326 -364
  37. package/dist/js/components/parallax.min.js +1 -1
  38. package/dist/js/components/slider-parallax.js +324 -352
  39. package/dist/js/components/slider-parallax.min.js +1 -1
  40. package/dist/js/components/slider.js +768 -852
  41. package/dist/js/components/slider.min.js +1 -1
  42. package/dist/js/components/slideshow-parallax.js +324 -352
  43. package/dist/js/components/slideshow-parallax.min.js +1 -1
  44. package/dist/js/components/slideshow.js +645 -793
  45. package/dist/js/components/slideshow.min.js +1 -1
  46. package/dist/js/components/sortable.js +587 -621
  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 +155 -167
  51. package/dist/js/components/upload.min.js +1 -1
  52. package/dist/js/uikit-core.js +5410 -6698
  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 +8101 -9800
  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 +15 -28
  62. package/src/js/api/global.js +6 -12
  63. package/src/js/api/hooks.js +14 -33
  64. package/src/js/api/instance.js +7 -15
  65. package/src/js/api/state.js +79 -100
  66. package/src/js/components/countdown.js +24 -50
  67. package/src/js/components/filter.js +70 -66
  68. package/src/js/components/index.js +13 -13
  69. package/src/js/components/internal/lightbox-animations.js +14 -25
  70. package/src/js/components/internal/slider-preload.js +37 -0
  71. package/src/js/components/internal/slider-transitioner.js +66 -45
  72. package/src/js/components/internal/slideshow-animations.js +46 -64
  73. package/src/js/components/lightbox-panel.js +107 -105
  74. package/src/js/components/lightbox.js +17 -39
  75. package/src/js/components/notification.js +49 -43
  76. package/src/js/components/parallax.js +21 -46
  77. package/src/js/components/slider-parallax.js +13 -23
  78. package/src/js/components/slider.js +95 -73
  79. package/src/js/components/slideshow-parallax.js +1 -1
  80. package/src/js/components/slideshow.js +15 -13
  81. package/src/js/components/sortable.js +126 -108
  82. package/src/js/components/tooltip.js +41 -31
  83. package/src/js/components/upload.js +52 -63
  84. package/src/js/core/accordion.js +53 -48
  85. package/src/js/core/alert.js +9 -17
  86. package/src/js/core/core.js +74 -53
  87. package/src/js/core/cover.js +11 -15
  88. package/src/js/core/drop.js +107 -93
  89. package/src/js/core/form-custom.js +20 -25
  90. package/src/js/core/gif.js +3 -7
  91. package/src/js/core/grid.js +57 -58
  92. package/src/js/core/height-match.js +16 -29
  93. package/src/js/core/height-viewport.js +29 -36
  94. package/src/js/core/icon.js +38 -50
  95. package/src/js/core/img.js +154 -138
  96. package/src/js/core/index.js +39 -39
  97. package/src/js/core/leader.js +9 -18
  98. package/src/js/core/margin.js +21 -37
  99. package/src/js/core/modal.js +49 -36
  100. package/src/js/core/nav.js +2 -4
  101. package/src/js/core/navbar.js +113 -85
  102. package/src/js/core/offcanvas.js +49 -53
  103. package/src/js/core/overflow-auto.js +13 -17
  104. package/src/js/core/responsive.js +14 -12
  105. package/src/js/core/scroll.js +10 -20
  106. package/src/js/core/scrollspy-nav.js +34 -31
  107. package/src/js/core/scrollspy.js +37 -54
  108. package/src/js/core/sticky.js +188 -117
  109. package/src/js/core/svg.js +68 -83
  110. package/src/js/core/switcher.js +47 -46
  111. package/src/js/core/tab.js +7 -10
  112. package/src/js/core/toggle.js +66 -67
  113. package/src/js/core/video.js +11 -22
  114. package/src/js/mixin/animate.js +19 -20
  115. package/src/js/mixin/class.js +2 -4
  116. package/src/js/mixin/container.js +7 -11
  117. package/src/js/mixin/internal/animate-fade.js +73 -30
  118. package/src/js/mixin/internal/animate-slide.js +58 -41
  119. package/src/js/mixin/internal/slideshow-animations.js +7 -14
  120. package/src/js/mixin/internal/slideshow-transitioner.js +10 -17
  121. package/src/js/mixin/media.js +5 -10
  122. package/src/js/mixin/modal.js +89 -66
  123. package/src/js/mixin/parallax.js +154 -121
  124. package/src/js/mixin/position.js +26 -20
  125. package/src/js/mixin/slider-autoplay.js +12 -21
  126. package/src/js/mixin/slider-drag.js +64 -65
  127. package/src/js/mixin/slider-nav.js +26 -35
  128. package/src/js/mixin/slider-reactive.js +2 -8
  129. package/src/js/mixin/slider.js +48 -55
  130. package/src/js/mixin/slideshow.js +13 -19
  131. package/src/js/mixin/togglable.js +89 -63
  132. package/src/js/uikit-core.js +2 -4
  133. package/src/js/uikit.js +2 -4
  134. package/src/js/util/ajax.js +20 -39
  135. package/src/js/util/animation.js +77 -75
  136. package/src/js/util/attr.js +17 -21
  137. package/src/js/util/class.js +14 -52
  138. package/src/js/util/dimensions.js +76 -47
  139. package/src/js/util/dom.js +39 -81
  140. package/src/js/util/env.js +7 -12
  141. package/src/js/util/event.js +60 -59
  142. package/src/js/util/fastdom.js +3 -8
  143. package/src/js/util/filter.js +17 -34
  144. package/src/js/util/index.js +0 -1
  145. package/src/js/util/lang.js +82 -121
  146. package/src/js/util/mouse.js +19 -17
  147. package/src/js/util/options.js +35 -49
  148. package/src/js/util/player.js +41 -36
  149. package/src/js/util/position.js +54 -46
  150. package/src/js/util/selector.js +43 -58
  151. package/src/js/util/style.js +39 -49
  152. package/src/js/util/viewport.js +81 -66
  153. package/src/less/components/base.less +10 -33
  154. package/src/less/components/flex.less +0 -9
  155. package/src/less/components/form-range.less +52 -97
  156. package/src/less/components/form.less +0 -1
  157. package/src/less/components/leader.less +0 -1
  158. package/src/less/components/lightbox.less +0 -1
  159. package/src/less/components/modal.less +3 -7
  160. package/src/less/components/navbar.less +0 -7
  161. package/src/less/components/progress.less +14 -36
  162. package/src/less/components/slider.less +0 -3
  163. package/src/less/components/slideshow.less +0 -3
  164. package/src/less/components/text.less +16 -32
  165. package/src/less/components/utility.less +22 -0
  166. package/src/scss/components/base.scss +10 -33
  167. package/src/scss/components/flex.scss +0 -9
  168. package/src/scss/components/form-range.scss +52 -97
  169. package/src/scss/components/form.scss +3 -4
  170. package/src/scss/components/icon.scss +2 -2
  171. package/src/scss/components/leader.scss +0 -1
  172. package/src/scss/components/lightbox.scss +0 -1
  173. package/src/scss/components/modal.scss +3 -7
  174. package/src/scss/components/navbar.scss +0 -7
  175. package/src/scss/components/progress.scss +14 -36
  176. package/src/scss/components/search.scss +1 -1
  177. package/src/scss/components/slider.scss +0 -3
  178. package/src/scss/components/slideshow.scss +0 -3
  179. package/src/scss/components/text.scss +16 -32
  180. package/src/scss/components/utility.scss +22 -0
  181. package/src/scss/mixins-theme.scss +1 -1
  182. package/src/scss/mixins.scss +1 -1
  183. package/src/scss/variables-theme.scss +9 -9
  184. package/src/scss/variables.scss +9 -9
  185. package/tests/align.html +10 -10
  186. package/tests/animation.html +2 -2
  187. package/tests/article.html +2 -2
  188. package/tests/base.html +3 -3
  189. package/tests/card.html +10 -10
  190. package/tests/column.html +3 -3
  191. package/tests/comment.html +9 -9
  192. package/tests/dotnav.html +3 -3
  193. package/tests/image.html +296 -64
  194. package/tests/images/image-type.avif +0 -0
  195. package/tests/images/image-type.jpeg +0 -0
  196. package/tests/images/image-type.webp +0 -0
  197. package/tests/index.html +8 -8
  198. package/tests/js/index.js +114 -85
  199. package/tests/lightbox.html +10 -10
  200. package/tests/marker.html +2 -2
  201. package/tests/modal.html +8 -9
  202. package/tests/navbar.html +2 -2
  203. package/tests/overlay.html +7 -7
  204. package/tests/parallax.html +14 -5
  205. package/tests/position.html +12 -12
  206. package/tests/slidenav.html +12 -12
  207. package/tests/slider.html +20 -20
  208. package/tests/sortable.html +1 -1
  209. package/tests/sticky-parallax.html +85 -97
  210. package/tests/sticky.html +56 -24
  211. package/tests/svg.html +6 -6
  212. package/tests/table.html +11 -11
  213. package/tests/thumbnav.html +12 -12
  214. package/tests/transition.html +30 -30
  215. package/tests/utility.html +33 -33
  216. package/tests/video.html +1 -1
  217. package/tests/width.html +1 -1
  218. package/src/js/mixin/flex-bug.js +0 -56
  219. package/src/js/util/promise.js +0 -191
  220. package/tests/images/animated.gif +0 -0
@@ -1,16 +1,31 @@
1
1
  import Class from '../mixin/class';
2
- import Slider, {speedUp} from '../mixin/slider';
2
+ import Slider, { speedUp } from '../mixin/slider';
3
3
  import SliderReactive from '../mixin/slider-reactive';
4
- import Transitioner, {getMax, getWidth} from './internal/slider-transitioner';
5
- import {$, addClass, children, css, data, dimensions, findIndex, includes, isEmpty, last, sortBy, toFloat, toggleClass, toNumber} from 'uikit-util';
4
+ import SliderPreload from './internal/slider-preload';
5
+ import Transitioner, { getMax, getWidth } from './internal/slider-transitioner';
6
+ import {
7
+ $,
8
+ addClass,
9
+ children,
10
+ css,
11
+ data,
12
+ dimensions,
13
+ findIndex,
14
+ includes,
15
+ isEmpty,
16
+ last,
17
+ sortBy,
18
+ toFloat,
19
+ toggleClass,
20
+ toNumber,
21
+ } from 'uikit-util';
6
22
 
7
23
  export default {
8
-
9
- mixins: [Class, Slider, SliderReactive],
24
+ mixins: [Class, Slider, SliderReactive, SliderPreload],
10
25
 
11
26
  props: {
12
27
  center: Boolean,
13
- sets: Boolean
28
+ sets: Boolean,
14
29
  },
15
30
 
16
31
  data: {
@@ -20,31 +35,24 @@ export default {
20
35
  selList: '.uk-slider-items',
21
36
  selNav: '.uk-slider-nav',
22
37
  clsContainer: 'uk-slider-container',
23
- Transitioner
38
+ Transitioner,
24
39
  },
25
40
 
26
41
  computed: {
27
-
28
42
  avgWidth() {
29
43
  return getWidth(this.list) / this.length;
30
44
  },
31
45
 
32
- finite({finite}) {
33
-
34
- console.log(
35
- Math.ceil(getWidth(this.list)) < dimensions(this.list).width + getMaxElWidth(this.list),
36
- getWidth(this.list),
37
- dimensions(this.list).width + getMaxElWidth(this.list),
38
- dimensions(this.list).width,
39
- getMaxElWidth(this.list)
46
+ finite({ finite }) {
47
+ return (
48
+ finite ||
49
+ Math.ceil(getWidth(this.list)) <
50
+ Math.floor(dimensions(this.list).width + getMaxElWidth(this.list) + this.center)
40
51
  );
41
-
42
- return finite || Math.ceil(getWidth(this.list)) < Math.floor(dimensions(this.list).width + getMaxElWidth(this.list));
43
52
  },
44
53
 
45
54
  maxIndex() {
46
-
47
- if (!this.finite || this.center && !this.sets) {
55
+ if (!this.finite || (this.center && !this.sets)) {
48
56
  return this.length - 1;
49
57
  }
50
58
 
@@ -54,21 +62,18 @@ export default {
54
62
 
55
63
  let lft = 0;
56
64
  const max = getMax(this.list);
57
- const index = findIndex(this.slides, el => {
58
-
65
+ const index = findIndex(this.slides, (el) => {
59
66
  if (lft >= max) {
60
67
  return true;
61
68
  }
62
69
 
63
70
  lft += dimensions(el).width;
64
-
65
71
  });
66
72
 
67
73
  return ~index ? index : this.length - 1;
68
74
  },
69
75
 
70
- sets({sets}) {
71
-
76
+ sets({ sets }) {
72
77
  if (!sets) {
73
78
  return;
74
79
  }
@@ -80,47 +85,44 @@ export default {
80
85
  let slideLeft = 0;
81
86
 
82
87
  sets = sortBy(this.slides, 'offsetLeft').reduce((sets, slide, i) => {
83
-
84
88
  const slideWidth = dimensions(slide).width;
85
89
  const slideRight = slideLeft + slideWidth;
86
90
 
87
91
  if (slideRight > left) {
88
-
89
92
  if (!this.center && i > this.maxIndex) {
90
93
  i = this.maxIndex;
91
94
  }
92
95
 
93
96
  if (!includes(sets, i)) {
94
-
95
97
  const cmp = this.slides[i + 1];
96
- if (this.center && cmp && slideWidth < leftCenter - dimensions(cmp).width / 2) {
98
+ if (
99
+ this.center &&
100
+ cmp &&
101
+ slideWidth < leftCenter - dimensions(cmp).width / 2
102
+ ) {
97
103
  leftCenter -= slideWidth;
98
104
  } else {
99
105
  leftCenter = width;
100
106
  sets.push(i);
101
107
  left = slideLeft + width + (this.center ? slideWidth / 2 : 0);
102
108
  }
103
-
104
109
  }
105
110
  }
106
111
 
107
112
  slideLeft += slideWidth;
108
113
 
109
114
  return sets;
110
-
111
115
  }, []);
112
116
 
113
117
  return !isEmpty(sets) && sets;
114
-
115
118
  },
116
119
 
117
120
  transitionOptions() {
118
121
  return {
119
122
  center: this.center,
120
- list: this.list
123
+ list: this.list,
121
124
  };
122
- }
123
-
125
+ },
124
126
  },
125
127
 
126
128
  connected() {
@@ -128,14 +130,16 @@ export default {
128
130
  },
129
131
 
130
132
  update: {
131
-
132
133
  write() {
133
- this.navItems.forEach(el => {
134
+ for (const el of this.navItems) {
134
135
  const index = toNumber(data(el, this.attrItem));
135
136
  if (index !== false) {
136
- el.hidden = !this.maxIndex || index > this.maxIndex || this.sets && !includes(this.sets, index);
137
+ el.hidden =
138
+ !this.maxIndex ||
139
+ index > this.maxIndex ||
140
+ (this.sets && !includes(this.sets, index));
137
141
  }
138
- });
142
+ }
139
143
 
140
144
  if (this.length && !this.dragging && !this.stack.length) {
141
145
  this.reorder();
@@ -143,33 +147,40 @@ export default {
143
147
  }
144
148
 
145
149
  const actives = this._getTransitioner(this.index).getActives();
146
- this.slides.forEach(slide => toggleClass(slide, this.clsActive, includes(actives, slide)));
147
-
148
- if (this.clsActivated && (!this.sets || includes(this.sets, toFloat(this.index)))) {
149
- this.slides.forEach(slide => toggleClass(slide, this.clsActivated || '', includes(actives, slide)));
150
+ const activeClasses = [
151
+ this.clsActive,
152
+ ((!this.sets || includes(this.sets, toFloat(this.index))) && this.clsActivated) ||
153
+ '',
154
+ ];
155
+ for (const slide of this.slides) {
156
+ toggleClass(slide, activeClasses, includes(actives, slide));
150
157
  }
151
158
  },
152
159
 
153
- events: ['resize']
154
-
160
+ events: ['resize'],
155
161
  },
156
162
 
157
163
  events: {
158
-
159
164
  beforeitemshow(e) {
160
-
161
- if (!this.dragging && this.sets && this.stack.length < 2 && !includes(this.sets, this.index)) {
165
+ if (
166
+ !this.dragging &&
167
+ this.sets &&
168
+ this.stack.length < 2 &&
169
+ !includes(this.sets, this.index)
170
+ ) {
162
171
  this.index = this.getValidIndex();
163
172
  }
164
173
 
165
174
  const diff = Math.abs(
166
- this.index
167
- - this.prevIndex
168
- + (this.dir > 0 && this.index < this.prevIndex || this.dir < 0 && this.index > this.prevIndex ? (this.maxIndex + 1) * this.dir : 0)
175
+ this.index -
176
+ this.prevIndex +
177
+ ((this.dir > 0 && this.index < this.prevIndex) ||
178
+ (this.dir < 0 && this.index > this.prevIndex)
179
+ ? (this.maxIndex + 1) * this.dir
180
+ : 0)
169
181
  );
170
182
 
171
183
  if (!this.dragging && diff > 1) {
172
-
173
184
  for (let i = 0; i < diff; i++) {
174
185
  this.stack.splice(1, 0, this.dir > 0 ? 'next' : 'previous');
175
186
  }
@@ -178,25 +189,24 @@ export default {
178
189
  return;
179
190
  }
180
191
 
181
- const index = this.dir < 0 || !this.slides[this.prevIndex] ? this.index : this.prevIndex;
182
- this.duration = speedUp(this.avgWidth / this.velocity) * (dimensions(this.slides[index]).width / this.avgWidth);
192
+ const index =
193
+ this.dir < 0 || !this.slides[this.prevIndex] ? this.index : this.prevIndex;
194
+ this.duration =
195
+ speedUp(this.avgWidth / this.velocity) *
196
+ (dimensions(this.slides[index]).width / this.avgWidth);
183
197
 
184
198
  this.reorder();
185
-
186
199
  },
187
200
 
188
201
  itemshow() {
189
202
  if (~this.prevIndex) {
190
203
  addClass(this._getTransitioner().getItemIn(), this.clsActive);
191
204
  }
192
- }
193
-
205
+ },
194
206
  },
195
207
 
196
208
  methods: {
197
-
198
209
  reorder() {
199
-
200
210
  if (this.finite) {
201
211
  css(this.slides, 'order', '');
202
212
  return;
@@ -205,11 +215,10 @@ export default {
205
215
  const index = this.dir > 0 && this.slides[this.prevIndex] ? this.prevIndex : this.index;
206
216
 
207
217
  this.slides.forEach((slide, i) =>
208
- css(slide, 'order', this.dir > 0 && i < index
209
- ? 1
210
- : this.dir < 0 && i >= this.index
211
- ? -1
212
- : ''
218
+ css(
219
+ slide,
220
+ 'order',
221
+ this.dir > 0 && i < index ? 1 : this.dir < 0 && i >= this.index ? -1 : ''
213
222
  )
214
223
  );
215
224
 
@@ -221,18 +230,16 @@ export default {
221
230
  let width = dimensions(this.list).width / 2 - dimensions(next).width / 2;
222
231
  let j = 0;
223
232
 
224
- while (Math.floor(width) > 0) {
233
+ while (width > 0) {
225
234
  const slideIndex = this.getIndex(--j + index, index);
226
235
  const slide = this.slides[slideIndex];
227
236
 
228
237
  css(slide, 'order', slideIndex > index ? -2 : -1);
229
238
  width -= dimensions(slide).width;
230
239
  }
231
-
232
240
  },
233
241
 
234
242
  getValidIndex(index = this.index, prevIndex = this.prevIndex) {
235
-
236
243
  index = this.getIndex(index, prevIndex);
237
244
 
238
245
  if (!this.sets) {
@@ -242,23 +249,38 @@ export default {
242
249
  let prev;
243
250
 
244
251
  do {
245
-
246
252
  if (includes(this.sets, index)) {
247
253
  return index;
248
254
  }
249
255
 
250
256
  prev = index;
251
257
  index = this.getIndex(index + this.dir, prevIndex);
252
-
253
258
  } while (index !== prev);
254
259
 
255
260
  return index;
256
- }
257
-
258
- }
261
+ },
259
262
 
263
+ getAdjacentSlides() {
264
+ const { width } = dimensions(this.list);
265
+ const left = -width;
266
+ const right = width * 2;
267
+ const slideWidth = dimensions(this.slides[this.index]).width;
268
+ const slideLeft = this.center ? width / 2 - slideWidth / 2 : 0;
269
+ const slides = new Set();
270
+ for (const i of [-1, 1]) {
271
+ let currentLeft = slideLeft + (i > 0 ? slideWidth : 0);
272
+ let j = 0;
273
+ do {
274
+ const slide = this.slides[this.getIndex(this.index + i + j++ * i)];
275
+ currentLeft += dimensions(slide).width * i;
276
+ slides.add(slide);
277
+ } while (this.slides.length > j && currentLeft > left && currentLeft < right);
278
+ }
279
+ return Array.from(slides);
280
+ },
281
+ },
260
282
  };
261
283
 
262
284
  function getMaxElWidth(list) {
263
- return Math.max(0, ...children(list).map(el => dimensions(el).width));
285
+ return Math.max(0, ...children(list).map((el) => dimensions(el).width));
264
286
  }
@@ -1 +1 @@
1
- export {default} from './slider-parallax';
1
+ export { default } from './slider-parallax';
@@ -2,16 +2,16 @@ import Class from '../mixin/class';
2
2
  import Slideshow from '../mixin/slideshow';
3
3
  import Animations from './internal/slideshow-animations';
4
4
  import SliderReactive from '../mixin/slider-reactive';
5
- import {boxModelAdjust, css} from 'uikit-util';
5
+ import SliderPreload from './internal/slider-preload';
6
+ import { boxModelAdjust, css } from 'uikit-util';
6
7
 
7
8
  export default {
8
-
9
- mixins: [Class, Slideshow, SliderReactive],
9
+ mixins: [Class, Slideshow, SliderReactive, SliderPreload],
10
10
 
11
11
  props: {
12
12
  ratio: String,
13
13
  minHeight: Number,
14
- maxHeight: Number
14
+ maxHeight: Number,
15
15
  },
16
16
 
17
17
  data: {
@@ -21,20 +21,18 @@ export default {
21
21
  selList: '.uk-slideshow-items',
22
22
  attrItem: 'uk-slideshow-item',
23
23
  selNav: '.uk-slideshow-nav',
24
- Animations
24
+ Animations,
25
25
  },
26
26
 
27
27
  update: {
28
-
29
28
  read() {
30
-
31
29
  if (!this.list) {
32
30
  return false;
33
31
  }
34
32
 
35
33
  let [width, height] = this.ratio.split(':').map(Number);
36
34
 
37
- height = height * this.list.offsetWidth / width || 0;
35
+ height = (height * this.list.offsetWidth) / width || 0;
38
36
 
39
37
  if (this.minHeight) {
40
38
  height = Math.max(this.minHeight, height);
@@ -44,15 +42,19 @@ export default {
44
42
  height = Math.min(this.maxHeight, height);
45
43
  }
46
44
 
47
- return {height: height - boxModelAdjust(this.list, 'height', 'content-box')};
45
+ return { height: height - boxModelAdjust(this.list, 'height', 'content-box') };
48
46
  },
49
47
 
50
- write({height}) {
48
+ write({ height }) {
51
49
  height > 0 && css(this.list, 'minHeight', height);
52
50
  },
53
51
 
54
- events: ['resize']
55
-
56
- }
52
+ events: ['resize'],
53
+ },
57
54
 
55
+ methods: {
56
+ getAdjacentSlides() {
57
+ return [1, -1].map((i) => this.slides[this.getIndex(this.index + i)]);
58
+ },
59
+ },
58
60
  };