uikit 3.11.2-dev.bbaa4362f → 3.11.2-dev.c7ed3c19b

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 (165) 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 +8 -0
  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 +409 -438
  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 +727 -850
  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 +588 -619
  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 +5356 -6709
  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 +8116 -9913
  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 +79 -100
  66. package/src/js/components/countdown.js +24 -50
  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 +66 -45
  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 +18 -39
  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 +75 -64
  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 +125 -106
  81. package/src/js/components/tooltip.js +41 -31
  82. package/src/js/components/upload.js +52 -63
  83. package/src/js/core/accordion.js +53 -48
  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 +16 -29
  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 +59 -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 +21 -37
  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 -88
  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 +37 -54
  107. package/src/js/core/sticky.js +130 -91
  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 +64 -66
  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 +64 -65
  126. package/src/js/mixin/slider-nav.js +26 -35
  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 +17 -21
  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 +40 -73
  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 +54 -46
  149. package/src/js/util/selector.js +34 -49
  150. package/src/js/util/style.js +36 -46
  151. package/src/js/util/viewport.js +75 -64
  152. package/src/less/components/flex.less +0 -9
  153. package/src/less/components/navbar.less +0 -7
  154. package/src/less/components/utility.less +22 -0
  155. package/src/scss/components/flex.scss +0 -9
  156. package/src/scss/components/form.scss +3 -3
  157. package/src/scss/components/icon.scss +2 -2
  158. package/src/scss/components/navbar.scss +0 -7
  159. package/src/scss/components/search.scss +1 -1
  160. package/src/scss/components/utility.scss +22 -0
  161. package/src/scss/variables-theme.scss +6 -6
  162. package/src/scss/variables.scss +6 -6
  163. package/tests/js/index.js +114 -85
  164. package/src/js/mixin/flex-bug.js +0 -56
  165. package/src/js/util/promise.js +0 -191
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.11.2-dev.bbaa4362f | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
1
+ /*! UIkit 3.11.2-dev.c7ed3c19b | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('uikit-util')) :
@@ -7,1043 +7,859 @@
7
7
  })(this, (function (uikitUtil) { 'use strict';
8
8
 
9
9
  var Class = {
10
-
11
- connected: function() {
12
- !uikitUtil.hasClass(this.$el, this.$name) && uikitUtil.addClass(this.$el, this.$name);
13
- }
14
-
15
- };
10
+ connected() {
11
+ !uikitUtil.hasClass(this.$el, this.$name) && uikitUtil.addClass(this.$el, this.$name);
12
+ } };
16
13
 
17
14
  var Animations$1 = {
15
+ slide: {
16
+ show(dir) {
17
+ return [{ transform: translate(dir * -100) }, { transform: translate() }];
18
+ },
18
19
 
19
- slide: {
20
+ percent(current) {
21
+ return translated(current);
22
+ },
20
23
 
21
- show: function(dir) {
22
- return [
23
- {transform: translate(dir * -100)},
24
- {transform: translate()}
25
- ];
26
- },
24
+ translate(percent, dir) {
25
+ return [
26
+ { transform: translate(dir * -100 * percent) },
27
+ { transform: translate(dir * 100 * (1 - percent)) }];
27
28
 
28
- percent: function(current) {
29
- return translated(current);
30
- },
29
+ } } };
31
30
 
32
- translate: function(percent, dir) {
33
- return [
34
- {transform: translate(dir * -100 * percent)},
35
- {transform: translate(dir * 100 * (1 - percent))}
36
- ];
37
- }
38
31
 
39
- }
40
-
41
- };
42
32
 
43
33
  function translated(el) {
44
- return Math.abs(uikitUtil.css(el, 'transform').split(',')[4] / el.offsetWidth) || 0;
34
+ return Math.abs(uikitUtil.css(el, 'transform').split(',')[4] / el.offsetWidth) || 0;
45
35
  }
46
36
 
47
- function translate(value, unit) {
48
- if ( value === void 0 ) value = 0;
49
- if ( unit === void 0 ) unit = '%';
50
-
51
- value += value ? unit : '';
52
- return uikitUtil.isIE ? ("translateX(" + value + ")") : ("translate3d(" + value + ", 0, 0)"); // currently, not translate3d in IE, translate3d within translate3d does not work while transitioning
37
+ function translate(value, unit) {if (value === void 0) {value = 0;}if (unit === void 0) {unit = '%';}
38
+ value += value ? unit : '';
39
+ return "translate3d(" + value + ", 0, 0)";
53
40
  }
54
41
 
55
42
  function scale3d(value) {
56
- return ("scale3d(" + value + ", " + value + ", 1)");
43
+ return "scale3d(" + value + ", " + value + ", 1)";
57
44
  }
58
45
 
59
- function Transitioner(prev, next, dir, ref) {
60
- var animation = ref.animation;
61
- var easing = ref.easing;
62
-
63
-
64
- var percent = animation.percent;
65
- var translate = animation.translate;
66
- var show = animation.show; if ( show === void 0 ) show = uikitUtil.noop;
67
- var props = show(dir);
68
- var deferred = new uikitUtil.Deferred();
69
-
70
- return {
71
-
72
- dir: dir,
73
-
74
- show: function(duration, percent, linear) {
75
- var this$1$1 = this;
76
- if ( percent === void 0 ) percent = 0;
77
-
78
-
79
- var timing = linear ? 'linear' : easing;
80
- duration -= Math.round(duration * uikitUtil.clamp(percent, -1, 1));
81
-
82
- this.translate(percent);
83
-
84
- triggerUpdate(next, 'itemin', {percent: percent, duration: duration, timing: timing, dir: dir});
85
- triggerUpdate(prev, 'itemout', {percent: 1 - percent, duration: duration, timing: timing, dir: dir});
86
-
87
- uikitUtil.Promise.all([
88
- uikitUtil.Transition.start(next, props[1], duration, timing),
89
- uikitUtil.Transition.start(prev, props[0], duration, timing)
90
- ]).then(function () {
91
- this$1$1.reset();
92
- deferred.resolve();
93
- }, uikitUtil.noop);
94
-
95
- return deferred.promise;
96
- },
97
-
98
- cancel: function() {
99
- uikitUtil.Transition.cancel([next, prev]);
100
- },
101
-
102
- reset: function() {
103
- for (var prop in props[0]) {
104
- uikitUtil.css([next, prev], prop, '');
105
- }
106
- },
107
-
108
- forward: function(duration, percent) {
109
- if ( percent === void 0 ) percent = this.percent();
110
-
111
- uikitUtil.Transition.cancel([next, prev]);
112
- return this.show(duration, percent, true);
113
- },
46
+ function Transitioner(prev, next, dir, _ref) {let { animation, easing } = _ref;
47
+ const { percent, translate, show = uikitUtil.noop } = animation;
48
+ const props = show(dir);
49
+ const deferred = new uikitUtil.Deferred();
114
50
 
115
- translate: function(percent) {
51
+ return {
52
+ dir,
116
53
 
117
- this.reset();
54
+ show(duration, percent, linear) {if (percent === void 0) {percent = 0;}
55
+ const timing = linear ? 'linear' : easing;
56
+ duration -= Math.round(duration * uikitUtil.clamp(percent, -1, 1));
118
57
 
119
- var props = translate(percent, dir);
120
- uikitUtil.css(next, props[1]);
121
- uikitUtil.css(prev, props[0]);
122
- triggerUpdate(next, 'itemtranslatein', {percent: percent, dir: dir});
123
- triggerUpdate(prev, 'itemtranslateout', {percent: 1 - percent, dir: dir});
58
+ this.translate(percent);
124
59
 
125
- },
60
+ triggerUpdate(next, 'itemin', { percent, duration, timing, dir });
61
+ triggerUpdate(prev, 'itemout', { percent: 1 - percent, duration, timing, dir });
126
62
 
127
- percent: function() {
128
- return percent(prev || next, next, dir);
129
- },
63
+ Promise.all([
64
+ uikitUtil.Transition.start(next, props[1], duration, timing),
65
+ uikitUtil.Transition.start(prev, props[0], duration, timing)]).
66
+ then(() => {
67
+ this.reset();
68
+ deferred.resolve();
69
+ }, uikitUtil.noop);
130
70
 
131
- getDistance: function() {
132
- return prev && prev.offsetWidth;
133
- }
134
-
135
- };
136
-
137
- }
138
-
139
- function triggerUpdate(el, type, data) {
140
- uikitUtil.trigger(el, uikitUtil.createEvent(type, false, false, data));
141
- }
142
-
143
- var SliderAutoplay = {
144
-
145
- props: {
146
- autoplay: Boolean,
147
- autoplayInterval: Number,
148
- pauseOnHover: Boolean
71
+ return deferred.promise;
149
72
  },
150
73
 
151
- data: {
152
- autoplay: false,
153
- autoplayInterval: 7000,
154
- pauseOnHover: true
74
+ cancel() {
75
+ uikitUtil.Transition.cancel([next, prev]);
155
76
  },
156
77
 
157
- connected: function() {
158
- this.autoplay && this.startAutoplay();
159
- },
160
-
161
- disconnected: function() {
162
- this.stopAutoplay();
78
+ reset() {
79
+ for (const prop in props[0]) {
80
+ uikitUtil.css([next, prev], prop, '');
81
+ }
163
82
  },
164
83
 
165
- update: function() {
166
- uikitUtil.attr(this.slides, 'tabindex', '-1');
84
+ forward(duration, percent) {if (percent === void 0) {percent = this.percent();}
85
+ uikitUtil.Transition.cancel([next, prev]);
86
+ return this.show(duration, percent, true);
167
87
  },
168
88
 
169
- events: [
89
+ translate(percent) {
90
+ this.reset();
170
91
 
171
- {
172
-
173
- name: 'visibilitychange',
174
-
175
- el: function() {
176
- return document;
177
- },
92
+ const props = translate(percent, dir);
93
+ uikitUtil.css(next, props[1]);
94
+ uikitUtil.css(prev, props[0]);
95
+ triggerUpdate(next, 'itemtranslatein', { percent, dir });
96
+ triggerUpdate(prev, 'itemtranslateout', { percent: 1 - percent, dir });
97
+ },
178
98
 
179
- filter: function() {
180
- return this.autoplay;
181
- },
99
+ percent() {
100
+ return percent(prev || next, next, dir);
101
+ },
182
102
 
183
- handler: function() {
184
- if (document.hidden) {
185
- this.stopAutoplay();
186
- } else {
187
- this.startAutoplay();
188
- }
189
- }
103
+ getDistance() {
104
+ return prev == null ? void 0 : prev.offsetWidth;
105
+ } };
190
106
 
191
- }
107
+ }
192
108
 
193
- ],
109
+ function triggerUpdate(el, type, data) {
110
+ uikitUtil.trigger(el, uikitUtil.createEvent(type, false, false, data));
111
+ }
194
112
 
195
- methods: {
113
+ var SliderAutoplay = {
114
+ props: {
115
+ autoplay: Boolean,
116
+ autoplayInterval: Number,
117
+ pauseOnHover: Boolean },
196
118
 
197
- startAutoplay: function() {
198
- var this$1$1 = this;
199
119
 
120
+ data: {
121
+ autoplay: false,
122
+ autoplayInterval: 7000,
123
+ pauseOnHover: true },
200
124
 
201
- this.stopAutoplay();
202
125
 
203
- this.interval = setInterval(
204
- function () { return (!this$1$1.draggable || !uikitUtil.$(':focus', this$1$1.$el))
205
- && (!this$1$1.pauseOnHover || !uikitUtil.matches(this$1$1.$el, ':hover'))
206
- && !this$1$1.stack.length
207
- && this$1$1.show('next'); },
208
- this.autoplayInterval
209
- );
126
+ connected() {
127
+ this.autoplay && this.startAutoplay();
128
+ },
210
129
 
211
- },
130
+ disconnected() {
131
+ this.stopAutoplay();
132
+ },
212
133
 
213
- stopAutoplay: function() {
214
- this.interval && clearInterval(this.interval);
215
- }
134
+ update() {
135
+ uikitUtil.attr(this.slides, 'tabindex', '-1');
136
+ },
216
137
 
217
- }
138
+ events: [
139
+ {
140
+ name: 'visibilitychange',
218
141
 
219
- };
220
-
221
- var SliderDrag = {
222
-
223
- props: {
224
- draggable: Boolean
142
+ el() {
143
+ return document;
225
144
  },
226
145
 
227
- data: {
228
- draggable: true,
229
- threshold: 10
146
+ filter() {
147
+ return this.autoplay;
230
148
  },
231
149
 
232
- created: function() {
233
- var this$1$1 = this;
234
-
235
-
236
- ['start', 'move', 'end'].forEach(function (key) {
150
+ handler() {
151
+ if (document.hidden) {
152
+ this.stopAutoplay();
153
+ } else {
154
+ this.startAutoplay();
155
+ }
156
+ } }],
237
157
 
238
- var fn = this$1$1[key];
239
- this$1$1[key] = function (e) {
240
158
 
241
- var pos = uikitUtil.getEventPos(e).x * (uikitUtil.isRtl ? -1 : 1);
242
159
 
243
- this$1$1.prevPos = pos !== this$1$1.pos ? this$1$1.pos : this$1$1.prevPos;
244
- this$1$1.pos = pos;
160
+ methods: {
161
+ startAutoplay() {
162
+ this.stopAutoplay();
245
163
 
246
- fn(e);
247
- };
248
-
249
- });
164
+ this.interval = setInterval(
165
+ () =>
166
+ (!this.draggable || !uikitUtil.$(':focus', this.$el)) && (
167
+ !this.pauseOnHover || !uikitUtil.matches(this.$el, ':hover')) &&
168
+ !this.stack.length &&
169
+ this.show('next'),
170
+ this.autoplayInterval);
250
171
 
251
172
  },
252
173
 
253
- events: [
254
-
255
- {
256
-
257
- name: uikitUtil.pointerDown,
258
-
259
- delegate: function() {
260
- return this.selSlides;
261
- },
262
-
263
- handler: function(e) {
264
-
265
- if (!this.draggable
266
- || !uikitUtil.isTouch(e) && hasTextNodesOnly(e.target)
267
- || uikitUtil.closest(e.target, uikitUtil.selInput)
268
- || e.button > 0
269
- || this.length < 2
270
- ) {
271
- return;
272
- }
174
+ stopAutoplay() {
175
+ this.interval && clearInterval(this.interval);
176
+ } } };
273
177
 
274
- this.start(e);
275
- }
276
-
277
- },
278
-
279
- {
280
- name: 'dragstart',
281
-
282
- handler: function(e) {
283
- e.preventDefault();
284
- }
285
- }
286
-
287
- ],
288
-
289
- methods: {
290
-
291
- start: function() {
292
-
293
- this.drag = this.pos;
178
+ var SliderDrag = {
179
+ props: {
180
+ draggable: Boolean },
294
181
 
295
- if (this._transitioner) {
296
182
 
297
- this.percent = this._transitioner.percent();
298
- this.drag += this._transitioner.getDistance() * this.percent * this.dir;
183
+ data: {
184
+ draggable: true,
185
+ threshold: 10 },
299
186
 
300
- this._transitioner.cancel();
301
- this._transitioner.translate(this.percent);
302
187
 
303
- this.dragging = true;
188
+ created() {
189
+ for (const key of ['start', 'move', 'end']) {
190
+ const fn = this[key];
191
+ this[key] = (e) => {
192
+ const pos = uikitUtil.getEventPos(e).x * (uikitUtil.isRtl ? -1 : 1);
304
193
 
305
- this.stack = [];
194
+ this.prevPos = pos === this.pos ? this.prevPos : this.pos;
195
+ this.pos = pos;
306
196
 
307
- } else {
308
- this.prevIndex = this.index;
309
- }
310
-
311
- uikitUtil.on(document, uikitUtil.pointerMove, this.move, {passive: false});
197
+ fn(e);
198
+ };
199
+ }
200
+ },
312
201
 
313
- // 'input' event is triggered by video controls
314
- uikitUtil.on(document, (uikitUtil.pointerUp + " " + uikitUtil.pointerCancel + " input"), this.end, true);
202
+ events: [
203
+ {
204
+ name: uikitUtil.pointerDown,
315
205
 
316
- uikitUtil.css(this.list, 'userSelect', 'none');
206
+ delegate() {
207
+ return this.selSlides;
208
+ },
317
209
 
318
- },
210
+ handler(e) {
211
+ if (
212
+ !this.draggable ||
213
+ !uikitUtil.isTouch(e) && hasTextNodesOnly(e.target) ||
214
+ uikitUtil.closest(e.target, uikitUtil.selInput) ||
215
+ e.button > 0 ||
216
+ this.length < 2)
217
+ {
218
+ return;
219
+ }
319
220
 
320
- move: function(e) {
321
- var this$1$1 = this;
221
+ this.start(e);
222
+ } },
322
223
 
323
224
 
324
- var distance = this.pos - this.drag;
225
+ {
226
+ name: 'dragstart',
325
227
 
326
- if (distance === 0 || this.prevPos === this.pos || !this.dragging && Math.abs(distance) < this.threshold) {
327
- return;
328
- }
228
+ handler(e) {
229
+ e.preventDefault();
230
+ } }],
329
231
 
330
- // prevent click event
331
- uikitUtil.css(this.list, 'pointerEvents', 'none');
332
232
 
333
- e.cancelable && e.preventDefault();
334
233
 
335
- this.dragging = true;
336
- this.dir = (distance < 0 ? 1 : -1);
234
+ methods: {
235
+ start() {
236
+ this.drag = this.pos;
337
237
 
338
- var ref = this;
339
- var slides = ref.slides;
340
- var ref$1 = this;
341
- var prevIndex = ref$1.prevIndex;
342
- var dis = Math.abs(distance);
343
- var nextIndex = this.getIndex(prevIndex + this.dir, prevIndex);
344
- var width = this._getDistance(prevIndex, nextIndex) || slides[prevIndex].offsetWidth;
238
+ if (this._transitioner) {
239
+ this.percent = this._transitioner.percent();
240
+ this.drag += this._transitioner.getDistance() * this.percent * this.dir;
345
241
 
346
- while (nextIndex !== prevIndex && dis > width) {
242
+ this._transitioner.cancel();
243
+ this._transitioner.translate(this.percent);
347
244
 
348
- this.drag -= width * this.dir;
245
+ this.dragging = true;
349
246
 
350
- prevIndex = nextIndex;
351
- dis -= width;
352
- nextIndex = this.getIndex(prevIndex + this.dir, prevIndex);
353
- width = this._getDistance(prevIndex, nextIndex) || slides[prevIndex].offsetWidth;
247
+ this.stack = [];
248
+ } else {
249
+ this.prevIndex = this.index;
250
+ }
354
251
 
355
- }
252
+ uikitUtil.on(document, uikitUtil.pointerMove, this.move, { passive: false });
356
253
 
357
- this.percent = dis / width;
254
+ // 'input' event is triggered by video controls
255
+ uikitUtil.on(document, uikitUtil.pointerUp + " " + uikitUtil.pointerCancel + " input", this.end, true);
358
256
 
359
- var prev = slides[prevIndex];
360
- var next = slides[nextIndex];
361
- var changed = this.index !== nextIndex;
362
- var edge = prevIndex === nextIndex;
257
+ uikitUtil.css(this.list, 'userSelect', 'none');
258
+ },
363
259
 
364
- var itemShown;
260
+ move(e) {
261
+ const distance = this.pos - this.drag;
365
262
 
366
- [this.index, this.prevIndex].filter(function (i) { return !uikitUtil.includes([nextIndex, prevIndex], i); }).forEach(function (i) {
367
- uikitUtil.trigger(slides[i], 'itemhidden', [this$1$1]);
263
+ if (
264
+ distance === 0 ||
265
+ this.prevPos === this.pos ||
266
+ !this.dragging && Math.abs(distance) < this.threshold)
267
+ {
268
+ return;
269
+ }
368
270
 
369
- if (edge) {
370
- itemShown = true;
371
- this$1$1.prevIndex = prevIndex;
372
- }
271
+ // prevent click event
272
+ uikitUtil.css(this.list, 'pointerEvents', 'none');
373
273
 
374
- });
274
+ e.cancelable && e.preventDefault();
375
275
 
376
- if (this.index === prevIndex && this.prevIndex !== prevIndex || itemShown) {
377
- uikitUtil.trigger(slides[this.index], 'itemshown', [this]);
378
- }
276
+ this.dragging = true;
277
+ this.dir = distance < 0 ? 1 : -1;
379
278
 
380
- if (changed) {
381
- this.prevIndex = prevIndex;
382
- this.index = nextIndex;
279
+ const { slides } = this;
280
+ let { prevIndex } = this;
281
+ let dis = Math.abs(distance);
282
+ let nextIndex = this.getIndex(prevIndex + this.dir, prevIndex);
283
+ let width = this._getDistance(prevIndex, nextIndex) || slides[prevIndex].offsetWidth;
383
284
 
384
- !edge && uikitUtil.trigger(prev, 'beforeitemhide', [this]);
385
- uikitUtil.trigger(next, 'beforeitemshow', [this]);
386
- }
285
+ while (nextIndex !== prevIndex && dis > width) {
286
+ this.drag -= width * this.dir;
387
287
 
388
- this._transitioner = this._translate(Math.abs(this.percent), prev, !edge && next);
288
+ prevIndex = nextIndex;
289
+ dis -= width;
290
+ nextIndex = this.getIndex(prevIndex + this.dir, prevIndex);
291
+ width = this._getDistance(prevIndex, nextIndex) || slides[prevIndex].offsetWidth;
292
+ }
389
293
 
390
- if (changed) {
391
- !edge && uikitUtil.trigger(prev, 'itemhide', [this]);
392
- uikitUtil.trigger(next, 'itemshow', [this]);
393
- }
294
+ this.percent = dis / width;
394
295
 
395
- },
296
+ const prev = slides[prevIndex];
297
+ const next = slides[nextIndex];
298
+ const changed = this.index !== nextIndex;
299
+ const edge = prevIndex === nextIndex;
396
300
 
397
- end: function() {
301
+ let itemShown;
398
302
 
399
- uikitUtil.off(document, uikitUtil.pointerMove, this.move, {passive: false});
400
- uikitUtil.off(document, (uikitUtil.pointerUp + " " + uikitUtil.pointerCancel + " input"), this.end, true);
303
+ [this.index, this.prevIndex].
304
+ filter((i) => !uikitUtil.includes([nextIndex, prevIndex], i)).
305
+ forEach((i) => {
306
+ uikitUtil.trigger(slides[i], 'itemhidden', [this]);
401
307
 
402
- if (this.dragging) {
308
+ if (edge) {
309
+ itemShown = true;
310
+ this.prevIndex = prevIndex;
311
+ }
312
+ });
403
313
 
404
- this.dragging = null;
314
+ if (this.index === prevIndex && this.prevIndex !== prevIndex || itemShown) {
315
+ uikitUtil.trigger(slides[this.index], 'itemshown', [this]);
316
+ }
405
317
 
406
- if (this.index === this.prevIndex) {
407
- this.percent = 1 - this.percent;
408
- this.dir *= -1;
409
- this._show(false, this.index, true);
410
- this._transitioner = null;
411
- } else {
318
+ if (changed) {
319
+ this.prevIndex = prevIndex;
320
+ this.index = nextIndex;
412
321
 
413
- var dirChange = (uikitUtil.isRtl ? this.dir * (uikitUtil.isRtl ? 1 : -1) : this.dir) < 0 === this.prevPos > this.pos;
414
- this.index = dirChange ? this.index : this.prevIndex;
322
+ !edge && uikitUtil.trigger(prev, 'beforeitemhide', [this]);
323
+ uikitUtil.trigger(next, 'beforeitemshow', [this]);
324
+ }
415
325
 
416
- if (dirChange) {
417
- this.percent = 1 - this.percent;
418
- }
326
+ this._transitioner = this._translate(Math.abs(this.percent), prev, !edge && next);
419
327
 
420
- this.show(this.dir > 0 && !dirChange || this.dir < 0 && dirChange ? 'next' : 'previous', true);
421
- }
328
+ if (changed) {
329
+ !edge && uikitUtil.trigger(prev, 'itemhide', [this]);
330
+ uikitUtil.trigger(next, 'itemshow', [this]);
331
+ }
332
+ },
422
333
 
423
- }
334
+ end() {
335
+ uikitUtil.off(document, uikitUtil.pointerMove, this.move, { passive: false });
336
+ uikitUtil.off(document, uikitUtil.pointerUp + " " + uikitUtil.pointerCancel + " input", this.end, true);
337
+
338
+ if (this.dragging) {
339
+ this.dragging = null;
340
+
341
+ if (this.index === this.prevIndex) {
342
+ this.percent = 1 - this.percent;
343
+ this.dir *= -1;
344
+ this._show(false, this.index, true);
345
+ this._transitioner = null;
346
+ } else {
347
+ const dirChange =
348
+ (uikitUtil.isRtl ? this.dir * (uikitUtil.isRtl ? 1 : -1) : this.dir) < 0 ===
349
+ this.prevPos > this.pos;
350
+ this.index = dirChange ? this.index : this.prevIndex;
351
+
352
+ if (dirChange) {
353
+ this.percent = 1 - this.percent;
354
+ }
355
+
356
+ this.show(
357
+ this.dir > 0 && !dirChange || this.dir < 0 && dirChange ?
358
+ 'next' :
359
+ 'previous',
360
+ true);
424
361
 
425
- uikitUtil.css(this.list, {userSelect: '', pointerEvents: ''});
362
+ }
363
+ }
426
364
 
427
- this.drag
428
- = this.percent
429
- = null;
365
+ uikitUtil.css(this.list, { userSelect: '', pointerEvents: '' });
430
366
 
431
- }
367
+ this.drag = this.percent = null;
368
+ } } };
432
369
 
433
- }
434
370
 
435
- };
436
371
 
437
372
  function hasTextNodesOnly(el) {
438
- return !el.children.length && el.childNodes.length;
373
+ return !el.children.length && el.childNodes.length;
439
374
  }
440
375
 
441
376
  var SliderNav = {
377
+ data: {
378
+ selNav: false },
442
379
 
443
- data: {
444
- selNav: false
445
- },
446
-
447
- computed: {
448
-
449
- nav: function(ref, $el) {
450
- var selNav = ref.selNav;
451
-
452
- return uikitUtil.$(selNav, $el);
453
- },
454
-
455
- selNavItem: function(ref) {
456
- var attrItem = ref.attrItem;
457
-
458
- return ("[" + attrItem + "],[data-" + attrItem + "]");
459
- },
460
-
461
- navItems: function(_, $el) {
462
- return uikitUtil.$$(this.selNavItem, $el);
463
- }
464
380
 
381
+ computed: {
382
+ nav(_ref, $el) {let { selNav } = _ref;
383
+ return uikitUtil.$(selNav, $el);
465
384
  },
466
385
 
467
- update: {
468
-
469
- write: function() {
470
- var this$1$1 = this;
471
-
472
-
473
- if (this.nav && this.length !== this.nav.children.length) {
474
- uikitUtil.html(this.nav, this.slides.map(function (_, i) { return ("<li " + (this$1$1.attrItem) + "=\"" + i + "\"><a href></a></li>"); }).join(''));
475
- }
476
-
477
- this.navItems.concat(this.nav).forEach(function (el) { return el && (el.hidden = !this$1$1.maxIndex); });
478
-
479
- this.updateNav();
480
-
481
- },
482
-
483
- events: ['resize']
484
-
386
+ selNavItem(_ref2) {let { attrItem } = _ref2;
387
+ return "[" + attrItem + "],[data-" + attrItem + "]";
485
388
  },
486
389
 
487
- events: [
390
+ navItems(_, $el) {
391
+ return uikitUtil.$$(this.selNavItem, $el);
392
+ } },
488
393
 
489
- {
490
394
 
491
- name: 'click',
395
+ update: {
396
+ write() {
397
+ if (this.nav && this.length !== this.nav.children.length) {
398
+ uikitUtil.html(
399
+ this.nav,
400
+ this.slides.
401
+ map((_, i) => "<li " + this.attrItem + "=\"" + i + "\"><a href></a></li>").
402
+ join(''));
492
403
 
493
- delegate: function() {
494
- return this.selNavItem;
495
- },
404
+ }
496
405
 
497
- handler: function(e) {
498
- e.preventDefault();
499
- this.show(uikitUtil.data(e.current, this.attrItem));
500
- }
406
+ this.navItems.concat(this.nav).forEach((el) => el && (el.hidden = !this.maxIndex));
501
407
 
502
- },
408
+ this.updateNav();
409
+ },
503
410
 
504
- {
411
+ events: ['resize'] },
505
412
 
506
- name: 'itemshow',
507
- handler: 'updateNav'
508
413
 
509
- }
414
+ events: [
415
+ {
416
+ name: 'click',
510
417
 
511
- ],
512
-
513
- methods: {
418
+ delegate() {
419
+ return this.selNavItem;
420
+ },
514
421
 
515
- updateNav: function() {
516
- var this$1$1 = this;
422
+ handler(e) {
423
+ e.preventDefault();
424
+ this.show(uikitUtil.data(e.current, this.attrItem));
425
+ } },
517
426
 
518
427
 
519
- var i = this.getValidIndex();
520
- this.navItems.forEach(function (el) {
428
+ {
429
+ name: 'itemshow',
430
+ handler: 'updateNav' }],
521
431
 
522
- var cmd = uikitUtil.data(el, this$1$1.attrItem);
523
432
 
524
- uikitUtil.toggleClass(el, this$1$1.clsActive, uikitUtil.toNumber(cmd) === i);
525
- uikitUtil.toggleClass(el, 'uk-invisible', this$1$1.finite && (cmd === 'previous' && i === 0 || cmd === 'next' && i >= this$1$1.maxIndex));
526
- });
527
433
 
528
- }
434
+ methods: {
435
+ updateNav() {
436
+ const i = this.getValidIndex();
437
+ for (const el of this.navItems) {
438
+ const cmd = uikitUtil.data(el, this.attrItem);
529
439
 
530
- }
440
+ uikitUtil.toggleClass(el, this.clsActive, uikitUtil.toNumber(cmd) === i);
441
+ uikitUtil.toggleClass(
442
+ el,
443
+ 'uk-invisible',
444
+ this.finite && (
445
+ cmd === 'previous' && i === 0 || cmd === 'next' && i >= this.maxIndex));
531
446
 
532
- };
447
+ }
448
+ } } };
533
449
 
534
450
  var Slider = {
535
-
536
- mixins: [SliderAutoplay, SliderDrag, SliderNav],
537
-
538
- props: {
539
- clsActivated: Boolean,
540
- easing: String,
541
- index: Number,
542
- finite: Boolean,
543
- velocity: Number,
544
- selSlides: String
451
+ mixins: [SliderAutoplay, SliderDrag, SliderNav],
452
+
453
+ props: {
454
+ clsActivated: Boolean,
455
+ easing: String,
456
+ index: Number,
457
+ finite: Boolean,
458
+ velocity: Number,
459
+ selSlides: String },
460
+
461
+
462
+ data: () => ({
463
+ easing: 'ease',
464
+ finite: false,
465
+ velocity: 1,
466
+ index: 0,
467
+ prevIndex: -1,
468
+ stack: [],
469
+ percent: 0,
470
+ clsActive: 'uk-active',
471
+ clsActivated: false,
472
+ Transitioner: false,
473
+ transitionOptions: {} }),
474
+
475
+
476
+ connected() {
477
+ this.prevIndex = -1;
478
+ this.index = this.getValidIndex(this.$props.index);
479
+ this.stack = [];
480
+ },
481
+
482
+ disconnected() {
483
+ uikitUtil.removeClass(this.slides, this.clsActive);
484
+ },
485
+
486
+ computed: {
487
+ duration(_ref, $el) {let { velocity } = _ref;
488
+ return speedUp($el.offsetWidth / velocity);
545
489
  },
546
490
 
547
- data: function () { return ({
548
- easing: 'ease',
549
- finite: false,
550
- velocity: 1,
551
- index: 0,
552
- prevIndex: -1,
553
- stack: [],
554
- percent: 0,
555
- clsActive: 'uk-active',
556
- clsActivated: false,
557
- Transitioner: false,
558
- transitionOptions: {}
559
- }); },
560
-
561
- connected: function() {
562
- this.prevIndex = -1;
563
- this.index = this.getValidIndex(this.$props.index);
564
- this.stack = [];
491
+ list(_ref2, $el) {let { selList } = _ref2;
492
+ return uikitUtil.$(selList, $el);
565
493
  },
566
494
 
567
- disconnected: function() {
568
- uikitUtil.removeClass(this.slides, this.clsActive);
495
+ maxIndex() {
496
+ return this.length - 1;
569
497
  },
570
498
 
571
- computed: {
572
-
573
- duration: function(ref, $el) {
574
- var velocity = ref.velocity;
575
-
576
- return speedUp($el.offsetWidth / velocity);
577
- },
499
+ selSlides(_ref3) {let { selList, selSlides } = _ref3;
500
+ return selList + " " + (selSlides || '> *');
501
+ },
578
502
 
579
- list: function(ref, $el) {
580
- var selList = ref.selList;
503
+ slides: {
504
+ get() {
505
+ return uikitUtil.$$(this.selSlides, this.$el);
506
+ },
581
507
 
582
- return uikitUtil.$(selList, $el);
583
- },
508
+ watch() {
509
+ this.$reset();
510
+ } },
584
511
 
585
- maxIndex: function() {
586
- return this.length - 1;
587
- },
588
512
 
589
- selSlides: function(ref) {
590
- var selList = ref.selList;
591
- var selSlides = ref.selSlides;
513
+ length() {
514
+ return this.slides.length;
515
+ } },
592
516
 
593
- return (selList + " " + (selSlides || '> *'));
594
- },
595
517
 
596
- slides: {
518
+ events: {
519
+ itemshown() {
520
+ this.$update(this.list);
521
+ } },
597
522
 
598
- get: function() {
599
- return uikitUtil.$$(this.selSlides, this.$el);
600
- },
601
523
 
602
- watch: function() {
603
- this.$reset();
604
- }
524
+ methods: {
525
+ show(index, force) {if (force === void 0) {force = false;}
526
+ if (this.dragging || !this.length) {
527
+ return;
528
+ }
605
529
 
606
- },
530
+ const { stack } = this;
531
+ const queueIndex = force ? 0 : stack.length;
532
+ const reset = () => {
533
+ stack.splice(queueIndex, 1);
607
534
 
608
- length: function() {
609
- return this.slides.length;
535
+ if (stack.length) {
536
+ this.show(stack.shift(), true);
610
537
  }
538
+ };
611
539
 
612
- },
613
-
614
- events: {
540
+ stack[force ? 'unshift' : 'push'](index);
615
541
 
616
- itemshown: function() {
617
- this.$update(this.list);
542
+ if (!force && stack.length > 1) {
543
+ if (stack.length === 2) {
544
+ this._transitioner.forward(Math.min(this.duration, 200));
618
545
  }
619
546
 
620
- },
621
-
622
- methods: {
623
-
624
- show: function(index, force) {
625
- var this$1$1 = this;
626
- if ( force === void 0 ) force = false;
627
-
628
-
629
- if (this.dragging || !this.length) {
630
- return;
631
- }
632
-
633
- var ref = this;
634
- var stack = ref.stack;
635
- var queueIndex = force ? 0 : stack.length;
636
- var reset = function () {
637
- stack.splice(queueIndex, 1);
638
-
639
- if (stack.length) {
640
- this$1$1.show(stack.shift(), true);
641
- }
642
- };
643
-
644
- stack[force ? 'unshift' : 'push'](index);
645
-
646
- if (!force && stack.length > 1) {
647
-
648
- if (stack.length === 2) {
649
- this._transitioner.forward(Math.min(this.duration, 200));
650
- }
651
-
652
- return;
653
- }
654
-
655
- var prevIndex = this.getIndex(this.index);
656
- var prev = uikitUtil.hasClass(this.slides, this.clsActive) && this.slides[prevIndex];
657
- var nextIndex = this.getIndex(index, this.index);
658
- var next = this.slides[nextIndex];
659
-
660
- if (prev === next) {
661
- reset();
662
- return;
663
- }
664
-
665
- this.dir = getDirection(index, prevIndex);
666
- this.prevIndex = prevIndex;
667
- this.index = nextIndex;
668
-
669
- if (prev && !uikitUtil.trigger(prev, 'beforeitemhide', [this])
670
- || !uikitUtil.trigger(next, 'beforeitemshow', [this, prev])
671
- ) {
672
- this.index = this.prevIndex;
673
- reset();
674
- return;
547
+ return;
548
+ }
549
+
550
+ const prevIndex = this.getIndex(this.index);
551
+ const prev = uikitUtil.hasClass(this.slides, this.clsActive) && this.slides[prevIndex];
552
+ const nextIndex = this.getIndex(index, this.index);
553
+ const next = this.slides[nextIndex];
554
+
555
+ if (prev === next) {
556
+ reset();
557
+ return;
558
+ }
559
+
560
+ this.dir = getDirection(index, prevIndex);
561
+ this.prevIndex = prevIndex;
562
+ this.index = nextIndex;
563
+
564
+ if (
565
+ prev && !uikitUtil.trigger(prev, 'beforeitemhide', [this]) ||
566
+ !uikitUtil.trigger(next, 'beforeitemshow', [this, prev]))
567
+ {
568
+ this.index = this.prevIndex;
569
+ reset();
570
+ return;
571
+ }
572
+
573
+ const promise = this._show(prev, next, force).then(() => {
574
+ prev && uikitUtil.trigger(prev, 'itemhidden', [this]);
575
+ uikitUtil.trigger(next, 'itemshown', [this]);
576
+
577
+ return new Promise((resolve) => {
578
+ uikitUtil.fastdom.write(() => {
579
+ stack.shift();
580
+ if (stack.length) {
581
+ this.show(stack.shift(), true);
582
+ } else {
583
+ this._transitioner = null;
675
584
  }
585
+ resolve();
586
+ });
587
+ });
588
+ });
676
589
 
677
- var promise = this._show(prev, next, force).then(function () {
590
+ prev && uikitUtil.trigger(prev, 'itemhide', [this]);
591
+ uikitUtil.trigger(next, 'itemshow', [this]);
678
592
 
679
- prev && uikitUtil.trigger(prev, 'itemhidden', [this$1$1]);
680
- uikitUtil.trigger(next, 'itemshown', [this$1$1]);
593
+ return promise;
594
+ },
681
595
 
682
- return new uikitUtil.Promise(function (resolve) {
683
- uikitUtil.fastdom.write(function () {
684
- stack.shift();
685
- if (stack.length) {
686
- this$1$1.show(stack.shift(), true);
687
- } else {
688
- this$1$1._transitioner = null;
689
- }
690
- resolve();
691
- });
692
- });
596
+ getIndex(index, prev) {if (index === void 0) {index = this.index;}if (prev === void 0) {prev = this.index;}
597
+ return uikitUtil.clamp(uikitUtil.getIndex(index, this.slides, prev, this.finite), 0, this.maxIndex);
598
+ },
693
599
 
694
- });
600
+ getValidIndex(index, prevIndex) {if (index === void 0) {index = this.index;}if (prevIndex === void 0) {prevIndex = this.prevIndex;}
601
+ return this.getIndex(index, prevIndex);
602
+ },
695
603
 
696
- prev && uikitUtil.trigger(prev, 'itemhide', [this]);
697
- uikitUtil.trigger(next, 'itemshow', [this]);
604
+ _show(prev, next, force) {
605
+ this._transitioner = this._getTransitioner(
606
+ prev,
607
+ next,
608
+ this.dir,
609
+ uikitUtil.assign(
610
+ {
611
+ easing: force ?
612
+ next.offsetWidth < 600 ?
613
+ 'cubic-bezier(0.25, 0.46, 0.45, 0.94)' /* easeOutQuad */ :
614
+ 'cubic-bezier(0.165, 0.84, 0.44, 1)' /* easeOutQuart */ :
615
+ this.easing },
698
616
 
