uikit 3.20.9-dev.a82d76e5b → 3.20.9-dev.e2e1b058d

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 (74) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/css/uikit-core-rtl.css +1 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +1 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +1 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +1 -1
  9. package/dist/css/uikit.min.css +1 -1
  10. package/dist/js/components/countdown.js +1 -1
  11. package/dist/js/components/countdown.min.js +1 -1
  12. package/dist/js/components/filter.js +2 -4
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +13 -28
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +18 -33
  17. package/dist/js/components/lightbox.min.js +1 -1
  18. package/dist/js/components/notification.js +1 -1
  19. package/dist/js/components/notification.min.js +1 -1
  20. package/dist/js/components/parallax.js +1 -1
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +4 -10
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +18 -26
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +4 -10
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +17 -25
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +1 -1
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +1 -1
  33. package/dist/js/components/tooltip.min.js +1 -1
  34. package/dist/js/components/upload.js +1 -1
  35. package/dist/js/components/upload.min.js +1 -1
  36. package/dist/js/uikit-core.js +126 -228
  37. package/dist/js/uikit-core.min.js +1 -1
  38. package/dist/js/uikit-icons.js +1 -1
  39. package/dist/js/uikit-icons.min.js +1 -1
  40. package/dist/js/uikit.js +161 -278
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/api/events.js +1 -1
  44. package/src/js/components/filter.js +1 -3
  45. package/src/js/components/internal/slider-transitioner.js +4 -0
  46. package/src/js/components/lightbox-panel.js +1 -3
  47. package/src/js/components/lightbox.js +5 -5
  48. package/src/js/components/slider-parallax.js +3 -9
  49. package/src/js/components/slider.js +1 -1
  50. package/src/js/core/accordion.js +2 -6
  51. package/src/js/core/alert.js +1 -3
  52. package/src/js/core/cover.js +6 -12
  53. package/src/js/core/drop.js +5 -13
  54. package/src/js/core/dropnav.js +14 -42
  55. package/src/js/core/form-custom.js +1 -3
  56. package/src/js/core/grid.js +4 -7
  57. package/src/js/core/height-match.js +1 -3
  58. package/src/js/core/inverse.js +5 -4
  59. package/src/js/core/navbar.js +2 -6
  60. package/src/js/core/offcanvas.js +1 -3
  61. package/src/js/core/scrollspy-nav.js +2 -2
  62. package/src/js/core/scrollspy.js +1 -1
  63. package/src/js/core/sticky.js +18 -28
  64. package/src/js/core/switcher.js +7 -18
  65. package/src/js/core/toggle.js +6 -18
  66. package/src/js/core/video.js +6 -6
  67. package/src/js/mixin/internal/slideshow-transitioner.js +4 -0
  68. package/src/js/mixin/modal.js +1 -3
  69. package/src/js/mixin/slider-autoplay.js +1 -3
  70. package/src/js/mixin/slider-drag.js +2 -6
  71. package/src/js/mixin/slider-nav.js +4 -12
  72. package/src/js/mixin/slider-parallax.js +7 -3
  73. package/src/js/util/fastdom.js +24 -25
  74. package/src/js/util/viewport.js +8 -8
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "uikit",
3
3
  "title": "UIkit",
4
4
  "description": "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.",
