uikit 3.14.4-dev.cd89debeb → 3.14.4-dev.d472fe41a

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 (82) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/css/uikit-core-rtl.css +134 -66
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +134 -66
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +131 -67
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +131 -67
  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 +27 -20
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +27 -20
  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 +23 -16
  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 +114 -66
  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 +167 -102
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/images/{backgrounds/nav-parent-open.svg → components/nav-parent-icon-large.svg} +0 -0
  44. package/src/images/components/nav-parent-icon.svg +3 -0
  45. package/src/images/components/navbar-parent-icon.svg +3 -0
  46. package/src/js/components/filter.js +5 -3
  47. package/src/js/components/sortable.js +2 -3
  48. package/src/js/core/height-viewport.js +11 -5
  49. package/src/js/core/icon.js +16 -0
  50. package/src/js/core/index.js +2 -0
  51. package/src/js/core/navbar.js +44 -15
  52. package/src/js/core/sticky.js +8 -9
  53. package/src/js/mixin/position.js +24 -7
  54. package/src/js/mixin/slider-drag.js +20 -8
  55. package/src/js/mixin/togglable.js +8 -17
  56. package/src/js/util/dimensions.js +6 -6
  57. package/src/js/util/position.js +1 -0
  58. package/src/js/util/viewport.js +2 -27
  59. package/src/less/components/dropdown.less +14 -0
  60. package/src/less/components/nav.less +29 -41
  61. package/src/less/components/navbar.less +101 -14
  62. package/src/less/components/utility.less +21 -4
  63. package/src/less/theme/nav.less +3 -15
  64. package/src/less/theme/navbar.less +4 -6
  65. package/src/scss/components/dropdown.scss +14 -0
  66. package/src/scss/components/nav.scss +29 -30
  67. package/src/scss/components/navbar.scss +89 -14
  68. package/src/scss/components/utility.scss +19 -3
  69. package/src/scss/mixins-theme.scss +16 -19
  70. package/src/scss/mixins.scss +14 -14
  71. package/src/scss/theme/nav.scss +3 -15
  72. package/src/scss/theme/navbar.scss +3 -2
  73. package/src/scss/variables-theme.scss +25 -14
  74. package/src/scss/variables.scss +25 -12
  75. package/tests/drop.html +66 -16
  76. package/tests/dropdown.html +103 -16
  77. package/tests/index.html +3 -3
  78. package/tests/nav.html +20 -87
  79. package/tests/navbar.html +2131 -1130
  80. package/tests/offcanvas.html +8 -8
  81. package/tests/utility.html +19 -0
  82. package/src/images/backgrounds/nav-parent-close.svg +0 -3
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.14.4-dev.cd89debeb | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
1
+ /*! UIkit 3.14.4-dev.d472fe41a | 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.cd89debeb';
2950
+ UIkit.version = '3.14.4-dev.d472fe41a';
2965
2951
 
2966
2952
  globalAPI(UIkit);
2967
2953
  hooksAPI(UIkit);
@@ -3259,7 +3245,7 @@
3259
3245
 
3260
3246
  Transition.cancel(el);
3261
3247
 
3262
- const [scrollElement] = scrollParents(el);
3248
+ const [scrollElement] = scrollParents(el.offsetParent);
3263
3249
  css(scrollElement, 'overflowX', 'hidden');
3264
3250
 
3265
3251
  if (!isToggled(el)) {
@@ -3270,17 +3256,11 @@
3270
3256
  duration = velocity * width + duration;
3271
3257
 
3272
3258
  const percent = visible ? (width + marginLeft * (right ? -1 : 1)) / width * 100 : 0;
3273
- const offsetEl = offset(el);
3274
- const useClipPath = right ?
3275
- offsetEl.right < scrollElement.clientWidth :
3276
- Math.round(offsetEl.left) > 0;
3277
3259
 
3278
3260
  css(el, {
3279
- clipPath: useClipPath ?
3280
- right ? "polygon(0 0," +
3261
+ clipPath: right ? "polygon(0 0," +
3281
3262
  percent + "% 0," + percent + "% 100%,0 100%)" : "polygon(" + (
3282
- 100 - percent) + "% 0,100% 0,100% 100%," + (100 - percent) + "% 100%)" :
3283
- '',
3263
+ 100 - percent) + "% 0,100% 0,100% 100%," + (100 - percent) + "% 100%)",
3284
3264
  marginLeft: (100 - percent) * (right ? 1 : -1) / 100 * width });
3285
3265
 
3286
3266
 
@@ -3289,7 +3269,7 @@
3289
3269
  Transition.start(
3290
3270
  el,
3291
3271
  {
3292
- clipPath: useClipPath ? "polygon(0 0,100% 0,100% 100%,0 100%)" : '',
3272
+ clipPath: "polygon(0 0,100% 0,100% 100%,0 100%)",
3293
3273
  marginLeft: 0 },
3294
3274
 
3295
3275
  duration * (1 - percent / 100),
@@ -3298,11 +3278,9 @@
3298
3278
  Transition.start(
3299
3279
  el,
3300
3280
  {
3301
- clipPath: useClipPath ?
3302
- right ? "polygon(0 0,0 0,0 100%,0 100%)" : "polygon(100% 0,100% 0,100% 100%,100% 100%)" :
3281
+ clipPath: right ? "polygon(0 0,0 0,0 100%,0 100%)" : "polygon(100% 0,100% 0,100% 100%,100% 100%)",
3303
3282
 
3304
3283
 
3305
- '',
3306
3284
  marginLeft: (right ? 1 : -1) * width },
3307
3285
 
3308
3286
  duration * (percent / 100),
@@ -3698,17 +3676,32 @@
3698
3676
  offset = offset.reverse();
3699
3677
  }
3700
3678
 
3679
+ const [scrollElement] = scrollParents(element, /auto|scroll/);
3680
+ const { scrollTop, scrollLeft } = scrollElement;
3681
+
3701
3682
  // Ensure none positioned element does not generate scrollbars
3702
3683
  const elDim = dimensions$1(element);
3703
3684
  css(element, { top: -elDim.height, left: -elDim.width });
3704
3685
 
3705
- positionAt(element, target, {
3686
+ const args = [
3687
+ element,
3688
+ target,
3689
+ {
3706
3690
  attach,
3707
3691
  offset,
3708
3692
  boundary,
3709
3693
  flip: this.flip,
3710
- viewportOffset: this.getViewportOffset(element) });
3694
+ viewportOffset: this.getViewportOffset(element) }];
3695
+
3696
+
3697
+
3698
+ trigger(element, 'beforeposition', args);
3711
3699
 
3700
+ positionAt(...args);
3701
+
3702
+ // Restore scroll position
3703
+ scrollElement.scrollTop = scrollTop;
3704
+ scrollElement.scrollLeft = scrollLeft;
3712
3705
  },
3713
3706
 
3714
3707
  getPositionOffset(element) {
@@ -3858,7 +3851,7 @@
3858
3851
  once(
3859
3852
  this.$el,
3860
3853
  'hide',
3861
- on(document, pointerDown, (_ref3) => {let { target } = _ref3;
3854
+ on(document, pointerDown$1, (_ref3) => {let { target } = _ref3;
3862
3855
  if (
3863
3856
  last(active$1) !== this ||
3864
3857
  this.overlay && !within(target, this.$el) ||
@@ -3869,11 +3862,11 @@
3869
3862
 
3870
3863
  once(
3871
3864
  document,
3872
- pointerUp + " " + pointerCancel + " scroll",
3865
+ pointerUp$1 + " " + pointerCancel + " scroll",
3873
3866
  (_ref4) => {let { defaultPrevented, type, target: newTarget } = _ref4;
3874
3867
  if (
3875
3868
  !defaultPrevented &&
3876
- type === pointerUp &&
3869
+ type === pointerUp$1 &&
3877
3870
  target === newTarget)
3878
3871
  {
3879
3872
  this.hide();
@@ -4265,16 +4258,16 @@
4265
4258
  for (const handler of [
4266
4259
  on(
4267
4260
  document,
4268
- pointerDown,
4261
+ pointerDown$1,
4269
4262
  (_ref2) => {let { target } = _ref2;return (
4270
4263
  !within(target, this.$el) &&
4271
4264
  once(
4272
4265
  document,
4273
- pointerUp + " " + pointerCancel + " scroll",
4266
+ pointerUp$1 + " " + pointerCancel + " scroll",
4274
4267
  (_ref3) => {let { defaultPrevented, type, target: newTarget } = _ref3;
4275
4268
  if (
4276
4269
  !defaultPrevented &&
4277
- type === pointerUp &&
4270
+ type === pointerUp$1 &&
4278
4271
  target === newTarget &&
4279
4272
  !(this.target && within(target, this.target)))
4280
4273
  {
@@ -4983,14 +4976,20 @@
4983
4976
  0);
4984
4977
 
4985
4978
  } else {
4986
- // on mobile devices (iOS and Android) window.innerHeight !== 100vh
4987
- minHeight = "calc(" + (
4988
- document.scrollingElement === scrollElement ? '100vh' : viewportHeight + "px");
4979
+ const { body, scrollingElement } = document;
4980
+ const isScrollingElement =
4981
+ scrollingElement === scrollElement || body === scrollElement;
4989
4982
 
4983
+ // on mobile devices (iOS and Android) window.innerHeight !== 100vh
4984
+ minHeight = "calc(" + (isScrollingElement ? '100vh' : viewportHeight + "px");
4990
4985
 
4991
4986
  if (this.offsetTop) {
4992
- const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
4993
- minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
4987
+ if (isScrollingElement) {
4988
+ const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
4989
+ minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
4990
+ } else {
4991
+ minHeight += " - " + css(scrollElement, 'paddingTop');
4992
+ }
4994
4993
  }
4995
4994
 
4996
4995
  if (this.offsetBottom === true) {
@@ -5233,6 +5232,12 @@
5233
5232
 
5234
5233
  var marker = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\"9\" y=\"4\" width=\"1\" height=\"11\"/><rect x=\"4\" y=\"9\" width=\"11\" height=\"1\"/></svg>";
5235
5234
 
5235
+ var navParentIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"1 3.5 6 8.5 11 3.5\"/></svg>";
5236
+
5237
+ var navParentIconLarge = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"1 4 7 10 13 4\"/></svg>";
5238
+
5239
+ var navbarParentIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"1 3.5 6 8.5 11 3.5\"/></svg>";
5240
+
5236
5241
  var navbarToggleIcon = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><rect y=\"9\" width=\"20\" height=\"2\"/><rect y=\"3\" width=\"20\" height=\"2\"/><rect y=\"15\" width=\"20\" height=\"2\"/></svg>";
5237
5242
 
5238
5243
  var overlayIcon = "<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\"19\" y=\"0\" width=\"1\" height=\"40\"/><rect x=\"0\" y=\"19\" width=\"40\" height=\"1\"/></svg>";
@@ -5265,6 +5270,9 @@
5265
5270
  marker,
5266
5271
  'close-icon': closeIcon,
5267
5272
  'close-large': closeLarge,
5273
+ 'nav-parent-icon': navParentIcon,
5274
+ 'nav-parent-icon-large': navParentIconLarge,
5275
+ 'navbar-parent-icon': navbarParentIcon,
5268
5276
  'navbar-toggle-icon': navbarToggleIcon,
5269
5277
  'overlay-icon': overlayIcon,
5270
5278
  'pagination-next': paginationNext,
@@ -5322,6 +5330,15 @@
5322
5330
  } };
5323
5331
 
5324
5332
 
5333
+ const NavParentIcon = {
5334
+ extends: IconComponent,
5335
+
5336
+ beforeConnect() {
5337
+ const icon = this.$props.icon;
5338
+ this.icon = closest(this.$el, '.uk-nav-primary') ? icon + "-large" : icon;
5339
+ } };
5340
+
5341
+
5325
5342
  const Slidenav = {
5326
5343
  extends: IconComponent,
5327
5344
 
@@ -5911,8 +5928,7 @@
5911
5928
  {
5912
5929
  ...this.$props,
5913
5930
  boundary: this.boundary,
5914
- pos: this.pos,
5915
- offset: this.dropbar || this.offset });
5931
+ pos: this.pos });
5916
5932
 
5917
5933
 
5918
5934
  },
@@ -6073,8 +6089,8 @@
6073
6089
  return this.dropbar;
6074
6090
  },
6075
6091
 
6076
- handler(_, _ref9) {let { $el, align } = _ref9;
6077
- if (!hasClass($el, this.clsDrop) || align === 'stretch') {
6092
+ handler(_ref9) {let { target } = _ref9;
6093
+ if (!this.isDropbarDrop(target)) {
6078
6094
  return;
6079
6095
  }
6080
6096
 
@@ -6082,7 +6098,7 @@
6082
6098
  after(this.dropbarAnchor || this.$el, this.dropbar);
6083
6099
  }
6084
6100
 
6085
- addClass($el, this.clsDrop + "-dropbar");
6101
+ addClass(target, this.clsDrop + "-dropbar");
6086
6102
  } },
6087
6103
 
6088
6104
 
@@ -6097,22 +6113,47 @@
6097
6113
  return this.dropbar;
6098
6114
  },
6099
6115
 
6100
- handler(_, _ref10) {let { $el, align } = _ref10;
6101
- if (!hasClass($el, this.clsDrop) || align === 'stretch') {
6116
+ handler(_ref10) {let { target } = _ref10;
6117
+ if (!this.isDropbarDrop(target)) {
6102
6118
  return;
6103
6119
  }
6104
6120
 
6105
- this._observer = observeResize($el, () =>
6121
+ this._observer = observeResize(target, () =>
6106
6122
  this.transitionTo(
6107
- offset($el).bottom -
6123
+ offset(target).bottom -
6108
6124
  offset(this.dropbar).top +
6109
- toFloat(css($el, 'marginBottom')),
6110
- $el));
6125
+ toFloat(css(target, 'marginBottom')),
6126
+ target));
6111
6127
 
6112
6128
 
6113
6129
  } },
6114
6130
 
6115
6131
 
6132
+ {
6133
+ name: 'beforeposition',
6134
+
6135
+ el() {
6136
+ return this.dropContainer;
6137
+ },
6138
+
6139
+ filter() {
6140
+ return this.dropbar;
6141
+ },
6142
+
6143
+ handler(e, element, target, options) {
6144
+ if (!this.isDropbarDrop(element)) {
6145
+ return;
6146
+ }
6147
+
6148
+ const dropbarOffset = offset(this.dropbar);
6149
+
6150
+ css(element, 'maxWidth', dropbarOffset.width - options.viewportOffset * 2);
6151
+
6152
+ options.offset[1] = dropbarOffset.top - offset(target).bottom;
6153
+ options.viewportOffset += dropbarOffset.left;
6154
+ } },
6155
+
6156
+
6116
6157
  {
6117
6158
  name: 'beforehide',
6118
6159
 
@@ -6124,12 +6165,12 @@
6124
6165
  return this.dropbar;
6125
6166
  },
6126
6167
 
6127
- handler(e, _ref11) {let { $el } = _ref11;
6168
+ handler(e) {
6128
6169
  const active = this.getActive();
6129
6170
 
6130
6171
  if (
6131
6172
  matches(this.dropbar, ':hover') &&
6132
- (active == null ? void 0 : active.$el) === $el &&
6173
+ (active == null ? void 0 : active.$el) === e.target &&
6133
6174
  !this.toggles.some((el) => active.target !== el && matches(el, ':focus')))
6134
6175
  {
6135
6176
  e.preventDefault();
@@ -6148,8 +6189,8 @@
6148
6189
  return this.dropbar;
6149
6190
  },
6150
6191
 
6151
- handler(_, _ref12) {let { $el, align } = _ref12;
6152
- if (!hasClass($el, this.clsDrop) || align === 'stretch') {
6192
+ handler(_ref11) {let { target } = _ref11;
6193
+ if (!this.isDropbarDrop(target)) {
6153
6194
  return;
6154
6195
  }
6155
6196
 
@@ -6157,7 +6198,7 @@
6157
6198
 
6158
6199
  const active = this.getActive();
6159
6200
 
6160
- if (!active || (active == null ? void 0 : active.$el) === $el) {
6201
+ if (!active || (active == null ? void 0 : active.$el) === target) {
6161
6202
  this.transitionTo(0);
6162
6203
  }
6163
6204
  } }],
@@ -6196,6 +6237,11 @@
6196
6237
 
6197
6238
  getDropdown(el) {
6198
6239
  return this.$getComponent(el, 'drop') || this.$getComponent(el, 'dropdown');
6240
+ },
6241
+
6242
+ isDropbarDrop(el) {
6243
+ const drop = this.getDropdown(el);
6244
+ return drop && hasClass(el, this.clsDrop) && drop.align !== 'stretch';
6199
6245
  } } };
6200
6246
 
6201
6247
 
@@ -6259,7 +6305,7 @@
6259
6305
 
6260
6306
  registerEvent(this, {
6261
6307
  el: this.swipeTarget,
6262
- name: pointerDown,
6308
+ name: pointerDown$1,
6263
6309
  passive: true,
6264
6310
  handler(e) {
6265
6311
  if (!isTouch(e)) {
@@ -6269,7 +6315,7 @@
6269
6315
  // Handle Swipe Gesture
6270
6316
  const pos = getEventPos(e);
6271
6317
  const target = 'tagName' in e.target ? e.target : parent(e.target);
6272
- once(document, pointerUp + " " + pointerCancel + " scroll", (e) => {
6318
+ once(document, pointerUp$1 + " " + pointerCancel + " scroll", (e) => {
6273
6319
  const { x, y } = getEventPos(e);
6274
6320
 
6275
6321
  // swipe
@@ -6921,7 +6967,9 @@
6921
6967
  },
6922
6968
 
6923
6969
  handler() {
6924
- if (!location.hash || scrollTop(window) === 0) {
6970
+ const { scrollingElement } = document;
6971
+
6972
+ if (!location.hash || scrollingElement.scrollTop === 0) {
6925
6973
  return;
6926
6974
  }
6927
6975
 
@@ -6930,13 +6978,11 @@
6930
6978
  const elOffset = offset(this.$el);
6931
6979
 
6932
6980
  if (this.isFixed && intersectRect(targetOffset, elOffset)) {
6933
- scrollTop(
6934
- window,
6981
+ scrollingElement.scrollTop =
6935
6982
  targetOffset.top -
6936
6983
  elOffset.height -
6937
6984
  toPx(this.targetOffset, 'height', this.placeholder) -
6938
- toPx(this.offset, 'height', this.placeholder));
6939
-
6985
+ toPx(this.offset, 'height', this.placeholder);
6940
6986
  }
6941
6987
  });
6942
6988
  } }],
@@ -7034,7 +7080,7 @@
7034
7080
 
7035
7081
 
7036
7082
  {let { scroll: prevScroll = 0, dir: prevDir = 'down', overflow, overflowScroll = 0, start, end } = _ref4;
7037
- const scroll = scrollTop(window);
7083
+ const scroll = document.scrollingElement.scrollTop;
7038
7084
  const dir = prevScroll <= scroll ? 'down' : 'up';
7039
7085
 
7040
7086
  return {
@@ -7443,7 +7489,7 @@
7443
7489
 
7444
7490
  events: [
7445
7491
  {
7446
- name: pointerDown,
7492
+ name: pointerDown$1,
7447
7493
 
7448
7494
  filter() {
7449
7495
  return includes(this.mode, 'hover');
@@ -7461,7 +7507,7 @@
7461
7507
  trigger(this.$el, 'focus');
7462
7508
  once(
7463
7509
  document,
7464
- pointerDown,
7510
+ pointerDown$1,
7465
7511
  () => trigger(this.$el, 'blur'),
7466
7512
  true,
7467
7513
  (e) => !within(e.target, this.$el));
@@ -7660,10 +7706,12 @@
7660
7706
  Video: Video,
7661
7707
  Close: Close,
7662
7708
  Spinner: Spinner,
7709
+ NavParentIcon: NavParentIcon,
7663
7710
  SlidenavNext: Slidenav,
7664
7711
  SlidenavPrevious: Slidenav,
7665
7712
  SearchIcon: Search,
7666
7713
  Marker: IconComponent,
7714
+ NavbarParentIcon: IconComponent,
7667
7715
  NavbarToggleIcon: IconComponent,
7668
7716
  OverlayIcon: IconComponent,
7669
7717
  PaginationNext: IconComponent,
@@ -8153,7 +8201,7 @@
8153
8201
 
8154
8202
  },
8155
8203
 
8156
- setState(state, animate) {if (animate === void 0) {animate = true;}
8204
+ async setState(state, animate) {if (animate === void 0) {animate = true;}
8157
8205
  state = { filter: { '': '' }, sort: [], ...state };
8158
8206
 
8159
8207
  trigger(this.$el, 'beforeFilter', [this, state]);
@@ -8162,15 +8210,17 @@
8162
8210
  toggleClass(el, this.cls, !!matchFilter(el, this.attrItem, state)));
8163
8211
 
8164
8212
 
8165
- Promise.all(
8213
+ await Promise.all(
8166
8214
  $$(this.target, this.$el).map((target) => {
8167
8215
  const filterFn = () => {
8168
8216
  applyState(state, target, children(target));
8169
8217
  this.$update(this.$el);
8170
8218
  };
8171
8219
  return animate ? this.animate(filterFn, target) : filterFn();
8172
- })).
8173
- then(() => trigger(this.$el, 'afterFilter', [this]));
8220
+ }));
8221
+
8222
+
8223
+ trigger(this.$el, 'afterFilter', [this]);
8174
8224
  },
8175
8225
 
8176
8226
  updateState() {
@@ -8460,6 +8510,11 @@
8460
8510
  this.interval && clearInterval(this.interval);
8461
8511
  } } };
8462
8512
 
8513
+ const pointerOptions = { passive: false, capture: true };
8514
+ const pointerDown = 'touchstart mousedown';
8515
+ const pointerMove = 'touchmove mousemove';
8516
+ const pointerUp = 'touchend touchcancel mouseup click input';
8517
+
8463
8518
  var SliderDrag = {
8464
8519
  props: {
8465
8520
  draggable: Boolean },
@@ -8512,7 +8567,17 @@
8512
8567
 
8513
8568
  handler(e) {
8514
8569
  e.preventDefault();
8515
- } }],
8570
+ } },
8571
+
8572
+
8573
+ {
8574
+ // iOS workaround for slider stopping if swiping fast
8575
+ name: pointerMove + " " + pointerUp,
8576
+ el() {
8577
+ return this.list;
8578
+ },
8579
+ handler: noop,
8580
+ ...pointerOptions }],
8516
8581
 
8517
8582
 
8518
8583
 
@@ -8534,10 +8599,10 @@
8534
8599
  this.prevIndex = this.index;
8535
8600
  }
8536
8601
 
8537
- on(document, pointerMove, this.move, { passive: false });
8602
+ on(document, pointerMove, this.move, pointerOptions);
8538
8603
 
8539
8604
  // 'input' event is triggered by video controls
8540
- on(document, pointerUp + " " + pointerCancel + " input", this.end, true);
8605
+ on(document, pointerUp, this.end, pointerOptions);
8541
8606
 
8542
8607
  css(this.list, 'userSelect', 'none');
8543
8608
  },
@@ -8617,8 +8682,8 @@
8617
8682
  },
8618
8683
 
8619
8684
  end() {
8620
- off(document, pointerMove, this.move, { passive: false });
8621
- off(document, pointerUp + " " + pointerCancel + " input", this.end, true);
8685
+ off(document, pointerMove, this.move, pointerOptions);
8686
+ off(document, pointerUp, this.end, pointerOptions);
8622
8687
 
8623
8688
  if (this.dragging) {
8624
8689
  this.dragging = null;
@@ -9026,7 +9091,7 @@
9026
9091
 
9027
9092
  events: [
9028
9093
  {
9029
- name: pointerMove + " " + pointerDown + " keydown",
9094
+ name: pointerMove$1 + " " + pointerDown$1 + " keydown",
9030
9095
 
9031
9096
  handler: 'showControls' },
9032
9097
 
@@ -10681,7 +10746,7 @@
10681
10746
  },
10682
10747
 
10683
10748
  events: {
10684
- name: pointerDown,
10749
+ name: pointerDown$1,
10685
10750
  passive: false,
10686
10751
  handler: 'init' },
10687
10752
 
@@ -10811,8 +10876,8 @@
10811
10876
  this.placeholder = placeholder;
10812
10877
  this.origin = { target, index: index(placeholder), ...this.pos };
10813
10878
 
10814
- on(document, pointerMove, this.move);
10815
- on(document, pointerUp, this.end);
10879
+ on(document, pointerMove$1, this.move);
10880
+ on(document, pointerUp$1, this.end);
10816
10881
 
10817
10882
  if (!this.threshold) {
10818
10883
  this.start(e);
@@ -10848,8 +10913,8 @@
10848
10913
  },
10849
10914
 
10850
10915
  end() {
10851
- off(document, pointerMove, this.move);
10852
- off(document, pointerUp, this.end);
10916
+ off(document, pointerMove$1, this.move);
10917
+ off(document, pointerUp$1, this.end);
10853
10918
 
10854
10919
  if (!this.drag) {
10855
10920
  return;
@@ -10918,7 +10983,7 @@
10918
10983
  let last = Date.now();
10919
10984
  trackTimer = setInterval(() => {
10920
10985
  let { x, y } = pos;
10921
- y += scrollTop(window);
10986
+ y += document.scrollingElement.scrollTop;
10922
10987
 
10923
10988
  const dist = (Date.now() - last) * 0.3;
10924
10989
  last = Date.now();
@@ -10939,7 +11004,7 @@
10939
11004
  }
10940
11005
 
10941
11006
  if (scroll > 0 && scroll < scrollHeight - height) {
10942
- scrollTop(scrollEl, scroll);
11007
+ scrollEl.scrollTop = scroll;
10943
11008
  return true;
10944
11009
  }
10945
11010
  });
@@ -11084,11 +11149,11 @@
11084
11149
 
11085
11150
  this._unbind = once(
11086
11151
  document, "show keydown " +
11087
- pointerDown,
11152
+ pointerDown$1,
11088
11153
  this.hide,
11089
11154
  false,
11090
11155
  (e) =>
11091
- e.type === pointerDown && !within(e.target, this.$el) ||
11156
+ e.type === pointerDown$1 && !within(e.target, this.$el) ||
11092
11157
  e.type === 'keydown' && e.keyCode === 27 ||
11093
11158
  e.type === 'show' && e.detail[0] !== this && e.detail[0].$name === this.$name);
11094
11159
 
@@ -11159,7 +11224,7 @@
11159
11224
 
11160
11225
  // Clicking a button does not give it focus on all browsers and platforms
11161
11226
  // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#clicking_and_focus
11162
- [pointerDown](e) {
11227
+ [pointerDown$1](e) {
11163
11228
  if (isTouch(e)) {
11164
11229
  this.show();
11165
11230
  }