699
- return promise;
617
+ this.transitionOptions));
700
618
 
701
- },
702
619
 
703
- getIndex: function(index, prev) {
704
- if ( index === void 0 ) index = this.index;
705
- if ( prev === void 0 ) prev = this.index;
706
620
 
707
- return uikitUtil.clamp(uikitUtil.getIndex(index, this.slides, prev, this.finite), 0, this.maxIndex);
708
- },
621
+ if (!force && !prev) {
622
+ this._translate(1);
623
+ return Promise.resolve();
624
+ }
709
625
 
710
- getValidIndex: function(index, prevIndex) {
711
- if ( index === void 0 ) index = this.index;
712
- if ( prevIndex === void 0 ) prevIndex = this.prevIndex;
626
+ const { length } = this.stack;
627
+ return this._transitioner[length > 1 ? 'forward' : 'show'](
628
+ length > 1 ? Math.min(this.duration, 75 + 75 / (length - 1)) : this.duration,
629
+ this.percent);
713
630
 
714
- return this.getIndex(index, prevIndex);
715
- },
631
+ },
716
632
 
717
- _show: function(prev, next, force) {
633
+ _getDistance(prev, next) {
634
+ return this._getTransitioner(prev, prev !== next && next).getDistance();
635
+ },
718
636
 
719
- this._transitioner = this._getTransitioner(
720
- prev,
721
- next,
722
- this.dir,
723
- uikitUtil.assign({
724
- easing: force
725
- ? next.offsetWidth < 600
726
- ? 'cubic-bezier(0.25, 0.46, 0.45, 0.94)' /* easeOutQuad */
727
- : 'cubic-bezier(0.165, 0.84, 0.44, 1)' /* easeOutQuart */
728
- : this.easing
729
- }, this.transitionOptions)
730
- );
637
+ _translate(percent, prev, next) {if (prev === void 0) {prev = this.prevIndex;}if (next === void 0) {next = this.index;}
638
+ const transitioner = this._getTransitioner(prev !== next ? prev : false, next);
639
+ transitioner.translate(percent);
640
+ return transitioner;
641
+ },
731
642
 
732
- if (!force && !prev) {
733
- this._translate(1);
734
- return uikitUtil.Promise.resolve();
735
- }
643
+ _getTransitioner(
644
+ prev,
645
+ next,
646
+ dir,
647
+ options)
648
+ {if (prev === void 0) {prev = this.prevIndex;}if (next === void 0) {next = this.index;}if (dir === void 0) {dir = this.dir || 1;}if (options === void 0) {options = this.transitionOptions;}
649
+ return new this.Transitioner(
650
+ uikitUtil.isNumber(prev) ? this.slides[prev] : prev,
651
+ uikitUtil.isNumber(next) ? this.slides[next] : next,
652
+ dir * (uikitUtil.isRtl ? -1 : 1),
653
+ options);
736
654
 
737
- var ref = this.stack;
738
- var length = ref.length;
739
- return this._transitioner[length > 1 ? 'forward' : 'show'](length > 1 ? Math.min(this.duration, 75 + 75 / (length - 1)) : this.duration, this.percent);
740
-
741
- },
742
-
743
- _getDistance: function(prev, next) {
744
- return this._getTransitioner(prev, prev !== next && next).getDistance();
745
- },
746
-
747
- _translate: function(percent, prev, next) {
748
- if ( prev === void 0 ) prev = this.prevIndex;
749
- if ( next === void 0 ) next = this.index;
750
-
751
- var transitioner = this._getTransitioner(prev !== next ? prev : false, next);
752
- transitioner.translate(percent);
753
- return transitioner;
754
- },
755
-
756
- _getTransitioner: function(prev, next, dir, options) {
757
- if ( prev === void 0 ) prev = this.prevIndex;
758
- if ( next === void 0 ) next = this.index;
759
- if ( dir === void 0 ) dir = this.dir || 1;
760
- if ( options === void 0 ) options = this.transitionOptions;
761
-
762
- return new this.Transitioner(
763
- uikitUtil.isNumber(prev) ? this.slides[prev] : prev,
764
- uikitUtil.isNumber(next) ? this.slides[next] : next,
765
- dir * (uikitUtil.isRtl ? -1 : 1),
766
- options
767
- );
768
- }
655
+ } } };
769
656
 
