uikit 3.14.1-dev.eeb4cd6ae → 3.14.2-dev.92611d66f

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 (65) hide show
  1. package/CHANGELOG.md +16 -3
  2. package/dist/css/uikit-core-rtl.css +6 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +6 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +6 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +6 -1
  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 +2 -2
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +19 -2
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +19 -2
  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 +2 -2
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +2 -2
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +1 -1
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +2 -2
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +1 -1
  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 +27 -15
  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 +59 -45
  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 +61 -47
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/api/hooks.js +1 -1
  44. package/src/js/components/filter.js +1 -1
  45. package/src/js/core/drop.js +16 -7
  46. package/src/js/core/height-viewport.js +1 -2
  47. package/src/js/core/margin.js +1 -1
  48. package/src/js/core/scrollspy.js +2 -1
  49. package/src/js/mixin/parallax.js +1 -1
  50. package/src/js/mixin/position.js +7 -22
  51. package/src/js/mixin/togglable.js +18 -1
  52. package/src/js/util/position.js +9 -9
  53. package/src/js/util/viewport.js +2 -8
  54. package/src/less/components/drop.less +1 -0
  55. package/src/less/components/dropdown.less +1 -0
  56. package/src/less/components/navbar.less +2 -0
  57. package/src/less/components/tooltip.less +1 -0
  58. package/src/scss/components/drop.scss +1 -0
  59. package/src/scss/components/dropdown.scss +1 -0
  60. package/src/scss/components/navbar.scss +2 -0
  61. package/src/scss/components/tooltip.scss +1 -0
  62. package/tests/drop.html +20 -2
  63. package/tests/dropdown.html +6 -0
  64. package/tests/navbar.html +6 -0
  65. package/tests/notification.html +1 -1
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.14.1-dev.eeb4cd6ae | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
1
+ /*! UIkit 3.14.2-dev.92611d66f | 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() :
@@ -1911,11 +1911,6 @@
1911
1911
  function offsetViewport(scrollElement) {
1912
1912
  let viewportElement = getViewport$1(scrollElement);
1913
1913
 
1914
- // iOS 12 returns <body> as scrollingElement
1915
- if (viewportElement === scrollingElement(viewportElement)) {
1916
- viewportElement = document.documentElement;
1917
- }
1918
-
1919
1914
  let rect = offset(viewportElement);
1920
1915
  for (let [prop, dir, start, end] of [
1921
1916
  ['width', 'x', 'left', 'right'],
@@ -1924,9 +1919,8 @@
1924
1919
  if (!isWindow(getViewport$1(viewportElement))) {
1925
1920
  rect[start] += toFloat(css(viewportElement, "border" + ucfirst(start) + "Width"));
1926
1921
  }
1927
- rect[prop] = rect[dir] = (
1928
- isWindow(viewportElement) ? scrollingElement(viewportElement) : viewportElement)["client" +
1929
- ucfirst(prop)];
1922
+ rect[prop] = rect[dir] =
1923
+ viewportElement[(isWindow(viewportElement) ? 'inner' : 'client') + ucfirst(prop)];
1930
1924
  rect[end] = rect[prop] + rect[start];
1931
1925
  }
1932
1926
  return rect;
@@ -1990,6 +1984,10 @@
1990
1984
  return position;
1991
1985
  }
1992
1986
 
1987
+ function moveBy(start, end, dim) {
1988
+ return start === 'center' ? dim / 2 : start === end ? dim : 0;
1989
+ }
1990
+
1993
1991
  function attachToWithFlip(element, target, options) {
1994
1992
  const position = attachTo(element, target, options);
1995
1993
  const targetDim = offset(target);
@@ -2000,7 +1998,7 @@
2000
1998
  offset: elOffset,
2001
1999
  boundary,
2002
2000
  viewport,
2003
- viewportPadding } =
2001
+ viewportOffset } =
2004
2002
  options;
2005
2003
 
2006
2004
  let viewports = scrollParents(element);
@@ -2021,9 +2019,9 @@
2021
2019
 
2022
2020
  viewport = getIntersectionArea(...viewports.filter(Boolean).map(offsetViewport));
2023
2021
 
2024
- if (viewportPadding) {
2025
- viewport[start] += viewportPadding;
2026
- viewport[end] -= viewportPadding;
2022
+ if (viewportOffset) {
2023
+ viewport[start] += viewportOffset;
2024
+ viewport[end] -= viewportOffset;
2027
2025
  }
2028
2026
 
2029
2027
  if (boundary && !willFlip && position[prop] <= offset(boundary)[prop]) {
@@ -2113,10 +2111,6 @@
2113
2111
  return offsetPosition;
2114
2112
  }
2115
2113
 
2116
- function moveBy(start, end, dim) {
2117
- return start === 'center' ? dim / 2 : start === end ? dim : 0;
2118
- }
2119
-
2120
2114
  function getIntersectionArea() {
2121
2115
  let area = {};for (var _len = arguments.length, rects = new Array(_len), _key = 0; _key < _len; _key++) {rects[_key] = arguments[_key];}
2122
2116
  for (const rect of rects) {
@@ -2474,7 +2468,7 @@
2474
2468
  const {
2475
2469
  $options: { computed } } =
2476
2470
  this;
2477
- const values = { ...(initial ? {} : this._computed) };
2471
+ const values = { ...this._computed };
2478
2472
  this._computed = {};
2479
2473
 
2480
2474
  for (const key in computed) {
@@ -2954,7 +2948,7 @@
2954
2948
  UIkit.data = '__uikit__';
2955
2949
  UIkit.prefix = 'uk-';
2956
2950
  UIkit.options = {};
2957
- UIkit.version = '3.14.1-dev.eeb4cd6ae';
2951
+ UIkit.version = '3.14.2-dev.92611d66f';
2958
2952
 
2959
2953
  globalAPI(UIkit);
2960
2954
  hooksAPI(UIkit);
@@ -3046,6 +3040,7 @@
3046
3040
  cls: Boolean,
3047
3041
  animation: 'list',
3048
3042
  duration: Number,
3043
+ velocity: Number,
3049
3044
  origin: String,
3050
3045
  transition: String },
3051
3046
 
@@ -3054,6 +3049,7 @@
3054
3049
  cls: false,
3055
3050
  animation: [false],
3056
3051
  duration: 200,
3052
+ velocity: 0.2,
3057
3053
  origin: false,
3058
3054
  transition: 'ease',
3059
3055
  clsEnter: 'uk-togglabe-enter',
@@ -3101,6 +3097,11 @@
3101
3097
  return Promise.reject();
3102
3098
  }
3103
3099
 
3100
+ if (!animate) {
3101
+ Animation.cancel(el);
3102
+ Transition.cancel(el);
3103
+ }
3104
+
3104
3105
  const promise = (
3105
3106
  isFunction(animate) ?
3106
3107
  animate :
@@ -3171,7 +3172,15 @@
3171
3172
 
3172
3173
 
3173
3174
 
3174
- function toggleHeight(_ref3) {let { isToggled, duration, initProps, hideProps, transition, _toggle } = _ref3;
3175
+ function toggleHeight(_ref3)
3176
+
3177
+
3178
+
3179
+
3180
+
3181
+
3182
+
3183
+ {let { isToggled, duration, velocity, initProps, hideProps, transition, _toggle } = _ref3;
3175
3184
  return (el, show) => {
3176
3185
  const inProgress = Transition.inProgress(el);
3177
3186
  const inner = el.hasChildNodes() ?
@@ -3192,6 +3201,8 @@
3192
3201
  fastdom.flush();
3193
3202
 
3194
3203
  const endHeight = height(el) + (inProgress ? 0 : inner);
3204
+ duration = velocity * el.offsetHeight + duration;
3205
+
3195
3206
  height(el, currentHeight);
3196
3207
 
3197
3208
  return (
@@ -3570,8 +3581,7 @@
3570
3581
  data: {
3571
3582
  pos: "bottom-" + (isRtl ? 'right' : 'left'),
3572
3583
  flip: true,
3573
- offset: false,
3574
- viewportPadding: 10 },
3584
+ offset: false },
3575
3585
 
3576
3586
 
3577
3587
  connected() {
@@ -3583,16 +3593,12 @@
3583
3593
  positionAt(element, target, boundary) {
3584
3594
  const [dir, align] = this.pos;
3585
3595
 
3586
- let { offset: offset$1 } = this;
3587
- if (!isNumeric(offset$1)) {
3588
- const node = $(offset$1);
3589
- offset$1 = node ?
3590
- offset(node)[this.axis === 'x' ? 'left' : 'top'] -
3591
- offset(target)[this.axis === 'x' ? 'right' : 'bottom'] :
3592
- 0;
3593
- }
3594
- offset$1 = toPx(offset$1) + toPx(getCssVar('position-offset', element));
3595
- offset$1 = [includes(['left', 'top'], dir) ? -offset$1 : +offset$1, 0];
3596
+ let offset = toPx(
3597
+ this.offset === false ? getCssVar('position-offset', element) : this.offset,
3598
+ this.axis === 'x' ? 'width' : 'height',
3599
+ element);
3600
+
3601
+ offset = [includes(['left', 'top'], dir) ? -offset : +offset, 0];
3596
3602
 
3597
3603
  const attach = {
3598
3604
  element: [flipPosition(dir), align],
@@ -3603,15 +3609,15 @@
3603
3609
  for (const prop in attach) {
3604
3610
  attach[prop] = attach[prop].reverse();
3605
3611
  }
3606
- offset$1 = offset$1.reverse();
3612
+ offset = offset.reverse();
3607
3613
  }
3608
3614
 
3609
3615
  positionAt(element, target, {
3610
3616
  attach,
3611
- offset: offset$1,
3617
+ offset,
3612
3618
  boundary,
3613
- viewportPadding: this.viewportPadding,
3614
- flip: this.flip });
3619
+ flip: this.flip,
3620
+ viewportOffset: toPx(getCssVar('position-viewport-offset', element)) });
3615
3621
 
3616
3622
  } } };
3617
3623
 
@@ -3962,19 +3968,27 @@
3962
3968
  toggleClass(this.$el, this.clsDrop + "-boundary", this.boundaryAlign);
3963
3969
 
3964
3970
  const boundary = query(this.boundary, this.$el);
3965
- const [scrollParent] = scrollParents(this.$el);
3966
- const scrollParentOffset = offsetViewport(scrollParent);
3971
+ const scrollParentOffset = offset(
3972
+ scrollParents(boundary && this.boundaryAlign ? boundary : this.$el)[0]);
3973
+
3967
3974
  const boundaryOffset = boundary ? offset(boundary) : scrollParentOffset;
3968
3975
 
3969
3976
  css(this.$el, 'maxWidth', '');
3970
3977
  const maxWidth =
3971
- scrollParentOffset.width - (this.boundaryAlign ? 0 : 2 * this.viewportPadding);
3978
+ scrollParentOffset.width -
3979
+ 2 * toPx(getCssVar('position-viewport-offset', this.$el));
3972
3980
 
3973
3981
  if (this.pos[1] === 'justify') {
3974
3982
  const prop = this.axis === 'y' ? 'width' : 'height';
3975
- const targetOffset = offset(this.target);
3976
- const alignTo = this.boundaryAlign ? boundaryOffset : targetOffset;
3977
- css(this.$el, prop, alignTo[prop]);
3983
+ css(
3984
+ this.$el,
3985
+ prop,
3986
+ Math.min(
3987
+ (boundary ? boundaryOffset : offset(this.target))[prop],
3988
+ scrollParentOffset[prop] -
3989
+ 2 * toPx(getCssVar('position-viewport-offset', this.$el))));
3990
+
3991
+
3978
3992
  } else if (this.$el.offsetWidth > maxWidth) {
3979
3993
  addClass(this.$el, this.clsDrop + "-stack");
3980
3994
  }
@@ -4108,7 +4122,7 @@
4108
4122
  for (const row of rows) {
4109
4123
  for (const column of row) {
4110
4124
  toggleClass(column, this.margin, rows[0] !== row);
4111
- toggleClass(column, this.firstColumn, !!~columns[0].indexOf(column));
4125
+ toggleClass(column, this.firstColumn, columns[0].includes(column));
4112
4126
  }
4113
4127
  }
4114
4128
  },
@@ -4452,7 +4466,7 @@
4452
4466
  }
4453
4467
 
4454
4468
  var heightViewport = {
4455
- mixins: [Class, Resize],
4469
+ mixins: [Resize],
4456
4470
 
4457
4471
  props: {
4458
4472
  expand: Boolean,
@@ -6436,7 +6450,7 @@
6436
6450
  css(filter$1(elements, ":not(." + this.inViewClass + ")"), 'visibility', 'hidden');
6437
6451
  }
6438
6452
 
6439
- if (prev) {
6453
+ if (!isEqual(elements, prev)) {
6440
6454
  this.$reset();
6441
6455
  }
6442
6456
  },
@@ -8041,7 +8055,7 @@
8041
8055
  }
8042
8056
 
8043
8057
  function isEqualList(listA, listB) {
8044
- return listA.length === listB.length && listA.every((el) => ~listB.indexOf(el));
8058
+ return listA.length === listB.length && listA.every((el) => listB.includes(el));
8045
8059
  }
8046
8060
 
8047
8061
  function getSelector(_ref4) {let { filter } = _ref4;
@@ -9620,7 +9634,7 @@
9620
9634
  return isNumber(start) ? start + Math.abs(start - end) * p * (start < end ? 1 : -1) : +end;
9621
9635
  }
9622
9636
 
9623
- const unitRe = /^-?\d+([^\s]*)/;
9637
+ const unitRe = /^-?\d+(\S*)/;
9624
9638
  function getUnit(stops, defaultUnit) {
9625
9639
  for (const stop of stops) {
9626
9640
  const match = stop.match == null ? void 0 : stop.match(unitRe);