uikit 3.14.4-dev.ce706e326 → 3.14.4-dev.d014a9a57

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 (78) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/dist/css/uikit-core-rtl.css +62 -46
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +62 -46
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +62 -47
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +62 -47
  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 +100 -56
  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 +153 -92
  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 +3 -1
  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/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 +6 -36
  60. package/src/less/components/navbar.less +96 -14
  61. package/src/less/theme/nav.less +0 -8
  62. package/src/less/theme/navbar.less +4 -6
  63. package/src/scss/components/dropdown.scss +8 -0
  64. package/src/scss/components/nav.scss +6 -25
  65. package/src/scss/components/navbar.scss +84 -14
  66. package/src/scss/mixins-theme.scss +13 -17
  67. package/src/scss/mixins.scss +12 -13
  68. package/src/scss/theme/nav.scss +0 -8
  69. package/src/scss/theme/navbar.scss +3 -2
  70. package/src/scss/variables-theme.scss +16 -10
  71. package/src/scss/variables.scss +16 -9
  72. package/tests/drop.html +66 -16
  73. package/tests/dropdown.html +103 -16
  74. package/tests/index.html +3 -3
  75. package/tests/nav.html +20 -87
  76. package/tests/navbar.html +283 -56
  77. package/tests/offcanvas.html +8 -8
  78. 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.ce706e326 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