770
- }
771
657
 
772
- };
773
658
 
774
659
  function getDirection(index, prevIndex) {
775
- return index === 'next'
776
- ? 1
777
- : index === 'previous'
778
- ? -1
779
- : index < prevIndex
780
- ? -1
781
- : 1;
660
+ return index === 'next' ? 1 : index === 'previous' ? -1 : index < prevIndex ? -1 : 1;
782
661
  }
783
662
 
784
663
  function speedUp(x) {
785
- return .5 * x + 300; // parabola through (400,500; 600,600; 1800,1200)
664
+ return 0.5 * x + 300; // parabola through (400,500; 600,600; 1800,1200)
786
665
  }
787
666
 
788
667
  var Slideshow = {
668
+ mixins: [Slider],
789
669
 
790
- mixins: [Slider],
670
+ props: {
671
+ animation: String },
791
672
 
792
- props: {
793
- animation: String
794
- },
795
673
 
796
- data: {
797
- animation: 'slide',
798
- clsActivated: 'uk-transition-active',
799
- Animations: Animations$1,
800
- Transitioner: Transitioner
801
- },
674
+ data: {
675
+ animation: 'slide',
676
+ clsActivated: 'uk-transition-active',
677
+ Animations: Animations$1,
678
+ Transitioner },
802
679
 
803
- computed: {
804
-
805
- animation: function(ref) {
806
- var animation = ref.animation;
807
- var Animations = ref.Animations;
808
-
809
- return uikitUtil.assign(Animations[animation] || Animations.slide, {name: animation});
810
- },
811
-
812
- transitionOptions: function() {
813
- return {animation: this.animation};
814
- }
815
680
 
681
+ computed: {
682
+ animation(_ref) {let { animation, Animations } = _ref;
683
+ return uikitUtil.assign(Animations[animation] || Animations.slide, { name: animation });
816
684
  },
817
685
 
818
- events: {
819
-
820
- 'itemshow itemhide itemshown itemhidden': function(ref) {
821
- var target = ref.target;
822
-
823
- this.$update(target);
824
- },
686
+ transitionOptions() {
687
+ return { animation: this.animation };
688
+ } },
825
689
 
826
- beforeitemshow: function(ref) {
827
- var target = ref.target;
828
690
 
829
- uikitUtil.addClass(target, this.clsActive);
830
- },
831
-
832
- itemshown: function(ref) {
833
- var target = ref.target;
834
-
835
- uikitUtil.addClass(target, this.clsActivated);
836
- },
837
-
838
- itemhidden: function(ref) {
839
- var target = ref.target;
691
+ events: {
692
+ 'itemshow itemhide itemshown itemhidden'(_ref2) {let { target } = _ref2;
693
+ this.$update(target);
694
+ },
840
695
 
841
- uikitUtil.removeClass(target, this.clsActive, this.clsActivated);
842
- }
696
+ beforeitemshow(_ref3) {let { target } = _ref3;
697
+ uikitUtil.addClass(target, this.clsActive);
698
+ },
843
699
 
844
- }
700
+ itemshown(_ref4) {let { target } = _ref4;
701
+ uikitUtil.addClass(target, this.clsActivated);
702
+ },
845
703
 
846
- };
704
+ itemhidden(_ref5) {let { target } = _ref5;
705
+ uikitUtil.removeClass(target, this.clsActive, this.clsActivated);
706
+ } } };
847
707
 
