uikit 3.14.4-dev.838f092aa → 3.14.4-dev.a02c81d72

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 (75) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/css/uikit-core-rtl.css +68 -19
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +68 -19
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +65 -20
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +65 -20
  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 +7 -5
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +23 -8
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +23 -8
  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 +1 -1
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +22 -7
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +1 -1
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +22 -7
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +3 -3
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +18 -3
  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 +90 -54
  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 +143 -90
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/images/backgrounds/nav-parent-close.svg +1 -1
  44. package/src/images/backgrounds/nav-parent-open.svg +1 -1
  45. package/src/images/backgrounds/navbar-parent-close.svg +3 -0
  46. package/src/images/backgrounds/navbar-parent-open.svg +3 -0
  47. package/src/js/components/filter.js +5 -3
  48. package/src/js/components/sortable.js +2 -3
  49. package/src/js/core/height-viewport.js +11 -5
  50. package/src/js/core/navbar.js +44 -15
  51. package/src/js/core/sticky.js +8 -9
  52. package/src/js/mixin/modal.js +1 -1
  53. package/src/js/mixin/position.js +24 -7
  54. package/src/js/mixin/slider-drag.js +20 -8
  55. package/src/js/util/dimensions.js +6 -6
  56. package/src/js/util/position.js +1 -0
  57. package/src/js/util/viewport.js +2 -27
  58. package/src/less/components/dropdown.less +8 -0
  59. package/src/less/components/nav.less +22 -4
  60. package/src/less/components/navbar.less +52 -13
  61. package/src/less/components/utility.less +12 -3
  62. package/src/less/theme/nav.less +3 -7
  63. package/src/less/theme/navbar.less +4 -6
  64. package/src/scss/components/dropdown.scss +8 -0
  65. package/src/scss/components/nav.scss +24 -6
  66. package/src/scss/components/navbar.scss +52 -13
  67. package/src/scss/components/utility.scss +12 -3
  68. package/src/scss/mixins-theme.scss +2 -5
  69. package/src/scss/theme/nav.scss +3 -7
  70. package/src/scss/theme/navbar.scss +3 -2
  71. package/src/scss/variables-theme.scss +24 -9
  72. package/src/scss/variables.scss +24 -7
  73. package/tests/drop.html +66 -16
  74. package/tests/dropdown.html +103 -16
  75. package/tests/navbar.html +2131 -1125
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.14.4-dev.838f092aa | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
1
+ /*! UIkit 3.14.4-dev.a02c81d72 | 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() :
@@ -1060,13 +1060,13 @@
1060
1060
  }
1061
1061
 
1062
1062
  function offsetPosition(element) {
1063
- const offset = [0, 0];
1064
-
1065
1063
  element = toNode(element);
1066
1064
 
1067
- do {
1068
- offset[0] += element.offsetTop;
1069
- offset[1] += element.offsetLeft;
1065
+ const offset = [element.offsetTop, element.offsetLeft];
1066
+
1067
+ while (element = element.offsetParent) {
1068
+ offset[0] += element.offsetTop + toFloat(css(element, "borderTopWidth"));
1069
+ offset[1] += element.offsetLeft + toFloat(css(element, "borderLeftWidth"));
1070
1070
 
1071
1071
  if (css(element, 'position') === 'fixed') {
1072
1072
  const win = toWindow(element);
@@ -1074,7 +1074,7 @@
1074
1074
  offset[1] += win.scrollX;
1075
1075
  return offset;
1076
1076
  }
1077
- } while (element = element.offsetParent);
1077
+ }
1078
1078
 
1079
1079
  return offset;
1080
1080
  }
@@ -1293,9 +1293,9 @@
1293
1293
  const hasTouch = inBrowser && 'ontouchstart' in window;
1294
1294
  const hasPointerEvents = inBrowser && window.PointerEvent;
1295
1295
 
1296
- const pointerDown = hasPointerEvents ? 'pointerdown' : hasTouch ? 'touchstart' : 'mousedown';
1297
- const pointerMove = hasPointerEvents ? 'pointermove' : hasTouch ? 'touchmove' : 'mousemove';
1298
- const pointerUp = hasPointerEvents ? 'pointerup' : hasTouch ? 'touchend' : 'mouseup';
1296
+ const pointerDown$1 = hasPointerEvents ? 'pointerdown' : hasTouch ? 'touchstart' : 'mousedown';
1297
+ const pointerMove$1 = hasPointerEvents ? 'pointermove' : hasTouch ? 'touchmove' : 'mousemove';
1298
+ const pointerUp$1 = hasPointerEvents ? 'pointerup' : hasTouch ? 'touchend' : 'mouseup';
1299
1299
  const pointerEnter = hasPointerEvents ? 'pointerenter' : hasTouch ? '' : 'mouseenter';
1300
1300
  const pointerLeave = hasPointerEvents ? 'pointerleave' : hasTouch ? '' : 'mouseleave';
1301
1301
  const pointerCancel = hasPointerEvents ? 'pointercancel' : 'touchcancel';
@@ -1795,20 +1795,6 @@
1795
1795
 
1796
1796
  }
1797
1797
 
1798
- function scrollTop(element, top) {
1799
- if (isWindow(element) || isDocument(element)) {
1800
- element = scrollingElement(element);
1801
- } else {
1802
- element = toNode(element);
1803
- }
1804
-
1805
- if (isUndefined(top)) {
1806
- return element.scrollTop;
1807
- } else {
1808
- element.scrollTop = top;
1809
- }
1810
- }
1811
-
1812
1798
  function scrollIntoView(element, _temp) {let { offset: offsetBy = 0 } = _temp === void 0 ? {} : _temp;
1813
1799
  const parents = isVisible(element) ? scrollParents(element) : [];
1814
1800
  return parents.reduce(
@@ -1850,7 +1836,7 @@
1850
1836
  (function step() {
1851
1837
  const percent = ease(clamp((Date.now() - start) / duration));
1852
1838
 
1853
- scrollTop(element, scroll + top * percent);
1839
+ element.scrollTop = scroll + top * percent;
1854
1840
 
1855
1841
  // scroll more if we have not reached our destination
1856
1842
  if (percent === 1) {
@@ -2106,6 +2092,7 @@
2106
2092
  return newPos;
2107
2093
  }
2108
2094
  }
2095
+ continue;
2109
2096
  }
2110
2097
 
2111
2098
  // Move
@@ -2205,9 +2192,9 @@
2205
2192
  inBrowser: inBrowser,
2206
2193
  isRtl: isRtl,
2207
2194
  hasTouch: hasTouch,
2208
- pointerDown: pointerDown,
2209
- pointerMove: pointerMove,
2210
- pointerUp: pointerUp,
2195
+ pointerDown: pointerDown$1,
2196
+ pointerMove: pointerMove$1,
2197
+ pointerUp: pointerUp$1,
2211
2198
  pointerEnter: pointerEnter,
2212
2199
  pointerLeave: pointerLeave,
2213
2200
  pointerCancel: pointerCancel,
@@ -2298,7 +2285,6 @@
2298
2285
  getCssVar: getCssVar,
2299
2286
  propName: propName,
2300
2287
  isInView: isInView,
2301
- scrollTop: scrollTop,
2302
2288
  scrollIntoView: scrollIntoView,
2303
2289
  scrolledOver: scrolledOver,
2304
2290
  scrollParents: scrollParents,
@@ -2961,7 +2947,7 @@
2961
2947
  UIkit.data = '__uikit__';
2962
2948
  UIkit.prefix = 'uk-';
2963
2949
  UIkit.options = {};
2964
- UIkit.version = '3.14.4-dev.838f092aa';
2950
+ UIkit.version = '3.14.4-dev.a02c81d72';
2965
2951
 
2966
2952
  globalAPI(UIkit);
2967
2953
  hooksAPI(UIkit);
@@ -3698,17 +3684,32 @@
3698
3684
  offset = offset.reverse();
3699
3685
  }
3700
3686
 
3687
+ const [scrollElement] = scrollParents(element, /auto|scroll/);
3688
+ const { scrollTop, scrollLeft } = scrollElement;
3689
+
3701
3690
  // Ensure none positioned element does not generate scrollbars
3702
3691
  const elDim = dimensions$1(element);
3703
3692
  css(element, { top: -elDim.height, left: -elDim.width });
3704
3693
 
3705
- positionAt(element, target, {
3694
+ const args = [
3695
+ element,
3696
+ target,
3697
+ {
3706
3698
  attach,
3707
3699
  offset,
3708
3700
  boundary,
3709
3701
  flip: this.flip,
3710
- viewportOffset: this.getViewportOffset(element) });
3702
+ viewportOffset: this.getViewportOffset(element) }];
3703
+
3711
3704
 
3705
+
3706
+ trigger(element, 'beforeposition', args);
3707
+
3708
+ positionAt(...args);
3709
+
3710
+ // Restore scroll position
3711
+ scrollElement.scrollTop = scrollTop;
3712
+ scrollElement.scrollLeft = scrollLeft;
3712
3713
  },
3713
3714
 
3714
3715
  getPositionOffset(element) {
@@ -3837,7 +3838,7 @@
3837
3838
  this.$el,
3838
3839
  'hide',
3839
3840
  on(document, 'focusin', (e) => {
3840
- if (!within(e.target, this.panel)) {
3841
+ if (last(active$1) === this && !within(e.target, this.$el)) {
3841
3842
  this.$el.focus();
3842
3843
  }
3843
3844
  }));
@@ -3858,7 +3859,7 @@
3858
3859
  once(
3859
3860
  this.$el,
3860
3861
  'hide',
3861
- on(document, pointerDown, (_ref3) => {let { target } = _ref3;
3862
+ on(document, pointerDown$1, (_ref3) => {let { target } = _ref3;
3862
3863
  if (
3863
3864
  last(active$1) !== this ||
3864
3865
  this.overlay && !within(target, this.$el) ||
@@ -3869,11 +3870,11 @@
3869
3870
 
3870
3871
  once(
3871
3872
  document,
3872
- pointerUp + " " + pointerCancel + " scroll",
3873
+ pointerUp$1 + " " + pointerCancel + " scroll",
3873
3874
  (_ref4) => {let { defaultPrevented, type, target: newTarget } = _ref4;
3874
3875
  if (
3875
3876
  !defaultPrevented &&
3876
- type === pointerUp &&
3877
+ type === pointerUp$1 &&
3877
3878
  target === newTarget)
3878
3879
  {
3879
3880
  this.hide();
@@ -4265,16 +4266,16 @@
4265
4266
  for (const handler of [
4266
4267
  on(
4267
4268
  document,
4268
- pointerDown,
4269
+ pointerDown$1,
4269
4270
  (_ref2) => {let { target } = _ref2;return (
4270
4271
  !within(target, this.$el) &&
4271
4272
  once(
4272
4273
  document,
4273
- pointerUp + " " + pointerCancel + " scroll",
4274
+ pointerUp$1 + " " + pointerCancel + " scroll",
4274
4275
  (_ref3) => {let { defaultPrevented, type, target: newTarget } = _ref3;
4275
4276
  if (
4276
4277
  !defaultPrevented &&
4277
- type === pointerUp &&
4278
+ type === pointerUp$1 &&
4278
4279
  target === newTarget &&
4279
4280
  !(this.target && within(target, this.target)))
4280
4281
  {
@@ -4983,14 +4984,20 @@
4983
4984
  0);
4984
4985
 
4985
4986
  } else {
4986
- // on mobile devices (iOS and Android) window.innerHeight !== 100vh
4987
- minHeight = "calc(" + (
4988
- document.scrollingElement === scrollElement ? '100vh' : viewportHeight + "px");
4987
+ const { body, scrollingElement } = document;
4988
+ const isScrollingElement =
4989
+ scrollingElement === scrollElement || body === scrollElement;
4989
4990
 
4991
+ // on mobile devices (iOS and Android) window.innerHeight !== 100vh
4992
+ minHeight = "calc(" + (isScrollingElement ? '100vh' : viewportHeight + "px");
4990
4993
 
4991
4994
  if (this.offsetTop) {
4992
- const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
4993
- minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
4995
+ if (isScrollingElement) {
4996
+ const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
4997
+ minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
4998
+ } else {
4999
+ minHeight += " - " + css(scrollElement, 'paddingTop');
5000
+ }
4994
5001
  }
4995
5002
 
4996
5003
  if (this.offsetBottom === true) {
@@ -5911,8 +5918,7 @@
5911
5918
  {
5912
5919
  ...this.$props,
5913
5920
  boundary: this.boundary,
5914
- pos: this.pos,
5915
- offset: this.dropbar || this.offset });
5921
+ pos: this.pos });
5916
5922
 
5917
5923
 
5918
5924
  },
@@ -6073,8 +6079,8 @@
6073
6079
  return this.dropbar;
6074
6080
  },
6075
6081
 
6076
- handler(_, _ref9) {let { $el, align } = _ref9;
6077
- if (!hasClass($el, this.clsDrop) || align === 'stretch') {
6082
+ handler(_ref9) {let { target } = _ref9;
6083
+ if (!this.isDropbarDrop(target)) {
6078
6084
  return;
6079
6085
  }
6080
6086
 
@@ -6082,7 +6088,7 @@
6082
6088
  after(this.dropbarAnchor || this.$el, this.dropbar);
6083
6089
  }
6084
6090
 
6085
- addClass($el, this.clsDrop + "-dropbar");
6091
+ addClass(target, this.clsDrop + "-dropbar");
6086
6092
  } },
6087
6093
 
6088
6094
 
@@ -6097,22 +6103,47 @@
6097
6103
  return this.dropbar;
6098
6104
  },
6099
6105
 
6100
- handler(_, _ref10) {let { $el, align } = _ref10;
6101
- if (!hasClass($el, this.clsDrop) || align === 'stretch') {
6106
+ handler(_ref10) {let { target } = _ref10;
6107
+ if (!this.isDropbarDrop(target)) {
6102
6108
  return;
6103
6109
  }
6104
6110
 
6105
- this._observer = observeResize($el, () =>
6111
+ this._observer = observeResize(target, () =>
6106
6112
  this.transitionTo(
6107
- offset($el).bottom -
6113
+ offset(target).bottom -
6108
6114
  offset(this.dropbar).top +
6109
- toFloat(css($el, 'marginBottom')),
6110
- $el));
6115
+ toFloat(css(target, 'marginBottom')),
6116
+ target));
6111
6117
 
6112
6118
 
6113
6119
  } },
6114
6120
 
6115
6121
 
6122
+ {
6123
+ name: 'beforeposition',
6124
+
6125
+ el() {
6126
+ return this.dropContainer;
6127
+ },
6128
+
6129
+ filter() {
6130
+ return this.dropbar;
6131
+ },
6132
+
6133
+ handler(e, element, target, options) {
6134
+ if (!this.isDropbarDrop(element)) {
6135
+ return;
6136
+ }
6137
+
6138
+ const dropbarOffset = offset(this.dropbar);
6139
+
6140
+ css(element, 'maxWidth', dropbarOffset.width - options.viewportOffset * 2);
6141
+
6142
+ options.offset[1] = dropbarOffset.top - offset(target).bottom;
6143
+ options.viewportOffset += dropbarOffset.left;
6144
+ } },
6145
+
6146
+
6116
6147
  {
6117
6148
  name: 'beforehide',
6118
6149
 
@@ -6124,12 +6155,12 @@
6124
6155
  return this.dropbar;
6125
6156
  },
6126
6157
 
6127
- handler(e, _ref11) {let { $el } = _ref11;
6158
+ handler(e) {
6128
6159
  const active = this.getActive();
6129
6160
 
6130
6161
  if (
6131
6162
  matches(this.dropbar, ':hover') &&
6132
- (active == null ? void 0 : active.$el) === $el &&
6163
+ (active == null ? void 0 : active.$el) === e.target &&
6133
6164
  !this.toggles.some((el) => active.target !== el && matches(el, ':focus')))
6134
6165
  {
6135
6166
  e.preventDefault();
@@ -6148,8 +6179,8 @@
6148
6179
  return this.dropbar;
6149
6180
  },
6150
6181
 
6151
- handler(_, _ref12) {let { $el, align } = _ref12;
6152
- if (!hasClass($el, this.clsDrop) || align === 'stretch') {
6182
+ handler(_ref11) {let { target } = _ref11;
6183
+ if (!this.isDropbarDrop(target)) {
6153
6184
  return;
6154
6185
  }
6155
6186
 
@@ -6157,7 +6188,7 @@
6157
6188
 
6158
6189
  const active = this.getActive();
6159
6190
 
6160
- if (!active || (active == null ? void 0 : active.$el) === $el) {
6191
+ if (!active || (active == null ? void 0 : active.$el) === target) {
6161
6192
  this.transitionTo(0);
6162
6193
  }
6163
6194
  } }],
@@ -6196,6 +6227,11 @@
6196
6227
 
6197
6228
  getDropdown(el) {
6198
6229
  return this.$getComponent(el, 'drop') || this.$getComponent(el, 'dropdown');
6230
+ },
6231
+
6232
+ isDropbarDrop(el) {
6233
+ const drop = this.getDropdown(el);
6234
+ return drop && hasClass(el, this.clsDrop) && drop.align !== 'stretch';
6199
6235
  } } };
6200
6236
 
6201
6237
 
@@ -6259,7 +6295,7 @@
6259
6295
 
6260
6296
  registerEvent(this, {
6261
6297
  el: this.swipeTarget,
6262
- name: pointerDown,
6298
+ name: pointerDown$1,
6263
6299
  passive: true,
6264
6300
  handler(e) {
6265
6301
  if (!isTouch(e)) {
@@ -6269,7 +6305,7 @@
6269
6305
  // Handle Swipe Gesture
6270
6306
  const pos = getEventPos(e);
6271
6307
  const target = 'tagName' in e.target ? e.target : parent(e.target);
6272
- once(document, pointerUp + " " + pointerCancel + " scroll", (e) => {
6308
+ once(document, pointerUp$1 + " " + pointerCancel + " scroll", (e) => {
6273
6309
  const { x, y } = getEventPos(e);
6274
6310
 
6275
6311
  // swipe
@@ -6921,7 +6957,9 @@
6921
6957
  },
6922
6958
 
6923
6959
  handler() {
6924
- if (!location.hash || scrollTop(window) === 0) {
6960
+ const { scrollingElement } = document;
6961
+
6962
+ if (!location.hash || scrollingElement.scrollTop === 0) {
6925
6963
  return;
6926
6964
  }
6927
6965
 
@@ -6930,13 +6968,11 @@
6930
6968
  const elOffset = offset(this.$el);
6931
6969
 
6932
6970
  if (this.isFixed && intersectRect(targetOffset, elOffset)) {
6933
- scrollTop(
6934
- window,
6971
+ scrollingElement.scrollTop =
6935
6972
  targetOffset.top -
6936
6973
  elOffset.height -
6937
6974
  toPx(this.targetOffset, 'height', this.placeholder) -
6938
- toPx(this.offset, 'height', this.placeholder));
6939
-
6975
+ toPx(this.offset, 'height', this.placeholder);
6940
6976
  }
6941
6977
  });
6942
6978
  } }],
@@ -7034,7 +7070,7 @@
7034
7070
 
7035
7071
 
7036
7072
  {let { scroll: prevScroll = 0, dir: prevDir = 'down', overflow, overflowScroll = 0, start, end } = _ref4;
7037
- const scroll = scrollTop(window);
7073
+ const scroll = document.scrollingElement.scrollTop;
7038
7074
  const dir = prevScroll <= scroll ? 'down' : 'up';
7039
7075
 
7040
7076
  return {
@@ -7443,7 +7479,7 @@
7443
7479
 
7444
7480
  events: [
7445
7481
  {
7446
- name: pointerDown,
7482
+ name: pointerDown$1,
7447
7483
 
7448
7484
  filter() {
7449
7485
  return includes(this.mode, 'hover');
@@ -7461,7 +7497,7 @@
7461
7497
  trigger(this.$el, 'focus');
7462
7498
  once(
7463
7499
  document,
7464
- pointerDown,
7500
+ pointerDown$1,
7465
7501
  () => trigger(this.$el, 'blur'),
7466
7502
  true,
7467
7503
  (e) => !within(e.target, this.$el));
@@ -8153,7 +8189,7 @@
8153
8189
 
8154
8190
  },
8155
8191
 
8156
- setState(state, animate) {if (animate === void 0) {animate = true;}
8192
+ async setState(state, animate) {if (animate === void 0) {animate = true;}
8157
8193
  state = { filter: { '': '' }, sort: [], ...state };
8158
8194
 
8159
8195
  trigger(this.$el, 'beforeFilter', [this, state]);
@@ -8162,15 +8198,17 @@
8162
8198
  toggleClass(el, this.cls, !!matchFilter(el, this.attrItem, state)));
8163
8199
 
8164
8200
 
8165
- Promise.all(
8201
+ await Promise.all(
8166
8202
  $$(this.target, this.$el).map((target) => {
8167
8203
  const filterFn = () => {
8168
8204
  applyState(state, target, children(target));
8169
8205
  this.$update(this.$el);
8170
8206
  };
8171
8207
  return animate ? this.animate(filterFn, target) : filterFn();
8172
- })).
8173
- then(() => trigger(this.$el, 'afterFilter', [this]));
8208
+ }));
8209
+
8210
+
8211
+ trigger(this.$el, 'afterFilter', [this]);
8174
8212
  },
8175
8213
 
8176
8214
  updateState() {
@@ -8460,6 +8498,11 @@
8460
8498
  this.interval && clearInterval(this.interval);
8461
8499
  } } };
8462
8500
 
8501
+ const pointerOptions = { passive: false, capture: true };
8502
+ const pointerDown = 'touchstart mousedown';
8503
+ const pointerMove = 'touchmove mousemove';
8504
+ const pointerUp = 'touchend touchcancel mouseup click input';
8505
+
8463
8506
  var SliderDrag = {
8464
8507
  props: {
8465
8508
  draggable: Boolean },
@@ -8512,7 +8555,17 @@
8512
8555
 
8513
8556
  handler(e) {
8514
8557
  e.preventDefault();
8515
- } }],
8558
+ } },
8559
+
8560
+
8561
+ {
8562
+ // iOS workaround for slider stopping if swiping fast
8563
+ name: pointerMove + " " + pointerUp,
8564
+ el() {
8565
+ return this.list;
8566
+ },
8567
+ handler: noop,
8568
+ ...pointerOptions }],
8516
8569
 
8517
8570
 
8518
8571
 
@@ -8534,10 +8587,10 @@
8534
8587
  this.prevIndex = this.index;
8535
8588
  }
8536
8589
 
8537
- on(document, pointerMove, this.move, { passive: false });
8590
+ on(document, pointerMove, this.move, pointerOptions);
8538
8591
 
8539
8592
  // 'input' event is triggered by video controls
8540
- on(document, pointerUp + " " + pointerCancel + " input", this.end, true);
8593
+ on(document, pointerUp, this.end, pointerOptions);
8541
8594
 
8542
8595
  css(this.list, 'userSelect', 'none');
8543
8596
  },
@@ -8617,8 +8670,8 @@
8617
8670
  },
8618
8671
 
8619
8672
  end() {
8620
- off(document, pointerMove, this.move, { passive: false });
8621
- off(document, pointerUp + " " + pointerCancel + " input", this.end, true);
8673
+ off(document, pointerMove, this.move, pointerOptions);
8674
+ off(document, pointerUp, this.end, pointerOptions);
8622
8675
 
8623
8676
  if (this.dragging) {
8624
8677
  this.dragging = null;
@@ -9026,7 +9079,7 @@
9026
9079
 
9027
9080
  events: [
9028
9081
  {
9029
- name: pointerMove + " " + pointerDown + " keydown",
9082
+ name: pointerMove$1 + " " + pointerDown$1 + " keydown",
9030
9083
 
9031
9084
  handler: 'showControls' },
9032
9085
 
@@ -10681,7 +10734,7 @@
10681
10734
  },
10682
10735
 
10683
10736
  events: {
10684
- name: pointerDown,
10737
+ name: pointerDown$1,
10685
10738
  passive: false,
10686
10739
  handler: 'init' },
10687
10740
 
@@ -10811,8 +10864,8 @@
10811
10864
  this.placeholder = placeholder;
10812
10865
  this.origin = { target, index: index(placeholder), ...this.pos };
10813
10866
 
10814
- on(document, pointerMove, this.move);
10815
- on(document, pointerUp, this.end);
10867
+ on(document, pointerMove$1, this.move);
10868
+ on(document, pointerUp$1, this.end);
10816
10869
 
10817
10870
  if (!this.threshold) {
10818
10871
  this.start(e);
@@ -10848,8 +10901,8 @@
10848
10901
  },
10849
10902
 
10850
10903
  end() {
10851
- off(document, pointerMove, this.move);
10852
- off(document, pointerUp, this.end);
10904
+ off(document, pointerMove$1, this.move);
10905
+ off(document, pointerUp$1, this.end);
10853
10906
 
10854
10907
  if (!this.drag) {
10855
10908
  return;
@@ -10918,7 +10971,7 @@
10918
10971
  let last = Date.now();
10919
10972
  trackTimer = setInterval(() => {
10920
10973
  let { x, y } = pos;
10921
- y += scrollTop(window);
10974
+ y += document.scrollingElement.scrollTop;
10922
10975
 
10923
10976
  const dist = (Date.now() - last) * 0.3;
10924
10977
  last = Date.now();
@@ -10939,7 +10992,7 @@
10939
10992
  }
10940
10993
 
10941
10994
  if (scroll > 0 && scroll < scrollHeight - height) {
10942
- scrollTop(scrollEl, scroll);
10995
+ scrollEl.scrollTop = scroll;
10943
10996
  return true;
10944
10997
  }
10945
10998
  });
@@ -11084,11 +11137,11 @@
11084
11137
 
11085
11138
  this._unbind = once(
11086
11139
  document, "show keydown " +
11087
- pointerDown,
11140
+ pointerDown$1,
11088
11141
  this.hide,
11089
11142
  false,
11090
11143
  (e) =>
11091
- e.type === pointerDown && !within(e.target, this.$el) ||
11144
+ e.type === pointerDown$1 && !within(e.target, this.$el) ||
11092
11145
  e.type === 'keydown' && e.keyCode === 27 ||
11093
11146
  e.type === 'show' && e.detail[0] !== this && e.detail[0].$name === this.$name);
11094
11147
 
@@ -11159,7 +11212,7 @@
11159
11212
 
11160
11213
  // Clicking a button does not give it focus on all browsers and platforms
11161
11214
  // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#clicking_and_focus
11162
- [pointerDown](e) {
11215
+ [pointerDown$1](e) {
11163
11216
  if (isTouch(e)) {
11164
11217
  this.show();
11165
11218
  }