1
+ /*! UIkit 3.14.4-dev.d014a9a57 | 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() :
@@ -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.ce706e326';
2950
+ UIkit.version = '3.14.4-dev.d014a9a57';
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);
3699
+
3700
+ positionAt(...args);
3711
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,7 +4976,9 @@
4983
4976
  0);
4984
4977
 
4985
4978
  } else {
4986
- const isScrollingElement = document.scrollingElement === scrollElement;
4979
+ const { body, scrollingElement } = document;
4980
+ const isScrollingElement =
4981
+ scrollingElement === scrollElement || body === scrollElement;
4987
4982
 
4988
4983
  // on mobile devices (iOS and Android) window.innerHeight !== 100vh
4989
4984
  minHeight = "calc(" + (isScrollingElement ? '100vh' : viewportHeight + "px");
@@ -5237,6 +5232,12 @@
5237
5232
 
5238
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>";
5239
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
+
5240
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>";
5241
5242
 
5242
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>";
@@ -5269,6 +5270,9 @@
5269
5270
  marker,
5270
5271
  'close-icon': closeIcon,
5271
5272
  'close-large': closeLarge,
5273
+ 'nav-parent-icon': navParentIcon,
5274
+ 'nav-parent-icon-large': navParentIconLarge,
5275
+ 'navbar-parent-icon': navbarParentIcon,
5272
5276
  'navbar-toggle-icon': navbarToggleIcon,
5273
5277
  'overlay-icon': overlayIcon,
5274
5278
  'pagination-next': paginationNext,
@@ -5326,6 +5330,15 @@
5326
5330
  } };
5327
5331
 
5328
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
+
5329
5342
  const Slidenav = {
5330
5343
  extends: IconComponent,
5331
5344
 
@@ -5915,8 +5928,7 @@
5915
5928
  {
5916
5929
  ...this.$props,
5917
5930
  boundary: this.boundary,
5918
- pos: this.pos,
5919
- offset: this.dropbar || this.offset });
5931
+ pos: this.pos });
5920
5932
 
5921
5933
 
5922
5934
  },
@@ -6077,8 +6089,8 @@
6077
6089
  return this.dropbar;
6078
6090
  },
6079
6091
 
6080
- handler(_, _ref9) {let { $el, align } = _ref9;
6081
- if (!hasClass($el, this.clsDrop) || align === 'stretch') {
6092
+ handler(_ref9) {let { target } = _ref9;
6093
+ if (!this.isDropbarDrop(target)) {
6082
6094
  return;
6083
6095
  }
6084
6096
 
@@ -6086,7 +6098,7 @@
6086
6098
  after(this.dropbarAnchor || this.$el, this.dropbar);
6087
6099
  }
6088
6100
 
6089
- addClass($el, this.clsDrop + "-dropbar");
6101
+ addClass(target, this.clsDrop + "-dropbar");
6090
6102
  } },
6091
6103
 
6092
6104
 
@@ -6101,19 +6113,44 @@
6101
6113
  return this.dropbar;
6102
6114
  },
6103
6115
 
6104
- handler(_, _ref10) {let { $el, align } = _ref10;
6105
- if (!hasClass($el, this.clsDrop) || align === 'stretch') {
6116
+ handler(_ref10) {let { target } = _ref10;
6117
+ if (!this.isDropbarDrop(target)) {
6106
6118
  return;
6107
6119
  }
6108
6120
 
6109
- this._observer = observeResize($el, () =>
6121
+ this._observer = observeResize(target, () =>
6110
6122
  this.transitionTo(
6111
- offset($el).bottom -
6123
+ offset(target).bottom -
6112
6124
  offset(this.dropbar).top +
6113
- toFloat(css($el, 'marginBottom')),
6114
- $el));
6125
+ toFloat(css(target, 'marginBottom')),
6126
+ target));
6127
+
6128
+
6129
+ } },
6130
+
6131
+
6132
+ {
6133
+ name: 'beforeposition',
6115
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);
6116
6151
 
6152
+ options.offset[1] = dropbarOffset.top - offset(target).bottom;
6153
+ options.viewportOffset += dropbarOffset.left;
6117
6154
  } },
6118
6155
 
6119
6156
 
@@ -6128,12 +6165,12 @@
6128
6165
  return this.dropbar;
6129
6166
  },
6130
6167
 
6131
- handler(e, _ref11) {let { $el } = _ref11;
6168
+ handler(e) {
6132
6169
  const active = this.getActive();
6133
6170
 
6134
6171
  if (
6135
6172
  matches(this.dropbar, ':hover') &&
6136
- (active == null ? void 0 : active.$el) === $el &&
6173
+ (active == null ? void 0 : active.$el) === e.target &&
6137
6174
  !this.toggles.some((el) => active.target !== el && matches(el, ':focus')))
6138
6175
  {
6139
6176
  e.preventDefault();
@@ -6152,8 +6189,8 @@
6152
6189
  return this.dropbar;
6153
6190
  },
6154
6191
 
6155
- handler(_, _ref12) {let { $el, align } = _ref12;
6156
- if (!hasClass($el, this.clsDrop) || align === 'stretch') {
6192
+ handler(_ref11) {let { target } = _ref11;
6193
+ if (!this.isDropbarDrop(target)) {
6157
6194
  return;
6158
6195
  }
6159
6196
 
@@ -6161,7 +6198,7 @@
6161
6198
 
6162
6199
  const active = this.getActive();
6163
6200
 
6164
- if (!active || (active == null ? void 0 : active.$el) === $el) {
6201
+ if (!active || (active == null ? void 0 : active.$el) === target) {
6165
6202
  this.transitionTo(0);
6166
6203
  }
6167
6204
  } }],
@@ -6200,6 +6237,11 @@
6200
6237
 
6201
6238
  getDropdown(el) {
6202
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';
6203
6245
  } } };
6204
6246
 
6205
6247
 
@@ -6263,7 +6305,7 @@
6263
6305
 
6264
6306
  registerEvent(this, {
6265
6307
  el: this.swipeTarget,
6266
- name: pointerDown,
6308
+ name: pointerDown$1,
6267
6309
  passive: true,
6268
6310
  handler(e) {
6269
6311
  if (!isTouch(e)) {
@@ -6273,7 +6315,7 @@
6273
6315
  // Handle Swipe Gesture
6274
6316
  const pos = getEventPos(e);
6275
6317
  const target = 'tagName' in e.target ? e.target : parent(e.target);
6276
- once(document, pointerUp + " " + pointerCancel + " scroll", (e) => {
6318
+ once(document, pointerUp$1 + " " + pointerCancel + " scroll", (e) => {
6277
6319
  const { x, y } = getEventPos(e);
6278
6320
 
6279
6321
  // swipe
@@ -6925,7 +6967,9 @@
6925
6967
  },
6926
6968
 
6927
6969
  handler() {
6928
- if (!location.hash || scrollTop(window) === 0) {
6970
+ const { scrollingElement } = document;
6971
+
6972
+ if (!location.hash || scrollingElement.scrollTop === 0) {
6929
6973
  return;
6930
6974
  }
6931
6975
 
@@ -6934,13 +6978,11 @@
6934
6978
  const elOffset = offset(this.$el);
6935
6979
 
6936
6980
  if (this.isFixed && intersectRect(targetOffset, elOffset)) {
6937
- scrollTop(
6938
- window,
6981
+ scrollingElement.scrollTop =
6939
6982
  targetOffset.top -
6940
6983
  elOffset.height -
6941
6984
  toPx(this.targetOffset, 'height', this.placeholder) -
6942
- toPx(this.offset, 'height', this.placeholder));
6943
-
6985
+ toPx(this.offset, 'height', this.placeholder);
6944
6986
  }
6945
6987
  });
6946
6988
  } }],
@@ -7038,7 +7080,7 @@
7038
7080
 
7039
7081
 
7040
7082
  {let { scroll: prevScroll = 0, dir: prevDir = 'down', overflow, overflowScroll = 0, start, end } = _ref4;
7041
- const scroll = scrollTop(window);
7083
+ const scroll = document.scrollingElement.scrollTop;
7042
7084
  const dir = prevScroll <= scroll ? 'down' : 'up';
7043
7085
 
7044
7086
  return {
@@ -7447,7 +7489,7 @@
7447
7489
 
7448
7490
  events: [
7449
7491
  {
7450
- name: pointerDown,
7492
+ name: pointerDown$1,
7451
7493
 
7452
7494
  filter() {
7453
7495
  return includes(this.mode, 'hover');
@@ -7465,7 +7507,7 @@
7465
7507
  trigger(this.$el, 'focus');
7466
7508
  once(
7467
7509
  document,
7468
- pointerDown,
7510
+ pointerDown$1,
7469
7511
  () => trigger(this.$el, 'blur'),
7470
7512
  true,
7471
7513
  (e) => !within(e.target, this.$el));
@@ -7664,10 +7706,12 @@
7664
7706
  Video: Video,
7665
7707
  Close: Close,
7666
7708
  Spinner: Spinner,
7709
+ NavParentIcon: NavParentIcon,
7667
7710
  SlidenavNext: Slidenav,
7668
7711
  SlidenavPrevious: Slidenav,
7669
7712
  SearchIcon: Search,
7670
7713
  Marker: IconComponent,
7714
+ NavbarParentIcon: IconComponent,
7671
7715
  NavbarToggleIcon: IconComponent,
7672
7716
  OverlayIcon: IconComponent,
7673
7717
  PaginationNext: IconComponent,
@@ -8157,7 +8201,7 @@
8157
8201
 
8158
8202
  },
8159
8203
 
8160
- setState(state, animate) {if (animate === void 0) {animate = true;}
8204
+ async setState(state, animate) {if (animate === void 0) {animate = true;}
8161
8205
  state = { filter: { '': '' }, sort: [], ...state };
8162
8206
 
8163
8207
  trigger(this.$el, 'beforeFilter', [this, state]);
@@ -8166,15 +8210,17 @@
8166
8210
  toggleClass(el, this.cls, !!matchFilter(el, this.attrItem, state)));
8167
8211
 
8168
8212
 
8169
- Promise.all(
8213
+ await Promise.all(
8170
8214
  $$(this.target, this.$el).map((target) => {
8171
8215
  const filterFn = () => {
8172
8216
  applyState(state, target, children(target));
8173
8217
  this.$update(this.$el);
8174
8218
  };
8175
8219
  return animate ? this.animate(filterFn, target) : filterFn();
8176
- })).
8177
- then(() => trigger(this.$el, 'afterFilter', [this]));
8220
+ }));
8221
+
8222
+
8223
+ trigger(this.$el, 'afterFilter', [this]);
8178
8224
  },
8179
8225
 
8180
8226
  updateState() {
@@ -8464,6 +8510,11 @@
8464
8510
  this.interval && clearInterval(this.interval);
8465
8511
  } } };
8466
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
+
8467
8518
  var SliderDrag = {
8468
8519
  props: {
8469
8520
  draggable: Boolean },
@@ -8516,7 +8567,17 @@
8516
8567
 
8517
8568
  handler(e) {
8518
8569
  e.preventDefault();
8519
- } }],
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 }],
8520
8581
 
8521
8582
 
8522
8583
 
@@ -8538,10 +8599,10 @@
8538
8599
  this.prevIndex = this.index;
8539
8600
  }
8540
8601
 
8541
- on(document, pointerMove, this.move, { passive: false });
8602
+ on(document, pointerMove, this.move, pointerOptions);
8542
8603
 
8543
8604
  // 'input' event is triggered by video controls
8544
- on(document, pointerUp + " " + pointerCancel + " input", this.end, true);
8605
+ on(document, pointerUp, this.end, pointerOptions);
8545
8606
 
8546
8607
  css(this.list, 'userSelect', 'none');
8547
8608
  },
@@ -8621,8 +8682,8 @@
8621
8682
  },
8622
8683
 
8623
8684
  end() {
8624
- off(document, pointerMove, this.move, { passive: false });
8625
- off(document, pointerUp + " " + pointerCancel + " input", this.end, true);
8685
+ off(document, pointerMove, this.move, pointerOptions);
8686
+ off(document, pointerUp, this.end, pointerOptions);
8626
8687
 
8627
8688
  if (this.dragging) {
8628
8689
  this.dragging = null;
@@ -9030,7 +9091,7 @@
9030
9091
 
9031
9092
  events: [
9032
9093
  {
9033
- name: pointerMove + " " + pointerDown + " keydown",
9094
+ name: pointerMove$1 + " " + pointerDown$1 + " keydown",
9034
9095
 
9035
9096
  handler: 'showControls' },
9036
9097
 
@@ -10685,7 +10746,7 @@
10685
10746
  },
10686
10747
 
10687
10748
  events: {
10688
- name: pointerDown,
10749
+ name: pointerDown$1,
10689
10750
  passive: false,
10690
10751
  handler: 'init' },
10691
10752
 
@@ -10815,8 +10876,8 @@
10815
10876
  this.placeholder = placeholder;
10816
10877
  this.origin = { target, index: index(placeholder), ...this.pos };
10817
10878
 
10818
- on(document, pointerMove, this.move);
10819
- on(document, pointerUp, this.end);
10879
+ on(document, pointerMove$1, this.move);
10880
+ on(document, pointerUp$1, this.end);
10820
10881
 
10821
10882
  if (!this.threshold) {
10822
10883
  this.start(e);
@@ -10852,8 +10913,8 @@
10852
10913
  },
10853
10914
 
10854
10915
  end() {
10855
- off(document, pointerMove, this.move);
10856
- off(document, pointerUp, this.end);
10916
+ off(document, pointerMove$1, this.move);
10917
+ off(document, pointerUp$1, this.end);
10857
10918
 
10858
10919
  if (!this.drag) {
10859
10920
  return;
@@ -10922,7 +10983,7 @@
10922
10983
  let last = Date.now();
10923
10984
  trackTimer = setInterval(() => {
10924
10985
  let { x, y } = pos;
10925
- y += scrollTop(window);
10986
+ y += document.scrollingElement.scrollTop;
10926
10987
 
10927
10988
  const dist = (Date.now() - last) * 0.3;
10928
10989
  last = Date.now();
@@ -10943,7 +11004,7 @@
10943
11004
  }
10944
11005
 
10945
11006
  if (scroll > 0 && scroll < scrollHeight - height) {
10946
- scrollTop(scrollEl, scroll);
11007
+ scrollEl.scrollTop = scroll;
10947
11008
  return true;
10948
11009
  }
10949
11010
  });
@@ -11088,11 +11149,11 @@
11088
11149
 
11089
11150
  this._unbind = once(
11090
11151
  document, "show keydown " +
11091
- pointerDown,
11152
+ pointerDown$1,
11092
11153
  this.hide,
11093
11154
  false,
11094
11155
  (e) =>
11095
- e.type === pointerDown && !within(e.target, this.$el) ||
11156
+ e.type === pointerDown$1 && !within(e.target, this.$el) ||
11096
11157
  e.type === 'keydown' && e.keyCode === 27 ||
11097
11158
  e.type === 'show' && e.detail[0] !== this && e.detail[0].$name === this.$name);
11098
11159
 
@@ -11163,7 +11224,7 @@
11163
11224
 
11164
11225
  // Clicking a button does not give it focus on all browsers and platforms
11165
11226
  // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#clicking_and_focus
11166
- [pointerDown](e) {
11227
+ [pointerDown$1](e) {
11167
11228
  if (isTouch(e)) {
11168
11229
  this.show();
11169
11230
  }