848
708
  var Animations = uikitUtil.assign({}, Animations$1, {
709
+ fade: {
710
+ show() {
711
+ return [{ opacity: 0, zIndex: 0 }, { zIndex: -1 }];
712
+ },
849
713
 
850
- fade: {
851
-
852
- show: function() {
853
- return [
854
- {opacity: 0, zIndex: 0},
855
- {zIndex: -1}
856
- ];
857
- },
714
+ percent(current) {
715
+ return 1 - uikitUtil.css(current, 'opacity');
716
+ },
858
717
 
859
- percent: function(current) {
860
- return 1 - uikitUtil.css(current, 'opacity');
861
- },
718
+ translate(percent) {
719
+ return [{ opacity: 1 - percent, zIndex: 0 }, { zIndex: -1 }];
720
+ } },
862
721
 
863
- translate: function(percent) {
864
- return [
865
- {opacity: 1 - percent, zIndex: 0},
866
- {zIndex: -1}
867
- ];
868
- }
869
722
 
723
+ scale: {
724
+ show() {
725
+ return [{ opacity: 0, transform: scale3d(1 + 0.5), zIndex: 0 }, { zIndex: -1 }];
870
726
  },
871
727
 
872
- scale: {
728
+ percent(current) {
729
+ return 1 - uikitUtil.css(current, 'opacity');
730
+ },
873
731
 
874
- show: function() {
875
- return [
876
- {opacity: 0, transform: scale3d(1 + .5), zIndex: 0},
877
- {zIndex: -1}
878
- ];
879
- },
732
+ translate(percent) {
733
+ return [
734
+ { opacity: 1 - percent, transform: scale3d(1 + 0.5 * percent), zIndex: 0 },
735
+ { zIndex: -1 }];
880
736
 
881
- percent: function(current) {
882
- return 1 - uikitUtil.css(current, 'opacity');
883
- },
737
+ } },
884
738
 
885
- translate: function(percent) {
886
- return [
887
- {opacity: 1 - percent, transform: scale3d(1 + .5 * percent), zIndex: 0},
888
- {zIndex: -1}
889
- ];
890
- }
891
739
 
892
- },
740
+ pull: {
741
+ show(dir) {
742
+ return dir < 0 ?
743
+ [
744
+ { transform: translate(30), zIndex: -1 },
745
+ { transform: translate(), zIndex: 0 }] :
893
746
 
894
- pull: {
895
-
896
- show: function(dir) {
897
- return dir < 0
898
- ? [
899
- {transform: translate(30), zIndex: -1},
900
- {transform: translate(), zIndex: 0}
901
- ]
902
- : [
903
- {transform: translate(-100), zIndex: 0},
904
- {transform: translate(), zIndex: -1}
905
- ];
906
- },
907
-
908
- percent: function(current, next, dir) {
909
- return dir < 0
910
- ? 1 - translated(next)
911
- : translated(current);
912
- },
913
-
914
- translate: function(percent, dir) {
915
- return dir < 0
916
- ? [
917
- {transform: translate(30 * percent), zIndex: -1},
918
- {transform: translate(-100 * (1 - percent)), zIndex: 0}
919
- ]
920
- : [
921
- {transform: translate(-percent * 100), zIndex: 0},
922
- {transform: translate(30 * (1 - percent)), zIndex: -1}
923
- ];
924
- }
747
+ [
748
+ { transform: translate(-100), zIndex: 0 },
749
+ { transform: translate(), zIndex: -1 }];
925
750
 
926
751
  },
927
752
 
928
- push: {
929
-
930
- show: function(dir) {
931
- return dir < 0
932
- ? [
933
- {transform: translate(100), zIndex: 0},
934
- {transform: translate(), zIndex: -1}
935
- ]
936
- : [
937
- {transform: translate(-30), zIndex: -1},
938
- {transform: translate(), zIndex: 0}
939
- ];
940
- },
941
-
942
- percent: function(current, next, dir) {
943
- return dir > 0
944
- ? 1 - translated(next)
945
- : translated(current);
946
- },
947
-
948
- translate: function(percent, dir) {
949
- return dir < 0
950
- ? [
951
- {transform: translate(percent * 100), zIndex: 0},
952
- {transform: translate(-30 * (1 - percent)), zIndex: -1}
953
- ]
954
- : [
955
- {transform: translate(-30 * percent), zIndex: -1},
956
- {transform: translate(100 * (1 - percent)), zIndex: 0}
957
- ];
958
- }
959
-
960
- }
753
+ percent(current, next, dir) {
754
+ return dir < 0 ? 1 - translated(next) : translated(current);
755
+ },
961
756
 
962
- });
757
+ translate(percent, dir) {
758
+ return dir < 0 ?
759
+ [
760
+ { transform: translate(30 * percent), zIndex: -1 },
761
+ { transform: translate(-100 * (1 - percent)), zIndex: 0 }] :
963
762
 
964
- var SliderReactive = {
763
+ [
764
+ { transform: translate(-percent * 100), zIndex: 0 },
765
+ { transform: translate(30 * (1 - percent)), zIndex: -1 }];
965
766
 
966
- update: {
767
+ } },
967
768
 
968
- write: function() {
969
769
 
970
- if (this.stack.length || this.dragging) {
971
- return;
972
- }
770
+ push: {
771
+ show(dir) {
772
+ return dir < 0 ?
773
+ [
774
+ { transform: translate(100), zIndex: 0 },
775
+ { transform: translate(), zIndex: -1 }] :
973
776
 
974
- var index = this.getValidIndex(this.index);
777
+ [
778
+ { transform: translate(-30), zIndex: -1 },
779
+ { transform: translate(), zIndex: 0 }];
975
780
 
976
- if (!~this.prevIndex || this.index !== index) {
977
- this.show(index);
978
- }
781
+ },
979
782
 
980
- },
783
+ percent(current, next, dir) {
784
+ return dir > 0 ? 1 - translated(next) : translated(current);
785
+ },
981
786
 
982
- events: ['resize']
787
+ translate(percent, dir) {
788
+ return dir < 0 ?
789
+ [
790
+ { transform: translate(percent * 100), zIndex: 0 },
791
+ { transform: translate(-30 * (1 - percent)), zIndex: -1 }] :
983
792
 
984
- }
793
+ [
794
+ { transform: translate(-30 * percent), zIndex: -1 },
795
+ { transform: translate(100 * (1 - percent)), zIndex: 0 }];
985
796
 
986
- };
797
+ } } });
987
798
 
