uikit 3.25.20-dev.e4f47fc → 3.25.20
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 -33
- 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 +917 -1045
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +917 -1045
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +936 -1064
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +936 -1064
- 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 +132 -133
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +133 -134
- package/dist/js/components/lightbox.min.js +1 -1
- package/dist/js/components/notification.js +1 -1
- 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 -41
- 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 -71
- 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 +19 -19
- 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 +262 -752
- 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 +374 -627
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/api/component.js +3 -2
- package/src/js/api/observables.js +4 -2
- package/src/js/api/options.js +3 -6
- package/src/js/api/props.js +4 -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/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/tooltip.js +2 -4
- package/src/js/core/accordion.js +29 -78
- package/src/js/core/drop.js +4 -5
- package/src/js/core/dropnav.js +3 -3
- package/src/js/core/grid.js +19 -5
- package/src/js/core/height-match.js +2 -1
- package/src/js/core/margin.js +0 -3
- package/src/js/core/overflow-fade.js +5 -5
- package/src/js/core/sticky.js +1 -1
- package/src/js/core/switcher.js +44 -24
- package/src/js/core/video.js +15 -172
- package/src/js/mixin/internal/slideshow-animations.js +13 -5
- package/src/js/mixin/internal/slideshow-transitioner.js +2 -2
- package/src/js/mixin/modal.js +3 -4
- package/src/js/mixin/parallax.js +4 -1
- package/src/js/mixin/position.js +1 -1
- package/src/js/mixin/slider-nav.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/class.js +1 -1
- package/src/js/util/dom.js +4 -3
- package/src/js/util/lang.js +1 -1
- package/src/js/util/player.js +4 -4
- package/src/js/util/style.js +15 -10
- package/src/js/util/viewport.js +25 -22
- package/src/less/components/_import.less +1 -6
- package/src/less/components/base.less +1 -1
- package/src/less/components/button.less +1 -1
- package/src/less/components/form.less +5 -5
- package/src/less/components/grid.less +65 -58
- package/src/less/components/margin.less +124 -155
- package/src/less/components/nav.less +1 -1
- package/src/less/components/padding.less +9 -9
- package/src/less/components/text.less +0 -6
- package/src/less/components/utility.less +163 -0
- package/src/less/theme/_import.less +1 -5
- package/src/less/theme/utility.less +32 -0
- package/src/scss/components/_import.scss +1 -6
- package/src/scss/components/base.scss +1 -1
- package/src/scss/components/button.scss +1 -1
- package/src/scss/components/form.scss +5 -5
- package/src/scss/components/grid.scss +64 -57
- package/src/scss/components/margin.scss +124 -155
- package/src/scss/components/nav.scss +1 -1
- package/src/scss/components/padding.scss +9 -9
- package/src/scss/components/text.scss +0 -6
- package/src/scss/components/utility.scss +129 -0
- package/src/scss/mixins-theme.scss +33 -42
- package/src/scss/mixins.scss +30 -39
- 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 +3 -3
- 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 +6 -6
- 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 +14 -14
- package/tests/link.html +1 -1
- package/tests/list.html +4 -4
- package/tests/margin.html +7 -7
- package/tests/marker.html +3 -3
- package/tests/modal.html +4 -4
- package/tests/nav.html +5 -5
- package/tests/navbar.html +27 -27
- package/tests/notification.html +2 -2
- 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 +12 -12
- 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 +4 -34
- 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 +6 -6
- package/tests/tab.html +4 -4
- package/tests/text.html +3 -3
- 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 +27 -227
- package/tests/visibility.html +4 -4
- package/tests/width.html +12 -12
- package/dist/js/components/marquee.js +0 -179
- package/dist/js/components/marquee.min.js +0 -1
- package/src/js/components/marquee.js +0 -123
- package/src/js/mixin/connect.js +0 -55
- 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.20
|
|
1
|
+
/*! UIkit 3.25.20 | 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() :
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
return array.filter(({ [prop]: check }) => seen.has(check) ? false : seen.add(check));
|
|
135
135
|
}
|
|
136
136
|
function pick(obj, props) {
|
|
137
|
-
return
|
|
137
|
+
return props.reduce((res, prop) => ({ ...res, [prop]: obj[prop] }), {});
|
|
138
138
|
}
|
|
139
139
|
function clamp(number, min = 0, max = 1) {
|
|
140
140
|
return Math.min(Math.max(toNumber(number) || 0, min), max);
|
|
@@ -230,7 +230,7 @@
|
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
function toClasses(str) {
|
|
233
|
-
return str ? isArray(str) ? str.
|
|
233
|
+
return str ? isArray(str) ? str.map(toClasses).flat() : String(str).split(" ").filter(Boolean) : [];
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
function attr(element, name, value) {
|
|
@@ -243,12 +243,13 @@
|
|
|
243
243
|
}
|
|
244
244
|
if (isUndefined(value)) {
|
|
245
245
|
return (_a = toNode(element)) == null ? void 0 : _a.getAttribute(name);
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
246
|
+
} else {
|
|
247
|
+
for (const el of toNodes(element)) {
|
|
248
|
+
if (value === null) {
|
|
249
|
+
removeAttr(el, name);
|
|
250
|
+
} else {
|
|
251
|
+
el.setAttribute(name, value);
|
|
252
|
+
}
|
|
252
253
|
}
|
|
253
254
|
}
|
|
254
255
|
}
|
|
@@ -588,14 +589,19 @@
|
|
|
588
589
|
property = propName(property);
|
|
589
590
|
if (isUndefined(value)) {
|
|
590
591
|
return getComputedStyle(element2).getPropertyValue(property);
|
|
592
|
+
} else {
|
|
593
|
+
element2.style.setProperty(
|
|
594
|
+
property,
|
|
595
|
+
isNumeric(value) && !cssNumber[property] && !isCustomProperty(property) ? `${value}px` : value || isNumber(value) ? value : "",
|
|
596
|
+
priority
|
|
597
|
+
);
|
|
591
598
|
}
|
|
592
|
-
element2.style.setProperty(
|
|
593
|
-
property,
|
|
594
|
-
isNumeric(value) && !cssNumber[property] && !isCustomProperty(property) ? `${value}px` : value || isNumber(value) ? value : "",
|
|
595
|
-
priority
|
|
596
|
-
);
|
|
597
599
|
} else if (isArray(property)) {
|
|
598
|
-
|
|
600
|
+
const props = {};
|
|
601
|
+
for (const prop of property) {
|
|
602
|
+
props[prop] = css(element2, prop);
|
|
603
|
+
}
|
|
604
|
+
return props;
|
|
599
605
|
} else if (isObject(property)) {
|
|
600
606
|
for (const prop in property) {
|
|
601
607
|
css(element2, prop, property[prop], value);
|
|
@@ -779,9 +785,7 @@
|
|
|
779
785
|
);
|
|
780
786
|
}
|
|
781
787
|
function unwrap(element) {
|
|
782
|
-
|
|
783
|
-
elementParent.replaceWith(...elementParent.childNodes);
|
|
784
|
-
}
|
|
788
|
+
toNodes(element).map(parent).filter((value, index, self) => self.indexOf(value) === index).forEach((parent2) => parent2.replaceWith(...parent2.childNodes));
|
|
785
789
|
}
|
|
786
790
|
const singleTagRe = /^<(\w+)\s*\/?>(?:<\/\1>)?$/;
|
|
787
791
|
function fragment(html2) {
|
|
@@ -1143,12 +1147,12 @@
|
|
|
1143
1147
|
return isTag(el, "iframe") && (isYoutube(el) || isVimeo(el));
|
|
1144
1148
|
}
|
|
1145
1149
|
function isYoutube(el) {
|
|
1146
|
-
return
|
|
1147
|
-
|
|
1150
|
+
return !!el.src.match(
|
|
1151
|
+
/\/\/.*?youtube(-nocookie)?\.[a-z]+\/(watch\?v=[^&\s]+|embed)|youtu\.be\/.*/
|
|
1148
1152
|
);
|
|
1149
1153
|
}
|
|
1150
1154
|
function isVimeo(el) {
|
|
1151
|
-
return /vimeo\.com\/video
|
|
1155
|
+
return !!el.src.match(/vimeo\.com\/video\/.*/);
|
|
1152
1156
|
}
|
|
1153
1157
|
async function call(el, cmd) {
|
|
1154
1158
|
await enableApi(el);
|
|
@@ -1157,7 +1161,7 @@
|
|
|
1157
1161
|
function post(el, cmd) {
|
|
1158
1162
|
el.contentWindow.postMessage(JSON.stringify({ event: "command", ...cmd }), "*");
|
|
1159
1163
|
}
|
|
1160
|
-
const stateKey =
|
|
1164
|
+
const stateKey = "_ukPlayer";
|
|
1161
1165
|
let counter = 0;
|
|
1162
1166
|
function enableApi(el) {
|
|
1163
1167
|
if (el[stateKey]) {
|
|
@@ -1188,16 +1192,17 @@
|
|
|
1188
1192
|
if (!isVisible(element)) {
|
|
1189
1193
|
return false;
|
|
1190
1194
|
}
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1195
|
+
return intersectRect(
|
|
1196
|
+
...overflowParents(element).map((parent2) => {
|
|
1197
|
+
const { top, left, bottom, right } = offsetViewport(parent2);
|
|
1198
|
+
return {
|
|
1199
|
+
top: top - offsetTop,
|
|
1200
|
+
left: left - offsetLeft,
|
|
1201
|
+
bottom: bottom + offsetTop,
|
|
1202
|
+
right: right + offsetLeft
|
|
1203
|
+
};
|
|
1204
|
+
}).concat(offset(element))
|
|
1205
|
+
);
|
|
1201
1206
|
}
|
|
1202
1207
|
function scrollIntoView(element, { offset: offsetBy = 0 } = {}) {
|
|
1203
1208
|
const parents2 = isVisible(element) ? scrollParents(element, false, ["hidden"]) : [];
|
|
@@ -1281,12 +1286,11 @@
|
|
|
1281
1286
|
if (~fixedIndex) {
|
|
1282
1287
|
ancestors = ancestors.slice(fixedIndex);
|
|
1283
1288
|
}
|
|
1284
|
-
return [
|
|
1285
|
-
|
|
1286
|
-
...ancestors.filter(
|
|
1289
|
+
return [scrollEl].concat(
|
|
1290
|
+
ancestors.filter(
|
|
1287
1291
|
(parent2) => css(parent2, "overflow").split(" ").some((prop) => includes(["auto", "scroll", ...props], prop)) && (!scrollable || parent2.scrollHeight > offsetViewport(parent2).height)
|
|
1288
1292
|
)
|
|
1289
|
-
|
|
1293
|
+
).reverse();
|
|
1290
1294
|
}
|
|
1291
1295
|
function scrollParent(...args) {
|
|
1292
1296
|
return scrollParents(...args)[0];
|
|
@@ -1868,14 +1872,11 @@
|
|
|
1868
1872
|
function coerce$1(type, value) {
|
|
1869
1873
|
if (type === Boolean) {
|
|
1870
1874
|
return toBoolean(value);
|
|
1871
|
-
}
|
|
1872
|
-
if (type === Number) {
|
|
1875
|
+
} else if (type === Number) {
|
|
1873
1876
|
return toNumber(value);
|
|
1874
|
-
}
|
|
1875
|
-
if (type === "list") {
|
|
1877
|
+
} else if (type === "list") {
|
|
1876
1878
|
return toList(value);
|
|
1877
|
-
}
|
|
1878
|
-
if (type === Object && isString(value)) {
|
|
1879
|
+
} else if (type === Object && isString(value)) {
|
|
1879
1880
|
return parseOptions(value);
|
|
1880
1881
|
}
|
|
1881
1882
|
return type ? type(value) : value;
|
|
@@ -1955,8 +1956,8 @@
|
|
|
1955
1956
|
for (const el of toNodes(isFunction(targets) ? targets(this) : targets)) {
|
|
1956
1957
|
$$('[loading="lazy"]', el).slice(0, preload - 1).forEach((el2) => removeAttr(el2, "loading"));
|
|
1957
1958
|
}
|
|
1958
|
-
for (const
|
|
1959
|
-
observer.unobserve(
|
|
1959
|
+
for (const el of entries.filter(({ isIntersecting }) => isIntersecting).map(({ target }) => target)) {
|
|
1960
|
+
observer.unobserve(el);
|
|
1960
1961
|
}
|
|
1961
1962
|
},
|
|
1962
1963
|
...options
|
|
@@ -2025,12 +2026,10 @@
|
|
|
2025
2026
|
var Margin = {
|
|
2026
2027
|
props: {
|
|
2027
2028
|
margin: String,
|
|
2028
|
-
firstRow: Boolean,
|
|
2029
2029
|
firstColumn: Boolean
|
|
2030
2030
|
},
|
|
2031
2031
|
data: {
|
|
2032
2032
|
margin: "uk-margin-small-top",
|
|
2033
|
-
firstRow: false,
|
|
2034
2033
|
firstColumn: "uk-first-column"
|
|
2035
2034
|
},
|
|
2036
2035
|
observe: [
|
|
@@ -2070,7 +2069,6 @@
|
|
|
2070
2069
|
for (const row of rows) {
|
|
2071
2070
|
for (const el of row) {
|
|
2072
2071
|
toggleClass(el, this.margin, rows[0] !== row);
|
|
2073
|
-
toggleClass(el, this.firstRow, rows[0] === row);
|
|
2074
2072
|
toggleClass(el, this.firstColumn, row[isRtl ? row.length - 1 : 0] === el);
|
|
2075
2073
|
}
|
|
2076
2074
|
}
|
|
@@ -2784,18 +2782,20 @@
|
|
|
2784
2782
|
if (show) {
|
|
2785
2783
|
_toggle(el, true);
|
|
2786
2784
|
}
|
|
2787
|
-
const prevProps =
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2785
|
+
const prevProps = Object.fromEntries(
|
|
2786
|
+
[
|
|
2787
|
+
"padding",
|
|
2788
|
+
"border",
|
|
2789
|
+
"width",
|
|
2790
|
+
"height",
|
|
2791
|
+
"minWidth",
|
|
2792
|
+
"minHeight",
|
|
2793
|
+
"overflowY",
|
|
2794
|
+
"overflowX",
|
|
2795
|
+
marginProp,
|
|
2796
|
+
marginStartProp
|
|
2797
|
+
].map((key) => [key, el.style[key]])
|
|
2798
|
+
);
|
|
2799
2799
|
const dim = dimensions$1(el);
|
|
2800
2800
|
const currentMargin = toFloat(css(el, marginProp));
|
|
2801
2801
|
const marginStart = toFloat(css(el, marginStartProp));
|
|
@@ -3016,13 +3016,12 @@
|
|
|
3016
3016
|
}
|
|
3017
3017
|
}
|
|
3018
3018
|
};
|
|
3019
|
-
const rejectKey = /* @__PURE__ */ Symbol();
|
|
3020
3019
|
function animate$1(el, show, { transitionElement, _toggle }) {
|
|
3021
3020
|
return new Promise(
|
|
3022
3021
|
(resolve, reject) => once(el, "show hide", () => {
|
|
3023
3022
|
var _a;
|
|
3024
|
-
(_a = el
|
|
3025
|
-
el
|
|
3023
|
+
(_a = el._reject) == null ? void 0 : _a.call(el);
|
|
3024
|
+
el._reject = reject;
|
|
3026
3025
|
_toggle(el, show);
|
|
3027
3026
|
const off = once(
|
|
3028
3027
|
transitionElement,
|
|
@@ -3043,7 +3042,7 @@
|
|
|
3043
3042
|
toMs(css(transitionElement, "transitionDuration"))
|
|
3044
3043
|
);
|
|
3045
3044
|
})
|
|
3046
|
-
).then(() => delete el
|
|
3045
|
+
).then(() => delete el._reject);
|
|
3047
3046
|
}
|
|
3048
3047
|
function toMs(time) {
|
|
3049
3048
|
return time ? endsWith(time, "ms") ? toFloat(time) : toFloat(time) * 1e3 : 0;
|
|
@@ -3093,11 +3092,18 @@
|
|
|
3093
3092
|
|
|
3094
3093
|
var Animations$2 = {
|
|
3095
3094
|
slide: {
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3095
|
+
show(dir) {
|
|
3096
|
+
return [{ transform: translate(dir * -100) }, { transform: translate() }];
|
|
3097
|
+
},
|
|
3098
|
+
percent(current) {
|
|
3099
|
+
return translated(current);
|
|
3100
|
+
},
|
|
3101
|
+
translate(percent, dir) {
|
|
3102
|
+
return [
|
|
3103
|
+
{ transform: translate(dir * -100 * percent) },
|
|
3104
|
+
{ transform: translate(dir * 100 * (1 - percent)) }
|
|
3105
|
+
];
|
|
3106
|
+
}
|
|
3101
3107
|
}
|
|
3102
3108
|
};
|
|
3103
3109
|
function translated(el) {
|
|
@@ -3108,8 +3114,8 @@
|
|
|
3108
3114
|
}
|
|
3109
3115
|
|
|
3110
3116
|
function Transitioner$1(prev, next, dir, { animation, easing }) {
|
|
3111
|
-
const { percent, translate } = animation;
|
|
3112
|
-
const props =
|
|
3117
|
+
const { percent, translate, show = noop } = animation;
|
|
3118
|
+
const props = show(dir);
|
|
3113
3119
|
const { promise, resolve } = withResolvers();
|
|
3114
3120
|
return {
|
|
3115
3121
|
dir,
|
|
@@ -3390,7 +3396,7 @@
|
|
|
3390
3396
|
return Math.atan2(Math.abs(pos2.y - pos1.y), Math.abs(pos2.x - pos1.x)) * 180 / Math.PI;
|
|
3391
3397
|
}
|
|
3392
3398
|
|
|
3393
|
-
var VERSION = '3.25.20
|
|
3399
|
+
var VERSION = '3.25.20';
|
|
3394
3400
|
|
|
3395
3401
|
function initWatches(instance) {
|
|
3396
3402
|
instance._watches = [];
|
|
@@ -3599,7 +3605,7 @@
|
|
|
3599
3605
|
}
|
|
3600
3606
|
const getAttributes = memoize((id, props) => {
|
|
3601
3607
|
const attributes = Object.keys(props);
|
|
3602
|
-
const filter =
|
|
3608
|
+
const filter = attributes.concat(id).map((key) => [hyphenate(key), `data-${hyphenate(key)}`]).flat();
|
|
3603
3609
|
return { attributes, filter };
|
|
3604
3610
|
});
|
|
3605
3611
|
function initPropsObserver(instance) {
|
|
@@ -3689,10 +3695,14 @@
|
|
|
3689
3695
|
}
|
|
3690
3696
|
function normalizeData({ data = {} }, { args = [], props = {} }) {
|
|
3691
3697
|
if (isArray(data)) {
|
|
3692
|
-
data = data.slice(0, args.length).reduce(
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3698
|
+
data = data.slice(0, args.length).reduce((data2, value, index) => {
|
|
3699
|
+
if (isPlainObject(value)) {
|
|
3700
|
+
assign(data2, value);
|
|
3701
|
+
} else {
|
|
3702
|
+
data2[args[index]] = value;
|
|
3703
|
+
}
|
|
3704
|
+
return data2;
|
|
3705
|
+
}, {});
|
|
3696
3706
|
}
|
|
3697
3707
|
for (const key in data) {
|
|
3698
3708
|
if (isUndefined(data[key])) {
|
|
@@ -3740,10 +3750,11 @@
|
|
|
3740
3750
|
function init(element2) {
|
|
3741
3751
|
const instance = getComponent(element2, name);
|
|
3742
3752
|
if (instance) {
|
|
3743
|
-
if (
|
|
3753
|
+
if (data) {
|
|
3754
|
+
instance.$destroy();
|
|
3755
|
+
} else {
|
|
3744
3756
|
return instance;
|
|
3745
3757
|
}
|
|
3746
|
-
instance.$destroy();
|
|
3747
3758
|
}
|
|
3748
3759
|
return new Component({ el: element2, data });
|
|
3749
3760
|
}
|
|
@@ -3885,7 +3896,7 @@
|
|
|
3885
3896
|
computed: {
|
|
3886
3897
|
nav: ({ selNav }, $el) => $$(selNav, $el),
|
|
3887
3898
|
navChildren() {
|
|
3888
|
-
return this.nav.
|
|
3899
|
+
return this.nav.map((nav) => children(nav)).flat();
|
|
3889
3900
|
},
|
|
3890
3901
|
selNavItem: ({ attrItem }) => `[${attrItem}],[data-${attrItem}]`,
|
|
3891
3902
|
navItems(_, $el) {
|
|
@@ -4242,35 +4253,75 @@
|
|
|
4242
4253
|
var Animations$1 = {
|
|
4243
4254
|
...Animations$2,
|
|
4244
4255
|
fade: {
|
|
4245
|
-
|
|
4246
|
-
|
|
4256
|
+
show() {
|
|
4257
|
+
return [{ opacity: 0, zIndex: 0 }, { zIndex: -1 }];
|
|
4258
|
+
},
|
|
4259
|
+
percent(current) {
|
|
4260
|
+
return 1 - css(current, "opacity");
|
|
4261
|
+
},
|
|
4262
|
+
translate(percent) {
|
|
4263
|
+
return [{ opacity: 1 - percent, zIndex: 0 }, { zIndex: -1 }];
|
|
4264
|
+
}
|
|
4247
4265
|
},
|
|
4248
4266
|
scale: {
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4267
|
+
show() {
|
|
4268
|
+
return [{ opacity: 0, transform: scale3d(1 + 0.5), zIndex: 0 }, { zIndex: -1 }];
|
|
4269
|
+
},
|
|
4270
|
+
percent(current) {
|
|
4271
|
+
return 1 - css(current, "opacity");
|
|
4272
|
+
},
|
|
4273
|
+
translate(percent) {
|
|
4274
|
+
return [
|
|
4275
|
+
{ opacity: 1 - percent, transform: scale3d(1 + 0.5 * percent), zIndex: 0 },
|
|
4276
|
+
{ zIndex: -1 }
|
|
4277
|
+
];
|
|
4278
|
+
}
|
|
4254
4279
|
},
|
|
4255
4280
|
pull: {
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4263
|
-
|
|
4281
|
+
show(dir) {
|
|
4282
|
+
return dir < 0 ? [
|
|
4283
|
+
{ transform: translate(30), zIndex: -1 },
|
|
4284
|
+
{ transform: translate(), zIndex: 0 }
|
|
4285
|
+
] : [
|
|
4286
|
+
{ transform: translate(-100), zIndex: 0 },
|
|
4287
|
+
{ transform: translate(), zIndex: -1 }
|
|
4288
|
+
];
|
|
4289
|
+
},
|
|
4290
|
+
percent(current, next, dir) {
|
|
4291
|
+
return dir < 0 ? 1 - translated(next) : translated(current);
|
|
4292
|
+
},
|
|
4293
|
+
translate(percent, dir) {
|
|
4294
|
+
return dir < 0 ? [
|
|
4295
|
+
{ transform: translate(30 * percent), zIndex: -1 },
|
|
4296
|
+
{ transform: translate(-100 * (1 - percent)), zIndex: 0 }
|
|
4297
|
+
] : [
|
|
4298
|
+
{ transform: translate(-percent * 100), zIndex: 0 },
|
|
4299
|
+
{ transform: translate(30 * (1 - percent)), zIndex: -1 }
|
|
4300
|
+
];
|
|
4301
|
+
}
|
|
4264
4302
|
},
|
|
4265
4303
|
push: {
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4304
|
+
show(dir) {
|
|
4305
|
+
return dir < 0 ? [
|
|
4306
|
+
{ transform: translate(100), zIndex: 0 },
|
|
4307
|
+
{ transform: translate(), zIndex: -1 }
|
|
4308
|
+
] : [
|
|
4309
|
+
{ transform: translate(-30), zIndex: -1 },
|
|
4310
|
+
{ transform: translate(), zIndex: 0 }
|
|
4311
|
+
];
|
|
4312
|
+
},
|
|
4313
|
+
percent(current, next, dir) {
|
|
4314
|
+
return dir > 0 ? 1 - translated(next) : translated(current);
|
|
4315
|
+
},
|
|
4316
|
+
translate(percent, dir) {
|
|
4317
|
+
return dir < 0 ? [
|
|
4318
|
+
{ transform: translate(percent * 100), zIndex: 0 },
|
|
4319
|
+
{ transform: translate(-30 * (1 - percent)), zIndex: -1 }
|
|
4320
|
+
] : [
|
|
4321
|
+
{ transform: translate(-30 * percent), zIndex: -1 },
|
|
4322
|
+
{ transform: translate(100 * (1 - percent)), zIndex: 0 }
|
|
4323
|
+
];
|
|
4324
|
+
}
|
|
4274
4325
|
}
|
|
4275
4326
|
};
|
|
4276
4327
|
function scale3d(value) {
|
|
@@ -4280,15 +4331,32 @@
|
|
|
4280
4331
|
var Animations = {
|
|
4281
4332
|
...Animations$2,
|
|
4282
4333
|
fade: {
|
|
4283
|
-
|
|
4284
|
-
|
|
4334
|
+
show() {
|
|
4335
|
+
return [{ opacity: 0 }, { opacity: 1 }];
|
|
4336
|
+
},
|
|
4337
|
+
percent(current) {
|
|
4338
|
+
return 1 - css(current, "opacity");
|
|
4339
|
+
},
|
|
4340
|
+
translate(percent) {
|
|
4341
|
+
return [{ opacity: 1 - percent }, { opacity: percent }];
|
|
4342
|
+
}
|
|
4285
4343
|
},
|
|
4286
4344
|
scale: {
|
|
4287
|
-
|
|
4288
|
-
|
|
4289
|
-
|
|
4290
|
-
|
|
4291
|
-
|
|
4345
|
+
show() {
|
|
4346
|
+
return [
|
|
4347
|
+
{ opacity: 0, transform: scale3d(1 - 0.2) },
|
|
4348
|
+
{ opacity: 1, transform: scale3d(1) }
|
|
4349
|
+
];
|
|
4350
|
+
},
|
|
4351
|
+
percent(current) {
|
|
4352
|
+
return 1 - css(current, "opacity");
|
|
4353
|
+
},
|
|
4354
|
+
translate(percent) {
|
|
4355
|
+
return [
|
|
4356
|
+
{ opacity: 1 - percent, transform: scale3d(1 - 0.2 * percent) },
|
|
4357
|
+
{ opacity: percent, transform: scale3d(1 - 0.2 + 0.2 * percent) }
|
|
4358
|
+
];
|
|
4359
|
+
}
|
|
4292
4360
|
}
|
|
4293
4361
|
};
|
|
4294
4362
|
|
|
@@ -4471,22 +4539,81 @@
|
|
|
4471
4539
|
if (!src) {
|
|
4472
4540
|
return;
|
|
4473
4541
|
}
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4542
|
+
let matches2;
|
|
4543
|
+
const iframeAttrs = {
|
|
4544
|
+
allowfullscreen: "",
|
|
4545
|
+
style: "max-width: 100%; box-sizing: border-box;",
|
|
4546
|
+
"uk-responsive": "",
|
|
4547
|
+
"uk-video": Boolean(this.videoAutoplay)
|
|
4548
|
+
};
|
|
4549
|
+
if (type === "image" || isImage(src)) {
|
|
4550
|
+
const img = createEl("img");
|
|
4551
|
+
wrapInPicture(img, item.sources);
|
|
4552
|
+
attr(img, {
|
|
4553
|
+
src,
|
|
4554
|
+
...pick(item, ["alt", "srcset", "sizes"]),
|
|
4555
|
+
...attrs
|
|
4556
|
+
});
|
|
4557
|
+
on(img, "load", () => this.setItem(item, parent(img) || img));
|
|
4558
|
+
on(img, "error", () => this.setError(item));
|
|
4559
|
+
} else if (type === "video" || isVideo(src)) {
|
|
4560
|
+
const inline = this.videoAutoplay === "inline";
|
|
4561
|
+
const video = createEl("video", {
|
|
4562
|
+
src,
|
|
4563
|
+
playsinline: "",
|
|
4564
|
+
controls: inline ? null : "",
|
|
4565
|
+
loop: inline ? "" : null,
|
|
4566
|
+
muted: inline ? "" : null,
|
|
4567
|
+
poster: this.videoAutoplay ? null : item.poster,
|
|
4568
|
+
"uk-video": Boolean(this.videoAutoplay),
|
|
4569
|
+
...attrs
|
|
4570
|
+
});
|
|
4571
|
+
on(video, "loadedmetadata", () => this.setItem(item, video));
|
|
4572
|
+
on(video, "error", () => this.setError(item));
|
|
4573
|
+
} else if (type === "iframe" || src.match(/\.(html|php)($|\?)/i)) {
|
|
4574
|
+
this.setItem(
|
|
4575
|
+
item,
|
|
4576
|
+
createEl("iframe", {
|
|
4577
|
+
src,
|
|
4578
|
+
allowfullscreen: "",
|
|
4579
|
+
class: "uk-lightbox-iframe",
|
|
4580
|
+
...attrs
|
|
4581
|
+
})
|
|
4582
|
+
);
|
|
4583
|
+
} else if (matches2 = src.match(
|
|
4584
|
+
/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/
|
|
4585
|
+
)) {
|
|
4586
|
+
this.setItem(
|
|
4587
|
+
item,
|
|
4588
|
+
createEl("iframe", {
|
|
4589
|
+
src: `https://www.youtube${matches2[1] || ""}.com/embed/${matches2[2]}${matches2[3] ? `?${matches2[3]}` : ""}`,
|
|
4590
|
+
width: 1920,
|
|
4591
|
+
height: 1080,
|
|
4592
|
+
...iframeAttrs,
|
|
4593
|
+
...attrs
|
|
4594
|
+
})
|
|
4595
|
+
);
|
|
4596
|
+
} else if (matches2 = src.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/)) {
|
|
4597
|
+
try {
|
|
4598
|
+
const { height, width } = await (await fetch(
|
|
4599
|
+
`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(
|
|
4600
|
+
src
|
|
4601
|
+
)}`,
|
|
4602
|
+
{ credentials: "omit" }
|
|
4603
|
+
)).json();
|
|
4604
|
+
this.setItem(
|
|
4605
|
+
item,
|
|
4606
|
+
createEl("iframe", {
|
|
4607
|
+
src: `https://player.vimeo.com/video/${matches2[1]}${matches2[2] ? `?${matches2[2]}` : ""}`,
|
|
4608
|
+
width,
|
|
4609
|
+
height,
|
|
4610
|
+
...iframeAttrs,
|
|
4611
|
+
...attrs
|
|
4612
|
+
})
|
|
4613
|
+
);
|
|
4614
|
+
} catch {
|
|
4615
|
+
this.setError(item);
|
|
4487
4616
|
}
|
|
4488
|
-
} catch {
|
|
4489
|
-
this.setError(item);
|
|
4490
4617
|
}
|
|
4491
4618
|
}
|
|
4492
4619
|
},
|
|
@@ -4546,91 +4673,6 @@
|
|
|
4546
4673
|
attr(el, attrs);
|
|
4547
4674
|
return el;
|
|
4548
4675
|
}
|
|
4549
|
-
async function loadImage({ src, type, attrs, item }) {
|
|
4550
|
-
if (type !== "image" && !isImage(src)) {
|
|
4551
|
-
return;
|
|
4552
|
-
}
|
|
4553
|
-
const img = createEl("img");
|
|
4554
|
-
wrapInPicture(img, item.sources);
|
|
4555
|
-
attr(img, {
|
|
4556
|
-
src,
|
|
4557
|
-
...pick(item, ["alt", "srcset", "sizes"]),
|
|
4558
|
-
...attrs
|
|
4559
|
-
});
|
|
4560
|
-
await img.decode();
|
|
4561
|
-
return parent(img) || img;
|
|
4562
|
-
}
|
|
4563
|
-
function loadVideo({ src, type, attrs, item, cmp }) {
|
|
4564
|
-
if (type !== "video" && !isVideo(src)) {
|
|
4565
|
-
return;
|
|
4566
|
-
}
|
|
4567
|
-
const inline = cmp.videoAutoplay === "inline";
|
|
4568
|
-
const video = createEl("video", {
|
|
4569
|
-
src,
|
|
4570
|
-
playsinline: "",
|
|
4571
|
-
controls: inline ? null : "",
|
|
4572
|
-
loop: inline ? "" : null,
|
|
4573
|
-
muted: inline ? "" : null,
|
|
4574
|
-
poster: cmp.videoAutoplay ? null : item.poster,
|
|
4575
|
-
"uk-video": Boolean(cmp.videoAutoplay),
|
|
4576
|
-
...attrs
|
|
4577
|
-
});
|
|
4578
|
-
return new Promise((resolve, reject) => {
|
|
4579
|
-
on(video, "loadedmetadata", () => resolve(video));
|
|
4580
|
-
on(video, "error", reject);
|
|
4581
|
-
});
|
|
4582
|
-
}
|
|
4583
|
-
function loadIframe({ src, type, attrs }) {
|
|
4584
|
-
if (type !== "iframe" && !/\.(html|php)($|\?)/i.test(src)) {
|
|
4585
|
-
return;
|
|
4586
|
-
}
|
|
4587
|
-
return createEl("iframe", {
|
|
4588
|
-
src,
|
|
4589
|
-
allowfullscreen: "",
|
|
4590
|
-
class: "uk-lightbox-iframe",
|
|
4591
|
-
...attrs
|
|
4592
|
-
});
|
|
4593
|
-
}
|
|
4594
|
-
function loadYouTube({ src, attrs, cmp }) {
|
|
4595
|
-
const matches2 = src.match(
|
|
4596
|
-
/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/
|
|
4597
|
-
);
|
|
4598
|
-
if (!matches2) {
|
|
4599
|
-
return;
|
|
4600
|
-
}
|
|
4601
|
-
return createEl("iframe", {
|
|
4602
|
-
src: `https://www.youtube${matches2[1] || ""}.com/embed/${matches2[2]}${matches2[3] ? `?${matches2[3]}` : ""}`,
|
|
4603
|
-
width: 1920,
|
|
4604
|
-
height: 1080,
|
|
4605
|
-
...getIframeAttrs(cmp),
|
|
4606
|
-
...attrs
|
|
4607
|
-
});
|
|
4608
|
-
}
|
|
4609
|
-
async function loadVimeo({ src, attrs, cmp }) {
|
|
4610
|
-
const matches2 = src.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/);
|
|
4611
|
-
if (!matches2) {
|
|
4612
|
-
return;
|
|
4613
|
-
}
|
|
4614
|
-
const { height, width } = await (await fetch(
|
|
4615
|
-
`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURIComponent(src)}`,
|
|
4616
|
-
{ credentials: "omit" }
|
|
4617
|
-
)).json();
|
|
4618
|
-
return createEl("iframe", {
|
|
4619
|
-
src: `https://player.vimeo.com/video/${matches2[1]}${matches2[2] ? `?${matches2[2]}` : ""}`,
|
|
4620
|
-
width,
|
|
4621
|
-
height,
|
|
4622
|
-
...getIframeAttrs(cmp),
|
|
4623
|
-
...attrs
|
|
4624
|
-
});
|
|
4625
|
-
}
|
|
4626
|
-
function getIframeAttrs(cmp) {
|
|
4627
|
-
return {
|
|
4628
|
-
allowfullscreen: "",
|
|
4629
|
-
style: "max-width: 100%; box-sizing: border-box;",
|
|
4630
|
-
"uk-responsive": "",
|
|
4631
|
-
"uk-video": Boolean(cmp.videoAutoplay)
|
|
4632
|
-
};
|
|
4633
|
-
}
|
|
4634
4676
|
function toThumbnavItem(item, videoAutoplay) {
|
|
4635
4677
|
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", {
|
|
4636
4678
|
src: item.thumb,
|
|
@@ -4716,7 +4758,7 @@
|
|
|
4716
4758
|
if (items[i].thumb) {
|
|
4717
4759
|
continue;
|
|
4718
4760
|
}
|
|
4719
|
-
const parent =
|
|
4761
|
+
const parent = parents(toggle).reverse().concat(toggle).find(
|
|
4720
4762
|
(parent2) => this.$el.contains(parent2) && (parent2 === toggle || $$(this.toggle, parent2).length === 1)
|
|
4721
4763
|
);
|
|
4722
4764
|
if (!parent) {
|
|
@@ -4739,94 +4781,6 @@
|
|
|
4739
4781
|
return item;
|
|
4740
4782
|
}
|
|
4741
4783
|
|
|
4742
|
-
const hasAnimationApi = inBrowser && window.Animation;
|
|
4743
|
-
var marquee = {
|
|
4744
|
-
mixins: [Class],
|
|
4745
|
-
props: {
|
|
4746
|
-
velocity: Number,
|
|
4747
|
-
start: Number,
|
|
4748
|
-
reverse: Boolean,
|
|
4749
|
-
pause: Boolean,
|
|
4750
|
-
pauseVelocity: Number,
|
|
4751
|
-
fadeSize: null
|
|
4752
|
-
},
|
|
4753
|
-
data: {
|
|
4754
|
-
velocity: 25,
|
|
4755
|
-
start: 0,
|
|
4756
|
-
reverse: false,
|
|
4757
|
-
pause: false,
|
|
4758
|
-
pauseVelocity: 10,
|
|
4759
|
-
selList: ".uk-marquee-items",
|
|
4760
|
-
fadeSize: 0
|
|
4761
|
-
},
|
|
4762
|
-
computed: {
|
|
4763
|
-
list: ({ selList }, $el) => $(selList, $el),
|
|
4764
|
-
items() {
|
|
4765
|
-
return children(this.list);
|
|
4766
|
-
}
|
|
4767
|
-
},
|
|
4768
|
-
observe: [
|
|
4769
|
-
resize({
|
|
4770
|
-
target: ({ $el, items }) => [$el, ...items]
|
|
4771
|
-
}),
|
|
4772
|
-
intersection({
|
|
4773
|
-
handler(entries) {
|
|
4774
|
-
for (const entry of entries) {
|
|
4775
|
-
entry.target.inert = !entry.isIntersecting;
|
|
4776
|
-
}
|
|
4777
|
-
},
|
|
4778
|
-
target: ({ items }) => items,
|
|
4779
|
-
args: { intersecting: false },
|
|
4780
|
-
options: ({ $el }) => ({ root: $el })
|
|
4781
|
-
})
|
|
4782
|
-
],
|
|
4783
|
-
events: {
|
|
4784
|
-
name: [pointerEnter, pointerLeave],
|
|
4785
|
-
el: ({ $el }) => $el,
|
|
4786
|
-
self: true,
|
|
4787
|
-
filter: ({ pause }) => hasAnimationApi && pause,
|
|
4788
|
-
handler(e) {
|
|
4789
|
-
for (const el of this.items) {
|
|
4790
|
-
for (const animation of el.getAnimations()) {
|
|
4791
|
-
animation.playbackRate = e.type === pointerEnter ? this.pauseVelocity / this.velocity : 1;
|
|
4792
|
-
}
|
|
4793
|
-
}
|
|
4794
|
-
}
|
|
4795
|
-
},
|
|
4796
|
-
update: {
|
|
4797
|
-
write() {
|
|
4798
|
-
const prefix = this.$options.id;
|
|
4799
|
-
const items = this.items;
|
|
4800
|
-
const vertical = hasClass(this.$el, `${prefix}-vertical`);
|
|
4801
|
-
css(items, "offset", "none");
|
|
4802
|
-
const dir = vertical ? ["top", "bottom"] : ["left", "right"];
|
|
4803
|
-
if (!vertical && isRtl) {
|
|
4804
|
-
dir.reverse();
|
|
4805
|
-
}
|
|
4806
|
-
const listStart = dimensions$1(this.list)[dir[0]];
|
|
4807
|
-
const listEnd = Math[!vertical && isRtl ? "min" : "max"](
|
|
4808
|
-
...items.map((el) => dimensions$1(el)[dir[1]])
|
|
4809
|
-
);
|
|
4810
|
-
for (const el of items) {
|
|
4811
|
-
const elEnd = dimensions$1(el)[dir[1]];
|
|
4812
|
-
const line1 = listEnd - elEnd;
|
|
4813
|
-
const line2 = elEnd - listStart;
|
|
4814
|
-
const path = vertical ? `"M0 0 v${line1}M0 ${-line2} v${line2}"` : `"M0 0 h${line1}M${-line2} 0 h${line2}"`;
|
|
4815
|
-
css(el, `--${prefix}-path`, path);
|
|
4816
|
-
}
|
|
4817
|
-
css(this.$el, {
|
|
4818
|
-
[`--${prefix}-duration`]: `${Math.abs(listStart - listEnd) / this.velocity}s`,
|
|
4819
|
-
[`--${prefix}-start`]: this.start,
|
|
4820
|
-
[`--${prefix}-direction`]: this.reverse ? "reverse" : "normal",
|
|
4821
|
-
"--uk-overflow-fade-size": this.fadeSize ? `${toPx(this.fadeSize, vertical ? "height" : "width", this.$el, true)}px` : ""
|
|
4822
|
-
});
|
|
4823
|
-
toggleClass(this.$el, `${prefix}-fade`, this.fadeSize);
|
|
4824
|
-
css(items, "offset", "");
|
|
4825
|
-
},
|
|
4826
|
-
events: ["resize"]
|
|
4827
|
-
}
|
|
4828
|
-
};
|
|
4829
|
-
|
|
4830
4784
|
var notification = {
|
|
4831
4785
|
mixins: [Container],
|
|
4832
4786
|
functional: true,
|
|
@@ -5259,7 +5213,10 @@
|
|
|
5259
5213
|
return val;
|
|
5260
5214
|
}
|
|
5261
5215
|
function fillObject(keys2, value) {
|
|
5262
|
-
return
|
|
5216
|
+
return keys2.reduce((data, prop) => {
|
|
5217
|
+
data[prop] = value;
|
|
5218
|
+
return data;
|
|
5219
|
+
}, {});
|
|
5263
5220
|
}
|
|
5264
5221
|
function ease(percent, easing) {
|
|
5265
5222
|
return easing >= 0 ? Math.pow(percent, easing + 1) : 1 - Math.pow(1 - percent, 1 - easing);
|
|
@@ -5333,14 +5290,16 @@
|
|
|
5333
5290
|
return el ? "offsetTop" in el ? el : getOffsetElement(parent(el)) : document.documentElement;
|
|
5334
5291
|
}
|
|
5335
5292
|
|
|
5336
|
-
var
|
|
5293
|
+
var SliderParallax = {
|
|
5337
5294
|
props: {
|
|
5295
|
+
parallax: Boolean,
|
|
5338
5296
|
parallaxTarget: Boolean,
|
|
5339
5297
|
parallaxStart: String,
|
|
5340
5298
|
parallaxEnd: String,
|
|
5341
5299
|
parallaxEasing: Number
|
|
5342
5300
|
},
|
|
5343
5301
|
data: {
|
|
5302
|
+
parallax: false,
|
|
5344
5303
|
parallaxTarget: false,
|
|
5345
5304
|
parallaxStart: 0,
|
|
5346
5305
|
parallaxEnd: 0,
|
|
@@ -5354,48 +5313,26 @@
|
|
|
5354
5313
|
scroll$1({ filter: ({ parallax }) => parallax })
|
|
5355
5314
|
],
|
|
5356
5315
|
computed: {
|
|
5357
|
-
parallaxTargetFallback: ($props, $el) => $el,
|
|
5358
5316
|
parallaxTarget({ parallaxTarget }, $el) {
|
|
5359
|
-
return parallaxTarget && query(parallaxTarget, $el) || this.
|
|
5317
|
+
return parallaxTarget && query(parallaxTarget, $el) || this.list;
|
|
5360
5318
|
}
|
|
5361
5319
|
},
|
|
5362
5320
|
update: {
|
|
5363
5321
|
read() {
|
|
5364
5322
|
if (!this.parallax) {
|
|
5365
|
-
return;
|
|
5323
|
+
return false;
|
|
5366
5324
|
}
|
|
5367
5325
|
const target = this.parallaxTarget;
|
|
5368
5326
|
if (!target) {
|
|
5369
|
-
return;
|
|
5327
|
+
return false;
|
|
5370
5328
|
}
|
|
5371
5329
|
const start = toPx(this.parallaxStart, "height", target, true);
|
|
5372
5330
|
const end = toPx(this.parallaxEnd, "height", target, true);
|
|
5373
5331
|
const percent = ease(scrolledOver(target, start, end), this.parallaxEasing);
|
|
5374
|
-
return { percent };
|
|
5332
|
+
return { parallax: this.getIndexAt(percent) };
|
|
5375
5333
|
},
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
};
|
|
5379
|
-
|
|
5380
|
-
var SliderParallax = {
|
|
5381
|
-
mixins: [ScrollDriven],
|
|
5382
|
-
props: {
|
|
5383
|
-
parallax: Boolean
|
|
5384
|
-
},
|
|
5385
|
-
data: {
|
|
5386
|
-
parallax: false
|
|
5387
|
-
},
|
|
5388
|
-
computed: {
|
|
5389
|
-
parallaxTargetFallback() {
|
|
5390
|
-
return this.list;
|
|
5391
|
-
}
|
|
5392
|
-
},
|
|
5393
|
-
update: {
|
|
5394
|
-
write({ percent }) {
|
|
5395
|
-
if (!this.parallax) {
|
|
5396
|
-
return;
|
|
5397
|
-
}
|
|
5398
|
-
const [prevIndex, slidePercent] = this.getIndexAt(percent);
|
|
5334
|
+
write({ parallax }) {
|
|
5335
|
+
const [prevIndex, slidePercent] = parallax;
|
|
5399
5336
|
const nextIndex = this.getValidIndex(prevIndex + Math.ceil(slidePercent));
|
|
5400
5337
|
const prev = this.slides[prevIndex];
|
|
5401
5338
|
const next = this.slides[nextIndex];
|
|
@@ -6305,7 +6242,7 @@
|
|
|
6305
6242
|
inset: false
|
|
6306
6243
|
},
|
|
6307
6244
|
connected() {
|
|
6308
|
-
this.pos =
|
|
6245
|
+
this.pos = this.$props.pos.split("-").concat("center").slice(0, 2);
|
|
6309
6246
|
[this.dir, this.align] = this.pos;
|
|
6310
6247
|
this.axis = includes(["top", "bottom"], this.dir) ? "y" : "x";
|
|
6311
6248
|
},
|
|
@@ -6484,12 +6421,10 @@
|
|
|
6484
6421
|
}
|
|
6485
6422
|
function parseProps(options) {
|
|
6486
6423
|
const { el, id, data: data$1 } = options;
|
|
6487
|
-
return {
|
|
6488
|
-
delay: data(el, "delay"),
|
|
6489
|
-
title: data(el, "title"),
|
|
6424
|
+
return ["delay", "title"].reduce((obj, key) => ({ [key]: data(el, key), ...obj }), {
|
|
6490
6425
|
...parseOptions(data(el, id), ["title"]),
|
|
6491
6426
|
...data$1
|
|
6492
|
-
};
|
|
6427
|
+
});
|
|
6493
6428
|
}
|
|
6494
6429
|
|
|
6495
6430
|
var upload = {
|
|
@@ -6708,7 +6643,6 @@
|
|
|
6708
6643
|
Filter: filter,
|
|
6709
6644
|
Lightbox: lightbox,
|
|
6710
6645
|
LightboxPanel: LightboxPanel,
|
|
6711
|
-
Marquee: marquee,
|
|
6712
6646
|
Notification: notification,
|
|
6713
6647
|
Parallax: parallax,
|
|
6714
6648
|
Slider: slider,
|
|
@@ -6792,76 +6726,28 @@
|
|
|
6792
6726
|
globalApi(App);
|
|
6793
6727
|
instanceApi(App);
|
|
6794
6728
|
|
|
6795
|
-
var Connect = {
|
|
6796
|
-
mixins: [Togglable],
|
|
6797
|
-
props: {
|
|
6798
|
-
connect: String
|
|
6799
|
-
},
|
|
6800
|
-
data: {
|
|
6801
|
-
connect: "",
|
|
6802
|
-
cls: "uk-active"
|
|
6803
|
-
},
|
|
6804
|
-
computed: {
|
|
6805
|
-
connects: {
|
|
6806
|
-
get: ({ connect }, $el) => connect ? queryAll(connect, $el) : [],
|
|
6807
|
-
observe: ({ connect }) => connect
|
|
6808
|
-
},
|
|
6809
|
-
connectChildren() {
|
|
6810
|
-
return this.connects.flatMap((el) => children(el));
|
|
6811
|
-
}
|
|
6812
|
-
},
|
|
6813
|
-
watch: {
|
|
6814
|
-
connects(connects) {
|
|
6815
|
-
for (const el of connects) {
|
|
6816
|
-
if (isTag(el, "ul")) {
|
|
6817
|
-
el.role = "presentation";
|
|
6818
|
-
}
|
|
6819
|
-
}
|
|
6820
|
-
}
|
|
6821
|
-
},
|
|
6822
|
-
observe: lazyload({ targets: ({ connectChildren }) => connectChildren }),
|
|
6823
|
-
methods: {
|
|
6824
|
-
showConnects(index, animate) {
|
|
6825
|
-
const toggle = async ({ children: children2 }) => {
|
|
6826
|
-
const actives = toArray(children2).filter(
|
|
6827
|
-
(child, i) => i !== index && hasClass(child, this.cls)
|
|
6828
|
-
);
|
|
6829
|
-
if (await this.toggleElement(actives, false, animate)) {
|
|
6830
|
-
await this.toggleElement(children2[index], true, animate);
|
|
6831
|
-
}
|
|
6832
|
-
};
|
|
6833
|
-
return Promise.all(this.connects.map(toggle));
|
|
6834
|
-
}
|
|
6835
|
-
}
|
|
6836
|
-
};
|
|
6837
|
-
|
|
6838
6729
|
var Accordion = {
|
|
6839
|
-
mixins: [Class,
|
|
6730
|
+
mixins: [Class, Togglable],
|
|
6840
6731
|
props: {
|
|
6732
|
+
animation: Boolean,
|
|
6841
6733
|
targets: String,
|
|
6842
6734
|
active: null,
|
|
6843
6735
|
collapsible: Boolean,
|
|
6844
6736
|
multiple: Boolean,
|
|
6845
6737
|
toggle: String,
|
|
6846
6738
|
content: String,
|
|
6847
|
-
offset: Number
|
|
6848
|
-
switcherConnect: String
|
|
6739
|
+
offset: Number
|
|
6849
6740
|
},
|
|
6850
6741
|
data: {
|
|
6851
6742
|
targets: "> *",
|
|
6852
6743
|
active: false,
|
|
6853
|
-
animation:
|
|
6744
|
+
animation: true,
|
|
6854
6745
|
collapsible: true,
|
|
6855
6746
|
multiple: false,
|
|
6856
6747
|
clsOpen: "uk-open",
|
|
6857
|
-
cls: "uk-active",
|
|
6858
6748
|
toggle: ".uk-accordion-title",
|
|
6859
6749
|
content: ".uk-accordion-content",
|
|
6860
|
-
offset: 0
|
|
6861
|
-
switcherConnect: ""
|
|
6862
|
-
},
|
|
6863
|
-
beforeConnect() {
|
|
6864
|
-
this.connect = this.$props.connect = this.switcherConnect;
|
|
6750
|
+
offset: 0
|
|
6865
6751
|
},
|
|
6866
6752
|
computed: {
|
|
6867
6753
|
items: ({ targets }, $el) => $$(targets, $el),
|
|
@@ -6885,12 +6771,6 @@
|
|
|
6885
6771
|
this.toggle(active, false);
|
|
6886
6772
|
}
|
|
6887
6773
|
},
|
|
6888
|
-
connectChildren() {
|
|
6889
|
-
this.showConnects(
|
|
6890
|
-
findIndex(this.items, (el) => hasClass(el, this.clsOpen)),
|
|
6891
|
-
false
|
|
6892
|
-
);
|
|
6893
|
-
},
|
|
6894
6774
|
toggles() {
|
|
6895
6775
|
this.$emit();
|
|
6896
6776
|
},
|
|
@@ -6941,66 +6821,43 @@
|
|
|
6941
6821
|
continue;
|
|
6942
6822
|
}
|
|
6943
6823
|
toggle.id = generateId(this, toggle);
|
|
6824
|
+
content.id = generateId(this, content);
|
|
6944
6825
|
const active = includes(activeItems, this.items[index2]);
|
|
6945
|
-
attr(content, {
|
|
6946
|
-
id: generateId(this, content),
|
|
6947
|
-
role: "region",
|
|
6948
|
-
"aria-labelledby": toggle.id
|
|
6949
|
-
});
|
|
6950
|
-
if (isTag(content, "ul")) {
|
|
6951
|
-
attr(children(content), "role", "presentation");
|
|
6952
|
-
}
|
|
6953
|
-
const controls = [content.id];
|
|
6954
|
-
for (const { children: children2 } of this.connects) {
|
|
6955
|
-
const item = children2[index2];
|
|
6956
|
-
if (!item) {
|
|
6957
|
-
continue;
|
|
6958
|
-
}
|
|
6959
|
-
attr(item, {
|
|
6960
|
-
id: generateId(this, item),
|
|
6961
|
-
role: "tabpanel",
|
|
6962
|
-
"aria-labelledby": toggle.id
|
|
6963
|
-
});
|
|
6964
|
-
controls.push(item.id);
|
|
6965
|
-
}
|
|
6966
6826
|
attr(toggle, {
|
|
6967
6827
|
role: isTag(toggle, "a") ? "button" : null,
|
|
6968
|
-
"aria-controls":
|
|
6828
|
+
"aria-controls": content.id,
|
|
6969
6829
|
"aria-expanded": active,
|
|
6970
6830
|
"aria-disabled": !this.collapsible && activeItems.length < 2 && active
|
|
6971
6831
|
});
|
|
6832
|
+
attr(content, { role: "region", "aria-labelledby": toggle.id });
|
|
6833
|
+
if (isTag(content, "ul")) {
|
|
6834
|
+
attr(children(content), "role", "presentation");
|
|
6835
|
+
}
|
|
6972
6836
|
}
|
|
6973
6837
|
},
|
|
6974
6838
|
methods: {
|
|
6975
|
-
|
|
6976
|
-
|
|
6977
|
-
const next = getIndex(item, this.items);
|
|
6978
|
-
item = this.items[next];
|
|
6839
|
+
toggle(item, animate) {
|
|
6840
|
+
item = this.items[getIndex(item, this.items)];
|
|
6979
6841
|
let items = [item];
|
|
6980
6842
|
const activeItems = filter$1(this.items, `.${this.clsOpen}`);
|
|
6981
|
-
|
|
6982
|
-
|
|
6983
|
-
|
|
6984
|
-
|
|
6985
|
-
|
|
6986
|
-
|
|
6987
|
-
|
|
6988
|
-
|
|
6989
|
-
|
|
6990
|
-
|
|
6991
|
-
|
|
6992
|
-
|
|
6993
|
-
|
|
6994
|
-
|
|
6995
|
-
|
|
6996
|
-
|
|
6997
|
-
|
|
6998
|
-
|
|
6999
|
-
};
|
|
7000
|
-
return Promise.all([
|
|
7001
|
-
...items.map(toggle),
|
|
7002
|
-
this.showConnects(isActive ? hideIndex() : next, animate)
|
|
7003
|
-
]);
|
|
6843
|
+
if (!this.multiple && !includes(activeItems, items[0])) {
|
|
6844
|
+
items = items.concat(activeItems);
|
|
6845
|
+
}
|
|
6846
|
+
if (!this.collapsible && activeItems.length < 2 && includes(activeItems, item)) {
|
|
6847
|
+
items = [];
|
|
6848
|
+
}
|
|
6849
|
+
return Promise.all(
|
|
6850
|
+
items.map(
|
|
6851
|
+
(el) => this.toggleElement(el, !includes(activeItems, el), (el2, show) => {
|
|
6852
|
+
toggleClass(el2, this.clsOpen, show);
|
|
6853
|
+
if (animate === false || !this.animation) {
|
|
6854
|
+
hide($(this.content, el2), !show);
|
|
6855
|
+
return;
|
|
6856
|
+
}
|
|
6857
|
+
return transition(el2, show, this);
|
|
6858
|
+
})
|
|
6859
|
+
)
|
|
6860
|
+
);
|
|
7004
6861
|
}
|
|
7005
6862
|
}
|
|
7006
6863
|
};
|
|
@@ -7091,40 +6948,22 @@
|
|
|
7091
6948
|
);
|
|
7092
6949
|
}
|
|
7093
6950
|
|
|
7094
|
-
const loopKey = /* @__PURE__ */ Symbol();
|
|
7095
6951
|
var Video = {
|
|
7096
|
-
mixins: [ScrollDriven],
|
|
7097
6952
|
args: "autoplay",
|
|
7098
6953
|
props: {
|
|
7099
6954
|
automute: Boolean,
|
|
7100
6955
|
autoplay: Boolean,
|
|
7101
6956
|
restart: Boolean,
|
|
7102
|
-
|
|
7103
|
-
inviewQueued: Number,
|
|
7104
|
-
hoverTarget: Boolean,
|
|
7105
|
-
hoverRewind: Number,
|
|
7106
|
-
reducedMotionTime: Number
|
|
6957
|
+
hoverTarget: Boolean
|
|
7107
6958
|
},
|
|
7108
6959
|
data: {
|
|
7109
6960
|
automute: false,
|
|
7110
6961
|
autoplay: true,
|
|
7111
6962
|
restart: false,
|
|
7112
|
-
|
|
7113
|
-
inviewQueued: 0,
|
|
7114
|
-
hoverTarget: false,
|
|
7115
|
-
hoverRewind: 0,
|
|
7116
|
-
reducedMotionTime: 0
|
|
6963
|
+
hoverTarget: false
|
|
7117
6964
|
},
|
|
7118
6965
|
beforeConnect() {
|
|
7119
6966
|
const isVideo = isTag(this.$el, "video");
|
|
7120
|
-
this.restart = isVideo && this.restart;
|
|
7121
|
-
this.parallax = isVideo && this.autoplay === "parallax";
|
|
7122
|
-
this.manualControl = ["hover", "parallax"].includes(this.autoplay);
|
|
7123
|
-
this.inviewQueued = this.autoplay === "inview" && this.inviewQueued;
|
|
7124
|
-
if (this.inviewQueued) {
|
|
7125
|
-
this.$el[loopKey] = this.$el.loop;
|
|
7126
|
-
this.$el.loop = false;
|
|
7127
|
-
}
|
|
7128
6967
|
if (this.autoplay === "inview" && isVideo && !hasAttr(this.$el, "preload")) {
|
|
7129
6968
|
this.$el.preload = "none";
|
|
7130
6969
|
}
|
|
@@ -7133,10 +6972,7 @@
|
|
|
7133
6972
|
}
|
|
7134
6973
|
if (this.autoplay === "hover") {
|
|
7135
6974
|
if (isVideo) {
|
|
7136
|
-
this.
|
|
7137
|
-
if (!isFocusable(this.hoverTarget)) {
|
|
7138
|
-
this.hoverTarget.tabIndex = 0;
|
|
7139
|
-
}
|
|
6975
|
+
this.$el.tabIndex = 0;
|
|
7140
6976
|
} else {
|
|
7141
6977
|
this.autoplay = true;
|
|
7142
6978
|
}
|
|
@@ -7145,48 +6981,27 @@
|
|
|
7145
6981
|
mute(this.$el);
|
|
7146
6982
|
}
|
|
7147
6983
|
},
|
|
7148
|
-
disconnected() {
|
|
7149
|
-
if (this.$el[loopKey]) {
|
|
7150
|
-
this.$el.loop = true;
|
|
7151
|
-
}
|
|
7152
|
-
queue.delete(this.$el);
|
|
7153
|
-
},
|
|
7154
6984
|
events: [
|
|
7155
6985
|
{
|
|
7156
6986
|
name: `${pointerEnter} focusin`,
|
|
7157
|
-
el: ({ hoverTarget }) => hoverTarget,
|
|
6987
|
+
el: ({ hoverTarget, $el }) => query(hoverTarget, $el) || $el,
|
|
7158
6988
|
filter: ({ autoplay }) => autoplay === "hover",
|
|
7159
6989
|
handler(e) {
|
|
7160
|
-
var _a;
|
|
7161
|
-
(_a = this._reverseAbort) == null ? void 0 : _a.abort();
|
|
7162
6990
|
if (!isTouch(e) || !isPlaying(this.$el)) {
|
|
7163
|
-
|
|
6991
|
+
play(this.$el);
|
|
7164
6992
|
} else {
|
|
7165
|
-
this.
|
|
6993
|
+
pauseHover(this.$el, this.restart);
|
|
7166
6994
|
}
|
|
7167
6995
|
}
|
|
7168
6996
|
},
|
|
7169
6997
|
{
|
|
7170
6998
|
name: `${pointerLeave} focusout`,
|
|
7171
|
-
el: ({ hoverTarget }) => hoverTarget,
|
|
6999
|
+
el: ({ hoverTarget, $el }) => query(hoverTarget, $el) || $el,
|
|
7172
7000
|
filter: ({ autoplay }) => autoplay === "hover",
|
|
7173
7001
|
handler(e) {
|
|
7174
|
-
var _a;
|
|
7175
7002
|
if (!isTouch(e)) {
|
|
7176
|
-
(
|
|
7177
|
-
this.pause();
|
|
7178
|
-
this._reverseAbort = playReverse(this.$el, this.hoverRewind);
|
|
7179
|
-
}
|
|
7180
|
-
}
|
|
7181
|
-
},
|
|
7182
|
-
{
|
|
7183
|
-
name: "error pause ended",
|
|
7184
|
-
filter: ({ inviewQueued }) => inviewQueued,
|
|
7185
|
-
handler(e) {
|
|
7186
|
-
if (e.type === "error" || e.type === "ended" && !this.$el[loopKey]) {
|
|
7187
|
-
queue.delete(this.$el);
|
|
7003
|
+
pauseHover(this.$el, this.restart);
|
|
7188
7004
|
}
|
|
7189
|
-
playNextQueued();
|
|
7190
7005
|
}
|
|
7191
7006
|
}
|
|
7192
7007
|
],
|
|
@@ -7199,118 +7014,33 @@
|
|
|
7199
7014
|
}
|
|
7200
7015
|
}),
|
|
7201
7016
|
intersection({
|
|
7202
|
-
filter: ({ $el,
|
|
7203
|
-
handler([{ isIntersecting }]) {
|
|
7017
|
+
filter: ({ $el, autoplay }) => autoplay !== "hover" && $el.preload !== "none",
|
|
7018
|
+
handler([{ isIntersecting, target }]) {
|
|
7204
7019
|
if (!document.fullscreenElement) {
|
|
7205
7020
|
if (isIntersecting) {
|
|
7206
7021
|
if (this.autoplay) {
|
|
7207
|
-
|
|
7022
|
+
play(target);
|
|
7208
7023
|
}
|
|
7209
7024
|
} else {
|
|
7210
|
-
this.
|
|
7025
|
+
pauseHover(target, this.restart);
|
|
7211
7026
|
}
|
|
7212
7027
|
}
|
|
7213
7028
|
},
|
|
7214
7029
|
args: { intersecting: false },
|
|
7215
|
-
options: ({ $el, autoplay
|
|
7216
|
-
root: autoplay === "inview" ? null : parent($el).closest(":not(a)")
|
|
7217
|
-
rootMargin: autoplay === "inview" ? inviewMargin : "0px"
|
|
7030
|
+
options: ({ $el, autoplay }) => ({
|
|
7031
|
+
root: autoplay === "inview" ? null : parent($el).closest(":not(a)")
|
|
7218
7032
|
})
|
|
7219
7033
|
})
|
|
7220
|
-
]
|
|
7221
|
-
update: {
|
|
7222
|
-
write({ percent }) {
|
|
7223
|
-
if (!this.parallax) {
|
|
7224
|
-
return;
|
|
7225
|
-
}
|
|
7226
|
-
const { duration, seeking } = this.$el;
|
|
7227
|
-
if (!isNaN(duration) && !seeking) {
|
|
7228
|
-
this.$el.currentTime = percent * duration;
|
|
7229
|
-
}
|
|
7230
|
-
},
|
|
7231
|
-
events: ["scroll", "resize"]
|
|
7232
|
-
},
|
|
7233
|
-
methods: {
|
|
7234
|
-
_autoplay() {
|
|
7235
|
-
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
|
|
7236
|
-
this.pause();
|
|
7237
|
-
if (isTag(this.$el, "video")) {
|
|
7238
|
-
this.$el.currentTime = this.reducedMotionTime;
|
|
7239
|
-
}
|
|
7240
|
-
} else {
|
|
7241
|
-
this.play();
|
|
7242
|
-
}
|
|
7243
|
-
},
|
|
7244
|
-
play() {
|
|
7245
|
-
if (this.inviewQueued) {
|
|
7246
|
-
queue.set(this.$el, this.inviewQueued);
|
|
7247
|
-
playNextQueued();
|
|
7248
|
-
} else {
|
|
7249
|
-
play(this.$el);
|
|
7250
|
-
}
|
|
7251
|
-
},
|
|
7252
|
-
pause() {
|
|
7253
|
-
pause(this.$el);
|
|
7254
|
-
queue.delete(this.$el);
|
|
7255
|
-
if (this.restart) {
|
|
7256
|
-
this.$el.currentTime = 0;
|
|
7257
|
-
}
|
|
7258
|
-
}
|
|
7259
|
-
}
|
|
7034
|
+
]
|
|
7260
7035
|
};
|
|
7261
7036
|
function isPlaying(videoEl) {
|
|
7262
7037
|
return !videoEl.paused && !videoEl.ended;
|
|
7263
7038
|
}
|
|
7264
|
-
|
|
7265
|
-
|
|
7266
|
-
|
|
7267
|
-
|
|
7268
|
-
cancelAnimationFrame(frame);
|
|
7269
|
-
await new Promise((resolve) => frame = requestAnimationFrame(resolve));
|
|
7270
|
-
const getPlayed = (el) => {
|
|
7271
|
-
var _a;
|
|
7272
|
-
return (_a = played.get(el)) != null ? _a : 0;
|
|
7273
|
-
};
|
|
7274
|
-
const videos = shuffle(queue.keys()).sort((a, b) => getPlayed(a) - getPlayed(b));
|
|
7275
|
-
for (const el of videos) {
|
|
7276
|
-
const maxQueued = queue.get(el);
|
|
7277
|
-
if (isPlaying(el) || videos.filter(isPlaying).length / queue.size >= maxQueued) {
|
|
7278
|
-
continue;
|
|
7279
|
-
}
|
|
7280
|
-
played.set(el, getPlayed(el) + 1);
|
|
7281
|
-
play(el);
|
|
7282
|
-
}
|
|
7283
|
-
}
|
|
7284
|
-
function shuffle(array) {
|
|
7285
|
-
array = [...array];
|
|
7286
|
-
for (let i = array.length - 1; i > 0; i--) {
|
|
7287
|
-
let j = Math.floor(Math.random() * (i + 1));
|
|
7288
|
-
[array[i], array[j]] = [array[j], array[i]];
|
|
7039
|
+
function pauseHover(el, restart) {
|
|
7040
|
+
pause(el);
|
|
7041
|
+
if (restart && isTag(el, "video")) {
|
|
7042
|
+
el.currentTime = 0;
|
|
7289
7043
|
}
|
|
7290
|
-
return array;
|
|
7291
|
-
}
|
|
7292
|
-
function playReverse(el, playbackRate) {
|
|
7293
|
-
const start = el.currentTime;
|
|
7294
|
-
if (isNaN(start) || !playbackRate) {
|
|
7295
|
-
return;
|
|
7296
|
-
}
|
|
7297
|
-
playbackRate *= Math.max(1, start / 10 + 0.5);
|
|
7298
|
-
const controller = new AbortController();
|
|
7299
|
-
const time = Date.now();
|
|
7300
|
-
(function next() {
|
|
7301
|
-
requestAnimationFrame(() => {
|
|
7302
|
-
if (controller.signal.aborted) {
|
|
7303
|
-
return;
|
|
7304
|
-
}
|
|
7305
|
-
if (!el.seeking) {
|
|
7306
|
-
el.currentTime = Math.max(0, start - (Date.now() - time) * playbackRate / 1e3);
|
|
7307
|
-
}
|
|
7308
|
-
if (el.currentTime > 0) {
|
|
7309
|
-
next();
|
|
7310
|
-
}
|
|
7311
|
-
});
|
|
7312
|
-
})();
|
|
7313
|
-
return controller;
|
|
7314
7044
|
}
|
|
7315
7045
|
|
|
7316
7046
|
var cover = {
|
|
@@ -7628,7 +7358,6 @@
|
|
|
7628
7358
|
css(this.$el, this._style);
|
|
7629
7359
|
this.$el.hidden = true;
|
|
7630
7360
|
const viewports = this.target.map((target) => getViewport$1(this.$el, target));
|
|
7631
|
-
const boundaryOffsets = this.boundary.map((el) => offset(el));
|
|
7632
7361
|
const viewportOffset = this.getViewportOffset(this.$el);
|
|
7633
7362
|
const dirs = [
|
|
7634
7363
|
[0, ["x", "width", "left", "right"]],
|
|
@@ -7638,7 +7367,7 @@
|
|
|
7638
7367
|
if (this.axis !== axis && includes([axis, true], this.stretch)) {
|
|
7639
7368
|
css(this.$el, {
|
|
7640
7369
|
[prop]: Math.min(
|
|
7641
|
-
|
|
7370
|
+
offset(this.boundary[i])[prop],
|
|
7642
7371
|
viewports[i][prop] - 2 * viewportOffset
|
|
7643
7372
|
),
|
|
7644
7373
|
[`overflow-${axis}`]: "auto"
|
|
@@ -7660,10 +7389,10 @@
|
|
|
7660
7389
|
const elOffset = offset(this.$el);
|
|
7661
7390
|
css(this.$el, {
|
|
7662
7391
|
[prop]: (targetOffset[start] > elOffset[start] ? targetOffset[this.inset ? end : start] - Math.max(
|
|
7663
|
-
|
|
7392
|
+
offset(this.boundary[i])[start],
|
|
7664
7393
|
viewports[i][start] + viewportOffset
|
|
7665
7394
|
) : Math.min(
|
|
7666
|
-
|
|
7395
|
+
offset(this.boundary[i])[end],
|
|
7667
7396
|
viewports[i][end] - viewportOffset
|
|
7668
7397
|
) - targetOffset[this.inset ? start : end]) - positionOffset,
|
|
7669
7398
|
[`overflow-${axis}`]: "auto"
|
|
@@ -7692,7 +7421,7 @@
|
|
|
7692
7421
|
observeViewportResize(update),
|
|
7693
7422
|
observeResize(overflowParents(drop.$el).concat(drop.target), update)
|
|
7694
7423
|
];
|
|
7695
|
-
return () => off.
|
|
7424
|
+
return () => off.map((observer) => observer.disconnect());
|
|
7696
7425
|
}
|
|
7697
7426
|
function listenForScroll(drop, fn = () => drop.$emit()) {
|
|
7698
7427
|
return on([document, ...overflowParents(drop.$el)], "scroll", fn, {
|
|
@@ -7927,9 +7656,7 @@
|
|
|
7927
7656
|
const drop = this.getDropdown(target);
|
|
7928
7657
|
const adjustHeight = () => {
|
|
7929
7658
|
const maxBottom = Math.max(
|
|
7930
|
-
...
|
|
7931
|
-
(el) => offset(el).bottom
|
|
7932
|
-
)
|
|
7659
|
+
...parents(target, `.${this.clsDrop}`).concat(target).map((el) => offset(el).bottom)
|
|
7933
7660
|
);
|
|
7934
7661
|
offset(this.dropbar, {
|
|
7935
7662
|
left: offset(this.dropbar).left,
|
|
@@ -8118,8 +7845,7 @@
|
|
|
8118
7845
|
parallaxJustify: Boolean
|
|
8119
7846
|
},
|
|
8120
7847
|
data: {
|
|
8121
|
-
margin: "",
|
|
8122
|
-
firstRow: "uk-first-row",
|
|
7848
|
+
margin: "uk-grid-margin",
|
|
8123
7849
|
clsStack: "uk-grid-stack",
|
|
8124
7850
|
masonry: false,
|
|
8125
7851
|
parallax: 0,
|
|
@@ -8141,14 +7867,14 @@
|
|
|
8141
7867
|
{
|
|
8142
7868
|
read(data) {
|
|
8143
7869
|
const { rows } = data;
|
|
8144
|
-
let { masonry, parallax, parallaxJustify } = this;
|
|
7870
|
+
let { masonry, parallax, parallaxJustify, margin } = this;
|
|
8145
7871
|
parallax = Math.max(0, toPx(parallax));
|
|
8146
7872
|
if (!(masonry || parallax || parallaxJustify) || positionedAbsolute(rows) || rows[0].some(
|
|
8147
7873
|
(el, i) => rows.some((row) => row[i] && row[i].offsetWidth !== el.offsetWidth)
|
|
8148
7874
|
)) {
|
|
8149
7875
|
return data.translates = data.scrollColumns = false;
|
|
8150
7876
|
}
|
|
8151
|
-
let gutter =
|
|
7877
|
+
let gutter = getGutter(rows, margin);
|
|
8152
7878
|
let columns;
|
|
8153
7879
|
let translates;
|
|
8154
7880
|
if (masonry) {
|
|
@@ -8241,6 +7967,10 @@
|
|
|
8241
7967
|
}
|
|
8242
7968
|
return [columns, translates];
|
|
8243
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
|
+
}
|
|
8244
7974
|
function transpose(rows) {
|
|
8245
7975
|
const columns = [];
|
|
8246
7976
|
for (const row of rows) {
|
|
@@ -8271,7 +8001,7 @@
|
|
|
8271
8001
|
elements: ({ target }, $el) => $$(target, $el)
|
|
8272
8002
|
},
|
|
8273
8003
|
observe: resize({
|
|
8274
|
-
target: ({ $el, elements }) =>
|
|
8004
|
+
target: ({ $el, elements }) => elements.reduce((elements2, el) => elements2.concat(el, ...el.children), [$el])
|
|
8275
8005
|
}),
|
|
8276
8006
|
events: {
|
|
8277
8007
|
// Hidden elements may change height when fonts load
|
|
@@ -9280,11 +9010,11 @@
|
|
|
9280
9010
|
],
|
|
9281
9011
|
update: {
|
|
9282
9012
|
read() {
|
|
9283
|
-
|
|
9284
|
-
|
|
9285
|
-
|
|
9286
|
-
|
|
9287
|
-
};
|
|
9013
|
+
const overflow = [];
|
|
9014
|
+
for (const prop of ["Width", "Height"]) {
|
|
9015
|
+
overflow.push(this.$el[`scroll${prop}`] - this.$el[`client${prop}`]);
|
|
9016
|
+
}
|
|
9017
|
+
return { overflow };
|
|
9288
9018
|
},
|
|
9289
9019
|
write({ overflow }) {
|
|
9290
9020
|
for (let i = 0; i < 2; i++) {
|
|
@@ -9915,7 +9645,7 @@
|
|
|
9915
9645
|
if (!value) {
|
|
9916
9646
|
return 0;
|
|
9917
9647
|
}
|
|
9918
|
-
if (isNumeric(value) || isString(value) && /^-?\d
|
|
9648
|
+
if (isNumeric(value) || isString(value) && value.match(/^-?\d/)) {
|
|
9919
9649
|
return propOffset + toPx(value, "height", el, true);
|
|
9920
9650
|
} else {
|
|
9921
9651
|
const refElement = value === true ? getVisibleParent(el) : query(value, el);
|
|
@@ -10030,9 +9760,10 @@
|
|
|
10030
9760
|
|
|
10031
9761
|
const selDisabled = ".uk-disabled *, .uk-disabled, [disabled]";
|
|
10032
9762
|
var Switcher = {
|
|
10033
|
-
mixins: [
|
|
9763
|
+
mixins: [Togglable],
|
|
10034
9764
|
args: "connect",
|
|
10035
9765
|
props: {
|
|
9766
|
+
connect: String,
|
|
10036
9767
|
toggle: String,
|
|
10037
9768
|
itemNav: String,
|
|
10038
9769
|
active: Number,
|
|
@@ -10044,12 +9775,20 @@
|
|
|
10044
9775
|
toggle: "> * > :first-child",
|
|
10045
9776
|
itemNav: false,
|
|
10046
9777
|
active: 0,
|
|
9778
|
+
cls: "uk-active",
|
|
10047
9779
|
attrItem: "uk-switcher-item",
|
|
10048
9780
|
selVertical: ".uk-nav",
|
|
10049
9781
|
followFocus: false,
|
|
10050
9782
|
swiping: true
|
|
10051
9783
|
},
|
|
10052
9784
|
computed: {
|
|
9785
|
+
connects: {
|
|
9786
|
+
get: ({ connect }, $el) => queryAll(connect, $el),
|
|
9787
|
+
observe: ({ connect }) => connect
|
|
9788
|
+
},
|
|
9789
|
+
connectChildren() {
|
|
9790
|
+
return this.connects.map((el) => children(el)).flat();
|
|
9791
|
+
},
|
|
10053
9792
|
toggles: ({ toggle }, $el) => $$(toggle, $el),
|
|
10054
9793
|
children(_, $el) {
|
|
10055
9794
|
return children($el).filter(
|
|
@@ -10080,7 +9819,10 @@
|
|
|
10080
9819
|
connected() {
|
|
10081
9820
|
this.$el.role = "tablist";
|
|
10082
9821
|
},
|
|
10083
|
-
observe:
|
|
9822
|
+
observe: [
|
|
9823
|
+
lazyload({ targets: ({ connectChildren }) => connectChildren }),
|
|
9824
|
+
swipe({ target: ({ connects }) => connects, filter: ({ swiping }) => swiping })
|
|
9825
|
+
],
|
|
10084
9826
|
events: [
|
|
10085
9827
|
{
|
|
10086
9828
|
name: "click keydown",
|
|
@@ -10130,27 +9872,24 @@
|
|
|
10130
9872
|
}
|
|
10131
9873
|
],
|
|
10132
9874
|
update() {
|
|
9875
|
+
var _a;
|
|
9876
|
+
for (const el of this.connects) {
|
|
9877
|
+
if (isTag(el, "ul")) {
|
|
9878
|
+
el.role = "presentation";
|
|
9879
|
+
}
|
|
9880
|
+
}
|
|
10133
9881
|
attr(children(this.$el), "role", "presentation");
|
|
10134
9882
|
for (const index in this.toggles) {
|
|
10135
9883
|
const toggle = this.toggles[index];
|
|
10136
|
-
|
|
10137
|
-
|
|
10138
|
-
|
|
10139
|
-
|
|
10140
|
-
if (!item) {
|
|
10141
|
-
continue;
|
|
10142
|
-
}
|
|
10143
|
-
attr(item, {
|
|
10144
|
-
id: generateId(this, item),
|
|
10145
|
-
role: "tabpanel",
|
|
10146
|
-
"aria-labelledby": toggle.id
|
|
10147
|
-
});
|
|
10148
|
-
controls.push(item.id);
|
|
9884
|
+
const item = (_a = this.connects[0]) == null ? void 0 : _a.children[index];
|
|
9885
|
+
toggle.role = "tab";
|
|
9886
|
+
if (!item) {
|
|
9887
|
+
continue;
|
|
10149
9888
|
}
|
|
10150
|
-
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
});
|
|
9889
|
+
toggle.id = generateId(this, toggle);
|
|
9890
|
+
item.id = generateId(this, item);
|
|
9891
|
+
toggle.ariaControls = item.id;
|
|
9892
|
+
attr(item, { role: "tabpanel", "aria-labelledby": toggle.id });
|
|
10154
9893
|
}
|
|
10155
9894
|
attr(this.$el, "aria-orientation", matches(this.$el, this.selVertical) ? "vertical" : null);
|
|
10156
9895
|
},
|
|
@@ -10183,7 +9922,15 @@
|
|
|
10183
9922
|
tabindex: next === i ? null : -1
|
|
10184
9923
|
});
|
|
10185
9924
|
});
|
|
10186
|
-
|
|
9925
|
+
const animate = prev >= 0 && prev !== next;
|
|
9926
|
+
this.connects.forEach(async ({ children: children2 }) => {
|
|
9927
|
+
const actives = toArray(children2).filter(
|
|
9928
|
+
(child, i) => i !== next && hasClass(child, this.cls)
|
|
9929
|
+
);
|
|
9930
|
+
if (await this.toggleElement(actives, false, animate)) {
|
|
9931
|
+
await this.toggleElement(children2[next], true, animate);
|
|
9932
|
+
}
|
|
9933
|
+
});
|
|
10187
9934
|
}
|
|
10188
9935
|
}
|
|
10189
9936
|
};
|