uikit 3.25.29-dev.7b0f736 → 3.25.29-dev.f3e1c53
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.
- package/CHANGELOG.md +19 -0
- package/dist/css/uikit-core-rtl.css +1 -1
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +1 -1
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +1 -1
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +1 -1
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +1 -1
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +3 -3
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +14 -10
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +14 -10
- package/dist/js/components/lightbox.min.js +1 -1
- package/dist/js/components/notification.js +5 -2
- package/dist/js/components/notification.min.js +1 -1
- package/dist/js/components/parallax.js +1 -1
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +1 -1
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +2 -2
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +1 -1
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +2 -2
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +2 -2
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +1 -1
- package/dist/js/components/tooltip.min.js +1 -1
- package/dist/js/components/upload.js +1 -1
- package/dist/js/components/upload.min.js +1 -1
- package/dist/js/uikit-core.js +51 -58
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +51 -58
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/core/alert.js +6 -3
- package/src/js/core/dropnav.js +1 -1
- package/src/js/core/grid.js +1 -1
- package/src/js/core/icon.js +6 -12
- package/src/js/core/img.js +3 -3
- package/src/js/core/inverse.js +4 -2
- package/src/js/core/margin.js +1 -1
- package/src/js/core/modal.js +1 -1
- package/src/js/core/overflow-fade.js +6 -2
- package/src/js/core/switcher.js +1 -0
- package/src/js/mixin/event.js +4 -1
- package/src/js/util/lang.js +8 -33
- package/src/js/util/scroll.js +14 -9
- package/tests/alert.html +2 -2
- package/tests/overflow-fade.test.mjs +69 -0
package/dist/js/uikit.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.25.29-dev.
|
|
1
|
+
/*! UIkit 3.25.29-dev.f3e1c53 | 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() :
|
|
@@ -156,28 +156,17 @@
|
|
|
156
156
|
function pointInRect(point, rect) {
|
|
157
157
|
return point.x <= rect.right && point.x >= rect.left && point.y <= rect.bottom && point.y >= rect.top;
|
|
158
158
|
}
|
|
159
|
-
function
|
|
160
|
-
const
|
|
159
|
+
function cover$1(dimensions, maxDimensions) {
|
|
160
|
+
const scale = Math.max(
|
|
161
|
+
dimensions.width ? maxDimensions.width / dimensions.width : 0,
|
|
162
|
+
dimensions.height ? maxDimensions.height / dimensions.height : 0
|
|
163
|
+
);
|
|
161
164
|
return {
|
|
162
|
-
|
|
163
|
-
|
|
165
|
+
width: Math.round(dimensions.width * scale),
|
|
166
|
+
height: Math.round(dimensions.height * scale)
|
|
164
167
|
};
|
|
165
168
|
}
|
|
166
|
-
|
|
167
|
-
dimensions = { ...dimensions };
|
|
168
|
-
for (const prop in dimensions) {
|
|
169
|
-
dimensions = dimensions[prop] > maxDimensions[prop] ? ratio(dimensions, prop, maxDimensions[prop]) : dimensions;
|
|
170
|
-
}
|
|
171
|
-
return dimensions;
|
|
172
|
-
}
|
|
173
|
-
function cover$1(dimensions, maxDimensions) {
|
|
174
|
-
dimensions = contain(dimensions, maxDimensions);
|
|
175
|
-
for (const prop in dimensions) {
|
|
176
|
-
dimensions = dimensions[prop] < maxDimensions[prop] ? ratio(dimensions, prop, maxDimensions[prop]) : dimensions;
|
|
177
|
-
}
|
|
178
|
-
return dimensions;
|
|
179
|
-
}
|
|
180
|
-
const Dimensions = { ratio, contain, cover: cover$1 };
|
|
169
|
+
const Dimensions = { cover: cover$1 };
|
|
181
170
|
function getIndex(i, elements, current = 0, finite = false) {
|
|
182
171
|
elements = toNodes(elements);
|
|
183
172
|
const { length } = elements;
|
|
@@ -2109,7 +2098,7 @@
|
|
|
2109
2098
|
}
|
|
2110
2099
|
const offsetCurrent = getOffset(current[0], withOffset);
|
|
2111
2100
|
if (offset.top >= offsetCurrent.bottom - 1 && offset.top !== offsetCurrent.top) {
|
|
2112
|
-
sorted.
|
|
2101
|
+
sorted.splice(i + 1, 0, [el]);
|
|
2113
2102
|
break;
|
|
2114
2103
|
}
|
|
2115
2104
|
if (offset.bottom - 1 > offsetCurrent.top || offset.top === offsetCurrent.top) {
|
|
@@ -2373,7 +2362,7 @@
|
|
|
2373
2362
|
}
|
|
2374
2363
|
|
|
2375
2364
|
function maybeDefaultPreventClick(e) {
|
|
2376
|
-
if (e.target.closest('a[href="#"],a[href=""]')) {
|
|
2365
|
+
if (e.type === "keydown" && e.keyCode === keyMap.SPACE || e.target.closest('a[href="#"],a[href=""]')) {
|
|
2377
2366
|
e.preventDefault();
|
|
2378
2367
|
}
|
|
2379
2368
|
}
|
|
@@ -2612,8 +2601,9 @@
|
|
|
2612
2601
|
const elements = isTag(parentNode, "picture") ? children(parentNode) : [el];
|
|
2613
2602
|
elements.forEach((el2) => setSourceProps(el2, el2));
|
|
2614
2603
|
} else if (src) {
|
|
2615
|
-
|
|
2616
|
-
|
|
2604
|
+
const previousBackground = el.style.backgroundImage;
|
|
2605
|
+
css(el, "backgroundImage", `url(${escape(src)})`);
|
|
2606
|
+
if (el.style.backgroundImage !== previousBackground) {
|
|
2617
2607
|
trigger(el, createEvent("load", false));
|
|
2618
2608
|
}
|
|
2619
2609
|
}
|
|
@@ -2666,7 +2656,7 @@
|
|
|
2666
2656
|
return isTag(el, "img");
|
|
2667
2657
|
}
|
|
2668
2658
|
|
|
2669
|
-
let
|
|
2659
|
+
let scrollLocks = 0;
|
|
2670
2660
|
function preventBackgroundScroll(el) {
|
|
2671
2661
|
const off = on(
|
|
2672
2662
|
el,
|
|
@@ -2701,21 +2691,25 @@
|
|
|
2701
2691
|
},
|
|
2702
2692
|
{ passive: true }
|
|
2703
2693
|
);
|
|
2704
|
-
if (prevented) {
|
|
2705
|
-
return off;
|
|
2706
|
-
}
|
|
2707
|
-
prevented = true;
|
|
2708
2694
|
const { scrollingElement } = document;
|
|
2709
2695
|
const props = {
|
|
2710
2696
|
overflowY: CSS.supports("overflow", "clip") ? "clip" : "hidden",
|
|
2711
2697
|
touchAction: "none",
|
|
2712
2698
|
scrollbarGutter: width(window) - scrollingElement.clientWidth ? "stable" : ""
|
|
2713
2699
|
};
|
|
2714
|
-
|
|
2700
|
+
if (!scrollLocks++) {
|
|
2701
|
+
css(scrollingElement, props);
|
|
2702
|
+
}
|
|
2703
|
+
let released = false;
|
|
2715
2704
|
return () => {
|
|
2716
|
-
|
|
2705
|
+
if (released) {
|
|
2706
|
+
return;
|
|
2707
|
+
}
|
|
2708
|
+
released = true;
|
|
2717
2709
|
off();
|
|
2718
|
-
|
|
2710
|
+
if (!--scrollLocks) {
|
|
2711
|
+
resetProps(scrollingElement, props);
|
|
2712
|
+
}
|
|
2719
2713
|
};
|
|
2720
2714
|
}
|
|
2721
2715
|
|
|
@@ -3423,7 +3417,7 @@
|
|
|
3423
3417
|
return Math.atan2(Math.abs(pos2.y - pos1.y), Math.abs(pos2.x - pos1.x)) * 180 / Math.PI;
|
|
3424
3418
|
}
|
|
3425
3419
|
|
|
3426
|
-
var VERSION = '3.25.29-dev.
|
|
3420
|
+
var VERSION = '3.25.29-dev.f3e1c53';
|
|
3427
3421
|
|
|
3428
3422
|
function initWatches(instance) {
|
|
3429
3423
|
instance._watches = [];
|
|
@@ -6913,11 +6907,10 @@
|
|
|
6913
6907
|
mixins: [Class, Togglable],
|
|
6914
6908
|
args: "animation",
|
|
6915
6909
|
props: {
|
|
6916
|
-
animation: Boolean,
|
|
6917
6910
|
close: String
|
|
6918
6911
|
},
|
|
6919
6912
|
data: {
|
|
6920
|
-
animation: true,
|
|
6913
|
+
animation: [true],
|
|
6921
6914
|
selClose: ".uk-alert-close",
|
|
6922
6915
|
duration: 150
|
|
6923
6916
|
},
|
|
@@ -6931,7 +6924,11 @@
|
|
|
6931
6924
|
},
|
|
6932
6925
|
methods: {
|
|
6933
6926
|
async close() {
|
|
6934
|
-
await this.toggleElement(
|
|
6927
|
+
await this.toggleElement(
|
|
6928
|
+
this.$el,
|
|
6929
|
+
false,
|
|
6930
|
+
this.animation[0] === true || this.animation[0] === 1 ? animate : true
|
|
6931
|
+
);
|
|
6935
6932
|
this.$destroy(true);
|
|
6936
6933
|
}
|
|
6937
6934
|
}
|
|
@@ -7595,7 +7592,7 @@
|
|
|
7595
7592
|
el: ({ dropContainer }) => dropContainer,
|
|
7596
7593
|
delegate: ({ clsDrop }) => `.${clsDrop}`,
|
|
7597
7594
|
handler(e) {
|
|
7598
|
-
var _a;
|
|
7595
|
+
var _a, _b;
|
|
7599
7596
|
const { current, keyCode, target } = e;
|
|
7600
7597
|
if (isInput(target) || !includes(this.dropdowns, current)) {
|
|
7601
7598
|
return;
|
|
@@ -7605,15 +7602,15 @@
|
|
|
7605
7602
|
if (~next) {
|
|
7606
7603
|
e.preventDefault();
|
|
7607
7604
|
const elements = $$(selFocusable, current);
|
|
7608
|
-
elements[getIndex(
|
|
7605
|
+
(_a = elements[getIndex(
|
|
7609
7606
|
next,
|
|
7610
7607
|
elements,
|
|
7611
7608
|
findIndex(elements, (el) => matches(el, ":focus"))
|
|
7612
|
-
)].focus();
|
|
7609
|
+
)]) == null ? void 0 : _a.focus();
|
|
7613
7610
|
return;
|
|
7614
7611
|
}
|
|
7615
7612
|
if (keyCode === keyMap.ESC) {
|
|
7616
|
-
(
|
|
7613
|
+
(_b = active2.targetEl) == null ? void 0 : _b.focus();
|
|
7617
7614
|
}
|
|
7618
7615
|
handleNavItemNavigation(e, this.items, active2);
|
|
7619
7616
|
}
|
|
@@ -7912,7 +7909,7 @@
|
|
|
7912
7909
|
};
|
|
7913
7910
|
},
|
|
7914
7911
|
write({ columns, scrolled, scrollColumns, translates }) {
|
|
7915
|
-
if (
|
|
7912
|
+
if (scrolled === false && !translates) {
|
|
7916
7913
|
return;
|
|
7917
7914
|
}
|
|
7918
7915
|
columns.forEach(
|
|
@@ -8331,16 +8328,9 @@
|
|
|
8331
8328
|
beforeConnect() {
|
|
8332
8329
|
const isToggle = hasClass(this.$el, "uk-search-toggle") || hasClass(this.$el, "uk-navbar-toggle");
|
|
8333
8330
|
this.icon = isToggle ? "search-toggle-icon" : hasClass(this.$el, "uk-search-icon") && this.$el.closest(".uk-search-large") ? "search-large" : this.$el.closest(".uk-search-medium") ? "search-medium" : this.$props.icon;
|
|
8334
|
-
|
|
8335
|
-
|
|
8336
|
-
|
|
8337
|
-
if (isToggle) {
|
|
8338
|
-
this.$el.ariaLabel = this.t("toggle");
|
|
8339
|
-
} else {
|
|
8340
|
-
const button = this.$el.closest("a,button");
|
|
8341
|
-
if (button) {
|
|
8342
|
-
button.ariaLabel = this.t("submit");
|
|
8343
|
-
}
|
|
8331
|
+
const target = isToggle ? this.$el : this.$el.closest("a,button");
|
|
8332
|
+
if (target && !hasAttr(target, "aria-label")) {
|
|
8333
|
+
target.ariaLabel = this.t(isToggle ? "toggle" : "submit");
|
|
8344
8334
|
}
|
|
8345
8335
|
}
|
|
8346
8336
|
};
|
|
@@ -8426,7 +8416,7 @@
|
|
|
8426
8416
|
apply(
|
|
8427
8417
|
document.body,
|
|
8428
8418
|
(el) => each(UIkit.getComponents(el), (cmp) => {
|
|
8429
|
-
cmp.$options.isIcon && cmp.icon in added && cmp.$reset();
|
|
8419
|
+
cmp.$options.isIcon && (aliases[cmp.icon] || cmp.icon) in added && cmp.$reset();
|
|
8430
8420
|
})
|
|
8431
8421
|
);
|
|
8432
8422
|
}
|
|
@@ -8493,6 +8483,7 @@
|
|
|
8493
8483
|
[...toNodes(target), document.documentElement],
|
|
8494
8484
|
handler
|
|
8495
8485
|
);
|
|
8486
|
+
const transitionObserver = observeResize([], handler);
|
|
8496
8487
|
const listener = [
|
|
8497
8488
|
on(document, "scroll itemshown itemhidden", handler, {
|
|
8498
8489
|
passive: true,
|
|
@@ -8500,11 +8491,11 @@
|
|
|
8500
8491
|
}),
|
|
8501
8492
|
on(document, "show hide transitionstart", (e) => {
|
|
8502
8493
|
handler();
|
|
8503
|
-
return
|
|
8494
|
+
return transitionObserver.observe(e.target);
|
|
8504
8495
|
}),
|
|
8505
8496
|
on(document, "shown hidden transitionend transitioncancel", (e) => {
|
|
8506
8497
|
handler();
|
|
8507
|
-
return
|
|
8498
|
+
return transitionObserver.unobserve(e.target);
|
|
8508
8499
|
})
|
|
8509
8500
|
];
|
|
8510
8501
|
return {
|
|
@@ -8512,6 +8503,7 @@
|
|
|
8512
8503
|
unobserve: observer.unobserve.bind(observer),
|
|
8513
8504
|
disconnect() {
|
|
8514
8505
|
observer.disconnect();
|
|
8506
|
+
transitionObserver.disconnect();
|
|
8515
8507
|
listener.forEach((off) => off());
|
|
8516
8508
|
}
|
|
8517
8509
|
};
|
|
@@ -8714,7 +8706,7 @@
|
|
|
8714
8706
|
const dialog = modal.dialog(tmpl(options), options);
|
|
8715
8707
|
return assign(
|
|
8716
8708
|
new Promise((resolve) => {
|
|
8717
|
-
const off = on(dialog.$el, "hide", () => resolve(hideFn()));
|
|
8709
|
+
const off = on(dialog.$el, "hide", () => resolve(hideFn()), { self: true });
|
|
8718
8710
|
on(dialog.$el, "submit", "form", (e) => {
|
|
8719
8711
|
e.preventDefault();
|
|
8720
8712
|
resolve(submitFn(dialog));
|
|
@@ -9017,7 +9009,8 @@
|
|
|
9017
9009
|
);
|
|
9018
9010
|
if (!overflow[i - 1]) {
|
|
9019
9011
|
const dir = i ? "Top" : "Left";
|
|
9020
|
-
const
|
|
9012
|
+
const position = this.$el[`scroll${dir}`] + (!i && isRtl ? overflow[i] : 0);
|
|
9013
|
+
const percent = overflow[i] ? position / overflow[i] : 0;
|
|
9021
9014
|
const toValue = (value) => overflow[i] ? clamp((this.fadeDuration - value) / this.fadeDuration) : 1;
|
|
9022
9015
|
css(this.$el, {
|
|
9023
9016
|
"--uk-overflow-fade-start-opacity": toValue(percent),
|
|
@@ -9039,7 +9032,7 @@
|
|
|
9039
9032
|
const { $el: el, threshold, $options } = this;
|
|
9040
9033
|
let started;
|
|
9041
9034
|
const off = on(document, pointerMove$1, move(e), pointerOptions);
|
|
9042
|
-
|
|
9035
|
+
once(document, [pointerUp$1, pointerCancel], end, true);
|
|
9043
9036
|
function move(e2) {
|
|
9044
9037
|
let origin = getEventPos(e2);
|
|
9045
9038
|
let pos = origin;
|
|
@@ -9821,7 +9814,7 @@
|
|
|
9821
9814
|
name: "click keydown",
|
|
9822
9815
|
delegate: ({ toggle }) => toggle,
|
|
9823
9816
|
handler(e) {
|
|
9824
|
-
if (!matches(e.current, selDisabled) && (e.type === "click" || e.keyCode === keyMap.SPACE)) {
|
|
9817
|
+
if (!e.defaultPrevented && !matches(e.current, selDisabled) && (e.type === "click" || e.keyCode === keyMap.SPACE)) {
|
|
9825
9818
|
maybeDefaultPreventClick(e);
|
|
9826
9819
|
this.show(e.current);
|
|
9827
9820
|
}
|