uikit 3.21.3 → 3.21.4-dev.6a3f9bf26

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 (53) hide show
  1. package/CHANGELOG.md +26 -7
  2. package/dist/css/uikit-core-rtl.css +7 -7
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +7 -7
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +7 -7
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +7 -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 +17 -13
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +17 -13
  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 +20 -15
  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 +17 -13
  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 +2 -2
  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 +16 -25
  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 +45 -55
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/components/internal/slider-transitioner.js +10 -16
  44. package/src/js/core/drop.js +7 -13
  45. package/src/js/core/dropnav.js +1 -1
  46. package/src/js/core/scrollspy-nav.js +8 -11
  47. package/src/js/mixin/internal/slideshow-transitioner.js +17 -12
  48. package/src/js/mixin/position.js +1 -1
  49. package/src/js/mixin/slider.js +4 -5
  50. package/src/less/components/search.less +4 -4
  51. package/src/scss/variables-theme.scss +4 -4
  52. package/src/scss/variables.scss +4 -4
  53. package/tests/scrollspy.html +4 -4
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.21.3 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
1
+ /*! UIkit 3.21.4-dev.6a3f9bf26 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -2923,25 +2923,23 @@
2923
2923
  function Transitioner$1(prev, next, dir, { animation, easing }) {
2924
2924
  const { percent, translate, show = noop } = animation;
2925
2925
  const props = show(dir);
2926
- let resolve;
2926
+ const { promise, resolve } = withResolvers();
2927
2927
  return {
2928
2928
  dir,
2929
2929
  show(duration, percent2 = 0, linear) {
2930
2930
  const timing = linear ? "linear" : easing;
2931
2931
  duration -= Math.round(duration * clamp(percent2, -1, 1));
2932
2932
  this.translate(percent2);
2933
- triggerUpdate$1(next, "itemin", { percent: percent2, duration, timing, dir });
2934
- triggerUpdate$1(prev, "itemout", { percent: 1 - percent2, duration, timing, dir });
2935
- return new Promise((res) => {
2936
- resolve || (resolve = res);
2937
- Promise.all([
2938
- Transition.start(next, props[1], duration, timing),
2939
- Transition.start(prev, props[0], duration, timing)
2940
- ]).then(() => {
2941
- this.reset();
2942
- resolve();
2943
- }, noop);
2944
- });
2933
+ triggerUpdate(next, "itemin", { percent: percent2, duration, timing, dir });
2934
+ triggerUpdate(prev, "itemout", { percent: 1 - percent2, duration, timing, dir });
2935
+ Promise.all([
2936
+ Transition.start(next, props[1], duration, timing),
2937
+ Transition.start(prev, props[0], duration, timing)
2938
+ ]).then(() => {
2939
+ this.reset();
2940
+ resolve();
2941
+ }, noop);
2942
+ return promise;
2945
2943
  },
2946
2944
  cancel() {
2947
2945
  return Transition.cancel([next, prev]);
@@ -2960,8 +2958,8 @@
2960
2958
  const props2 = translate(percent2, dir);
2961
2959
  css(next, props2[1]);
2962
2960
  css(prev, props2[0]);
2963
- triggerUpdate$1(next, "itemtranslatein", { percent: percent2, dir });
2964
- triggerUpdate$1(prev, "itemtranslateout", { percent: 1 - percent2, dir });
2961
+ triggerUpdate(next, "itemtranslatein", { percent: percent2, dir });
2962
+ triggerUpdate(prev, "itemtranslateout", { percent: 1 - percent2, dir });
2965
2963
  },
2966
2964
  percent() {
2967
2965
  return percent(prev || next, next, dir);
@@ -2971,9 +2969,13 @@
2971
2969
  }
2972
2970
  };
2973
2971
  }
2974
- function triggerUpdate$1(el, type, data) {
2972
+ function triggerUpdate(el, type, data) {
2975
2973
  trigger(el, createEvent(type, false, false, data));
2976
2974
  }
2975
+ function withResolvers() {
2976
+ let resolve;
2977
+ return { promise: new Promise((res) => resolve = res), resolve };
2978
+ }
2977
2979
 
2978
2980
  var I18n = {
2979
2981
  props: {
@@ -3534,7 +3536,7 @@
3534
3536
  };
3535
3537
  App.util = util;
3536
3538
  App.options = {};
3537
- App.version = "3.21.3";
3539
+ App.version = "3.21.4-dev.6a3f9bf26";
3538
3540
 
3539
3541
  const PREFIX = "uk-";
3540
3542
  const DATA = "__uikit__";
@@ -3862,6 +3864,8 @@
3862
3864
  }
3863
3865
  };
3864
3866
 
3867
+ const easeOutQuad = "cubic-bezier(0.25, 0.46, 0.45, 0.94)";
3868
+ const easeOutQuart = "cubic-bezier(0.165, 0.84, 0.44, 1)";
3865
3869
  var Slider = {
3866
3870
  mixins: [SliderAutoplay, SliderDrag, SliderNav, I18n],
3867
3871
  props: {
@@ -3991,7 +3995,7 @@
3991
3995
  },
3992
3996
  async _show(prev, next, force) {
3993
3997
  this._transitioner = this._getTransitioner(prev, next, this.dir, {
3994
- easing: force ? next.offsetWidth < 600 ? "cubic-bezier(0.25, 0.46, 0.45, 0.94)" : "cubic-bezier(0.165, 0.84, 0.44, 1)" : this.easing,
3998
+ easing: force ? next.offsetWidth < 600 ? easeOutQuad : easeOutQuart : this.easing,
3995
3999
  ...this.transitionOptions
3996
4000
  });
3997
4001
  if (!force && !prev) {
@@ -5046,7 +5050,7 @@
5046
5050
  function Transitioner(prev, next, dir, { center, easing, list }) {
5047
5051
  const from = prev ? getLeft(prev, list, center) : getLeft(next, list, center) + dimensions$1(next).width * dir;
5048
5052
  const to = next ? getLeft(next, list, center) : from + dimensions$1(prev).width * dir * (isRtl ? -1 : 1);
5049
- let resolve;
5053
+ const { promise, resolve } = withResolvers();
5050
5054
  return {
5051
5055
  dir,
5052
5056
  show(duration, percent = 0, linear) {
@@ -5063,15 +5067,13 @@
5063
5067
  timing,
5064
5068
  dir
5065
5069
  });
5066
- return new Promise((res) => {
5067
- resolve || (resolve = res);
5068
- Transition.start(
5069
- list,
5070
- { transform: translate(-to * (isRtl ? -1 : 1), "px") },
5071
- duration,
5072
- timing
5073
- ).then(resolve, noop);
5074
- });
5070
+ Transition.start(
5071
+ list,
5072
+ { transform: translate(-to * (isRtl ? -1 : 1), "px") },
5073
+ duration,
5074
+ timing
5075
+ ).then(resolve, noop);
5076
+ return promise;
5075
5077
  },
5076
5078
  cancel() {
5077
5079
  return Transition.cancel(list);
@@ -5164,9 +5166,6 @@
5164
5166
  return slideLeft >= listLeft && slideRight <= listRight;
5165
5167
  });
5166
5168
  }
5167
- function triggerUpdate(el, type, data) {
5168
- trigger(el, createEvent(type, false, false, data));
5169
- }
5170
5169
 
5171
5170
  var slider = {
5172
5171
  mixins: [Class, Slider, SliderReactive, SliderParallax, SliderPreload],
@@ -5914,7 +5913,7 @@
5914
5913
  var Position = {
5915
5914
  props: {
5916
5915
  pos: String,
5917
- offset: null,
5916
+ offset: Boolean,
5918
5917
  flip: Boolean,
5919
5918
  shift: Boolean,
5920
5919
  inset: Boolean
@@ -6978,7 +6977,7 @@
6978
6977
  return;
6979
6978
  }
6980
6979
  if (active) {
6981
- if (delay && active.isDelaying) {
6980
+ if (delay && active.isDelaying()) {
6982
6981
  this.showTimer = setTimeout(() => matches(target, ":hover") && this.show(), 10);
6983
6982
  return;
6984
6983
  }
@@ -7000,10 +6999,7 @@
7000
6999
  const hide = () => this.toggleElement(this.$el, false, this.animateOut && animate);
7001
7000
  this.clearTimers();
7002
7001
  this.isDelayedHide = delay;
7003
- this.isDelaying = getPositionedElements(this.$el).some(
7004
- (el) => this.tracker.movesTo(el)
7005
- );
7006
- if (delay && this.isDelaying) {
7002
+ if (delay && this.isDelaying()) {
7007
7003
  this.hideTimer = setTimeout(this.hide, 50);
7008
7004
  } else if (delay && this.delayHide) {
7009
7005
  this.hideTimer = setTimeout(hide, this.delayHide);
@@ -7016,11 +7012,13 @@
7016
7012
  clearTimeout(this.hideTimer);
7017
7013
  this.showTimer = null;
7018
7014
  this.hideTimer = null;
7019
- this.isDelaying = false;
7020
7015
  },
7021
7016
  isActive() {
7022
7017
  return active === this;
7023
7018
  },
7019
+ isDelaying() {
7020
+ return [this.$el, ...$$(".uk-drop", this.$el)].some((el) => this.tracker.movesTo(el));
7021
+ },
7024
7022
  position() {
7025
7023
  removeClass(this.$el, "uk-drop-stack");
7026
7024
  css(this.$el, this._style);
@@ -7071,11 +7069,6 @@
7071
7069
  }
7072
7070
  }
7073
7071
  };
7074
- function getPositionedElements(el) {
7075
- const result = [];
7076
- apply(el, (el2) => css(el2, "position") !== "static" && result.push(el2));
7077
- return result;
7078
- }
7079
7072
  function getViewport$1(el, target) {
7080
7073
  return offsetViewport(overflowParents(target).find((parent2) => parent2.contains(el)));
7081
7074
  }
@@ -7217,7 +7210,7 @@
7217
7210
  delegate: ({ selNavItem }) => selNavItem,
7218
7211
  handler({ current }) {
7219
7212
  const active2 = this.getActive();
7220
- if (active2 && includes(active2.mode, "hover") && active2.targetEl && !current.contains(active2.targetEl) && !active2.isDelaying) {
7213
+ if (active2 && includes(active2.mode, "hover") && active2.targetEl && !current.contains(active2.targetEl) && !active2.isDelaying()) {
7221
7214
  active2.hide(false);
7222
7215
  }
7223
7216
  }
@@ -8962,20 +8955,20 @@
8962
8955
  cls: String,
8963
8956
  closest: Boolean,
8964
8957
  scroll: Boolean,
8965
- overflow: Boolean,
8958
+ target: String,
8966
8959
  offset: Number
8967
8960
  },
8968
8961
  data: {
8969
8962
  cls: "uk-active",
8970
8963
  closest: false,
8971
8964
  scroll: false,
8972
- overflow: true,
8965
+ target: "a[href]",
8973
8966
  offset: 0
8974
8967
  },
8975
8968
  computed: {
8976
- links: (_, $el) => $$('a[href*="#"]', $el).filter((el) => el.hash && isSameSiteAnchor(el)),
8977
- elements({ closest: selector }) {
8978
- return this.links.map((el) => el.closest(selector || "*"));
8969
+ links: ({ target }, $el) => $$(target, $el).filter((el) => isSameSiteAnchor(el)),
8970
+ elements({ closest }) {
8971
+ return this.links.map((el) => el.closest(closest || "*"));
8979
8972
  }
8980
8973
  },
8981
8974
  watch: {
@@ -8989,7 +8982,7 @@
8989
8982
  update: [
8990
8983
  {
8991
8984
  read() {
8992
- const targets = this.links.map(getTargetedElement).filter(Boolean);
8985
+ const targets = this.links.map((el) => getTargetedElement(el) || el.ownerDocument);
8993
8986
  const { length } = targets;
8994
8987
  if (!length || !isVisible(this.$el)) {
8995
8988
  return false;
@@ -9002,16 +8995,13 @@
9002
8995
  if (scrollTop === max) {
9003
8996
  active = length - 1;
9004
8997
  } else {
9005
- const offsetBy = this.offset + offset(getCoveringElement()).height;
8998
+ const offsetBy = this.offset + offset(getCoveringElement()).height + viewport.height * 0.1;
9006
8999
  for (let i = 0; i < targets.length; i++) {
9007
9000
  if (offset(targets[i]).top - viewport.top - offsetBy > 0) {
9008
9001
  break;
9009
9002
  }
9010
9003
  active = +i;
9011
9004
  }
9012
- if (active === false && this.overflow) {
9013
- active = 0;
9014
- }
9015
9005
  }
9016
9006
  return { active };
9017
9007
  },