uikit 3.25.27-dev.9e97c1f → 3.25.27
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 +2 -34
- package/build/prefix.js +1 -1
- package/build/publishDev.js +1 -1
- package/build/scope.js +1 -1
- package/build/scss.js +1 -1
- package/dist/css/uikit-core-rtl.css +1569 -1692
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +1569 -1692
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +1210 -1326
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +1210 -1326
- 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 +1 -1
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +135 -134
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +136 -135
- package/dist/js/components/lightbox.min.js +1 -1
- package/dist/js/components/notification.js +6 -8
- package/dist/js/components/notification.min.js +1 -1
- package/dist/js/components/parallax.js +12 -8
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +12 -8
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +25 -51
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +12 -8
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +102 -81
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +1 -1
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +17 -15
- 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 +313 -856
- 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 +377 -711
- package/dist/js/uikit.min.js +1 -1
- package/package.json +2 -2
- package/src/js/api/component.js +3 -2
- package/src/js/api/observables.js +4 -16
- package/src/js/api/options.js +3 -6
- package/src/js/api/props.js +3 -1
- package/src/js/api/state.js +8 -7
- package/src/js/components/index.js +0 -1
- package/src/js/components/internal/lightbox-animations.js +26 -7
- package/src/js/components/internal/slider-preload.js +0 -1
- package/src/js/components/internal/slideshow-animations.js +62 -15
- package/src/js/components/lightbox-panel.js +96 -121
- package/src/js/components/lightbox.js +8 -5
- package/src/js/components/notification.js +5 -7
- package/src/js/core/accordion.js +31 -62
- package/src/js/core/drop.js +3 -4
- package/src/js/core/dropnav.js +3 -3
- package/src/js/core/grid.js +19 -5
- package/src/js/core/margin.js +0 -3
- package/src/js/core/scroll.js +11 -0
- package/src/js/core/sticky.js +1 -1
- package/src/js/core/switcher.js +49 -12
- package/src/js/core/video.js +21 -236
- package/src/js/mixin/internal/slideshow-animations.js +13 -5
- package/src/js/mixin/internal/slideshow-transitioner.js +2 -2
- package/src/js/mixin/parallax.js +4 -1
- package/src/js/mixin/position.js +1 -1
- package/src/js/mixin/slider-parallax.js +38 -9
- package/src/js/mixin/togglable.js +14 -13
- package/src/js/util/attr.js +7 -7
- package/src/js/util/dom.js +4 -3
- package/src/js/util/lang.js +2 -2
- package/src/js/util/player.js +2 -4
- package/src/js/util/style.js +13 -12
- package/src/js/util/viewport.js +25 -22
- package/src/less/components/_import.less +3 -8
- package/src/less/components/animation.less +1 -1
- package/src/less/components/base.less +1 -1
- package/src/less/components/button.less +1 -1
- package/src/less/components/card.less +8 -8
- package/src/less/components/form.less +15 -15
- package/src/less/components/grid.less +65 -58
- package/src/less/components/lightbox.less +8 -2
- package/src/less/components/margin.less +124 -155
- package/src/less/components/modal.less +4 -1
- package/src/less/components/nav.less +1 -1
- package/src/less/components/navbar.less +1 -1
- package/src/less/components/padding.less +9 -9
- package/src/less/components/position.less +4 -9
- package/src/less/components/search.less +1 -1
- package/src/less/components/slideshow.less +4 -1
- package/src/less/components/switcher.less +2 -5
- package/src/less/components/table.less +4 -4
- package/src/less/components/text.less +4 -10
- package/src/less/components/utility.less +163 -0
- package/src/less/components/visibility.less +4 -4
- package/src/less/theme/_import.less +2 -6
- package/src/less/theme/alert.less +5 -0
- package/src/less/theme/thumbnav.less +4 -1
- package/src/less/theme/utility.less +32 -0
- package/src/scss/components/_import.scss +3 -8
- package/src/scss/components/animation.scss +1 -1
- package/src/scss/components/base.scss +1 -1
- package/src/scss/components/button.scss +1 -1
- package/src/scss/components/card.scss +8 -8
- package/src/scss/components/form.scss +14 -14
- package/src/scss/components/grid.scss +64 -57
- package/src/scss/components/lightbox.scss +8 -2
- package/src/scss/components/margin.scss +124 -155
- package/src/scss/components/modal.scss +4 -1
- package/src/scss/components/nav.scss +1 -1
- package/src/scss/components/navbar.scss +1 -1
- package/src/scss/components/padding.scss +9 -9
- package/src/scss/components/position.scss +4 -9
- package/src/scss/components/search.scss +1 -1
- package/src/scss/components/slideshow.scss +4 -1
- package/src/scss/components/switcher.scss +2 -5
- package/src/scss/components/table.scss +4 -4
- package/src/scss/components/text.scss +4 -10
- package/src/scss/components/utility.scss +129 -0
- package/src/scss/components/visibility.scss +4 -4
- package/src/scss/mixins-theme.scss +43 -44
- package/src/scss/mixins.scss +31 -40
- package/src/scss/variables-theme.scss +14 -14
- package/src/scss/variables.scss +14 -14
- package/tests/accordion.html +10 -77
- package/tests/alert.html +1 -1
- package/tests/align.html +5 -5
- package/tests/animation.html +4 -4
- package/tests/article.html +7 -7
- package/tests/background.html +2 -2
- package/tests/badge.html +1 -1
- package/tests/base.html +2 -2
- package/tests/button.html +1 -1
- package/tests/card.html +15 -15
- package/tests/close.html +2 -2
- package/tests/comment.html +9 -9
- package/tests/container.html +2 -2
- package/tests/countdown.html +21 -21
- package/tests/cover.html +3 -3
- package/tests/description-list.html +1 -1
- package/tests/divider.html +3 -3
- package/tests/dotnav.html +1 -1
- package/tests/drop.html +7 -7
- package/tests/dropbar.html +5 -5
- package/tests/dropdown.html +1 -1
- package/tests/dropnav.html +18 -18
- package/tests/filter.html +3 -3
- package/tests/form.html +14 -14
- package/tests/grid.html +47 -41
- package/tests/heading.html +2 -2
- package/tests/height-viewport.html +4 -4
- package/tests/height.html +5 -5
- package/tests/icon.html +8 -8
- package/tests/image.html +6 -6
- package/tests/index.html +13 -13
- package/tests/js/index.js +1 -1
- package/tests/leader.html +5 -5
- package/tests/lightbox.html +6 -6
- package/tests/link.html +1 -1
- package/tests/list.html +4 -4
- package/tests/margin.html +7 -59
- package/tests/marker.html +3 -3
- package/tests/modal.html +3 -3
- package/tests/nav.html +5 -5
- package/tests/navbar.html +27 -27
- package/tests/notification.html +2 -8
- package/tests/offcanvas.html +12 -12
- package/tests/overlay.html +3 -3
- package/tests/padding.html +1 -1
- package/tests/pagination.html +3 -3
- package/tests/parallax.html +1 -1
- package/tests/position.html +6 -6
- package/tests/scrollspy.html +13 -13
- package/tests/search.html +5 -5
- package/tests/section.html +17 -17
- package/tests/slidenav.html +3 -3
- package/tests/slider.html +5 -5
- package/tests/slideshow.html +3 -33
- package/tests/sortable.html +15 -15
- package/tests/sticky-navbar.html +4 -4
- package/tests/sticky-parallax.html +3 -3
- package/tests/sticky.html +3 -3
- package/tests/svg.html +2 -3
- package/tests/switcher.html +7 -7
- package/tests/tab.html +5 -5
- package/tests/text.html +3 -9
- package/tests/tile.html +4 -4
- package/tests/toggle.html +1 -1
- package/tests/tooltip.html +3 -3
- package/tests/totop.html +2 -2
- package/tests/transition.html +1 -1
- package/tests/upload.html +5 -5
- package/tests/utility.html +116 -16
- package/tests/video.html +24 -224
- package/tests/visibility.html +4 -4
- package/tests/width.html +12 -12
- package/dist/js/components/marquee.js +0 -215
- package/dist/js/components/marquee.min.js +0 -1
- package/src/js/components/marquee.js +0 -156
- package/src/js/mixin/connect.js +0 -90
- package/src/js/mixin/scroll-driven.js +0 -57
- package/src/less/components/dropcap.less +0 -71
- package/src/less/components/floating-shadow.less +0 -66
- package/src/less/components/logo.less +0 -94
- package/src/less/components/marquee.less +0 -133
- package/src/less/theme/dropcap.less +0 -29
- package/src/less/theme/floating-shadow.less +0 -20
- package/src/less/theme/logo.less +0 -29
- package/src/less/theme/marquee.less +0 -14
- package/src/scss/components/dropcap.scss +0 -63
- package/src/scss/components/floating-shadow.scss +0 -63
- package/src/scss/components/logo.scss +0 -75
- package/src/scss/components/marquee.scss +0 -136
- package/tests/dropcap.html +0 -26
- package/tests/floating-shadow.html +0 -44
- package/tests/logo.html +0 -84
- package/tests/marquee.html +0 -617
package/dist/js/uikit.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.25.27
|
|
1
|
+
/*! UIkit 3.25.27 | 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() :
|
|
@@ -135,8 +135,8 @@
|
|
|
135
135
|
}
|
|
136
136
|
function pick(obj, props) {
|
|
137
137
|
const result = {};
|
|
138
|
-
for (const
|
|
139
|
-
result[
|
|
138
|
+
for (const prop of props) {
|
|
139
|
+
result[prop] = obj[prop];
|
|
140
140
|
}
|
|
141
141
|
return result;
|
|
142
142
|
}
|
|
@@ -247,12 +247,13 @@
|
|
|
247
247
|
}
|
|
248
248
|
if (isUndefined(value)) {
|
|
249
249
|
return (_a = toNode(element)) == null ? void 0 : _a.getAttribute(name);
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
250
|
+
} else {
|
|
251
|
+
for (const el of toNodes(element)) {
|
|
252
|
+
if (value === null) {
|
|
253
|
+
removeAttr(el, name);
|
|
254
|
+
} else {
|
|
255
|
+
el.setAttribute(name, value);
|
|
256
|
+
}
|
|
256
257
|
}
|
|
257
258
|
}
|
|
258
259
|
}
|
|
@@ -589,18 +590,19 @@
|
|
|
589
590
|
property = propName(property);
|
|
590
591
|
if (isUndefined(value)) {
|
|
591
592
|
return getComputedStyle(element2).getPropertyValue(property);
|
|
593
|
+
} else {
|
|
594
|
+
element2.style.setProperty(
|
|
595
|
+
property,
|
|
596
|
+
isNumeric(value) && !cssNumber[property] && !isCustomProperty(property) ? `${value}px` : value || isNumber(value) ? value : "",
|
|
597
|
+
priority
|
|
598
|
+
);
|
|
592
599
|
}
|
|
593
|
-
element2.style.setProperty(
|
|
594
|
-
property,
|
|
595
|
-
isNumeric(value) && !cssNumber[property] && !isCustomProperty(property) ? `${value}px` : value || isNumber(value) ? value : "",
|
|
596
|
-
priority
|
|
597
|
-
);
|
|
598
600
|
} else if (isArray(property)) {
|
|
599
|
-
const
|
|
601
|
+
const props = {};
|
|
600
602
|
for (const prop of property) {
|
|
601
|
-
|
|
603
|
+
props[prop] = css(element2, prop);
|
|
602
604
|
}
|
|
603
|
-
return
|
|
605
|
+
return props;
|
|
604
606
|
} else if (isObject(property)) {
|
|
605
607
|
for (const prop in property) {
|
|
606
608
|
css(element2, prop, property[prop], value);
|
|
@@ -795,9 +797,7 @@
|
|
|
795
797
|
);
|
|
796
798
|
}
|
|
797
799
|
function unwrap(element) {
|
|
798
|
-
|
|
799
|
-
elementParent.replaceWith(...elementParent.childNodes);
|
|
800
|
-
}
|
|
800
|
+
toNodes(element).map(parent).filter((value, index, self) => self.indexOf(value) === index).forEach((parent2) => parent2.replaceWith(...parent2.childNodes));
|
|
801
801
|
}
|
|
802
802
|
const singleTagRe = /^<(\w+)\s*\/?>(?:<\/\1>)?$/;
|
|
803
803
|
function fragment(html2) {
|
|
@@ -1159,9 +1159,7 @@
|
|
|
1159
1159
|
return isTag(el, "iframe") && (isYoutube(el) || isVimeo(el));
|
|
1160
1160
|
}
|
|
1161
1161
|
function isYoutube(el) {
|
|
1162
|
-
return /\/\/.*?youtube(-nocookie)?\.[a-z]+\/(watch\?v=[^&\s]+|embed)|youtu\.be
|
|
1163
|
-
el.src
|
|
1164
|
-
);
|
|
1162
|
+
return /\/\/.*?youtube(-nocookie)?\.[a-z]+\/(watch\?v=[^&\s]+|embed)|youtu\.be\//.test(el.src);
|
|
1165
1163
|
}
|
|
1166
1164
|
function isVimeo(el) {
|
|
1167
1165
|
return /vimeo\.com\/video\/.*/.test(el.src);
|
|
@@ -1173,7 +1171,7 @@
|
|
|
1173
1171
|
function post(el, cmd) {
|
|
1174
1172
|
el.contentWindow.postMessage(JSON.stringify({ event: "command", ...cmd }), "*");
|
|
1175
1173
|
}
|
|
1176
|
-
const stateKey =
|
|
1174
|
+
const stateKey = "_ukPlayer";
|
|
1177
1175
|
let counter = 0;
|
|
1178
1176
|
function enableApi(el) {
|
|
1179
1177
|
if (el[stateKey]) {
|
|
@@ -1204,16 +1202,17 @@
|
|
|
1204
1202
|
if (!isVisible(element)) {
|
|
1205
1203
|
return false;
|
|
1206
1204
|
}
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1205
|
+
return intersectRect(
|
|
1206
|
+
...overflowParents(element).map((parent2) => {
|
|
1207
|
+
const { top, left, bottom, right } = offsetViewport(parent2);
|
|
1208
|
+
return {
|
|
1209
|
+
top: top - offsetTop,
|
|
1210
|
+
left: left - offsetLeft,
|
|
1211
|
+
bottom: bottom + offsetTop,
|
|
1212
|
+
right: right + offsetLeft
|
|
1213
|
+
};
|
|
1214
|
+
}).concat(offset(element))
|
|
1215
|
+
);
|
|
1217
1216
|
}
|
|
1218
1217
|
function scrollIntoView(element, { offset: offsetBy = 0 } = {}) {
|
|
1219
1218
|
const parents2 = isVisible(element) ? scrollParents(element, false, ["hidden"]) : [];
|
|
@@ -1297,12 +1296,11 @@
|
|
|
1297
1296
|
if (~fixedIndex) {
|
|
1298
1297
|
ancestors = ancestors.slice(fixedIndex);
|
|
1299
1298
|
}
|
|
1300
|
-
return [
|
|
1301
|
-
|
|
1302
|
-
...ancestors.filter(
|
|
1299
|
+
return [scrollEl].concat(
|
|
1300
|
+
ancestors.filter(
|
|
1303
1301
|
(parent2) => css(parent2, "overflow").split(" ").some((prop) => includes(["auto", "scroll", ...props], prop)) && (!scrollable || parent2.scrollHeight > offsetViewport(parent2).height)
|
|
1304
1302
|
)
|
|
1305
|
-
|
|
1303
|
+
).reverse();
|
|
1306
1304
|
}
|
|
1307
1305
|
function scrollParent(...args) {
|
|
1308
1306
|
return scrollParents(...args)[0];
|
|
@@ -1884,14 +1882,11 @@
|
|
|
1884
1882
|
function coerce$1(type, value) {
|
|
1885
1883
|
if (type === Boolean) {
|
|
1886
1884
|
return toBoolean(value);
|
|
1887
|
-
}
|
|
1888
|
-
if (type === Number) {
|
|
1885
|
+
} else if (type === Number) {
|
|
1889
1886
|
return toNumber(value);
|
|
1890
|
-
}
|
|
1891
|
-
if (type === "list") {
|
|
1887
|
+
} else if (type === "list") {
|
|
1892
1888
|
return toList(value);
|
|
1893
|
-
}
|
|
1894
|
-
if (type === Object && isString(value)) {
|
|
1889
|
+
} else if (type === Object && isString(value)) {
|
|
1895
1890
|
return parseOptions(value);
|
|
1896
1891
|
}
|
|
1897
1892
|
return type ? type(value) : value;
|
|
@@ -1967,9 +1962,9 @@
|
|
|
1967
1962
|
function lazyload(options = {}) {
|
|
1968
1963
|
return intersection({
|
|
1969
1964
|
handler: function(entries, observer) {
|
|
1970
|
-
const { targets = this.$el, preload = 5
|
|
1965
|
+
const { targets = this.$el, preload = 5 } = options;
|
|
1971
1966
|
for (const el of toNodes(isFunction(targets) ? targets(this) : targets)) {
|
|
1972
|
-
(
|
|
1967
|
+
$$('[loading="lazy"]', el).slice(0, preload - 1).forEach((el2) => removeAttr(el2, "loading"));
|
|
1973
1968
|
}
|
|
1974
1969
|
for (const { isIntersecting, target } of entries) {
|
|
1975
1970
|
isIntersecting && observer.unobserve(target);
|
|
@@ -1978,15 +1973,6 @@
|
|
|
1978
1973
|
...options
|
|
1979
1974
|
});
|
|
1980
1975
|
}
|
|
1981
|
-
function preloadMedia(el, preload = 5) {
|
|
1982
|
-
loadLazyElements(el, preload);
|
|
1983
|
-
for (const video of $$('video[preload="none"]', el)) {
|
|
1984
|
-
video.preload = "";
|
|
1985
|
-
}
|
|
1986
|
-
}
|
|
1987
|
-
function loadLazyElements(el, preload) {
|
|
1988
|
-
$$('[loading="lazy"]', el).slice(0, preload - 1).forEach((el2) => removeAttr(el2, "loading"));
|
|
1989
|
-
}
|
|
1990
1976
|
function viewport(options) {
|
|
1991
1977
|
return observe((target, handler) => observeViewportResize(handler), options, "resize");
|
|
1992
1978
|
}
|
|
@@ -2050,12 +2036,10 @@
|
|
|
2050
2036
|
var Margin = {
|
|
2051
2037
|
props: {
|
|
2052
2038
|
margin: String,
|
|
2053
|
-
firstRow: Boolean,
|
|
2054
2039
|
firstColumn: Boolean
|
|
2055
2040
|
},
|
|
2056
2041
|
data: {
|
|
2057
2042
|
margin: "uk-margin-small-top",
|
|
2058
|
-
firstRow: false,
|
|
2059
2043
|
firstColumn: "uk-first-column"
|
|
2060
2044
|
},
|
|
2061
2045
|
observe: [
|
|
@@ -2095,7 +2079,6 @@
|
|
|
2095
2079
|
for (const row of rows) {
|
|
2096
2080
|
for (const el of row) {
|
|
2097
2081
|
toggleClass(el, this.margin, rows[0] !== row);
|
|
2098
|
-
toggleClass(el, this.firstRow, rows[0] === row);
|
|
2099
2082
|
toggleClass(el, this.firstColumn, row[isRtl ? row.length - 1 : 0] === el);
|
|
2100
2083
|
}
|
|
2101
2084
|
}
|
|
@@ -2843,18 +2826,20 @@
|
|
|
2843
2826
|
if (show) {
|
|
2844
2827
|
_toggle(el, true);
|
|
2845
2828
|
}
|
|
2846
|
-
const prevProps =
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2829
|
+
const prevProps = Object.fromEntries(
|
|
2830
|
+
[
|
|
2831
|
+
"padding",
|
|
2832
|
+
"border",
|
|
2833
|
+
"width",
|
|
2834
|
+
"height",
|
|
2835
|
+
"minWidth",
|
|
2836
|
+
"minHeight",
|
|
2837
|
+
"overflowY",
|
|
2838
|
+
"overflowX",
|
|
2839
|
+
marginProp,
|
|
2840
|
+
marginStartProp
|
|
2841
|
+
].map((key) => [key, el.style[key]])
|
|
2842
|
+
);
|
|
2858
2843
|
const dim = dimensions$1(el);
|
|
2859
2844
|
const currentMargin = toFloat(css(el, marginProp));
|
|
2860
2845
|
const marginStart = toFloat(css(el, marginStartProp));
|
|
@@ -3128,11 +3113,18 @@
|
|
|
3128
3113
|
|
|
3129
3114
|
var Animations$2 = {
|
|
3130
3115
|
slide: {
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3116
|
+
show(dir) {
|
|
3117
|
+
return [{ transform: translate(dir * -100) }, { transform: translate() }];
|
|
3118
|
+
},
|
|
3119
|
+
percent(current) {
|
|
3120
|
+
return translated(current);
|
|
3121
|
+
},
|
|
3122
|
+
translate(percent, dir) {
|
|
3123
|
+
return [
|
|
3124
|
+
{ transform: translate(dir * -100 * percent) },
|
|
3125
|
+
{ transform: translate(dir * 100 * (1 - percent)) }
|
|
3126
|
+
];
|
|
3127
|
+
}
|
|
3136
3128
|
}
|
|
3137
3129
|
};
|
|
3138
3130
|
function translated(el) {
|
|
@@ -3143,8 +3135,8 @@
|
|
|
3143
3135
|
}
|
|
3144
3136
|
|
|
3145
3137
|
function Transitioner$1(prev, next, dir, { animation, easing }) {
|
|
3146
|
-
const { percent, translate } = animation;
|
|
3147
|
-
const props =
|
|
3138
|
+
const { percent, translate, show = noop } = animation;
|
|
3139
|
+
const props = show(dir);
|
|
3148
3140
|
const { promise, resolve } = withResolvers();
|
|
3149
3141
|
return {
|
|
3150
3142
|
dir,
|
|
@@ -3426,7 +3418,7 @@
|
|
|
3426
3418
|
return Math.atan2(Math.abs(pos2.y - pos1.y), Math.abs(pos2.x - pos1.x)) * 180 / Math.PI;
|
|
3427
3419
|
}
|
|
3428
3420
|
|
|
3429
|
-
var VERSION = '3.25.27
|
|
3421
|
+
var VERSION = '3.25.27';
|
|
3430
3422
|
|
|
3431
3423
|
function initWatches(instance) {
|
|
3432
3424
|
instance._watches = [];
|
|
@@ -3635,7 +3627,7 @@
|
|
|
3635
3627
|
}
|
|
3636
3628
|
const getAttributes = memoize((id, props) => {
|
|
3637
3629
|
const attributes = Object.keys(props);
|
|
3638
|
-
const filter =
|
|
3630
|
+
const filter = attributes.concat(id).flatMap((key) => [hyphenate(key), `data-${hyphenate(key)}`]);
|
|
3639
3631
|
return { attributes, filter };
|
|
3640
3632
|
});
|
|
3641
3633
|
function initPropsObserver(instance) {
|
|
@@ -3725,10 +3717,14 @@
|
|
|
3725
3717
|
}
|
|
3726
3718
|
function normalizeData({ data = {} }, { args = [], props = {} }) {
|
|
3727
3719
|
if (isArray(data)) {
|
|
3728
|
-
data = data.slice(0, args.length).reduce(
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3720
|
+
data = data.slice(0, args.length).reduce((data2, value, index) => {
|
|
3721
|
+
if (isPlainObject(value)) {
|
|
3722
|
+
assign(data2, value);
|
|
3723
|
+
} else {
|
|
3724
|
+
data2[args[index]] = value;
|
|
3725
|
+
}
|
|
3726
|
+
return data2;
|
|
3727
|
+
}, {});
|
|
3732
3728
|
}
|
|
3733
3729
|
for (const key in data) {
|
|
3734
3730
|
if (isUndefined(data[key])) {
|
|
@@ -3776,10 +3772,11 @@
|
|
|
3776
3772
|
function init(element2) {
|
|
3777
3773
|
const instance = getComponent(element2, name);
|
|
3778
3774
|
if (instance) {
|
|
3779
|
-
if (
|
|
3775
|
+
if (data) {
|
|
3776
|
+
instance.$destroy();
|
|
3777
|
+
} else {
|
|
3780
3778
|
return instance;
|
|
3781
3779
|
}
|
|
3782
|
-
instance.$destroy();
|
|
3783
3780
|
}
|
|
3784
3781
|
return new Component({ el: element2, data });
|
|
3785
3782
|
}
|
|
@@ -4280,35 +4277,75 @@
|
|
|
4280
4277
|
var Animations$1 = {
|
|
4281
4278
|
...Animations$2,
|
|
4282
4279
|
fade: {
|
|
4283
|
-
|
|
4284
|
-
|
|
4280
|
+
show() {
|
|
4281
|
+
return [{ opacity: 0, zIndex: 0 }, { zIndex: -1 }];
|
|
4282
|
+
},
|
|
4283
|
+
percent(current) {
|
|
4284
|
+
return 1 - css(current, "opacity");
|
|
4285
|
+
},
|
|
4286
|
+
translate(percent) {
|
|
4287
|
+
return [{ opacity: 1 - percent, zIndex: 0 }, { zIndex: -1 }];
|
|
4288
|
+
}
|
|
4285
4289
|
},
|
|
4286
4290
|
scale: {
|
|
4287
|
-
|
|
4288
|
-
|
|
4289
|
-
|
|
4290
|
-
|
|
4291
|
-
|
|
4291
|
+
show() {
|
|
4292
|
+
return [{ opacity: 0, transform: scale3d(1 + 0.5), zIndex: 0 }, { zIndex: -1 }];
|
|
4293
|
+
},
|
|
4294
|
+
percent(current) {
|
|
4295
|
+
return 1 - css(current, "opacity");
|
|
4296
|
+
},
|
|
4297
|
+
translate(percent) {
|
|
4298
|
+
return [
|
|
4299
|
+
{ opacity: 1 - percent, transform: scale3d(1 + 0.5 * percent), zIndex: 0 },
|
|
4300
|
+
{ zIndex: -1 }
|
|
4301
|
+
];
|
|
4302
|
+
}
|
|
4292
4303
|
},
|
|
4293
4304
|
pull: {
|
|
4294
|
-
|
|
4295
|
-
|
|
4296
|
-
|
|
4297
|
-
|
|
4298
|
-
|
|
4299
|
-
|
|
4300
|
-
|
|
4301
|
-
|
|
4305
|
+
show(dir) {
|
|
4306
|
+
return dir < 0 ? [
|
|
4307
|
+
{ transform: translate(30), zIndex: -1 },
|
|
4308
|
+
{ transform: translate(), zIndex: 0 }
|
|
4309
|
+
] : [
|
|
4310
|
+
{ transform: translate(-100), zIndex: 0 },
|
|
4311
|
+
{ transform: translate(), zIndex: -1 }
|
|
4312
|
+
];
|
|
4313
|
+
},
|
|
4314
|
+
percent(current, next, dir) {
|
|
4315
|
+
return dir < 0 ? 1 - translated(next) : translated(current);
|
|
4316
|
+
},
|
|
4317
|
+
translate(percent, dir) {
|
|
4318
|
+
return dir < 0 ? [
|
|
4319
|
+
{ transform: translate(30 * percent), zIndex: -1 },
|
|
4320
|
+
{ transform: translate(-100 * (1 - percent)), zIndex: 0 }
|
|
4321
|
+
] : [
|
|
4322
|
+
{ transform: translate(-percent * 100), zIndex: 0 },
|
|
4323
|
+
{ transform: translate(30 * (1 - percent)), zIndex: -1 }
|
|
4324
|
+
];
|
|
4325
|
+
}
|
|
4302
4326
|
},
|
|
4303
4327
|
push: {
|
|
4304
|
-
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4328
|
+
show(dir) {
|
|
4329
|
+
return dir < 0 ? [
|
|
4330
|
+
{ transform: translate(100), zIndex: 0 },
|
|
4331
|
+
{ transform: translate(), zIndex: -1 }
|
|
4332
|
+
] : [
|
|
4333
|
+
{ transform: translate(-30), zIndex: -1 },
|
|
4334
|
+
{ transform: translate(), zIndex: 0 }
|
|
4335
|
+
];
|
|
4336
|
+
},
|
|
4337
|
+
percent(current, next, dir) {
|
|
4338
|
+
return dir > 0 ? 1 - translated(next) : translated(current);
|
|
4339
|
+
},
|
|
4340
|
+
translate(percent, dir) {
|
|
4341
|
+
return dir < 0 ? [
|
|
4342
|
+
{ transform: translate(percent * 100), zIndex: 0 },
|
|
4343
|
+
{ transform: translate(-30 * (1 - percent)), zIndex: -1 }
|
|
4344
|
+
] : [
|
|
4345
|
+
{ transform: translate(-30 * percent), zIndex: -1 },
|
|
4346
|
+
{ transform: translate(100 * (1 - percent)), zIndex: 0 }
|
|
4347
|
+
];
|
|
4348
|
+
}
|
|
4312
4349
|
}
|
|
4313
4350
|
};
|
|
4314
4351
|
function scale3d(value) {
|
|
@@ -4318,15 +4355,32 @@
|
|
|
4318
4355
|
var Animations = {
|
|
4319
4356
|
...Animations$2,
|
|
4320
4357
|
fade: {
|
|
4321
|
-
|
|
4322
|
-
|
|
4358
|
+
show() {
|
|
4359
|
+
return [{ opacity: 0 }, { opacity: 1 }];
|
|
4360
|
+
},
|
|
4361
|
+
percent(current) {
|
|
4362
|
+
return 1 - css(current, "opacity");
|
|
4363
|
+
},
|
|
4364
|
+
translate(percent) {
|
|
4365
|
+
return [{ opacity: 1 - percent }, { opacity: percent }];
|
|
4366
|
+
}
|
|
4323
4367
|
},
|
|
4324
4368
|
scale: {
|
|
4325
|
-
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4369
|
+
show() {
|
|
4370
|
+
return [
|
|
4371
|
+
{ opacity: 0, transform: scale3d(1 - 0.2) },
|
|
4372
|
+
{ opacity: 1, transform: scale3d(1) }
|
|
4373
|
+
];
|
|
4374
|
+
},
|
|
4375
|
+
percent(current) {
|
|
4376
|
+
return 1 - css(current, "opacity");
|
|
4377
|
+
},
|
|
4378
|
+
translate(percent) {
|
|
4379
|
+
return [
|
|
4380
|
+
{ opacity: 1 - percent, transform: scale3d(1 - 0.2 * percent) },
|
|
4381
|
+
{ opacity: percent, transform: scale3d(1 - 0.2 + 0.2 * percent) }
|
|
4382
|
+
];
|
|
4383
|
+
}
|
|
4330
4384
|
}
|
|
4331
4385
|
};
|
|
4332
4386
|
|
|
@@ -4500,22 +4554,81 @@
|
|
|
4500
4554
|
if (!src) {
|
|
4501
4555
|
return;
|
|
4502
4556
|
}
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4557
|
+
let matches2;
|
|
4558
|
+
const iframeAttrs = {
|
|
4559
|
+
allowfullscreen: "",
|
|
4560
|
+
style: "max-width: 100%; box-sizing: border-box;",
|
|
4561
|
+
"uk-responsive": "",
|
|
4562
|
+
"uk-video": Boolean(this.videoAutoplay)
|
|
4563
|
+
};
|
|
4564
|
+
if (type === "image" || isImage(src)) {
|
|
4565
|
+
const img = createEl("img");
|
|
4566
|
+
wrapInPicture(img, item.sources);
|
|
4567
|
+
attr(img, {
|
|
4568
|
+
src,
|
|
4569
|
+
...pick(item, ["alt", "srcset", "sizes"]),
|
|
4570
|
+
...attrs
|
|
4571
|
+
});
|
|
4572
|
+
on(img, "load", () => this.setItem(item, parent(img) || img));
|
|
4573
|
+
on(img, "error", () => this.setError(item));
|
|
4574
|
+
} else if (type === "video" || isVideo(src)) {
|
|
4575
|
+
const inline = this.videoAutoplay === "inline";
|
|
4576
|
+
const video = createEl("video", {
|
|
4577
|
+
src,
|
|
4578
|
+
playsinline: "",
|
|
4579
|
+
controls: inline ? null : "",
|
|
4580
|
+
loop: inline ? "" : null,
|
|
4581
|
+
muted: inline ? "" : null,
|
|
4582
|
+
poster: this.videoAutoplay ? null : item.poster,
|
|
4583
|
+
"uk-video": Boolean(this.videoAutoplay),
|
|
4584
|
+
...attrs
|
|
4585
|
+
});
|
|
4586
|
+
on(video, "loadedmetadata", () => this.setItem(item, video));
|
|
4587
|
+
on(video, "error", () => this.setError(item));
|
|
4588
|
+
} else if (type === "iframe" || src.match(/\.(html|php)($|\?)/i)) {
|
|
4589
|
+
this.setItem(
|
|
4590
|
+
item,
|
|
4591
|
+
createEl("iframe", {
|
|
4592
|
+
src,
|
|
4593
|
+
allowfullscreen: "",
|
|
4594
|
+
class: "uk-lightbox-iframe",
|
|
4595
|
+
...attrs
|
|
4596
|
+
})
|
|
4597
|
+
);
|
|
4598
|
+
} else if (matches2 = src.match(
|
|
4599
|
+
/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/
|
|
4600
|
+
)) {
|
|
4601
|
+
this.setItem(
|
|
4602
|
+
item,
|
|
4603
|
+
createEl("iframe", {
|
|
4604
|
+
src: `https://www.youtube${matches2[1] || ""}.com/embed/${matches2[2]}${matches2[3] ? `?${matches2[3]}` : ""}`,
|
|
4605
|
+
width: 1920,
|
|
4606
|
+
height: 1080,
|
|
4607
|
+
...iframeAttrs,
|
|
4608
|
+
...attrs
|
|
4609
|
+
})
|
|
4610
|
+
);
|
|
4611
|
+
} else if (matches2 = src.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/)) {
|
|
4612
|
+
try {
|
|
4613
|
+
const { height, width } = await (await fetch(
|
|
4614
|
+
`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(
|
|
4615
|
+
src
|
|
4616
|
+
)}`,
|
|
4617
|
+
{ credentials: "omit" }
|
|
4618
|
+
)).json();
|
|
4619
|
+
this.setItem(
|
|
4620
|
+
item,
|
|
4621
|
+
createEl("iframe", {
|
|
4622
|
+
src: `https://player.vimeo.com/video/${matches2[1]}${matches2[2] ? `?${matches2[2]}` : ""}`,
|
|
4623
|
+
width,
|
|
4624
|
+
height,
|
|
4625
|
+
...iframeAttrs,
|
|
4626
|
+
...attrs
|
|
4627
|
+
})
|
|
4628
|
+
);
|
|
4629
|
+
} catch {
|
|
4630
|
+
this.setError(item);
|
|
4516
4631
|
}
|
|
4517
|
-
} catch {
|
|
4518
|
-
this.setError(item);
|
|
4519
4632
|
}
|
|
4520
4633
|
}
|
|
4521
4634
|
},
|
|
@@ -4575,91 +4688,6 @@
|
|
|
4575
4688
|
attr(el, attrs);
|
|
4576
4689
|
return el;
|
|
4577
4690
|
}
|
|
4578
|
-
async function loadImage({ src, type, attrs, item }) {
|
|
4579
|
-
if (type !== "image" && !isImage(src)) {
|
|
4580
|
-
return;
|
|
4581
|
-
}
|
|
4582
|
-
const img = createEl("img");
|
|
4583
|
-
wrapInPicture(img, item.sources);
|
|
4584
|
-
attr(img, {
|
|
4585
|
-
src,
|
|
4586
|
-
...pick(item, ["alt", "srcset", "sizes"]),
|
|
4587
|
-
...attrs
|
|
4588
|
-
});
|
|
4589
|
-
await img.decode();
|
|
4590
|
-
return parent(img) || img;
|
|
4591
|
-
}
|
|
4592
|
-
function loadVideo({ src, type, attrs, item, cmp }) {
|
|
4593
|
-
if (type !== "video" && !isVideo(src)) {
|
|
4594
|
-
return;
|
|
4595
|
-
}
|
|
4596
|
-
const inline = cmp.videoAutoplay === "inline";
|
|
4597
|
-
const video = createEl("video", {
|
|
4598
|
-
src,
|
|
4599
|
-
playsinline: "",
|
|
4600
|
-
controls: inline ? null : "",
|
|
4601
|
-
loop: inline ? "" : null,
|
|
4602
|
-
muted: inline ? "" : null,
|
|
4603
|
-
poster: cmp.videoAutoplay ? null : item.poster,
|
|
4604
|
-
"uk-video": Boolean(cmp.videoAutoplay),
|
|
4605
|
-
...attrs
|
|
4606
|
-
});
|
|
4607
|
-
return new Promise((resolve, reject) => {
|
|
4608
|
-
on(video, "loadedmetadata", () => resolve(video));
|
|
4609
|
-
on(video, "error", reject);
|
|
4610
|
-
});
|
|
4611
|
-
}
|
|
4612
|
-
function loadIframe({ src, type, attrs }) {
|
|
4613
|
-
if (type !== "iframe" && !/\.(html|php)($|\?)/i.test(src)) {
|
|
4614
|
-
return;
|
|
4615
|
-
}
|
|
4616
|
-
return createEl("iframe", {
|
|
4617
|
-
src,
|
|
4618
|
-
allowfullscreen: "",
|
|
4619
|
-
class: "uk-lightbox-iframe",
|
|
4620
|
-
...attrs
|
|
4621
|
-
});
|
|
4622
|
-
}
|
|
4623
|
-
function loadYouTube({ src, attrs, cmp }) {
|
|
4624
|
-
const matches2 = src.match(
|
|
4625
|
-
/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/
|
|
4626
|
-
);
|
|
4627
|
-
if (!matches2) {
|
|
4628
|
-
return;
|
|
4629
|
-
}
|
|
4630
|
-
return createEl("iframe", {
|
|
4631
|
-
src: `https://www.youtube${matches2[1] || ""}.com/embed/${matches2[2]}${matches2[3] ? `?${matches2[3]}` : ""}`,
|
|
4632
|
-
width: 1920,
|
|
4633
|
-
height: 1080,
|
|
4634
|
-
...getIframeAttrs(cmp),
|
|
4635
|
-
...attrs
|
|
4636
|
-
});
|
|
4637
|
-
}
|
|
4638
|
-
async function loadVimeo({ src, attrs, cmp }) {
|
|
4639
|
-
const matches2 = src.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/);
|
|
4640
|
-
if (!matches2) {
|
|
4641
|
-
return;
|
|
4642
|
-
}
|
|
4643
|
-
const { height, width } = await (await fetch(
|
|
4644
|
-
`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURIComponent(src)}`,
|
|
4645
|
-
{ credentials: "omit" }
|
|
4646
|
-
)).json();
|
|
4647
|
-
return createEl("iframe", {
|
|
4648
|
-
src: `https://player.vimeo.com/video/${matches2[1]}${matches2[2] ? `?${matches2[2]}` : ""}`,
|
|
4649
|
-
width,
|
|
4650
|
-
height,
|
|
4651
|
-
...getIframeAttrs(cmp),
|
|
4652
|
-
...attrs
|
|
4653
|
-
});
|
|
4654
|
-
}
|
|
4655
|
-
function getIframeAttrs(cmp) {
|
|
4656
|
-
return {
|
|
4657
|
-
allowfullscreen: "",
|
|
4658
|
-
style: "max-width: 100%; box-sizing: border-box;",
|
|
4659
|
-
"uk-responsive": "",
|
|
4660
|
-
"uk-video": Boolean(cmp.videoAutoplay)
|
|
4661
|
-
};
|
|
4662
|
-
}
|
|
4663
4691
|
function toThumbnavItem(item, videoAutoplay) {
|
|
4664
4692
|
const el = item.poster || item.thumb && (item.type === "image" || isImage(item.thumb)) ? createEl("img", { src: item.poster || item.thumb, alt: "" }) : item.thumb && (item.type === "video" || isVideo(item.thumb)) ? createEl("video", {
|
|
4665
4693
|
src: item.thumb,
|
|
@@ -4745,7 +4773,7 @@
|
|
|
4745
4773
|
if (items[i].thumb) {
|
|
4746
4774
|
continue;
|
|
4747
4775
|
}
|
|
4748
|
-
const parent =
|
|
4776
|
+
const parent = parents(toggle).reverse().concat(toggle).find(
|
|
4749
4777
|
(parent2) => this.$el.contains(parent2) && (parent2 === toggle || $$(this.toggle, parent2).length === 1)
|
|
4750
4778
|
);
|
|
4751
4779
|
if (!parent) {
|
|
@@ -4768,121 +4796,6 @@
|
|
|
4768
4796
|
return item;
|
|
4769
4797
|
}
|
|
4770
4798
|
|
|
4771
|
-
const hasAnimationApi = inBrowser && window.Animation;
|
|
4772
|
-
var marquee = {
|
|
4773
|
-
mixins: [Class],
|
|
4774
|
-
props: {
|
|
4775
|
-
velocity: Number,
|
|
4776
|
-
start: Number,
|
|
4777
|
-
reverse: Boolean,
|
|
4778
|
-
pause: Boolean,
|
|
4779
|
-
pauseVelocity: Number,
|
|
4780
|
-
fadeSize: null
|
|
4781
|
-
},
|
|
4782
|
-
data: {
|
|
4783
|
-
velocity: 25,
|
|
4784
|
-
start: 0,
|
|
4785
|
-
reverse: false,
|
|
4786
|
-
pause: false,
|
|
4787
|
-
pauseVelocity: 10,
|
|
4788
|
-
selList: ".uk-marquee-items",
|
|
4789
|
-
fadeSize: 0
|
|
4790
|
-
},
|
|
4791
|
-
computed: {
|
|
4792
|
-
list: ({ selList }, $el) => $(selList, $el),
|
|
4793
|
-
items() {
|
|
4794
|
-
return children(this.list);
|
|
4795
|
-
}
|
|
4796
|
-
},
|
|
4797
|
-
watch: {
|
|
4798
|
-
items() {
|
|
4799
|
-
this.$emit();
|
|
4800
|
-
}
|
|
4801
|
-
},
|
|
4802
|
-
observe: [
|
|
4803
|
-
resize({
|
|
4804
|
-
target: ({ $el, items }) => [$el, ...items]
|
|
4805
|
-
}),
|
|
4806
|
-
intersection({
|
|
4807
|
-
handler(entries) {
|
|
4808
|
-
let active;
|
|
4809
|
-
for (const entry of entries) {
|
|
4810
|
-
entry.target.inert = !entry.isIntersecting;
|
|
4811
|
-
active || (active = entry.isIntersecting && entry.target);
|
|
4812
|
-
}
|
|
4813
|
-
if (!active) {
|
|
4814
|
-
return;
|
|
4815
|
-
}
|
|
4816
|
-
const { items } = this;
|
|
4817
|
-
const index = items.indexOf(active);
|
|
4818
|
-
if (!~index) {
|
|
4819
|
-
return;
|
|
4820
|
-
}
|
|
4821
|
-
const direction = this.reverse ? 1 : -1;
|
|
4822
|
-
for (let offset = 1; offset < items.length; offset++) {
|
|
4823
|
-
const item = items[getIndex(index + direction * offset, items)];
|
|
4824
|
-
if (item.inert) {
|
|
4825
|
-
preloadMedia(item);
|
|
4826
|
-
break;
|
|
4827
|
-
}
|
|
4828
|
-
}
|
|
4829
|
-
},
|
|
4830
|
-
target: ({ items }) => items,
|
|
4831
|
-
args: { intersecting: false },
|
|
4832
|
-
options: ({ $el }) => ({ root: $el })
|
|
4833
|
-
})
|
|
4834
|
-
],
|
|
4835
|
-
methods: {
|
|
4836
|
-
vertical() {
|
|
4837
|
-
return hasClass(this.$el, `${this.$options.id}-vertical`);
|
|
4838
|
-
}
|
|
4839
|
-
},
|
|
4840
|
-
events: {
|
|
4841
|
-
name: [pointerEnter, pointerLeave],
|
|
4842
|
-
el: ({ $el }) => $el,
|
|
4843
|
-
self: true,
|
|
4844
|
-
filter: ({ pause }) => hasAnimationApi && pause,
|
|
4845
|
-
handler(e) {
|
|
4846
|
-
for (const el of this.items) {
|
|
4847
|
-
for (const animation of el.getAnimations()) {
|
|
4848
|
-
animation.playbackRate = e.type === pointerEnter ? this.pauseVelocity / this.velocity : 1;
|
|
4849
|
-
}
|
|
4850
|
-
}
|
|
4851
|
-
}
|
|
4852
|
-
},
|
|
4853
|
-
update: {
|
|
4854
|
-
write() {
|
|
4855
|
-
const prefix = this.$options.id;
|
|
4856
|
-
const items = this.items;
|
|
4857
|
-
const vertical = this.vertical();
|
|
4858
|
-
css(items, "offset", "none");
|
|
4859
|
-
const dir = vertical ? ["top", "bottom"] : ["left", "right"];
|
|
4860
|
-
if (!vertical && isRtl) {
|
|
4861
|
-
dir.reverse();
|
|
4862
|
-
}
|
|
4863
|
-
const listStart = dimensions$1(this.list)[dir[0]];
|
|
4864
|
-
const itemEnds = items.map((el) => dimensions$1(el)[dir[1]]);
|
|
4865
|
-
const listEnd = Math[!vertical && isRtl ? "min" : "max"](...itemEnds);
|
|
4866
|
-
for (const [index, el] of items.entries()) {
|
|
4867
|
-
const elEnd = itemEnds[index];
|
|
4868
|
-
const line1 = listEnd - elEnd;
|
|
4869
|
-
const line2 = elEnd - listStart;
|
|
4870
|
-
const path = vertical ? `"M0 0 v${line1}M0 ${-line2} v${line2}"` : `"M0 0 h${line1}M${-line2} 0 h${line2}"`;
|
|
4871
|
-
css(el, `--${prefix}-path`, path);
|
|
4872
|
-
}
|
|
4873
|
-
css(this.$el, {
|
|
4874
|
-
[`--${prefix}-duration`]: `${Math.abs(listStart - listEnd) / this.velocity}s`,
|
|
4875
|
-
[`--${prefix}-start`]: this.start,
|
|
4876
|
-
[`--${prefix}-direction`]: this.reverse ? "reverse" : "normal",
|
|
4877
|
-
"--uk-overflow-fade-size": this.fadeSize ? `${toPx(this.fadeSize, vertical ? "height" : "width", this.$el, true)}px` : ""
|
|
4878
|
-
});
|
|
4879
|
-
toggleClass(this.$el, `${prefix}-fade`, this.fadeSize);
|
|
4880
|
-
css(items, "offset", "");
|
|
4881
|
-
},
|
|
4882
|
-
events: ["resize"]
|
|
4883
|
-
}
|
|
4884
|
-
};
|
|
4885
|
-
|
|
4886
4799
|
var notification = {
|
|
4887
4800
|
mixins: [Container],
|
|
4888
4801
|
functional: true,
|
|
@@ -4891,7 +4804,6 @@
|
|
|
4891
4804
|
message: "",
|
|
4892
4805
|
status: "",
|
|
4893
4806
|
timeout: 5e3,
|
|
4894
|
-
duration: 400,
|
|
4895
4807
|
group: "",
|
|
4896
4808
|
pos: "top-center",
|
|
4897
4809
|
clsContainer: "uk-notification",
|
|
@@ -4921,11 +4833,10 @@
|
|
|
4921
4833
|
},
|
|
4922
4834
|
async connected() {
|
|
4923
4835
|
const margin = toFloat(css(this.$el, this.marginProp));
|
|
4924
|
-
await Transition.start(
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
|
|
4928
|
-
);
|
|
4836
|
+
await Transition.start(css(this.$el, this.startProps), {
|
|
4837
|
+
opacity: 1,
|
|
4838
|
+
[this.marginProp]: margin
|
|
4839
|
+
});
|
|
4929
4840
|
if (this.timeout) {
|
|
4930
4841
|
this.timer = setTimeout(this.close, this.timeout);
|
|
4931
4842
|
}
|
|
@@ -4960,7 +4871,7 @@
|
|
|
4960
4871
|
clearTimeout(this.timer);
|
|
4961
4872
|
}
|
|
4962
4873
|
if (!immediate) {
|
|
4963
|
-
await Transition.start(this.$el, this.startProps
|
|
4874
|
+
await Transition.start(this.$el, this.startProps);
|
|
4964
4875
|
}
|
|
4965
4876
|
removeFn(this.$el);
|
|
4966
4877
|
}
|
|
@@ -5317,7 +5228,10 @@
|
|
|
5317
5228
|
return val;
|
|
5318
5229
|
}
|
|
5319
5230
|
function fillObject(keys2, value) {
|
|
5320
|
-
return
|
|
5231
|
+
return keys2.reduce((data, prop) => {
|
|
5232
|
+
data[prop] = value;
|
|
5233
|
+
return data;
|
|
5234
|
+
}, {});
|
|
5321
5235
|
}
|
|
5322
5236
|
function ease(percent, easing) {
|
|
5323
5237
|
return easing >= 0 ? Math.pow(percent, easing + 1) : 1 - Math.pow(1 - percent, 1 - easing);
|
|
@@ -5391,14 +5305,16 @@
|
|
|
5391
5305
|
return el ? "offsetTop" in el ? el : getOffsetElement(parent(el)) : document.documentElement;
|
|
5392
5306
|
}
|
|
5393
5307
|
|
|
5394
|
-
var
|
|
5308
|
+
var SliderParallax = {
|
|
5395
5309
|
props: {
|
|
5310
|
+
parallax: Boolean,
|
|
5396
5311
|
parallaxTarget: Boolean,
|
|
5397
5312
|
parallaxStart: String,
|
|
5398
5313
|
parallaxEnd: String,
|
|
5399
5314
|
parallaxEasing: Number
|
|
5400
5315
|
},
|
|
5401
5316
|
data: {
|
|
5317
|
+
parallax: false,
|
|
5402
5318
|
parallaxTarget: false,
|
|
5403
5319
|
parallaxStart: 0,
|
|
5404
5320
|
parallaxEnd: 0,
|
|
@@ -5412,48 +5328,26 @@
|
|
|
5412
5328
|
scroll$1({ filter: ({ parallax }) => parallax })
|
|
5413
5329
|
],
|
|
5414
5330
|
computed: {
|
|
5415
|
-
parallaxTargetFallback: ($props, $el) => $el,
|
|
5416
5331
|
parallaxTarget({ parallaxTarget }, $el) {
|
|
5417
|
-
return parallaxTarget && query(parallaxTarget, $el) || this.
|
|
5332
|
+
return parallaxTarget && query(parallaxTarget, $el) || this.list;
|
|
5418
5333
|
}
|
|
5419
5334
|
},
|
|
5420
5335
|
update: {
|
|
5421
5336
|
read() {
|
|
5422
5337
|
if (!this.parallax) {
|
|
5423
|
-
return;
|
|
5338
|
+
return false;
|
|
5424
5339
|
}
|
|
5425
5340
|
const target = this.parallaxTarget;
|
|
5426
5341
|
if (!target) {
|
|
5427
|
-
return;
|
|
5342
|
+
return false;
|
|
5428
5343
|
}
|
|
5429
5344
|
const start = toPx(this.parallaxStart, "height", target, true);
|
|
5430
5345
|
const end = toPx(this.parallaxEnd, "height", target, true);
|
|
5431
5346
|
const percent = ease(scrolledOver(target, start, end), this.parallaxEasing);
|
|
5432
|
-
return { percent };
|
|
5347
|
+
return { parallax: this.getIndexAt(percent) };
|
|
5433
5348
|
},
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
-
};
|
|
5437
|
-
|
|
5438
|
-
var SliderParallax = {
|
|
5439
|
-
mixins: [ScrollDriven],
|
|
5440
|
-
props: {
|
|
5441
|
-
parallax: Boolean
|
|
5442
|
-
},
|
|
5443
|
-
data: {
|
|
5444
|
-
parallax: false
|
|
5445
|
-
},
|
|
5446
|
-
computed: {
|
|
5447
|
-
parallaxTargetFallback() {
|
|
5448
|
-
return this.list;
|
|
5449
|
-
}
|
|
5450
|
-
},
|
|
5451
|
-
update: {
|
|
5452
|
-
write({ percent }) {
|
|
5453
|
-
if (!this.parallax) {
|
|
5454
|
-
return;
|
|
5455
|
-
}
|
|
5456
|
-
const [prevIndex, slidePercent] = this.getIndexAt(percent);
|
|
5349
|
+
write({ parallax }) {
|
|
5350
|
+
const [prevIndex, slidePercent] = parallax;
|
|
5457
5351
|
const nextIndex = this.getValidIndex(prevIndex + Math.ceil(slidePercent));
|
|
5458
5352
|
const prev = this.slides[prevIndex];
|
|
5459
5353
|
const next = this.slides[nextIndex];
|
|
@@ -5545,8 +5439,7 @@
|
|
|
5545
5439
|
var SliderPreload = {
|
|
5546
5440
|
observe: lazyload({
|
|
5547
5441
|
target: ({ slides }) => slides,
|
|
5548
|
-
targets: (instance) => instance.getAdjacentSlides()
|
|
5549
|
-
media: true
|
|
5442
|
+
targets: (instance) => instance.getAdjacentSlides()
|
|
5550
5443
|
}),
|
|
5551
5444
|
methods: {
|
|
5552
5445
|
getAdjacentSlides() {
|
|
@@ -6359,7 +6252,7 @@
|
|
|
6359
6252
|
inset: false
|
|
6360
6253
|
},
|
|
6361
6254
|
connected() {
|
|
6362
|
-
this.pos =
|
|
6255
|
+
this.pos = this.$props.pos.split("-").concat("center").slice(0, 2);
|
|
6363
6256
|
[this.dir, this.align] = this.pos;
|
|
6364
6257
|
this.axis = includes(["top", "bottom"], this.dir) ? "y" : "x";
|
|
6365
6258
|
},
|
|
@@ -6762,7 +6655,6 @@
|
|
|
6762
6655
|
Filter: filter,
|
|
6763
6656
|
Lightbox: lightbox,
|
|
6764
6657
|
LightboxPanel: LightboxPanel,
|
|
6765
|
-
Marquee: marquee,
|
|
6766
6658
|
Notification: notification,
|
|
6767
6659
|
Parallax: parallax,
|
|
6768
6660
|
Slider: slider,
|
|
@@ -6846,100 +6738,29 @@
|
|
|
6846
6738
|
globalApi(App);
|
|
6847
6739
|
instanceApi(App);
|
|
6848
6740
|
|
|
6849
|
-
const TogglableComponent = App.extend(Togglable);
|
|
6850
|
-
var Connect = {
|
|
6851
|
-
mixins: [Togglable],
|
|
6852
|
-
props: {
|
|
6853
|
-
connect: String
|
|
6854
|
-
},
|
|
6855
|
-
data: {
|
|
6856
|
-
connect: "",
|
|
6857
|
-
cls: "uk-active"
|
|
6858
|
-
},
|
|
6859
|
-
computed: {
|
|
6860
|
-
connects: {
|
|
6861
|
-
get: ({ connect }, $el) => connect ? queryAll(connect, $el) : [],
|
|
6862
|
-
observe: ({ connect }) => connect
|
|
6863
|
-
},
|
|
6864
|
-
connectChildren() {
|
|
6865
|
-
return this.connects.flatMap((el) => children(el));
|
|
6866
|
-
}
|
|
6867
|
-
},
|
|
6868
|
-
watch: {
|
|
6869
|
-
connects(connects) {
|
|
6870
|
-
for (const el of connects) {
|
|
6871
|
-
if (isTag(el, "ul")) {
|
|
6872
|
-
el.role = "presentation";
|
|
6873
|
-
}
|
|
6874
|
-
}
|
|
6875
|
-
}
|
|
6876
|
-
},
|
|
6877
|
-
observe: lazyload({ targets: ({ connectChildren }) => connectChildren }),
|
|
6878
|
-
update() {
|
|
6879
|
-
for (const index in this.toggles) {
|
|
6880
|
-
const toggle = this.toggles[index];
|
|
6881
|
-
if (!toggle) {
|
|
6882
|
-
continue;
|
|
6883
|
-
}
|
|
6884
|
-
toggle.id = generateId(this, toggle);
|
|
6885
|
-
for (const { children: children2 } of this.connects) {
|
|
6886
|
-
const item = children2[index];
|
|
6887
|
-
if (item) {
|
|
6888
|
-
attr(item, {
|
|
6889
|
-
id: generateId(this, item),
|
|
6890
|
-
role: "tabpanel",
|
|
6891
|
-
"aria-labelledby": toggle.id
|
|
6892
|
-
});
|
|
6893
|
-
}
|
|
6894
|
-
}
|
|
6895
|
-
}
|
|
6896
|
-
},
|
|
6897
|
-
methods: {
|
|
6898
|
-
showConnects(index, animate) {
|
|
6899
|
-
const toggle = async (el) => {
|
|
6900
|
-
const { children: children2 } = el;
|
|
6901
|
-
const animation = data(el, "uk-switcher-animation");
|
|
6902
|
-
let togglable = animation ? new TogglableComponent({ data: { ...this.$props, animation } }) : this;
|
|
6903
|
-
const actives = toArray(children2).filter(
|
|
6904
|
-
(child, i) => i !== index && hasClass(child, this.cls)
|
|
6905
|
-
);
|
|
6906
|
-
if (await togglable.toggleElement(actives, false, animate)) {
|
|
6907
|
-
await togglable.toggleElement(children2[index], true, animate);
|
|
6908
|
-
}
|
|
6909
|
-
};
|
|
6910
|
-
return Promise.all(this.connects.map(toggle));
|
|
6911
|
-
}
|
|
6912
|
-
}
|
|
6913
|
-
};
|
|
6914
|
-
|
|
6915
6741
|
const wrappers = /* @__PURE__ */ new WeakMap();
|
|
6916
6742
|
var Accordion = {
|
|
6917
|
-
mixins: [Class,
|
|
6743
|
+
mixins: [Class, Togglable],
|
|
6918
6744
|
props: {
|
|
6745
|
+
animation: Boolean,
|
|
6919
6746
|
targets: String,
|
|
6920
6747
|
active: null,
|
|
6921
6748
|
collapsible: Boolean,
|
|
6922
6749
|
multiple: Boolean,
|
|
6923
6750
|
toggle: String,
|
|
6924
6751
|
content: String,
|
|
6925
|
-
offset: Number
|
|
6926
|
-
switcherConnect: String
|
|
6752
|
+
offset: Number
|
|
6927
6753
|
},
|
|
6928
6754
|
data: {
|
|
6929
6755
|
targets: "> *",
|
|
6930
6756
|
active: false,
|
|
6931
|
-
animation:
|
|
6757
|
+
animation: true,
|
|
6932
6758
|
collapsible: true,
|
|
6933
6759
|
multiple: false,
|
|
6934
6760
|
clsOpen: "uk-open",
|
|
6935
|
-
cls: "uk-active",
|
|
6936
6761
|
toggle: ".uk-accordion-title",
|
|
6937
6762
|
content: ".uk-accordion-content",
|
|
6938
|
-
offset: 0
|
|
6939
|
-
switcherConnect: ""
|
|
6940
|
-
},
|
|
6941
|
-
beforeConnect() {
|
|
6942
|
-
this.connect = this.$props.connect = this.switcherConnect;
|
|
6763
|
+
offset: 0
|
|
6943
6764
|
},
|
|
6944
6765
|
computed: {
|
|
6945
6766
|
items: ({ targets }, $el) => $$(targets, $el),
|
|
@@ -6965,12 +6786,6 @@
|
|
|
6965
6786
|
this.toggle(active, false);
|
|
6966
6787
|
}
|
|
6967
6788
|
},
|
|
6968
|
-
connectChildren() {
|
|
6969
|
-
this.showConnects(
|
|
6970
|
-
findIndex(this.items, (el) => hasClass(el, this.clsOpen)),
|
|
6971
|
-
false
|
|
6972
|
-
);
|
|
6973
|
-
},
|
|
6974
6789
|
toggles() {
|
|
6975
6790
|
this.$emit();
|
|
6976
6791
|
},
|
|
@@ -7020,57 +6835,44 @@
|
|
|
7020
6835
|
if (!toggle || !content) {
|
|
7021
6836
|
continue;
|
|
7022
6837
|
}
|
|
6838
|
+
toggle.id = generateId(this, toggle);
|
|
6839
|
+
content.id = generateId(this, content);
|
|
7023
6840
|
const active = includes(activeItems, this.items[index2]);
|
|
7024
|
-
attr(content, {
|
|
7025
|
-
id: generateId(this, content),
|
|
7026
|
-
role: "region",
|
|
7027
|
-
"aria-labelledby": toggle.id
|
|
7028
|
-
});
|
|
7029
|
-
if (isTag(content, "ul")) {
|
|
7030
|
-
attr(children(content), "role", "presentation");
|
|
7031
|
-
}
|
|
7032
|
-
const controls = [
|
|
7033
|
-
content.id,
|
|
7034
|
-
...this.connects.map(({ children: children2 }) => {
|
|
7035
|
-
var _a;
|
|
7036
|
-
return (_a = children2[index2]) == null ? void 0 : _a.id;
|
|
7037
|
-
}).filter(Boolean)
|
|
7038
|
-
];
|
|
7039
6841
|
attr(toggle, {
|
|
7040
6842
|
role: isTag(toggle, "a") ? "button" : null,
|
|
7041
|
-
"aria-controls":
|
|
6843
|
+
"aria-controls": content.id,
|
|
7042
6844
|
"aria-expanded": active,
|
|
7043
6845
|
"aria-disabled": !this.collapsible && activeItems.length < 2 && active
|
|
7044
6846
|
});
|
|
6847
|
+
attr(content, { role: "region", "aria-labelledby": toggle.id });
|
|
6848
|
+
if (isTag(content, "ul")) {
|
|
6849
|
+
attr(children(content), "role", "presentation");
|
|
6850
|
+
}
|
|
7045
6851
|
}
|
|
7046
6852
|
},
|
|
7047
6853
|
methods: {
|
|
7048
|
-
|
|
7049
|
-
|
|
7050
|
-
const next = getIndex(item, this.items);
|
|
7051
|
-
item = this.items[next];
|
|
6854
|
+
toggle(item, animate) {
|
|
6855
|
+
item = this.items[getIndex(item, this.items)];
|
|
7052
6856
|
let items = [item];
|
|
7053
6857
|
const activeItems = filter$1(this.items, `.${this.clsOpen}`);
|
|
7054
|
-
|
|
7055
|
-
|
|
7056
|
-
|
|
7057
|
-
|
|
7058
|
-
|
|
7059
|
-
|
|
7060
|
-
|
|
7061
|
-
|
|
7062
|
-
|
|
7063
|
-
|
|
7064
|
-
|
|
7065
|
-
|
|
7066
|
-
|
|
7067
|
-
|
|
7068
|
-
|
|
7069
|
-
|
|
7070
|
-
|
|
7071
|
-
|
|
7072
|
-
this.showConnects(isActive ? hideIndex() : next, animate)
|
|
7073
|
-
]);
|
|
6858
|
+
if (!this.multiple && !includes(activeItems, items[0])) {
|
|
6859
|
+
items = items.concat(activeItems);
|
|
6860
|
+
}
|
|
6861
|
+
if (!this.collapsible && activeItems.length < 2 && includes(activeItems, item)) {
|
|
6862
|
+
items = [];
|
|
6863
|
+
}
|
|
6864
|
+
return Promise.all(
|
|
6865
|
+
items.map(
|
|
6866
|
+
(el) => this.toggleElement(el, !includes(activeItems, el), (el2, show) => {
|
|
6867
|
+
toggleClass(el2, this.clsOpen, show);
|
|
6868
|
+
if (animate === false || !this.animation) {
|
|
6869
|
+
hide($(this.content, el2), !show);
|
|
6870
|
+
return;
|
|
6871
|
+
}
|
|
6872
|
+
return transition(el2, show, this);
|
|
6873
|
+
})
|
|
6874
|
+
)
|
|
6875
|
+
);
|
|
7074
6876
|
}
|
|
7075
6877
|
}
|
|
7076
6878
|
};
|
|
@@ -7161,118 +6963,60 @@
|
|
|
7161
6963
|
);
|
|
7162
6964
|
}
|
|
7163
6965
|
|
|
7164
|
-
const loopKey = /* @__PURE__ */ Symbol();
|
|
7165
6966
|
var Video = {
|
|
7166
|
-
mixins: [Media, ScrollDriven],
|
|
7167
6967
|
args: "autoplay",
|
|
7168
6968
|
props: {
|
|
7169
6969
|
automute: Boolean,
|
|
7170
6970
|
autoplay: Boolean,
|
|
7171
6971
|
restart: Boolean,
|
|
7172
|
-
|
|
7173
|
-
inviewQueued: Number,
|
|
7174
|
-
hoverTarget: Boolean,
|
|
7175
|
-
hoverRewind: Number,
|
|
7176
|
-
reducedMotionTime: Number
|
|
6972
|
+
hoverTarget: Boolean
|
|
7177
6973
|
},
|
|
7178
6974
|
data: {
|
|
7179
6975
|
automute: false,
|
|
7180
6976
|
autoplay: true,
|
|
7181
6977
|
restart: false,
|
|
7182
|
-
|
|
7183
|
-
inviewQueued: 0,
|
|
7184
|
-
hoverTarget: false,
|
|
7185
|
-
hoverRewind: 0,
|
|
7186
|
-
reducedMotionTime: 0,
|
|
7187
|
-
media: "(prefers-reduced-motion: reduce)"
|
|
6978
|
+
hoverTarget: false
|
|
7188
6979
|
},
|
|
7189
6980
|
beforeConnect() {
|
|
7190
|
-
const isVideo =
|
|
7191
|
-
this.
|
|
7192
|
-
if (this.interactionDriven && !isVideo) {
|
|
7193
|
-
this.interactionDriven = this.autoplay = false;
|
|
7194
|
-
}
|
|
7195
|
-
this.restart = isVideo && this.restart;
|
|
7196
|
-
this.parallax = this.autoplay === "parallax";
|
|
7197
|
-
this.inviewQueued = isVideo && this.autoplay === "inview" && this.inviewQueued;
|
|
7198
|
-
if (this.inviewQueued) {
|
|
7199
|
-
this.$el[loopKey] = this.$el.loop;
|
|
7200
|
-
this.$el.loop = false;
|
|
7201
|
-
}
|
|
7202
|
-
if (["hover", "inview"].includes(this.autoplay) && isVideo && !hasAttr(this.$el, "preload")) {
|
|
6981
|
+
const isVideo = isTag(this.$el, "video");
|
|
6982
|
+
if (this.autoplay === "inview" && isVideo && !hasAttr(this.$el, "preload")) {
|
|
7203
6983
|
this.$el.preload = "none";
|
|
7204
6984
|
}
|
|
7205
6985
|
if (!isVideo && !hasAttr(this.$el, "allow")) {
|
|
7206
6986
|
this.$el.allow = "autoplay";
|
|
7207
6987
|
}
|
|
7208
6988
|
if (this.autoplay === "hover") {
|
|
7209
|
-
|
|
7210
|
-
|
|
7211
|
-
|
|
6989
|
+
if (isVideo) {
|
|
6990
|
+
this.$el.tabIndex = 0;
|
|
6991
|
+
} else {
|
|
6992
|
+
this.autoplay = true;
|
|
7212
6993
|
}
|
|
7213
6994
|
}
|
|
7214
6995
|
if (this.automute || hasAttr(this.$el, "muted")) {
|
|
7215
6996
|
mute(this.$el);
|
|
7216
6997
|
}
|
|
7217
6998
|
},
|
|
7218
|
-
connected() {
|
|
7219
|
-
if (!this.$el.controls && !this.$el.poster && (this.interactionDriven || this.inviewQueued)) {
|
|
7220
|
-
this.cancelPreview = preview(this.$el);
|
|
7221
|
-
}
|
|
7222
|
-
},
|
|
7223
|
-
disconnected() {
|
|
7224
|
-
var _a, _b;
|
|
7225
|
-
(_a = this._reverseAbort) == null ? void 0 : _a.abort();
|
|
7226
|
-
(_b = this.cancelPreview) == null ? void 0 : _b.call(this);
|
|
7227
|
-
this.cancelPreview = null;
|
|
7228
|
-
if (this.$el[loopKey]) {
|
|
7229
|
-
this.$el.loop = true;
|
|
7230
|
-
}
|
|
7231
|
-
queue.delete(this.$el);
|
|
7232
|
-
},
|
|
7233
6999
|
events: [
|
|
7234
7000
|
{
|
|
7235
7001
|
name: `${pointerEnter} focusin`,
|
|
7236
|
-
el: ({ hoverTarget }) => hoverTarget,
|
|
7002
|
+
el: ({ hoverTarget, $el }) => query(hoverTarget, $el) || $el,
|
|
7237
7003
|
filter: ({ autoplay }) => autoplay === "hover",
|
|
7238
7004
|
handler(e) {
|
|
7239
|
-
var _a;
|
|
7240
|
-
(_a = this._reverseAbort) == null ? void 0 : _a.abort();
|
|
7241
7005
|
if (!isTouch(e) || !isPlaying(this.$el)) {
|
|
7242
|
-
|
|
7006
|
+
play(this.$el);
|
|
7243
7007
|
} else {
|
|
7244
|
-
this.
|
|
7008
|
+
pauseHover(this.$el, this.restart);
|
|
7245
7009
|
}
|
|
7246
7010
|
}
|
|
7247
7011
|
},
|
|
7248
7012
|
{
|
|
7249
7013
|
name: `${pointerLeave} focusout`,
|
|
7250
|
-
el: ({ hoverTarget }) => hoverTarget,
|
|
7014
|
+
el: ({ hoverTarget, $el }) => query(hoverTarget, $el) || $el,
|
|
7251
7015
|
filter: ({ autoplay }) => autoplay === "hover",
|
|
7252
7016
|
handler(e) {
|
|
7253
|
-
|
|
7254
|
-
|
|
7255
|
-
(_a = this._reverseAbort) == null ? void 0 : _a.abort();
|
|
7256
|
-
this.pause();
|
|
7257
|
-
this._reverseAbort = playReverse(this.$el, this.hoverRewind);
|
|
7258
|
-
}
|
|
7259
|
-
}
|
|
7260
|
-
},
|
|
7261
|
-
{
|
|
7262
|
-
name: "loadedmetadata durationchange",
|
|
7263
|
-
filter: ({ parallax }) => parallax,
|
|
7264
|
-
handler() {
|
|
7265
|
-
this.$emit("resize");
|
|
7266
|
-
}
|
|
7267
|
-
},
|
|
7268
|
-
{
|
|
7269
|
-
name: "error pause ended",
|
|
7270
|
-
filter: ({ inviewQueued }) => inviewQueued,
|
|
7271
|
-
handler(e) {
|
|
7272
|
-
if (e.type === "error" || e.type === "ended" && !this.$el[loopKey]) {
|
|
7273
|
-
queue.delete(this.$el);
|
|
7017
|
+
if (!isTouch(e)) {
|
|
7018
|
+
pauseHover(this.$el, this.restart);
|
|
7274
7019
|
}
|
|
7275
|
-
playNextQueued();
|
|
7276
7020
|
}
|
|
7277
7021
|
}
|
|
7278
7022
|
],
|
|
@@ -7285,144 +7029,33 @@
|
|
|
7285
7029
|
}
|
|
7286
7030
|
}),
|
|
7287
7031
|
intersection({
|
|
7288
|
-
filter: ({ $el,
|
|
7289
|
-
handler([{ isIntersecting }]) {
|
|
7032
|
+
filter: ({ $el, autoplay }) => autoplay !== "hover" && $el.preload !== "none",
|
|
7033
|
+
handler([{ isIntersecting, target }]) {
|
|
7290
7034
|
if (!document.fullscreenElement) {
|
|
7291
7035
|
if (isIntersecting) {
|
|
7292
7036
|
if (this.autoplay) {
|
|
7293
|
-
|
|
7037
|
+
play(target);
|
|
7294
7038
|
}
|
|
7295
7039
|
} else {
|
|
7296
|
-
this.
|
|
7040
|
+
pauseHover(target, this.restart);
|
|
7297
7041
|
}
|
|
7298
7042
|
}
|
|
7299
7043
|
},
|
|
7300
7044
|
args: { intersecting: false },
|
|
7301
|
-
options: ({ $el, autoplay
|
|
7302
|
-
root: autoplay === "inview" ? null : parent($el).closest(":not(a)")
|
|
7303
|
-
rootMargin: autoplay === "inview" ? inviewMargin : "0px"
|
|
7045
|
+
options: ({ $el, autoplay }) => ({
|
|
7046
|
+
root: autoplay === "inview" ? null : parent($el).closest(":not(a)")
|
|
7304
7047
|
})
|
|
7305
7048
|
})
|
|
7306
|
-
]
|
|
7307
|
-
update: {
|
|
7308
|
-
write({ percent }) {
|
|
7309
|
-
if (!this.parallax) {
|
|
7310
|
-
return;
|
|
7311
|
-
}
|
|
7312
|
-
const { duration, seeking } = this.$el;
|
|
7313
|
-
if (!isNaN(duration) && !seeking) {
|
|
7314
|
-
const value = this.matchMedia ? this.reducedMotionTime : percent * duration;
|
|
7315
|
-
setCurrentTime(this.$el, value);
|
|
7316
|
-
}
|
|
7317
|
-
},
|
|
7318
|
-
events: ["scroll", "resize"]
|
|
7319
|
-
},
|
|
7320
|
-
methods: {
|
|
7321
|
-
play() {
|
|
7322
|
-
var _a;
|
|
7323
|
-
if (this.matchMedia) {
|
|
7324
|
-
this.pause();
|
|
7325
|
-
if (this.isVideo) {
|
|
7326
|
-
setCurrentTime(this.$el, this.reducedMotionTime);
|
|
7327
|
-
}
|
|
7328
|
-
} else if (this.inviewQueued) {
|
|
7329
|
-
queue.set(this.$el, this.inviewQueued);
|
|
7330
|
-
playNextQueued();
|
|
7331
|
-
} else {
|
|
7332
|
-
(_a = this.cancelPreview) == null ? void 0 : _a.call(this);
|
|
7333
|
-
play(this.$el);
|
|
7334
|
-
}
|
|
7335
|
-
},
|
|
7336
|
-
pause() {
|
|
7337
|
-
pause(this.$el);
|
|
7338
|
-
queue.delete(this.$el);
|
|
7339
|
-
if (this.restart) {
|
|
7340
|
-
setCurrentTime(this.$el, 0);
|
|
7341
|
-
}
|
|
7342
|
-
}
|
|
7343
|
-
}
|
|
7049
|
+
]
|
|
7344
7050
|
};
|
|
7345
|
-
function setCurrentTime(videoEl, time) {
|
|
7346
|
-
if (videoEl.currentTime !== time) {
|
|
7347
|
-
videoEl.currentTime = time;
|
|
7348
|
-
}
|
|
7349
|
-
}
|
|
7350
7051
|
function isPlaying(videoEl) {
|
|
7351
7052
|
return !videoEl.paused && !videoEl.ended;
|
|
7352
7053
|
}
|
|
7353
|
-
function
|
|
7354
|
-
|
|
7355
|
-
|
|
7356
|
-
|
|
7357
|
-
let frame2;
|
|
7358
|
-
const pausePreview = () => {
|
|
7359
|
-
disconnect();
|
|
7360
|
-
pause($el);
|
|
7361
|
-
};
|
|
7362
|
-
const observer = observeIntersection($el, () => {
|
|
7363
|
-
observer.disconnect();
|
|
7364
|
-
frame2 = $el.requestVideoFrameCallback(pausePreview);
|
|
7365
|
-
play($el);
|
|
7366
|
-
});
|
|
7367
|
-
const disconnect = () => {
|
|
7368
|
-
observer.disconnect();
|
|
7369
|
-
$el.cancelVideoFrameCallback(frame2);
|
|
7370
|
-
};
|
|
7371
|
-
return disconnect;
|
|
7372
|
-
}
|
|
7373
|
-
const queue = /* @__PURE__ */ new Map();
|
|
7374
|
-
const played = /* @__PURE__ */ new WeakMap();
|
|
7375
|
-
let frame;
|
|
7376
|
-
function playNextQueued() {
|
|
7377
|
-
cancelAnimationFrame(frame);
|
|
7378
|
-
frame = requestAnimationFrame(() => {
|
|
7379
|
-
const getPlayed = (el) => {
|
|
7380
|
-
var _a;
|
|
7381
|
-
return (_a = played.get(el)) != null ? _a : 0;
|
|
7382
|
-
};
|
|
7383
|
-
const videos = shuffle(queue.keys()).sort((a, b) => getPlayed(a) - getPlayed(b));
|
|
7384
|
-
let active = videos.filter(isPlaying).length;
|
|
7385
|
-
for (const el of videos) {
|
|
7386
|
-
const maxQueued = queue.get(el);
|
|
7387
|
-
if (isPlaying(el) || active / queue.size >= maxQueued) {
|
|
7388
|
-
continue;
|
|
7389
|
-
}
|
|
7390
|
-
played.set(el, getPlayed(el) + 1);
|
|
7391
|
-
play(el);
|
|
7392
|
-
active++;
|
|
7393
|
-
}
|
|
7394
|
-
});
|
|
7395
|
-
}
|
|
7396
|
-
function shuffle(array) {
|
|
7397
|
-
array = [...array];
|
|
7398
|
-
for (let i = array.length - 1; i > 0; i--) {
|
|
7399
|
-
let j = Math.floor(Math.random() * (i + 1));
|
|
7400
|
-
[array[i], array[j]] = [array[j], array[i]];
|
|
7401
|
-
}
|
|
7402
|
-
return array;
|
|
7403
|
-
}
|
|
7404
|
-
function playReverse(el, playbackRate) {
|
|
7405
|
-
const start = el.currentTime;
|
|
7406
|
-
if (isNaN(start) || !playbackRate) {
|
|
7407
|
-
return;
|
|
7054
|
+
function pauseHover(el, restart) {
|
|
7055
|
+
pause(el);
|
|
7056
|
+
if (restart && isTag(el, "video")) {
|
|
7057
|
+
el.currentTime = 0;
|
|
7408
7058
|
}
|
|
7409
|
-
playbackRate *= Math.max(1, start / 10 + 0.5);
|
|
7410
|
-
const controller = new AbortController();
|
|
7411
|
-
const time = Date.now();
|
|
7412
|
-
(function next() {
|
|
7413
|
-
requestAnimationFrame(() => {
|
|
7414
|
-
if (controller.signal.aborted) {
|
|
7415
|
-
return;
|
|
7416
|
-
}
|
|
7417
|
-
if (!el.seeking) {
|
|
7418
|
-
el.currentTime = Math.max(0, start - (Date.now() - time) * playbackRate / 1e3);
|
|
7419
|
-
}
|
|
7420
|
-
if (el.currentTime > 0) {
|
|
7421
|
-
next();
|
|
7422
|
-
}
|
|
7423
|
-
});
|
|
7424
|
-
})();
|
|
7425
|
-
return controller;
|
|
7426
7059
|
}
|
|
7427
7060
|
|
|
7428
7061
|
var cover = {
|
|
@@ -7742,7 +7375,6 @@
|
|
|
7742
7375
|
css(this.$el, this._style);
|
|
7743
7376
|
this.$el.hidden = true;
|
|
7744
7377
|
const viewports = this.target.map((target) => getViewport$1(this.$el, target));
|
|
7745
|
-
const boundaryOffsets = this.boundary.map((el) => offset(el));
|
|
7746
7378
|
const viewportOffset = this.getViewportOffset(this.$el);
|
|
7747
7379
|
const dirs = [
|
|
7748
7380
|
[0, ["x", "width", "left", "right"]],
|
|
@@ -7752,7 +7384,7 @@
|
|
|
7752
7384
|
if (this.axis !== axis && includes([axis, true], this.stretch)) {
|
|
7753
7385
|
css(this.$el, {
|
|
7754
7386
|
[prop]: Math.min(
|
|
7755
|
-
|
|
7387
|
+
offset(this.boundary[i])[prop],
|
|
7756
7388
|
viewports[i][prop] - 2 * viewportOffset
|
|
7757
7389
|
),
|
|
7758
7390
|
[`overflow-${axis}`]: "auto"
|
|
@@ -7774,10 +7406,10 @@
|
|
|
7774
7406
|
const elOffset = offset(this.$el);
|
|
7775
7407
|
css(this.$el, {
|
|
7776
7408
|
[prop]: (targetOffset[start] > elOffset[start] ? targetOffset[this.inset ? end : start] - Math.max(
|
|
7777
|
-
|
|
7409
|
+
offset(this.boundary[i])[start],
|
|
7778
7410
|
viewports[i][start] + viewportOffset
|
|
7779
7411
|
) : Math.min(
|
|
7780
|
-
|
|
7412
|
+
offset(this.boundary[i])[end],
|
|
7781
7413
|
viewports[i][end] - viewportOffset
|
|
7782
7414
|
) - targetOffset[this.inset ? start : end]) - positionOffset,
|
|
7783
7415
|
[`overflow-${axis}`]: "auto"
|
|
@@ -8033,9 +7665,7 @@
|
|
|
8033
7665
|
const drop = this.getDropdown(target);
|
|
8034
7666
|
const adjustHeight = () => {
|
|
8035
7667
|
const maxBottom = Math.max(
|
|
8036
|
-
...
|
|
8037
|
-
(el) => offset(el).bottom
|
|
8038
|
-
)
|
|
7668
|
+
...parents(target, `.${this.clsDrop}`).concat(target).map((el) => offset(el).bottom)
|
|
8039
7669
|
);
|
|
8040
7670
|
offset(this.dropbar, {
|
|
8041
7671
|
left: offset(this.dropbar).left,
|
|
@@ -8215,8 +7845,7 @@
|
|
|
8215
7845
|
parallaxJustify: Boolean
|
|
8216
7846
|
},
|
|
8217
7847
|
data: {
|
|
8218
|
-
margin: "",
|
|
8219
|
-
firstRow: "uk-first-row",
|
|
7848
|
+
margin: "uk-grid-margin",
|
|
8220
7849
|
clsStack: "uk-grid-stack",
|
|
8221
7850
|
masonry: false,
|
|
8222
7851
|
parallax: 0,
|
|
@@ -8238,14 +7867,14 @@
|
|
|
8238
7867
|
{
|
|
8239
7868
|
read(data) {
|
|
8240
7869
|
const { rows } = data;
|
|
8241
|
-
let { masonry, parallax, parallaxJustify } = this;
|
|
7870
|
+
let { masonry, parallax, parallaxJustify, margin } = this;
|
|
8242
7871
|
parallax = Math.max(0, toPx(parallax));
|
|
8243
7872
|
if (!(masonry || parallax || parallaxJustify) || positionedAbsolute(rows) || rows[0].some(
|
|
8244
7873
|
(el, i) => rows.some((row) => row[i] && row[i].offsetWidth !== el.offsetWidth)
|
|
8245
7874
|
)) {
|
|
8246
7875
|
return data.translates = data.scrollColumns = false;
|
|
8247
7876
|
}
|
|
8248
|
-
let gutter =
|
|
7877
|
+
let gutter = getGutter(rows, margin);
|
|
8249
7878
|
let columns;
|
|
8250
7879
|
let translates;
|
|
8251
7880
|
if (masonry) {
|
|
@@ -8338,6 +7967,10 @@
|
|
|
8338
7967
|
}
|
|
8339
7968
|
return [columns, translates];
|
|
8340
7969
|
}
|
|
7970
|
+
function getGutter(rows, cls) {
|
|
7971
|
+
const node = rows.flat().find((el) => hasClass(el, cls));
|
|
7972
|
+
return toFloat(node ? css(node, "marginTop") : css(rows[0][0], "paddingLeft"));
|
|
7973
|
+
}
|
|
8341
7974
|
function transpose(rows) {
|
|
8342
7975
|
const columns = [];
|
|
8343
7976
|
for (const row of rows) {
|
|
@@ -9469,6 +9102,11 @@
|
|
|
9469
9102
|
el = el && $(el) || document.body;
|
|
9470
9103
|
if (trigger(this.$el, "beforescroll", [this, el])) {
|
|
9471
9104
|
await scrollIntoView(el, { offset: this.offset });
|
|
9105
|
+
if (!isFocusable(el)) {
|
|
9106
|
+
attr(el, "tabindex", "-1");
|
|
9107
|
+
once(el, "blur", () => attr(el, "tabindex", null));
|
|
9108
|
+
}
|
|
9109
|
+
el.focus({ preventScroll: true });
|
|
9472
9110
|
trigger(this.$el, "scrolled", [this, el]);
|
|
9473
9111
|
}
|
|
9474
9112
|
}
|
|
@@ -10013,7 +9651,7 @@
|
|
|
10013
9651
|
if (!value) {
|
|
10014
9652
|
return 0;
|
|
10015
9653
|
}
|
|
10016
|
-
if (isNumeric(value) || isString(value) && /^-?\d
|
|
9654
|
+
if (isNumeric(value) || isString(value) && value.match(/^-?\d/)) {
|
|
10017
9655
|
return propOffset + toPx(value, "height", el, true);
|
|
10018
9656
|
} else {
|
|
10019
9657
|
const refElement = value === true ? getVisibleParent(el) : query(value, el);
|
|
@@ -10128,9 +9766,10 @@
|
|
|
10128
9766
|
|
|
10129
9767
|
const selDisabled = ".uk-disabled *, .uk-disabled, [disabled]";
|
|
10130
9768
|
var Switcher = {
|
|
10131
|
-
mixins: [
|
|
9769
|
+
mixins: [Togglable],
|
|
10132
9770
|
args: "connect",
|
|
10133
9771
|
props: {
|
|
9772
|
+
connect: String,
|
|
10134
9773
|
toggle: String,
|
|
10135
9774
|
itemNav: String,
|
|
10136
9775
|
active: Number,
|
|
@@ -10142,12 +9781,20 @@
|
|
|
10142
9781
|
toggle: "> * > :first-child",
|
|
10143
9782
|
itemNav: false,
|
|
10144
9783
|
active: 0,
|
|
9784
|
+
cls: "uk-active",
|
|
10145
9785
|
attrItem: "uk-switcher-item",
|
|
10146
9786
|
selVertical: ".uk-nav",
|
|
10147
9787
|
followFocus: false,
|
|
10148
9788
|
swiping: true
|
|
10149
9789
|
},
|
|
10150
9790
|
computed: {
|
|
9791
|
+
connects: {
|
|
9792
|
+
get: ({ connect }, $el) => queryAll(connect, $el),
|
|
9793
|
+
observe: ({ connect }) => connect
|
|
9794
|
+
},
|
|
9795
|
+
connectChildren() {
|
|
9796
|
+
return this.connects.flatMap((el) => children(el));
|
|
9797
|
+
},
|
|
10151
9798
|
toggles: ({ toggle }, $el) => $$(toggle, $el),
|
|
10152
9799
|
children(_, $el) {
|
|
10153
9800
|
return children($el).filter(
|
|
@@ -10178,7 +9825,10 @@
|
|
|
10178
9825
|
connected() {
|
|
10179
9826
|
this.$el.role = "tablist";
|
|
10180
9827
|
},
|
|
10181
|
-
observe:
|
|
9828
|
+
observe: [
|
|
9829
|
+
lazyload({ targets: ({ connectChildren }) => connectChildren }),
|
|
9830
|
+
swipe({ target: ({ connects }) => connects, filter: ({ swiping }) => swiping })
|
|
9831
|
+
],
|
|
10182
9832
|
events: [
|
|
10183
9833
|
{
|
|
10184
9834
|
name: "click keydown",
|
|
@@ -10232,16 +9882,24 @@
|
|
|
10232
9882
|
}
|
|
10233
9883
|
],
|
|
10234
9884
|
update() {
|
|
9885
|
+
var _a;
|
|
9886
|
+
for (const el of this.connects) {
|
|
9887
|
+
if (isTag(el, "ul")) {
|
|
9888
|
+
el.role = "presentation";
|
|
9889
|
+
}
|
|
9890
|
+
}
|
|
10235
9891
|
attr(children(this.$el), "role", "presentation");
|
|
10236
9892
|
for (const index in this.toggles) {
|
|
10237
|
-
const
|
|
10238
|
-
|
|
10239
|
-
|
|
10240
|
-
|
|
10241
|
-
|
|
10242
|
-
|
|
10243
|
-
|
|
10244
|
-
|
|
9893
|
+
const toggle = this.toggles[index];
|
|
9894
|
+
const item = (_a = this.connects[0]) == null ? void 0 : _a.children[index];
|
|
9895
|
+
toggle.role = "tab";
|
|
9896
|
+
if (!item) {
|
|
9897
|
+
continue;
|
|
9898
|
+
}
|
|
9899
|
+
toggle.id = generateId(this, toggle);
|
|
9900
|
+
item.id = generateId(this, item);
|
|
9901
|
+
attr(toggle, "aria-controls", item.id);
|
|
9902
|
+
attr(item, { role: "tabpanel", "aria-labelledby": toggle.id });
|
|
10245
9903
|
}
|
|
10246
9904
|
attr(this.$el, "aria-orientation", matches(this.$el, this.selVertical) ? "vertical" : null);
|
|
10247
9905
|
},
|
|
@@ -10274,7 +9932,15 @@
|
|
|
10274
9932
|
tabindex: next === i ? null : -1
|
|
10275
9933
|
});
|
|
10276
9934
|
});
|
|
10277
|
-
|
|
9935
|
+
const animate = prev >= 0 && prev !== next;
|
|
9936
|
+
this.connects.forEach(async ({ children: children2 }) => {
|
|
9937
|
+
const actives = toArray(children2).filter(
|
|
9938
|
+
(child, i) => i !== next && hasClass(child, this.cls)
|
|
9939
|
+
);
|
|
9940
|
+
if (await this.toggleElement(actives, false, animate)) {
|
|
9941
|
+
await this.toggleElement(children2[next], true, animate);
|
|
9942
|
+
}
|
|
9943
|
+
});
|
|
10278
9944
|
}
|
|
10279
9945
|
}
|
|
10280
9946
|
};
|