988
- var Component = {
799
+ var SliderReactive = {
800
+ update: {
801
+ write() {
802
+ if (this.stack.length || this.dragging) {
803
+ return;
804
+ }
989
805
 
990
- mixins: [Class, Slideshow, SliderReactive],
806
+ const index = this.getValidIndex(this.index);
991
807
 
992
- props: {
993
- ratio: String,
994
- minHeight: Number,
995
- maxHeight: Number
808
+ if (!~this.prevIndex || this.index !== index) {
809
+ this.show(index);
810
+ }
996
811
  },
997
812
 
998
- data: {
999
- ratio: '16:9',
1000
- minHeight: false,
1001
- maxHeight: false,
1002
- selList: '.uk-slideshow-items',
1003
- attrItem: 'uk-slideshow-item',
1004
- selNav: '.uk-slideshow-nav',
1005
- Animations: Animations
1006
- },
813
+ events: ['resize'] } };
1007
814
 
1008
- update: {
815
+ var Component = {
816
+ mixins: [Class, Slideshow, SliderReactive],
1009
817
 
1010
- read: function() {
818
+ props: {
819
+ ratio: String,
820
+ minHeight: Number,
821
+ maxHeight: Number },
1011
822
 
1012
- if (!this.list) {
1013
- return false;
1014
- }
1015
823
 
1016
- var ref = this.ratio.split(':').map(Number);
1017
- var width = ref[0];
1018
- var height = ref[1];
824
+ data: {
825
+ ratio: '16:9',
826
+ minHeight: false,
827
+ maxHeight: false,
828
+ selList: '.uk-slideshow-items',
829
+ attrItem: 'uk-slideshow-item',
830
+ selNav: '.uk-slideshow-nav',
831
+ Animations },
1019
832
 
1020
- height = height * this.list.offsetWidth / width || 0;
1021
833
 
1022
- if (this.minHeight) {
1023
- height = Math.max(this.minHeight, height);
1024
- }
834
+ update: {
835
+ read() {
836
+ if (!this.list) {
837
+ return false;
838
+ }
1025
839
 
1026
- if (this.maxHeight) {
1027
- height = Math.min(this.maxHeight, height);
1028
- }
840
+ let [width, height] = this.ratio.split(':').map(Number);
1029
841
 
1030
- return {height: height - uikitUtil.boxModelAdjust(this.list, 'height', 'content-box')};
1031
- },
842
+ height = height * this.list.offsetWidth / width || 0;
1032
843
 
1033
- write: function(ref) {
1034
- var height = ref.height;
844
+ if (this.minHeight) {
845
+ height = Math.max(this.minHeight, height);
846
+ }
1035
847
 
1036
- height > 0 && uikitUtil.css(this.list, 'minHeight', height);
1037
- },
848
+ if (this.maxHeight) {
849
+ height = Math.min(this.maxHeight, height);
850
+ }
1038
851
 
1039
- events: ['resize']
852
+ return { height: height - uikitUtil.boxModelAdjust(this.list, 'height', 'content-box') };
853
+ },
1040
854
 
1041
- }
855
+ write(_ref) {let { height } = _ref;
856
+ height > 0 && uikitUtil.css(this.list, 'minHeight', height);
857
+ },
1042
858
 
1043
- };
859
+ events: ['resize'] } };
1044
860
 
1045
861
  if (typeof window !== 'undefined' && window.UIkit) {
1046
- window.UIkit.component('slideshow', Component);
862
+ window.UIkit.component('slideshow', Component);
1047
863
  }
1048
864
 
1049
865
  return Component;