uikit 3.14.4-dev.838f092aa → 3.14.4-dev.846652f92

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 (72) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/css/uikit-core-rtl.css +45 -11
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +45 -11
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +42 -11
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +42 -11
  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 +1 -1
  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 +23 -6
  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 +50 -42
  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 +97 -74
  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/js/components/sortable.js +2 -3
  46. package/src/js/core/drop.js +2 -1
  47. package/src/js/core/height-viewport.js +9 -5
  48. package/src/js/core/sticky.js +8 -9
  49. package/src/js/mixin/modal.js +1 -1
  50. package/src/js/mixin/position.js +27 -5
  51. package/src/js/mixin/slider-drag.js +20 -8
  52. package/src/js/util/dimensions.js +6 -6
  53. package/src/js/util/position.js +1 -0
  54. package/src/js/util/viewport.js +2 -27
  55. package/src/less/components/dropdown.less +8 -0
  56. package/src/less/components/nav.less +22 -4
  57. package/src/less/components/navbar.less +12 -3
  58. package/src/less/components/utility.less +12 -3
  59. package/src/less/theme/nav.less +3 -7
  60. package/src/less/theme/navbar.less +2 -0
  61. package/src/scss/components/dropdown.scss +8 -0
  62. package/src/scss/components/nav.scss +24 -6
  63. package/src/scss/components/navbar.scss +12 -3
  64. package/src/scss/components/utility.scss +12 -3
  65. package/src/scss/mixins-theme.scss +1 -1
  66. package/src/scss/theme/nav.scss +3 -7
  67. package/src/scss/theme/navbar.scss +2 -0
  68. package/src/scss/variables-theme.scss +13 -6
  69. package/src/scss/variables.scss +13 -5
  70. package/tests/drop.html +66 -16
  71. package/tests/dropdown.html +103 -16
  72. package/tests/navbar.html +1927 -1125
@@ -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.846652f92 | 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
  }
@@ -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
@@ -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.846652f92';
2965
2951
 
2966
2952
  globalAPI(UIkit);
2967
2953
  hooksAPI(UIkit);
@@ -3684,7 +3670,7 @@
3684
3670
 
3685
3671
  methods: {
3686
3672
  positionAt(element, target, boundary) {
3687
- let offset = [this.getPositionOffset(element), this.getShiftOffset(element)];
3673
+ let offset = [this.getPositionOffset(element, target), this.getShiftOffset(element)];
3688
3674
 
3689
3675
  const attach = {
3690
3676
  element: [flipPosition(this.dir), this.align],
@@ -3698,6 +3684,9 @@
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(element);
3703
3692
  css(element, { top: -elDim.height, left: -elDim.width });
@@ -3709,15 +3698,29 @@
3709
3698
  flip: this.flip,
3710
3699
  viewportOffset: this.getViewportOffset(element) });
3711
3700
 
3701
+
3702
+ // Restore scroll position
3703
+ scrollElement.scrollTop = scrollTop;
3704
+ scrollElement.scrollLeft = scrollLeft;
3712
3705
  },
3713
3706
 
3714
- getPositionOffset(element) {
3707
+ getPositionOffset(element, target) {
3708
+ let { axis, dir, offset: offset$1 } = this;
3709
+
3710
+ if (offset$1 && !isNumeric(offset$1) && !(isString(offset$1) && offset$1.match(/^-?\d/))) {
3711
+ const node = $(offset$1);
3712
+ offset$1 = node ?
3713
+ offset(node)[axis === 'x' ? 'left' : 'top'] -
3714
+ offset(target)[axis === 'x' ? 'right' : 'bottom'] :
3715
+ 0;
3716
+ }
3717
+
3715
3718
  return (
3716
3719
  toPx(
3717
- this.offset === false ? getCssVar('position-offset', element) : this.offset,
3718
- this.axis === 'x' ? 'width' : 'height',
3720
+ offset$1 === false ? getCssVar('position-offset', element) : offset$1,
3721
+ axis === 'x' ? 'width' : 'height',
3719
3722
  element) * (
3720
- includes(['left', 'top'], this.dir) ? -1 : 1));
3723
+ includes(['left', 'top'], dir) ? -1 : 1));
3721
3724
 
3722
3725
  },
3723
3726
 
@@ -3837,7 +3840,7 @@
3837
3840
  this.$el,
3838
3841
  'hide',
3839
3842
  on(document, 'focusin', (e) => {
3840
- if (!within(e.target, this.panel)) {
3843
+ if (last(active$1) === this && !within(e.target, this.$el)) {
3841
3844
  this.$el.focus();
3842
3845
  }
3843
3846
  }));
@@ -4453,7 +4456,8 @@
4453
4456
 
4454
4457
  const viewport = offsetViewport(scrollParent);
4455
4458
  const targetDim = offset(target);
4456
- const elOffset = Math.abs(this.getPositionOffset(this.$el)) + viewportOffset;
4459
+ const elOffset =
4460
+ Math.abs(this.getPositionOffset(this.$el, target)) + viewportOffset;
4457
4461
 
4458
4462
  css(this.$el, {
4459
4463
  width:
@@ -4983,14 +4987,18 @@
4983
4987
  0);
4984
4988
 
4985
4989
  } else {
4986
- // on mobile devices (iOS and Android) window.innerHeight !== 100vh
4987
- minHeight = "calc(" + (
4988
- document.scrollingElement === scrollElement ? '100vh' : viewportHeight + "px");
4990
+ const isScrollingElement = document.scrollingElement === scrollElement;
4989
4991
 
4992
+ // on mobile devices (iOS and Android) window.innerHeight !== 100vh
4993
+ minHeight = "calc(" + (isScrollingElement ? '100vh' : viewportHeight + "px");
4990
4994
 
4991
4995
  if (this.offsetTop) {
4992
- const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
4993
- minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
4996
+ if (isScrollingElement) {
4997
+ const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
4998
+ minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
4999
+ } else {
5000
+ minHeight += " - " + css(scrollElement, 'paddingTop');
5001
+ }
4994
5002
  }
4995
5003
 
4996
5004
  if (this.offsetBottom === true) {
@@ -6921,7 +6929,9 @@
6921
6929
  },
6922
6930
 
6923
6931
  handler() {
6924
- if (!location.hash || scrollTop(window) === 0) {
6932
+ const { scrollingElement } = document;
6933
+
6934
+ if (!location.hash || scrollingElement.scrollTop === 0) {
6925
6935
  return;
6926
6936
  }
6927
6937
 
@@ -6930,13 +6940,11 @@
6930
6940
  const elOffset = offset(this.$el);
6931
6941
 
6932
6942
  if (this.isFixed && intersectRect(targetOffset, elOffset)) {
6933
- scrollTop(
6934
- window,
6943
+ scrollingElement.scrollTop =
6935
6944
  targetOffset.top -
6936
6945
  elOffset.height -
6937
6946
  toPx(this.targetOffset, 'height', this.placeholder) -
6938
- toPx(this.offset, 'height', this.placeholder));
6939
-
6947
+ toPx(this.offset, 'height', this.placeholder);
6940
6948
  }
6941
6949
  });
6942
6950
  } }],
@@ -7034,7 +7042,7 @@
7034
7042
 
7035
7043
 
7036
7044
  {let { scroll: prevScroll = 0, dir: prevDir = 'down', overflow, overflowScroll = 0, start, end } = _ref4;
7037
- const scroll = scrollTop(window);
7045
+ const scroll = document.scrollingElement.scrollTop;
7038
7046
  const dir = prevScroll <= scroll ? 'down' : 'up';
7039
7047
 
7040
7048
  return {