uikit 3.14.4-dev.0cf600084 → 3.14.4-dev.310965bc8

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 (60) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/css/uikit-core-rtl.css +28 -7
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +28 -7
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +25 -7
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +25 -7
  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 +1 -1
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +8 -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 +27 -14
  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 +72 -44
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/core/height-viewport.js +9 -5
  44. package/src/js/mixin/modal.js +1 -1
  45. package/src/js/mixin/position.js +8 -0
  46. package/src/js/mixin/slider-drag.js +20 -8
  47. package/src/js/util/dimensions.js +6 -6
  48. package/src/js/util/position.js +2 -0
  49. package/src/less/components/nav.less +22 -4
  50. package/src/less/components/navbar.less +0 -1
  51. package/src/less/components/utility.less +12 -3
  52. package/src/less/theme/nav.less +3 -7
  53. package/src/scss/components/nav.scss +22 -4
  54. package/src/scss/components/navbar.scss +0 -1
  55. package/src/scss/components/utility.scss +12 -3
  56. package/src/scss/mixins-theme.scss +1 -1
  57. package/src/scss/theme/nav.scss +3 -7
  58. package/src/scss/variables-theme.scss +8 -3
  59. package/src/scss/variables.scss +8 -2
  60. package/tests/navbar.html +2040 -1266
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.14.4-dev.0cf600084 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
1
+ /*! UIkit 3.14.4-dev.310965bc8 | 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';
@@ -2105,6 +2105,8 @@
2105
2105
  if (newPos && isInScrollArea(newPos, scrollElement, 1 - i)) {
2106
2106
  return newPos;
2107
2107
  }
2108
+
2109
+ continue;
2108
2110
  }
2109
2111
  }
2110
2112
 
@@ -2205,9 +2207,9 @@
2205
2207
  inBrowser: inBrowser,
2206
2208
  isRtl: isRtl,
2207
2209
  hasTouch: hasTouch,
2208
- pointerDown: pointerDown,
2209
- pointerMove: pointerMove,
2210
- pointerUp: pointerUp,
2210
+ pointerDown: pointerDown$1,
2211
+ pointerMove: pointerMove$1,
2212
+ pointerUp: pointerUp$1,
2211
2213
  pointerEnter: pointerEnter,
2212
2214
  pointerLeave: pointerLeave,
2213
2215
  pointerCancel: pointerCancel,
@@ -2961,7 +2963,7 @@
2961
2963
  UIkit.data = '__uikit__';
2962
2964
  UIkit.prefix = 'uk-';
2963
2965
  UIkit.options = {};
2964
- UIkit.version = '3.14.4-dev.0cf600084';
2966
+ UIkit.version = '3.14.4-dev.310965bc8';
2965
2967
 
2966
2968
  globalAPI(UIkit);
2967
2969
  hooksAPI(UIkit);
@@ -3698,6 +3700,9 @@
3698
3700
  offset = offset.reverse();
3699
3701
  }
3700
3702
 
3703
+ const [scrollElement] = scrollParents(element, /auto|scroll/);
3704
+ const { scrollTop, scrollLeft } = scrollElement;
3705
+
3701
3706
  // Ensure none positioned element does not generate scrollbars
3702
3707
  const elDim = dimensions$1(element);
3703
3708
  css(element, { top: -elDim.height, left: -elDim.width });
@@ -3709,6 +3714,10 @@
3709
3714
  flip: this.flip,
3710
3715
  viewportOffset: this.getViewportOffset(element) });
3711
3716
 
3717
+
3718
+ // Restore scroll position
3719
+ scrollElement.scrollTop = scrollTop;
3720
+ scrollElement.scrollLeft = scrollLeft;
3712
3721
  },
3713
3722
 
3714
3723
  getPositionOffset(element) {
@@ -3837,7 +3846,7 @@
3837
3846
  this.$el,
3838
3847
  'hide',
3839
3848
  on(document, 'focusin', (e) => {
3840
- if (!within(e.target, this.$el)) {
3849
+ if (last(active$1) === this && !within(e.target, this.$el)) {
3841
3850
  this.$el.focus();
3842
3851
  }
3843
3852
  }));
@@ -3858,7 +3867,7 @@
3858
3867
  once(
3859
3868
  this.$el,
3860
3869
  'hide',
3861
- on(document, pointerDown, (_ref3) => {let { target } = _ref3;
3870
+ on(document, pointerDown$1, (_ref3) => {let { target } = _ref3;
3862
3871
  if (
3863
3872
  last(active$1) !== this ||
3864
3873
  this.overlay && !within(target, this.$el) ||
@@ -3869,11 +3878,11 @@
3869
3878
 
3870
3879
  once(
3871
3880
  document,
3872
- pointerUp + " " + pointerCancel + " scroll",
3881
+ pointerUp$1 + " " + pointerCancel + " scroll",
3873
3882
  (_ref4) => {let { defaultPrevented, type, target: newTarget } = _ref4;
3874
3883
  if (
3875
3884
  !defaultPrevented &&
3876
- type === pointerUp &&
3885
+ type === pointerUp$1 &&
3877
3886
  target === newTarget)
3878
3887
  {
3879
3888
  this.hide();
@@ -4265,16 +4274,16 @@
4265
4274
  for (const handler of [
4266
4275
  on(
4267
4276
  document,
4268
- pointerDown,
4277
+ pointerDown$1,
4269
4278
  (_ref2) => {let { target } = _ref2;return (
4270
4279
  !within(target, this.$el) &&
4271
4280
  once(
4272
4281
  document,
4273
- pointerUp + " " + pointerCancel + " scroll",
4282
+ pointerUp$1 + " " + pointerCancel + " scroll",
4274
4283
  (_ref3) => {let { defaultPrevented, type, target: newTarget } = _ref3;
4275
4284
  if (
4276
4285
  !defaultPrevented &&
4277
- type === pointerUp &&
4286
+ type === pointerUp$1 &&
4278
4287
  target === newTarget &&
4279
4288
  !(this.target && within(target, this.target)))
4280
4289
  {
@@ -4983,14 +4992,18 @@
4983
4992
  0);
4984
4993
 
4985
4994
  } else {
4986
- // on mobile devices (iOS and Android) window.innerHeight !== 100vh
4987
- minHeight = "calc(" + (
4988
- document.scrollingElement === scrollElement ? '100vh' : viewportHeight + "px");
4995
+ const isScrollingElement = document.scrollingElement === scrollElement;
4989
4996
 
4997
+ // on mobile devices (iOS and Android) window.innerHeight !== 100vh
4998
+ minHeight = "calc(" + (isScrollingElement ? '100vh' : viewportHeight + "px");
4990
4999
 
4991
5000
  if (this.offsetTop) {
4992
- const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
4993
- minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
5001
+ if (isScrollingElement) {
5002
+ const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
5003
+ minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
5004
+ } else {
5005
+ minHeight += " - " + css(scrollElement, 'paddingTop');
5006
+ }
4994
5007
  }
4995
5008
 
4996
5009
  if (this.offsetBottom === true) {
@@ -6259,7 +6272,7 @@
6259
6272
 
6260
6273
  registerEvent(this, {
6261
6274
  el: this.swipeTarget,
6262
- name: pointerDown,
6275
+ name: pointerDown$1,
6263
6276
  passive: true,
6264
6277
  handler(e) {
6265
6278
  if (!isTouch(e)) {
@@ -6269,7 +6282,7 @@
6269
6282
  // Handle Swipe Gesture
6270
6283
  const pos = getEventPos(e);
6271
6284
  const target = 'tagName' in e.target ? e.target : parent(e.target);
6272
- once(document, pointerUp + " " + pointerCancel + " scroll", (e) => {
6285
+ once(document, pointerUp$1 + " " + pointerCancel + " scroll", (e) => {
6273
6286
  const { x, y } = getEventPos(e);
6274
6287
 
6275
6288
  // swipe
@@ -7443,7 +7456,7 @@
7443
7456
 
7444
7457
  events: [
7445
7458
  {
7446
- name: pointerDown,
7459
+ name: pointerDown$1,
7447
7460
 
7448
7461
  filter() {
7449
7462
  return includes(this.mode, 'hover');
@@ -7461,7 +7474,7 @@
7461
7474
  trigger(this.$el, 'focus');
7462
7475
  once(
7463
7476
  document,
7464
- pointerDown,
7477
+ pointerDown$1,
7465
7478
  () => trigger(this.$el, 'blur'),
7466
7479
  true,
7467
7480
  (e) => !within(e.target, this.$el));
@@ -8460,6 +8473,11 @@
8460
8473
  this.interval && clearInterval(this.interval);
8461
8474
  } } };
8462
8475
 
8476
+ const pointerOptions = { passive: false, capture: true };
8477
+ const pointerDown = 'touchstart mousedown';
8478
+ const pointerMove = 'touchmove mousemove';
8479
+ const pointerUp = 'touchend touchcancel mouseup click input';
8480
+
8463
8481
  var SliderDrag = {
8464
8482
  props: {
8465
8483
  draggable: Boolean },
@@ -8512,7 +8530,17 @@
8512
8530
 
8513
8531
  handler(e) {
8514
8532
  e.preventDefault();
8515
- } }],
8533
+ } },
8534
+
8535
+
8536
+ {
8537
+ // iOS workaround for slider stopping if swiping fast
8538
+ name: pointerMove + " " + pointerUp,
8539
+ el() {
8540
+ return this.list;
8541
+ },
8542
+ handler: noop,
8543
+ ...pointerOptions }],
8516
8544
 
8517
8545
 
8518
8546
 
@@ -8534,10 +8562,10 @@
8534
8562
  this.prevIndex = this.index;
8535
8563
  }
8536
8564
 
8537
- on(document, pointerMove, this.move, { passive: false });
8565
+ on(document, pointerMove, this.move, pointerOptions);
8538
8566
 
8539
8567
  // 'input' event is triggered by video controls
8540
- on(document, pointerUp + " " + pointerCancel + " input", this.end, true);
8568
+ on(document, pointerUp, this.end, pointerOptions);
8541
8569
 
8542
8570
  css(this.list, 'userSelect', 'none');
8543
8571
  },
@@ -8617,8 +8645,8 @@
8617
8645
  },
8618
8646
 
8619
8647
  end() {
8620
- off(document, pointerMove, this.move, { passive: false });
8621
- off(document, pointerUp + " " + pointerCancel + " input", this.end, true);
8648
+ off(document, pointerMove, this.move, pointerOptions);
8649
+ off(document, pointerUp, this.end, pointerOptions);
8622
8650
 
8623
8651
  if (this.dragging) {
8624
8652
  this.dragging = null;
@@ -9026,7 +9054,7 @@
9026
9054
 
9027
9055
  events: [
9028
9056
  {
9029
- name: pointerMove + " " + pointerDown + " keydown",
9057
+ name: pointerMove$1 + " " + pointerDown$1 + " keydown",
9030
9058
 
9031
9059
  handler: 'showControls' },
9032
9060
 
@@ -10681,7 +10709,7 @@
10681
10709
  },
10682
10710
 
10683
10711
  events: {
10684
- name: pointerDown,
10712
+ name: pointerDown$1,
10685
10713
  passive: false,
10686
10714
  handler: 'init' },
10687
10715
 
@@ -10811,8 +10839,8 @@
10811
10839
  this.placeholder = placeholder;
10812
10840
  this.origin = { target, index: index(placeholder), ...this.pos };
10813
10841
 
10814
- on(document, pointerMove, this.move);
10815
- on(document, pointerUp, this.end);
10842
+ on(document, pointerMove$1, this.move);
10843
+ on(document, pointerUp$1, this.end);
10816
10844
 
10817
10845
  if (!this.threshold) {
10818
10846
  this.start(e);
@@ -10848,8 +10876,8 @@
10848
10876
  },
10849
10877
 
10850
10878
  end() {
10851
- off(document, pointerMove, this.move);
10852
- off(document, pointerUp, this.end);
10879
+ off(document, pointerMove$1, this.move);
10880
+ off(document, pointerUp$1, this.end);
10853
10881
 
10854
10882
  if (!this.drag) {
10855
10883
  return;
@@ -11084,11 +11112,11 @@
11084
11112
 
11085
11113
  this._unbind = once(
11086
11114
  document, "show keydown " +
11087
- pointerDown,
11115
+ pointerDown$1,
11088
11116
  this.hide,
11089
11117
  false,
11090
11118
  (e) =>
11091
- e.type === pointerDown && !within(e.target, this.$el) ||
11119
+ e.type === pointerDown$1 && !within(e.target, this.$el) ||
11092
11120
  e.type === 'keydown' && e.keyCode === 27 ||
11093
11121
  e.type === 'show' && e.detail[0] !== this && e.detail[0].$name === this.$name);
11094
11122
 
@@ -11159,7 +11187,7 @@
11159
11187
 
11160
11188
  // Clicking a button does not give it focus on all browsers and platforms
11161
11189
  // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#clicking_and_focus
11162
- [pointerDown](e) {
11190
+ [pointerDown$1](e) {
11163
11191
  if (isTouch(e)) {
11164
11192
  this.show();
11165
11193
  }