uikit 3.11.2-dev.fb043abc2 → 3.12.2

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