uikit 3.25.11 → 3.25.12-dev.506bd87

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 +6 -0
  2. package/dist/css/uikit-core-rtl.css +13 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +13 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +13 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +13 -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 +1 -1
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +3 -21
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +3 -21
  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 +17 -8
  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 +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 +3 -9
  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 +91 -105
  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 +107 -112
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/components/slider.js +17 -8
  44. package/src/js/core/accordion.js +13 -19
  45. package/src/js/mixin/modal.js +1 -4
  46. package/src/js/mixin/position.js +1 -7
  47. package/src/js/mixin/togglable.js +3 -4
  48. package/src/less/components/accordion.less +3 -1
  49. package/src/less/components/nav.less +7 -0
  50. package/src/less/components/utility.less +7 -1
  51. package/src/scss/components/accordion.scss +3 -1
  52. package/src/scss/components/nav.scss +7 -0
  53. package/src/scss/components/utility.scss +7 -1
package/dist/js/uikit.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.25.11 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
1
+ /*! UIkit 3.25.12-dev.506bd87 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -2675,86 +2675,6 @@
2675
2675
  }
2676
2676
  };
2677
2677
 
2678
- var Position = {
2679
- props: {
2680
- pos: String,
2681
- offset: Boolean,
2682
- flip: Boolean,
2683
- shift: Boolean,
2684
- inset: Boolean
2685
- },
2686
- data: {
2687
- pos: `bottom-${isRtl ? "right" : "left"}`,
2688
- offset: false,
2689
- flip: true,
2690
- shift: true,
2691
- inset: false
2692
- },
2693
- connected() {
2694
- this.pos = this.$props.pos.split("-").concat("center").slice(0, 2);
2695
- [this.dir, this.align] = this.pos;
2696
- this.axis = includes(["top", "bottom"], this.dir) ? "y" : "x";
2697
- },
2698
- methods: {
2699
- positionAt(element, target, boundary) {
2700
- let offset = [this.getPositionOffset(element), this.getShiftOffset(element)];
2701
- const placement = [this.flip && "flip", this.shift && "shift"];
2702
- const attach = {
2703
- element: [this.inset ? this.dir : flipPosition(this.dir), this.align],
2704
- target: [this.dir, this.align]
2705
- };
2706
- if (this.axis === "y") {
2707
- for (const prop in attach) {
2708
- attach[prop].reverse();
2709
- }
2710
- offset.reverse();
2711
- placement.reverse();
2712
- }
2713
- const restoreScrollPosition = storeScrollPosition(element);
2714
- const elDim = dimensions$1(element);
2715
- css(element, { top: -elDim.height, left: -elDim.width });
2716
- positionAt(element, target, {
2717
- attach,
2718
- offset,
2719
- boundary,
2720
- placement,
2721
- viewportOffset: this.getViewportOffset(element)
2722
- });
2723
- restoreScrollPosition();
2724
- },
2725
- getPositionOffset(element = this.$el) {
2726
- return toPx(
2727
- this.offset === false ? css(element, "--uk-position-offset") : this.offset,
2728
- this.axis === "x" ? "width" : "height",
2729
- element
2730
- ) * (includes(["left", "top"], this.dir) ? -1 : 1) * (this.inset ? -1 : 1);
2731
- },
2732
- getShiftOffset(element = this.$el) {
2733
- return this.align === "center" ? 0 : toPx(
2734
- css(element, "--uk-position-shift-offset"),
2735
- this.axis === "y" ? "width" : "height",
2736
- element
2737
- ) * (includes(["left", "top"], this.align) ? 1 : -1);
2738
- },
2739
- getViewportOffset(element) {
2740
- return toPx(css(element, "--uk-position-viewport-offset"));
2741
- }
2742
- }
2743
- };
2744
- function storeScrollPosition(element) {
2745
- const scrollElement = scrollParent(element);
2746
- const { scrollTop } = scrollElement;
2747
- const restore = () => {
2748
- if (scrollTop !== scrollElement.scrollTop) {
2749
- scrollElement.scrollTop = scrollTop;
2750
- }
2751
- };
2752
- return () => {
2753
- restore();
2754
- setTimeout(restore);
2755
- };
2756
- }
2757
-
2758
2678
  var Togglable = {
2759
2679
  props: {
2760
2680
  cls: Boolean,
@@ -2796,9 +2716,7 @@
2796
2716
  removeClass(el, cls);
2797
2717
  trigger(el, show ? "shown" : "hidden", [this]);
2798
2718
  if (show) {
2799
- const restoreScrollPosition = storeScrollPosition(el);
2800
- (_a = $$("[autofocus]", el).find(isVisible)) == null ? void 0 : _a.focus();
2801
- restoreScrollPosition();
2719
+ (_a = $$("[autofocus]", el).find(isVisible)) == null ? void 0 : _a.focus({ preventScroll: true });
2802
2720
  }
2803
2721
  };
2804
2722
  return promise ? promise.then(done, () => {
@@ -3068,9 +2986,7 @@
3068
2986
  removeClass(document.documentElement, this.clsPage);
3069
2987
  queueMicrotask(() => {
3070
2988
  if (isFocusable(target)) {
3071
- const restoreScrollPosition = storeScrollPosition(target);
3072
- target.focus();
3073
- restoreScrollPosition();
2989
+ target.focus({ preventScroll: true });
3074
2990
  }
3075
2991
  });
3076
2992
  }
@@ -3790,7 +3706,7 @@
3790
3706
  };
3791
3707
  App.util = util;
3792
3708
  App.options = {};
3793
- App.version = "3.25.11";
3709
+ App.version = "3.25.12-dev.506bd87";
3794
3710
 
3795
3711
  const PREFIX = "uk-";
3796
3712
  const DATA = "__uikit__";
@@ -5699,9 +5615,21 @@
5699
5615
  connected() {
5700
5616
  toggleClass(this.$el, this.clsContainer, !$(`.${this.clsContainer}`, this.$el));
5701
5617
  },
5702
- observe: resize({
5703
- target: ({ slides, $el }) => [$el, ...slides]
5704
- }),
5618
+ observe: [
5619
+ resize({
5620
+ target: ({ slides, $el }) => [$el, ...slides]
5621
+ }),
5622
+ intersection({
5623
+ handler(entries) {
5624
+ for (const { target, isIntersecting } of entries) {
5625
+ target.ariaHidden = target.inert = !isIntersecting;
5626
+ }
5627
+ },
5628
+ target: ({ slides }) => slides,
5629
+ args: { intersecting: false },
5630
+ options: ({ $el }) => ({ root: $el, rootMargin: "0px -10px" })
5631
+ })
5632
+ ],
5705
5633
  update: {
5706
5634
  write() {
5707
5635
  for (const el of this.navItems) {
@@ -5785,10 +5713,7 @@
5785
5713
  !this.sets || includes(this.sets, toFloat(this.index)) ? this.clsActivated : ""
5786
5714
  ];
5787
5715
  for (const slide of this.slides) {
5788
- const active = includes(actives, slide);
5789
- toggleClass(slide, activeClasses, active);
5790
- slide.inert = !active;
5791
- slide.ariaHidden = !active;
5716
+ toggleClass(slide, activeClasses, includes(actives, slide));
5792
5717
  }
5793
5718
  },
5794
5719
  getValidIndex(index = this.index, prevIndex = this.prevIndex) {
@@ -6286,6 +6211,82 @@
6286
6211
  };
6287
6212
  }
6288
6213
 
6214
+ var Position = {
6215
+ props: {
6216
+ pos: String,
6217
+ offset: Boolean,
6218
+ flip: Boolean,
6219
+ shift: Boolean,
6220
+ inset: Boolean
6221
+ },
6222
+ data: {
6223
+ pos: `bottom-${isRtl ? "right" : "left"}`,
6224
+ offset: false,
6225
+ flip: true,
6226
+ shift: true,
6227
+ inset: false
6228
+ },
6229
+ connected() {
6230
+ this.pos = this.$props.pos.split("-").concat("center").slice(0, 2);
6231
+ [this.dir, this.align] = this.pos;
6232
+ this.axis = includes(["top", "bottom"], this.dir) ? "y" : "x";
6233
+ },
6234
+ methods: {
6235
+ positionAt(element, target, boundary) {
6236
+ let offset = [this.getPositionOffset(element), this.getShiftOffset(element)];
6237
+ const placement = [this.flip && "flip", this.shift && "shift"];
6238
+ const attach = {
6239
+ element: [this.inset ? this.dir : flipPosition(this.dir), this.align],
6240
+ target: [this.dir, this.align]
6241
+ };
6242
+ if (this.axis === "y") {
6243
+ for (const prop in attach) {
6244
+ attach[prop].reverse();
6245
+ }
6246
+ offset.reverse();
6247
+ placement.reverse();
6248
+ }
6249
+ const restoreScrollPosition = storeScrollPosition(element);
6250
+ const elDim = dimensions$1(element);
6251
+ css(element, { top: -elDim.height, left: -elDim.width });
6252
+ positionAt(element, target, {
6253
+ attach,
6254
+ offset,
6255
+ boundary,
6256
+ placement,
6257
+ viewportOffset: this.getViewportOffset(element)
6258
+ });
6259
+ restoreScrollPosition();
6260
+ },
6261
+ getPositionOffset(element = this.$el) {
6262
+ return toPx(
6263
+ this.offset === false ? css(element, "--uk-position-offset") : this.offset,
6264
+ this.axis === "x" ? "width" : "height",
6265
+ element
6266
+ ) * (includes(["left", "top"], this.dir) ? -1 : 1) * (this.inset ? -1 : 1);
6267
+ },
6268
+ getShiftOffset(element = this.$el) {
6269
+ return this.align === "center" ? 0 : toPx(
6270
+ css(element, "--uk-position-shift-offset"),
6271
+ this.axis === "y" ? "width" : "height",
6272
+ element
6273
+ ) * (includes(["left", "top"], this.align) ? 1 : -1);
6274
+ },
6275
+ getViewportOffset(element) {
6276
+ return toPx(css(element, "--uk-position-viewport-offset"));
6277
+ }
6278
+ }
6279
+ };
6280
+ function storeScrollPosition(element) {
6281
+ const scrollElement = scrollParent(element);
6282
+ const { scrollTop } = scrollElement;
6283
+ return () => {
6284
+ if (scrollTop !== scrollElement.scrollTop) {
6285
+ scrollElement.scrollTop = scrollTop;
6286
+ }
6287
+ };
6288
+ }
6289
+
6289
6290
  var tooltip = {
6290
6291
  mixins: [Container, Togglable, Position],
6291
6292
  data: {
@@ -6750,14 +6751,7 @@
6750
6751
  toggles() {
6751
6752
  this.$emit();
6752
6753
  },
6753
- contents(items) {
6754
- for (const el of items) {
6755
- const isOpen = hasClass(
6756
- this.items.find((item) => item.contains(el)),
6757
- this.clsOpen
6758
- );
6759
- hide(el, !isOpen);
6760
- }
6754
+ contents() {
6761
6755
  this.$emit();
6762
6756
  }
6763
6757
  },
@@ -6827,7 +6821,6 @@
6827
6821
  (el) => this.toggleElement(el, !includes(activeItems, el), (el2, show) => {
6828
6822
  toggleClass(el2, this.clsOpen, show);
6829
6823
  if (animate === false || !this.animation) {
6830
- hide($(this.content, el2), !show);
6831
6824
  return;
6832
6825
  }
6833
6826
  return transition(el2, show, this);
@@ -6837,20 +6830,24 @@
6837
6830
  }
6838
6831
  }
6839
6832
  };
6840
- function hide(el, hide2) {
6841
- el && (el.hidden = hide2);
6842
- }
6843
6833
  async function transition(el, show, { content, duration, velocity, transition: transition2 }) {
6844
6834
  var _a;
6845
6835
  content = ((_a = el._wrapper) == null ? void 0 : _a.firstElementChild) || $(content, el);
6836
+ let hidden;
6846
6837
  if (!el._wrapper) {
6847
6838
  el._wrapper = wrapAll(content, "<div>");
6839
+ hidden = show;
6840
+ }
6841
+ if (!show) {
6842
+ css(content, "display", "flow-root");
6848
6843
  }
6849
6844
  const wrapper = el._wrapper;
6850
6845
  css(wrapper, "overflow", "hidden");
6851
- const currentHeight = toFloat(css(wrapper, "height"));
6846
+ const currentHeight = hidden ? 0 : toFloat(css(wrapper, "height"));
6852
6847
  await Transition.cancel(wrapper);
6853
- hide(content, false);
6848
+ if (show) {
6849
+ css(content, "display", "flow-root");
6850
+ }
6854
6851
  const endHeight = sumBy(["marginTop", "marginBottom"], (prop) => css(content, prop)) + dimensions$1(content).height;
6855
6852
  const percent = currentHeight / endHeight;
6856
6853
  duration = endHeight ? (velocity * endHeight + duration) * (show ? 1 - percent : percent) : 0;
@@ -6858,9 +6855,7 @@
6858
6855
  await Transition.start(wrapper, { height: show ? endHeight : 0 }, duration, transition2);
6859
6856
  unwrap(content);
6860
6857
  delete el._wrapper;
6861
- if (!show) {
6862
- hide(content, true);
6863
- }
6858
+ css(content, "display", "");
6864
6859
  }
6865
6860
  function keepScrollPosition(el) {
6866
6861
  const scrollElement = scrollParent(el, true);