5
- "version": "3.20.9-dev.a82d76e5b",
5
+ "version": "3.20.9-dev.e2e1b058d",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -24,7 +24,7 @@ export function registerEvent(instance, event, key) {
24
24
  : { name: key, handler: event };
25
25
  el = isFunction(el) ? el.call(instance, instance) : el || instance.$el;
26
26
 
27
- if (!el || (isArray(el) && !el.length) || (filter && !filter.call(instance))) {
27
+ if (!el || (isArray(el) && !el.length) || (filter && !filter.call(instance, instance))) {
28
28
  return;
29
29
  }
30
30
 
@@ -72,9 +72,7 @@ export default {
72
72
  events: {
73
73
  name: 'click keydown',
74
74
 
75
- delegate() {
76
- return `[${this.attrItem}],[data-${this.attrItem}]`;
77
- },
75
+ delegate: ({ attrItem }) => `[${attrItem}],[data-${attrItem}]`,
78
76
 
79
77
  handler(e) {
80
78
  if (e.type === 'keydown' && e.keyCode !== keyMap.SPACE) {
@@ -69,6 +69,10 @@ export default function (prev, next, dir, { center, easing, list }) {
69
69
  },
70
70
 
71
71
  translate(percent) {
72
+ if (percent === this.percent()) {
73
+ return;
74
+ }
75
+
72
76
  const distance = this.getDistance() * dir * (isRtl ? -1 : 1);
73
77
 
74
78
  css(
@@ -85,9 +85,7 @@ export default {
85
85
 
86
86
  self: true,
87
87
 
88
- delegate() {
89
- return `${this.selList} > *`;
90
- },
88
+ delegate: ({ selList }) => `${selList} > *`,
91
89
 
92
90
  handler(e) {
93
91
  if (!e.defaultPrevented) {
@@ -31,13 +31,13 @@ export default {
31
31
  events: {
32
32
  name: 'click',
33
33
 
34
- delegate() {
35
- return `${this.toggle}:not(.uk-disabled)`;
36
- },
34
+ delegate: ({ toggle }) => `${toggle}:not(.uk-disabled)`,
37
35
 
38
36
  handler(e) {
39
- e.preventDefault();
40
- this.show(e.current);
37
+ if (!e.defaultPrevented) {
38
+ e.preventDefault();
39
+ this.show(e.current);
40
+ }
41
41
  },
42
42
  },
43
43
 
@@ -18,9 +18,7 @@ export default {
18
18
 
19
19
  self: true,
20
20
 
21
- el() {
22
- return this.item;
23
- },
21
+ el: ({ item }) => item,
24
22
 
25
23
  handler({ type, detail: { percent, duration, timing, dir } }) {
26
24
  fastdom.read(() => {
@@ -43,9 +41,7 @@ export default {
43
41
 
44
42
  self: true,
45
43
 
46
- el() {
47
- return this.item;
48
- },
44
+ el: ({ item }) => item,
49
45
 
50
46
  handler() {
51
47
  Transition.cancel(this.$el);
@@ -57,9 +53,7 @@ export default {
57
53
 
58
54
  self: true,
59
55
 
60
- el() {
61
- return this.item;
62
- },
56
+ el: ({ item }) => item,
63
57
 
64
58
  handler({ type, detail: { percent, dir } }) {
65
59
  fastdom.read(() => {
@@ -219,7 +219,7 @@ export default {
219
219
  ),
220
220
  );
221
221
 
222
- if (!this.center) {
222
+ if (!this.center || !this.length) {
223
223
  return;
224
224
  }
225
225
 
@@ -101,9 +101,7 @@ export default {
101
101
  {
102
102
  name: 'click keydown',
103
103
 
104
- delegate() {
105
- return `${this.targets} ${this.$props.toggle}`;
106
- },
104
+ delegate: ({ targets, $props }) => `${targets} ${$props.toggle}`,
107
105
 
108
106
  async handler(e) {
109
107
  if (e.type === 'keydown' && e.keyCode !== keyMap.SPACE) {
@@ -123,9 +121,7 @@ export default {
123
121
 
124
122
  self: true,
125
123
 
126
- delegate() {
127
- return this.targets;
128
- },
124
+ delegate: ({ targets }) => targets,
129
125
 
130
126
  handler() {
131
127
  this.$emit();
@@ -21,9 +21,7 @@ export default {
21
21
  events: {
22
22
  name: 'click',
23
23
 
24
- delegate() {
25
- return this.selClose;
26
- },
24
+ delegate: ({ selClose }) => selClose,
27
25
 
28
26
  handler(e) {
29
27
  e.preventDefault();
@@ -14,21 +14,19 @@ export default {
14
14
  automute: true,
15
15
  },
16
16
 
17
- events: {
18
- 'load loadedmetadata'() {
19
- this.$emit('resize');
20
- },
17
+ created() {
18
+ this.useObjectFit = isTag(this.$el, 'img', 'video');
21
19
  },
22
20
 
23
21
  observe: resize({
24
- target: ({ $el }) => [getPositionedParent($el) || parent($el)],
25
- filter: ({ $el }) => !useObjectFit($el),
22
+ target: ({ $el }) => getPositionedParent($el) || parent($el),
23
+ filter: ({ useObjectFit }) => !useObjectFit,
26
24
  }),
27
25
 
28
26
  update: {
29
27
  read() {
30
- if (useObjectFit(this.$el)) {
31
- return;
28
+ if (this.useObjectFit) {
29
+ return false;
32
30
  }
33
31
 
34
32
  const { ratio, cover } = Dimensions;
@@ -80,7 +78,3 @@ function getPositionedParent(el) {
80
78
  }
81
79
  }
82
80
  }
83
-
84
- function useObjectFit(el) {
85
- return isTag(el, 'img', 'video');
86
- }
@@ -106,7 +106,7 @@ export default {
106
106
  },
107
107
 
108
108
  beforeConnect() {
109
- this.clsDrop = this.$props.clsDrop || `uk-${this.$options.name}`;
109
+ this.clsDrop = this.$props.clsDrop || this.$options.id;
110
110
  },
111
111
 
112
112
  connected() {
@@ -131,9 +131,7 @@ export default {
131
131
  {
132
132
  name: 'click',
133
133
 
134
- delegate() {
135
- return '.uk-drop-close';
136
- },
134
+ delegate: () => '.uk-drop-close',
137
135
 
138
136
  handler(e) {
139
137
  e.preventDefault();
@@ -144,9 +142,7 @@ export default {
144
142
  {
145
143
  name: 'click',
146
144
 
147
- delegate() {
148
- return 'a[href*="#"]';
149
- },
145
+ delegate: () => 'a[href*="#"]',
150
146
 
151
147
  handler({ defaultPrevented, current }) {
152
148
  const { hash } = current;
@@ -212,9 +208,7 @@ export default {
212
208
  {
213
209
  name: `${pointerEnter} focusin`,
214
210
 
215
- filter() {
216
- return includes(this.mode, 'hover');
217
- },
211
+ filter: ({ mode }) => includes(mode, 'hover'),
218
212
 
219
213
  handler(e) {
220
214
  if (!isTouch(e)) {
@@ -226,9 +220,7 @@ export default {
226
220
  {
227
221
  name: `${pointerLeave} focusout`,
228
222
 
229
- filter() {
230
- return includes(this.mode, 'hover');
231
- },
223
+ filter: ({ mode }) => includes(mode, 'hover'),
232
224
 
233
225
  handler(e) {
234
226
  if (!isTouch(e) && e.relatedTarget) {
@@ -128,9 +128,7 @@ export default {
128
128
  {
129
129
  name: 'mouseover focusin',
130
130
 
131
- delegate() {
132
- return this.selNavItem;
133
- },
131
+ delegate: ({ selNavItem }) => selNavItem,
134
132
 
135
133
  handler({ current }) {
136
134
  const active = this.getActive();
@@ -151,9 +149,7 @@ export default {
151
149
 
152
150
  self: true,
153
151
 
154
- delegate() {
155
- return this.selNavItem;
156
- },
152
+ delegate: ({ selNavItem }) => selNavItem,
157
153
 
158
154
  handler(e) {
159
155
  const { current, keyCode } = e;
@@ -171,13 +167,9 @@ export default {
171
167
  {
172
168
  name: 'keydown',
173
169
 
174
- el() {
175
- return this.dropContainer;
176
- },
170
+ el: ({ dropContainer }) => dropContainer,
177
171
 
178
- delegate() {
179
- return `.${this.clsDrop}`;
180
- },
172
+ delegate: ({ clsDrop }) => `.${clsDrop}`,
181
173
 
182
174
  handler(e) {
183
175
  const { current, keyCode } = e;
@@ -220,13 +212,9 @@ export default {
220
212
  {
221
213
  name: 'mouseleave',
222
214
 
223
- el() {
224
- return this.dropbar;
225
- },
215
+ el: ({ dropbar }) => dropbar,
226
216
 
227
- filter() {
228
- return this.dropbar;
229
- },
217
+ filter: ({ dropbar }) => dropbar,
230
218
 
231
219
  handler() {
232
220
  const active = this.getActive();
@@ -244,13 +232,9 @@ export default {
244
232
  {
245
233
  name: 'beforeshow',
246
234
 
247
- el() {
248
- return this.dropContainer;
249
- },
235
+ el: ({ dropContainer }) => dropContainer,
250
236
 
251
- filter() {
252
- return this.dropbar;
253
- },
237
+ filter: ({ dropbar }) => dropbar,
254
238
 
255
239
  handler({ target }) {
256
240
  if (!this.isDropbarDrop(target)) {
@@ -268,13 +252,9 @@ export default {
268
252
  {
269
253
  name: 'show',
270
254
 
271
- el() {
272
- return this.dropContainer;
273
- },
255
+ el: ({ dropContainer }) => dropContainer,
274
256
 
275
- filter() {
276
- return this.dropbar;
277
- },
257
+ filter: ({ dropbar }) => dropbar,
278
258
 
279
259
  handler({ target }) {
280
260
  if (!this.isDropbarDrop(target)) {
@@ -306,13 +286,9 @@ export default {
306
286
  {
307
287
  name: 'beforehide',
308
288
 
309
- el() {
310
- return this.dropContainer;
311
- },
289
+ el: ({ dropContainer }) => dropContainer,
312
290
 
313
- filter() {
314
- return this.dropbar;
315
- },
291
+ filter: ({ dropbar }) => dropbar,
316
292
 
317
293
  handler(e) {
318
294
  const active = this.getActive();
@@ -333,13 +309,9 @@ export default {
333
309
  {
334
310
  name: 'hide',
335
311
 
336
- el() {
337
- return this.dropContainer;
338
- },
312
+ el: ({ dropContainer }) => dropContainer,
339
313
 
340
- filter() {
341
- return this.dropbar;
342
- },
314
+ filter: ({ dropbar }) => dropbar,
343
315
 
344
316
  handler({ target }) {
345
317
  if (!this.isDropbarDrop(target)) {
@@ -64,9 +64,7 @@ export default {
64
64
  {
65
65
  name: 'reset',
66
66
 
67
- el() {
68
- return this.$el.closest('form');
69
- },
67
+ el: ({ $el }) => $el.closest('form'),
70
68
 
71
69
  handler() {
72
70
  this.$emit();
@@ -123,14 +123,11 @@ export default {
123
123
 
124
124
  {
125
125
  read({ rows, scrollColumns, parallaxStart, parallaxEnd }) {
126
- if (scrollColumns && positionedAbsolute(rows)) {
127
- return false;
128
- }
129
-
130
126
  return {
131
- scrolled: scrollColumns
132
- ? scrolledOver(this.$el, parallaxStart, parallaxEnd)
133
- : false,
127
+ scrolled:
128
+ scrollColumns && !positionedAbsolute(rows)
129
+ ? scrolledOver(this.$el, parallaxStart, parallaxEnd)
130
+ : false,
134
131
  };
135
132
  },
136
133
 
@@ -28,9 +28,7 @@ export default {
28
28
  // Hidden elements may change height when fonts load
29
29
  name: 'loadingdone',
30
30
 
31
- el() {
32
- return document.fonts;
33
- },
31
+ el: () => document.fonts,
34
32
 
35
33
  handler() {
36
34
  this.$emit('resize');
@@ -97,18 +97,19 @@ export default {
97
97
 
98
98
  function findTargetColor(target) {
99
99
  const { left, top, height, width } = dimensions(target);
100
+ const viewport = dimensions(window);
100
101
 
101
102
  let last;
102
103
  for (const percent of [0.25, 0.5, 0.75]) {
103
104
  const elements = target.ownerDocument.elementsFromPoint(
104
- Math.max(0, left + width * percent),
105
- Math.max(0, top + height / 2),
105
+ Math.max(0, Math.min(left + width * percent, viewport.width - 1)),
106
+ Math.max(0, Math.min(top + height / 2, viewport.height - 1)),
106
107
  );
107
108
 
108
109
  for (const element of elements) {
109
110
  if (
110
111
  target.contains(element) ||
111
- !isVisible(element) ||
112
+ !checkVisibility(element) ||
112
113
  (element.closest('[class*="-leave"]') &&
113
114
  elements.some((el) => element !== el && matches(el, '[class*="-enter"]')))
114
115
  ) {
@@ -131,7 +132,7 @@ function findTargetColor(target) {
131
132
  }
132
133
 
133
134
  // TODO: once it becomes Baseline `element.checkVisibility({ opacityProperty: true, visibilityProperty: true })`
134
- function isVisible(element) {
135
+ function checkVisibility(element) {
135
136
  if (css(element, 'visibility') !== 'visible') {
136
137
  return false;
137
138
  }
@@ -39,9 +39,7 @@ export default {
39
39
  {
40
40
  name: 'show',
41
41
 
42
- el() {
43
- return this.dropContainer;
44
- },
42
+ el: ({ dropContainer }) => dropContainer,
45
43
 
46
44
  handler({ target }) {
47
45
  if (
@@ -56,9 +54,7 @@ export default {
56
54
  {
57
55
  name: 'hide',
58
56
 
59
- el() {
60
- return this.dropContainer;
61
- },
57
+ el: ({ dropContainer }) => dropContainer,
62
58
 
63
59
  async handler() {
64
60
  await awaitMacroTask();
@@ -81,9 +81,7 @@ export default {
81
81
  self: true,
82
82
  passive: false,
83
83
 
84
- filter() {
85
- return this.overlay;
86
- },
84
+ filter: ({ overlay }) => overlay,
87
85
 
88
86
  handler(e) {
89
87
  e.cancelable && e.preventDefault();
@@ -68,9 +68,9 @@ export default {
68
68
  if (scrollTop === max) {
69
69
  active = length - 1;
70
70
  } else {
71
+ const offsetBy = this.offset + offset(getCoveringElement()).height;
72
+
71
73
  for (let i = 0; i < targets.length; i++) {
72
- const fixedEl = getCoveringElement(targets[i]);
73
- const offsetBy = this.offset + (fixedEl ? offset(fixedEl).height : 0);
74
74
  if (offset(targets[i]).top - viewport.top - offsetBy > 0) {
75
75
  break;
76
76
  }
@@ -108,7 +108,7 @@ export default {
108
108
 
109
109
  methods: {
110
110
  toggle(el, inview) {
111
- const state = this.elementData.get(el);
111
+ const state = this.elementData?.get(el);
112
112
 
113
113
  if (!state) {
114
114
  return;
@@ -16,7 +16,6 @@ import {
16
16
  isVisible,
17
17
  noop,
18
18
  offsetPosition,
19
- once,
20
19
  parent,
21
20
  query,
22
21
  remove,
@@ -97,28 +96,28 @@ export default {
97
96
  },
98
97
 
99
98
  observe: [
100
- viewport({
101
- handler() {
102
- if (toPx('100vh', 'height') !== this._data.viewport) {
103
- this.$emit('resize');
104
- }
99
+ viewport(),
100
+ scroll({ target: () => document.scrollingElement }),
101
+ resize({
102
+ target: ({ $el }) => [$el, parent($el), document.scrollingElement],
103
+ handler(entries) {
104
+ this.$emit(
105
+ this._data.resized && entries.some(({ target }) => target === parent(this.$el))
106
+ ? 'update'
107
+ : 'resize',
108
+ );
109
+ this._data.resized = true;
105
110
  },
106
111
  }),
107
- scroll({ target: () => document.scrollingElement }),
108
- resize({ target: ({ $el }) => [$el, document.scrollingElement] }),
109
112
  ],
110
113
 
111
114
  events: [
112
115
  {
113
116
  name: 'load hashchange popstate',
114
117
 
115
- el() {
116
- return window;
117
- },
118
+ el: () => window,
118
119
 
119
- filter() {
120
- return this.targetOffset !== false;
121
- },
120
+ filter: ({ targetOffset }) => targetOffset !== false,
122
121
 
123
122
  handler() {
124
123
  const { scrollingElement } = document;
@@ -142,29 +141,18 @@ export default {
142
141
  });
143
142
  },
144
143
  },
145
- {
146
- name: 'transitionstart',
147
-
148
- handler() {
149
- this.transitionInProgress = once(
150
- this.$el,
151
- 'transitionend transitioncancel',
152
- () => (this.transitionInProgress = null),
153
- );
154
- },
155
- },
156
144
  ],
157
145
 
158
146
  update: [
159
147
  {
160
- read({ height, width, margin, sticky }) {
148
+ read({ height, width, margin, sticky }, types) {
161
149
  this.inactive = !this.matchMedia || !isVisible(this.$el);
162
150
 
163
151
  if (this.inactive) {
164
152
  return;
165
153
  }
166
154
 
167
- const hide = this.isFixed && !this.transitionInProgress;
155
+ const hide = this.isFixed && types.has('update');
168
156
  if (hide) {
169
157
  preventTransition(this.target);
170
158
  this.hide();
@@ -239,6 +227,7 @@ export default {
239
227
  top: offsetPosition(referenceElement)[0],
240
228
  sticky,
241
229
  viewport,
230
+ maxScrollHeight,
242
231
  };
243
232
  },
244
233
 
@@ -283,8 +272,9 @@ export default {
283
272
  elHeight,
284
273
  height,
285
274
  sticky,
275
+ maxScrollHeight,
286
276
  }) {
287
- const scroll = document.scrollingElement.scrollTop;
277
+ const scroll = Math.min(document.scrollingElement.scrollTop, maxScrollHeight);
288
278
  const dir = prevScroll <= scroll ? 'down' : 'up';
289
279
  const referenceElement = this.isFixed ? this.placeholder : this.$el;
290
280
 
@@ -104,9 +104,7 @@ export default {
104
104
  {
105
105
  name: 'click keydown',
106
106
 
107
- delegate() {
108
- return this.toggle;
109
- },
107
+ delegate: ({ toggle }) => toggle,
110
108
 
111
109
  handler(e) {
112
110
  if (
@@ -122,9 +120,7 @@ export default {
122
120
  {
123
121
  name: 'keydown',
124
122
 
125
- delegate() {
126
- return this.toggle;
127
- },
123
+ delegate: ({ toggle }) => toggle,
128
124
 
129
125
  handler(e) {
130
126
  const { current, keyCode } = e;
@@ -158,13 +154,10 @@ export default {
158
154
  {
159
155
  name: 'click',
160
156
 
161
- el() {
162
- return this.connects.concat(this.itemNav ? queryAll(this.itemNav, this.$el) : []);
163
- },
157
+ el: ({ $el, connects, itemNav }) =>
158
+ connects.concat(itemNav ? queryAll(itemNav, $el) : []),
164
159
 
165
- delegate() {
166
- return `[${this.attrItem}],[data-${this.attrItem}]`;
167
- },
160
+ delegate: ({ attrItem }) => `[${attrItem}],[data-${attrItem}]`,
168
161
 
169
162
  handler(e) {
170
163
  if (e.target.closest('a,button')) {
@@ -177,13 +170,9 @@ export default {
177
170
  {
178
171
  name: 'swipeRight swipeLeft',
179
172
 
180
- filter() {
181
- return this.swiping;
182
- },
173
+ filter: ({ swiping }) => swiping,
183
174
 
184
- el() {
185
- return this.connects;
186
- },
175
+ el: ({ connects }) => connects,
187
176
 
188
177
  handler({ type }) {
189
178
  this.show(endsWith(type, 'Left') ? 'next' : 'previous');