uikit 3.25.11 → 3.25.12-dev.7e5fa64

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 (52) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/css/uikit-core-rtl.css +10 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +10 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +10 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +10 -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 +1 -1
  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 +91 -105
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/core/accordion.js +13 -19
  44. package/src/js/mixin/modal.js +1 -4
  45. package/src/js/mixin/position.js +1 -7
  46. package/src/js/mixin/togglable.js +3 -4
  47. package/src/less/components/accordion.less +3 -1
  48. package/src/less/components/nav.less +4 -0
  49. package/src/less/components/utility.less +7 -1
  50. package/src/scss/components/accordion.scss +3 -1
  51. package/src/scss/components/nav.scss +4 -0
  52. package/src/scss/components/utility.scss +7 -1
@@ -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.7e5fa64 | 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() :
@@ -2163,7 +2163,7 @@
2163
2163
  };
2164
2164
  App.util = util;
2165
2165
  App.options = {};
2166
- App.version = "3.25.11";
2166
+ App.version = "3.25.12-dev.7e5fa64";
2167
2167
 
2168
2168
  const PREFIX = "uk-";
2169
2169
  const DATA = "__uikit__";
@@ -2491,86 +2491,6 @@
2491
2491
  }
2492
2492
  }
2493
2493
 
2494
- var Position = {
2495
- props: {
2496
- pos: String,
2497
- offset: Boolean,
2498
- flip: Boolean,
2499
- shift: Boolean,
2500
- inset: Boolean
2501
- },
2502
- data: {
2503
- pos: `bottom-${isRtl ? "right" : "left"}`,
2504
- offset: false,
2505
- flip: true,
2506
- shift: true,
2507
- inset: false
2508
- },
2509
- connected() {
2510
- this.pos = this.$props.pos.split("-").concat("center").slice(0, 2);
2511
- [this.dir, this.align] = this.pos;
2512
- this.axis = includes(["top", "bottom"], this.dir) ? "y" : "x";
2513
- },
2514
- methods: {
2515
- positionAt(element, target, boundary) {
2516
- let offset = [this.getPositionOffset(element), this.getShiftOffset(element)];
2517
- const placement = [this.flip && "flip", this.shift && "shift"];
2518
- const attach = {
2519
- element: [this.inset ? this.dir : flipPosition(this.dir), this.align],
2520
- target: [this.dir, this.align]
2521
- };
2522
- if (this.axis === "y") {
2523
- for (const prop in attach) {
2524
- attach[prop].reverse();
2525
- }
2526
- offset.reverse();
2527
- placement.reverse();
2528
- }
2529
- const restoreScrollPosition = storeScrollPosition(element);
2530
- const elDim = dimensions(element);
2531
- css(element, { top: -elDim.height, left: -elDim.width });
2532
- positionAt(element, target, {
2533
- attach,
2534
- offset,
2535
- boundary,
2536
- placement,
2537
- viewportOffset: this.getViewportOffset(element)
2538
- });
2539
- restoreScrollPosition();
2540
- },
2541
- getPositionOffset(element = this.$el) {
2542
- return toPx(
2543
- this.offset === false ? css(element, "--uk-position-offset") : this.offset,
2544
- this.axis === "x" ? "width" : "height",
2545
- element
2546
- ) * (includes(["left", "top"], this.dir) ? -1 : 1) * (this.inset ? -1 : 1);
2547
- },
2548
- getShiftOffset(element = this.$el) {
2549
- return this.align === "center" ? 0 : toPx(
2550
- css(element, "--uk-position-shift-offset"),
2551
- this.axis === "y" ? "width" : "height",
2552
- element
2553
- ) * (includes(["left", "top"], this.align) ? 1 : -1);
2554
- },
2555
- getViewportOffset(element) {
2556
- return toPx(css(element, "--uk-position-viewport-offset"));
2557
- }
2558
- }
2559
- };
2560
- function storeScrollPosition(element) {
2561
- const scrollElement = scrollParent(element);
2562
- const { scrollTop } = scrollElement;
2563
- const restore = () => {
2564
- if (scrollTop !== scrollElement.scrollTop) {
2565
- scrollElement.scrollTop = scrollTop;
2566
- }
2567
- };
2568
- return () => {
2569
- restore();
2570
- setTimeout(restore);
2571
- };
2572
- }
2573
-
2574
2494
  var Togglable = {
2575
2495
  props: {
2576
2496
  cls: Boolean,
@@ -2612,9 +2532,7 @@
2612
2532
  removeClass(el, cls);
2613
2533
  trigger(el, show ? "shown" : "hidden", [this]);
2614
2534
  if (show) {
2615
- const restoreScrollPosition = storeScrollPosition(el);
2616
- (_a = $$("[autofocus]", el).find(isVisible)) == null ? void 0 : _a.focus();
2617
- restoreScrollPosition();
2535
+ (_a = $$("[autofocus]", el).find(isVisible)) == null ? void 0 : _a.focus({ preventScroll: true });
2618
2536
  }
2619
2537
  };
2620
2538
  return promise ? promise.then(done, () => {
@@ -2815,14 +2733,7 @@
2815
2733
  toggles() {
2816
2734
  this.$emit();
2817
2735
  },
2818
- contents(items) {
2819
- for (const el of items) {
2820
- const isOpen = hasClass(
2821
- this.items.find((item) => item.contains(el)),
2822
- this.clsOpen
2823
- );
2824
- hide(el, !isOpen);
2825
- }
2736
+ contents() {
2826
2737
  this.$emit();
2827
2738
  }
2828
2739
  },
@@ -2892,7 +2803,6 @@
2892
2803
  (el) => this.toggleElement(el, !includes(activeItems, el), (el2, show) => {
2893
2804
  toggleClass(el2, this.clsOpen, show);
2894
2805
  if (animate === false || !this.animation) {
2895
- hide($(this.content, el2), !show);
2896
2806
  return;
2897
2807
  }
2898
2808
  return transition(el2, show, this);
@@ -2902,20 +2812,24 @@
2902
2812
  }
2903
2813
  }
2904
2814
  };
2905
- function hide(el, hide2) {
2906
- el && (el.hidden = hide2);
2907
- }
2908
2815
  async function transition(el, show, { content, duration, velocity, transition: transition2 }) {
2909
2816
  var _a;
2910
2817
  content = ((_a = el._wrapper) == null ? void 0 : _a.firstElementChild) || $(content, el);
2818
+ let hidden;
2911
2819
  if (!el._wrapper) {
2912
2820
  el._wrapper = wrapAll(content, "<div>");
2821
+ hidden = show;
2822
+ }
2823
+ if (!show) {
2824
+ css(content, "display", "flow-root");
2913
2825
  }
2914
2826
  const wrapper = el._wrapper;
2915
2827
  css(wrapper, "overflow", "hidden");
2916
- const currentHeight = toFloat(css(wrapper, "height"));
2828
+ const currentHeight = hidden ? 0 : toFloat(css(wrapper, "height"));
2917
2829
  await Transition.cancel(wrapper);
2918
- hide(content, false);
2830
+ if (show) {
2831
+ css(content, "display", "flow-root");
2832
+ }
2919
2833
  const endHeight = sumBy(["marginTop", "marginBottom"], (prop) => css(content, prop)) + dimensions(content).height;
2920
2834
  const percent = currentHeight / endHeight;
2921
2835
  duration = endHeight ? (velocity * endHeight + duration) * (show ? 1 - percent : percent) : 0;
@@ -2923,9 +2837,7 @@
2923
2837
  await Transition.start(wrapper, { height: show ? endHeight : 0 }, duration, transition2);
2924
2838
  unwrap(content);
2925
2839
  delete el._wrapper;
2926
- if (!show) {
2927
- hide(content, true);
2928
- }
2840
+ css(content, "display", "");
2929
2841
  }
2930
2842
  function keepScrollPosition(el) {
2931
2843
  const scrollElement = scrollParent(el, true);
@@ -3141,6 +3053,82 @@
3141
3053
  }
3142
3054
  };
3143
3055
 
3056
+ var Position = {
3057
+ props: {
3058
+ pos: String,
3059
+ offset: Boolean,
3060
+ flip: Boolean,
3061
+ shift: Boolean,
3062
+ inset: Boolean
3063
+ },
3064
+ data: {
3065
+ pos: `bottom-${isRtl ? "right" : "left"}`,
3066
+ offset: false,
3067
+ flip: true,
3068
+ shift: true,
3069
+ inset: false
3070
+ },
3071
+ connected() {
3072
+ this.pos = this.$props.pos.split("-").concat("center").slice(0, 2);
3073
+ [this.dir, this.align] = this.pos;
3074
+ this.axis = includes(["top", "bottom"], this.dir) ? "y" : "x";
3075
+ },
3076
+ methods: {
3077
+ positionAt(element, target, boundary) {
3078
+ let offset = [this.getPositionOffset(element), this.getShiftOffset(element)];
3079
+ const placement = [this.flip && "flip", this.shift && "shift"];
3080
+ const attach = {
3081
+ element: [this.inset ? this.dir : flipPosition(this.dir), this.align],
3082
+ target: [this.dir, this.align]
3083
+ };
3084
+ if (this.axis === "y") {
3085
+ for (const prop in attach) {
3086
+ attach[prop].reverse();
3087
+ }
3088
+ offset.reverse();
3089
+ placement.reverse();
3090
+ }
3091
+ const restoreScrollPosition = storeScrollPosition(element);
3092
+ const elDim = dimensions(element);
3093
+ css(element, { top: -elDim.height, left: -elDim.width });
3094
+ positionAt(element, target, {
3095
+ attach,
3096
+ offset,
3097
+ boundary,
3098
+ placement,
3099
+ viewportOffset: this.getViewportOffset(element)
3100
+ });
3101
+ restoreScrollPosition();
3102
+ },
3103
+ getPositionOffset(element = this.$el) {
3104
+ return toPx(
3105
+ this.offset === false ? css(element, "--uk-position-offset") : this.offset,
3106
+ this.axis === "x" ? "width" : "height",
3107
+ element
3108
+ ) * (includes(["left", "top"], this.dir) ? -1 : 1) * (this.inset ? -1 : 1);
3109
+ },
3110
+ getShiftOffset(element = this.$el) {
3111
+ return this.align === "center" ? 0 : toPx(
3112
+ css(element, "--uk-position-shift-offset"),
3113
+ this.axis === "y" ? "width" : "height",
3114
+ element
3115
+ ) * (includes(["left", "top"], this.align) ? 1 : -1);
3116
+ },
3117
+ getViewportOffset(element) {
3118
+ return toPx(css(element, "--uk-position-viewport-offset"));
3119
+ }
3120
+ }
3121
+ };
3122
+ function storeScrollPosition(element) {
3123
+ const scrollElement = scrollParent(element);
3124
+ const { scrollTop } = scrollElement;
3125
+ return () => {
3126
+ if (scrollTop !== scrollElement.scrollTop) {
3127
+ scrollElement.scrollTop = scrollTop;
3128
+ }
3129
+ };
3130
+ }
3131
+
3144
3132
  let prevented;
3145
3133
  function preventBackgroundScroll(el) {
3146
3134
  const off = on(
@@ -5149,9 +5137,7 @@
5149
5137
  removeClass(document.documentElement, this.clsPage);
5150
5138
  queueMicrotask(() => {
5151
5139
  if (isFocusable(target)) {
5152
- const restoreScrollPosition = storeScrollPosition(target);
5153
- target.focus();
5154
- restoreScrollPosition();
5140
+ target.focus({ preventScroll: true });
5155
5141
  }
5156
5142
  });
5157
5143
  }