uikit 3.25.17-dev.80dfe87 → 3.25.17-dev.8c70e44
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 +33 -0
- package/build/prefix.js +1 -1
- package/build/publishDev.js +1 -1
- package/build/release.js +2 -2
- package/build/scope.js +1 -1
- package/build/scss.js +1 -1
- package/dist/css/uikit-core-rtl.css +892 -802
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +892 -802
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +893 -803
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +893 -803
- 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 +133 -132
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +134 -133
- package/dist/js/components/lightbox.min.js +1 -1
- package/dist/js/components/marquee.js +179 -0
- package/dist/js/components/marquee.min.js +1 -0
- package/dist/js/components/notification.js +1 -1
- package/dist/js/components/notification.min.js +1 -1
- package/dist/js/components/parallax.js +8 -12
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +8 -12
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +41 -25
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +8 -12
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +71 -102
- 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 +754 -262
- 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 +629 -374
- package/dist/js/uikit.min.js +1 -1
- package/package.json +2 -2
- package/src/js/api/component.js +2 -3
- package/src/js/api/observables.js +2 -4
- package/src/js/api/options.js +6 -3
- package/src/js/api/props.js +1 -4
- package/src/js/api/state.js +7 -8
- package/src/js/components/index.js +1 -0
- package/src/js/components/internal/lightbox-animations.js +7 -26
- package/src/js/components/internal/slideshow-animations.js +15 -62
- package/src/js/components/lightbox-panel.js +121 -96
- package/src/js/components/lightbox.js +5 -8
- package/src/js/components/marquee.js +123 -0
- package/src/js/components/tooltip.js +4 -2
- package/src/js/core/accordion.js +78 -29
- package/src/js/core/drop.js +5 -4
- package/src/js/core/dropnav.js +3 -3
- package/src/js/core/grid.js +5 -19
- package/src/js/core/height-match.js +1 -2
- package/src/js/core/margin.js +3 -0
- package/src/js/core/overflow-fade.js +5 -5
- package/src/js/core/sticky.js +1 -1
- package/src/js/core/switcher.js +24 -44
- package/src/js/core/video.js +172 -15
- package/src/js/mixin/connect.js +57 -0
- package/src/js/mixin/internal/slideshow-animations.js +5 -13
- package/src/js/mixin/internal/slideshow-transitioner.js +2 -2
- package/src/js/mixin/modal.js +4 -3
- package/src/js/mixin/parallax.js +1 -4
- package/src/js/mixin/position.js +1 -1
- package/src/js/mixin/scroll-driven.js +57 -0
- package/src/js/mixin/slider-nav.js +1 -1
- package/src/js/mixin/slider-parallax.js +9 -38
- package/src/js/mixin/togglable.js +13 -14
- package/src/js/util/attr.js +7 -7
- package/src/js/util/class.js +1 -1
- package/src/js/util/dom.js +3 -4
- package/src/js/util/lang.js +1 -1
- package/src/js/util/player.js +4 -4
- package/src/js/util/style.js +10 -15
- package/src/js/util/viewport.js +22 -25
- package/src/less/components/_import.less +6 -1
- package/src/less/components/base.less +1 -1
- package/src/less/components/button.less +1 -1
- package/src/less/components/dropcap.less +71 -0
- package/src/less/components/floating-shadow.less +65 -0
- package/src/less/components/form.less +5 -5
- package/src/less/components/grid.less +57 -64
- package/src/less/components/logo.less +94 -0
- package/src/less/components/margin.less +81 -81
- package/src/less/components/marquee.less +133 -0
- package/src/less/components/nav.less +1 -1
- package/src/less/components/padding.less +9 -9
- package/src/less/components/utility.less +0 -157
- package/src/less/theme/_import.less +5 -1
- package/src/less/theme/dropcap.less +29 -0
- package/src/less/theme/floating-shadow.less +20 -0
- package/src/less/theme/logo.less +29 -0
- package/src/less/theme/marquee.less +14 -0
- package/src/less/theme/utility.less +0 -32
- package/src/scss/components/_import.scss +6 -1
- package/src/scss/components/base.scss +1 -1
- package/src/scss/components/button.scss +1 -1
- package/src/scss/components/dropcap.scss +63 -0
- package/src/scss/components/floating-shadow.scss +62 -0
- package/src/scss/components/form.scss +5 -5
- package/src/scss/components/grid.scss +57 -64
- package/src/scss/components/logo.scss +75 -0
- package/src/scss/components/margin.scss +81 -81
- package/src/scss/components/marquee.scss +136 -0
- package/src/scss/components/nav.scss +1 -1
- package/src/scss/components/padding.scss +9 -9
- package/src/scss/components/utility.scss +0 -128
- package/src/scss/mixins-theme.scss +41 -32
- package/src/scss/mixins.scss +38 -29
- package/src/scss/variables-theme.scss +14 -9
- package/src/scss/variables.scss +14 -9
- package/tests/accordion.html +77 -10
- 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/dropcap.html +26 -0
- package/tests/dropdown.html +1 -1
- package/tests/dropnav.html +18 -18
- package/tests/filter.html +3 -3
- package/tests/floating-shadow.html +44 -0
- package/tests/form.html +14 -14
- package/tests/grid.html +41 -47
- 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/logo.html +84 -0
- package/tests/margin.html +7 -7
- package/tests/marker.html +3 -3
- package/tests/marquee.html +617 -0
- package/tests/modal.html +3 -3
- 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 +3 -3
- 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 +3 -2
- 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 +16 -116
- package/tests/video.html +224 -24
- package/tests/visibility.html +4 -4
- package/tests/width.html +12 -12
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.25.17-dev.
|
|
1
|
+
/*! UIkit 3.25.17-dev.8c70e44 | 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(require('uikit-util')) :
|
|
@@ -310,20 +310,18 @@
|
|
|
310
310
|
if (show) {
|
|
311
311
|
_toggle(el, true);
|
|
312
312
|
}
|
|
313
|
-
const prevProps =
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
].map((key) => [key, el.style[key]])
|
|
326
|
-
);
|
|
313
|
+
const prevProps = util.pick(el.style, [
|
|
314
|
+
"padding",
|
|
315
|
+
"border",
|
|
316
|
+
"width",
|
|
317
|
+
"height",
|
|
318
|
+
"minWidth",
|
|
319
|
+
"minHeight",
|
|
320
|
+
"overflowY",
|
|
321
|
+
"overflowX",
|
|
322
|
+
marginProp,
|
|
323
|
+
marginStartProp
|
|
324
|
+
]);
|
|
327
325
|
const dim = util.dimensions(el);
|
|
328
326
|
const currentMargin = util.toFloat(util.css(el, marginProp));
|
|
329
327
|
const marginStart = util.toFloat(util.css(el, marginStartProp));
|
|
@@ -544,12 +542,13 @@
|
|
|
544
542
|
}
|
|
545
543
|
}
|
|
546
544
|
};
|
|
545
|
+
const rejectKey = /* @__PURE__ */ Symbol();
|
|
547
546
|
function animate(el, show, { transitionElement, _toggle }) {
|
|
548
547
|
return new Promise(
|
|
549
548
|
(resolve, reject) => util.once(el, "show hide", () => {
|
|
550
549
|
var _a;
|
|
551
|
-
(_a = el
|
|
552
|
-
el
|
|
550
|
+
(_a = el[rejectKey]) == null ? void 0 : _a.call(el);
|
|
551
|
+
el[rejectKey] = reject;
|
|
553
552
|
_toggle(el, show);
|
|
554
553
|
const off = util.once(
|
|
555
554
|
transitionElement,
|
|
@@ -570,7 +569,7 @@
|
|
|
570
569
|
toMs(util.css(transitionElement, "transitionDuration"))
|
|
571
570
|
);
|
|
572
571
|
})
|
|
573
|
-
).then(() => delete el
|
|
572
|
+
).then(() => delete el[rejectKey]);
|
|
574
573
|
}
|
|
575
574
|
function toMs(time) {
|
|
576
575
|
return time ? util.endsWith(time, "ms") ? util.toFloat(time) : util.toFloat(time) * 1e3 : 0;
|
|
@@ -620,18 +619,11 @@
|
|
|
620
619
|
|
|
621
620
|
var Animations$1 = {
|
|
622
621
|
slide: {
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
},
|
|
629
|
-
translate(percent, dir) {
|
|
630
|
-
return [
|
|
631
|
-
{ transform: translate(dir * -100 * percent) },
|
|
632
|
-
{ transform: translate(dir * 100 * (1 - percent)) }
|
|
633
|
-
];
|
|
634
|
-
}
|
|
622
|
+
percent: translated,
|
|
623
|
+
translate: (percent, dir) => [
|
|
624
|
+
{ transform: translate(dir * -100 * percent) },
|
|
625
|
+
{ transform: translate(dir * 100 * (1 - percent)) }
|
|
626
|
+
]
|
|
635
627
|
}
|
|
636
628
|
};
|
|
637
629
|
function translated(el) {
|
|
@@ -642,8 +634,8 @@
|
|
|
642
634
|
}
|
|
643
635
|
|
|
644
636
|
function Transitioner(prev, next, dir, { animation, easing }) {
|
|
645
|
-
const { percent, translate
|
|
646
|
-
const props =
|
|
637
|
+
const { percent, translate } = animation;
|
|
638
|
+
const props = translate(1, dir);
|
|
647
639
|
const { promise, resolve } = withResolvers();
|
|
648
640
|
return {
|
|
649
641
|
dir,
|
|
@@ -926,7 +918,7 @@
|
|
|
926
918
|
|
|
927
919
|
util.memoize((id, props) => {
|
|
928
920
|
const attributes = Object.keys(props);
|
|
929
|
-
const filter = attributes
|
|
921
|
+
const filter = [...attributes, id].flatMap((key) => [util.hyphenate(key), `data-${util.hyphenate(key)}`]);
|
|
930
922
|
return { attributes, filter };
|
|
931
923
|
});
|
|
932
924
|
|
|
@@ -956,7 +948,7 @@
|
|
|
956
948
|
computed: {
|
|
957
949
|
nav: ({ selNav }, $el) => util.$$(selNav, $el),
|
|
958
950
|
navChildren() {
|
|
959
|
-
return this.nav.
|
|
951
|
+
return this.nav.flatMap((nav) => util.children(nav));
|
|
960
952
|
},
|
|
961
953
|
selNavItem: ({ attrItem }) => `[${attrItem}],[data-${attrItem}]`,
|
|
962
954
|
navItems(_, $el) {
|
|
@@ -1319,32 +1311,15 @@
|
|
|
1319
1311
|
var Animations = {
|
|
1320
1312
|
...Animations$1,
|
|
1321
1313
|
fade: {
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
},
|
|
1325
|
-
percent(current) {
|
|
1326
|
-
return 1 - util.css(current, "opacity");
|
|
1327
|
-
},
|
|
1328
|
-
translate(percent) {
|
|
1329
|
-
return [{ opacity: 1 - percent }, { opacity: percent }];
|
|
1330
|
-
}
|
|
1314
|
+
percent: (current) => 1 - util.css(current, "opacity"),
|
|
1315
|
+
translate: (percent) => [{ opacity: 1 - percent }, { opacity: percent }]
|
|
1331
1316
|
},
|
|
1332
1317
|
scale: {
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
},
|
|
1339
|
-
percent(current) {
|
|
1340
|
-
return 1 - util.css(current, "opacity");
|
|
1341
|
-
},
|
|
1342
|
-
translate(percent) {
|
|
1343
|
-
return [
|
|
1344
|
-
{ opacity: 1 - percent, transform: scale3d(1 - 0.2 * percent) },
|
|
1345
|
-
{ opacity: percent, transform: scale3d(1 - 0.2 + 0.2 * percent) }
|
|
1346
|
-
];
|
|
1347
|
-
}
|
|
1318
|
+
percent: (current) => 1 - util.css(current, "opacity"),
|
|
1319
|
+
translate: (percent) => [
|
|
1320
|
+
{ opacity: 1 - percent, transform: scale3d(1 - 0.2 * percent) },
|
|
1321
|
+
{ opacity: percent, transform: scale3d(1 - 0.2 + 0.2 * percent) }
|
|
1322
|
+
]
|
|
1348
1323
|
}
|
|
1349
1324
|
};
|
|
1350
1325
|
|
|
@@ -1527,81 +1502,22 @@
|
|
|
1527
1502
|
if (!src) {
|
|
1528
1503
|
return;
|
|
1529
1504
|
}
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
...attrs
|
|
1544
|
-
});
|
|
1545
|
-
util.on(img, "load", () => this.setItem(item, util.parent(img) || img));
|
|
1546
|
-
util.on(img, "error", () => this.setError(item));
|
|
1547
|
-
} else if (type === "video" || isVideo(src)) {
|
|
1548
|
-
const inline = this.videoAutoplay === "inline";
|
|
1549
|
-
const video = createEl("video", {
|
|
1550
|
-
src,
|
|
1551
|
-
playsinline: "",
|
|
1552
|
-
controls: inline ? null : "",
|
|
1553
|
-
loop: inline ? "" : null,
|
|
1554
|
-
muted: inline ? "" : null,
|
|
1555
|
-
poster: this.videoAutoplay ? null : item.poster,
|
|
1556
|
-
"uk-video": Boolean(this.videoAutoplay),
|
|
1557
|
-
...attrs
|
|
1558
|
-
});
|
|
1559
|
-
util.on(video, "loadedmetadata", () => this.setItem(item, video));
|
|
1560
|
-
util.on(video, "error", () => this.setError(item));
|
|
1561
|
-
} else if (type === "iframe" || src.match(/\.(html|php)($|\?)/i)) {
|
|
1562
|
-
this.setItem(
|
|
1563
|
-
item,
|
|
1564
|
-
createEl("iframe", {
|
|
1565
|
-
src,
|
|
1566
|
-
allowfullscreen: "",
|
|
1567
|
-
class: "uk-lightbox-iframe",
|
|
1568
|
-
...attrs
|
|
1569
|
-
})
|
|
1570
|
-
);
|
|
1571
|
-
} else if (matches2 = src.match(
|
|
1572
|
-
/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/
|
|
1573
|
-
)) {
|
|
1574
|
-
this.setItem(
|
|
1575
|
-
item,
|
|
1576
|
-
createEl("iframe", {
|
|
1577
|
-
src: `https://www.youtube${matches2[1] || ""}.com/embed/${matches2[2]}${matches2[3] ? `?${matches2[3]}` : ""}`,
|
|
1578
|
-
width: 1920,
|
|
1579
|
-
height: 1080,
|
|
1580
|
-
...iframeAttrs,
|
|
1581
|
-
...attrs
|
|
1582
|
-
})
|
|
1583
|
-
);
|
|
1584
|
-
} else if (matches2 = src.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/)) {
|
|
1585
|
-
try {
|
|
1586
|
-
const { height, width } = await (await fetch(
|
|
1587
|
-
`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(
|
|
1588
|
-
src
|
|
1589
|
-
)}`,
|
|
1590
|
-
{ credentials: "omit" }
|
|
1591
|
-
)).json();
|
|
1592
|
-
this.setItem(
|
|
1593
|
-
item,
|
|
1594
|
-
createEl("iframe", {
|
|
1595
|
-
src: `https://player.vimeo.com/video/${matches2[1]}${matches2[2] ? `?${matches2[2]}` : ""}`,
|
|
1596
|
-
width,
|
|
1597
|
-
height,
|
|
1598
|
-
...iframeAttrs,
|
|
1599
|
-
...attrs
|
|
1600
|
-
})
|
|
1601
|
-
);
|
|
1602
|
-
} catch {
|
|
1603
|
-
this.setError(item);
|
|
1505
|
+
try {
|
|
1506
|
+
for (const loader of [
|
|
1507
|
+
loadImage,
|
|
1508
|
+
loadVideo,
|
|
1509
|
+
loadIframe,
|
|
1510
|
+
loadYouTube,
|
|
1511
|
+
loadVimeo
|
|
1512
|
+
]) {
|
|
1513
|
+
const content = await loader({ src, type, attrs, item, cmp: this });
|
|
1514
|
+
if (content) {
|
|
1515
|
+
this.setItem(item, content);
|
|
1516
|
+
return;
|
|
1517
|
+
}
|
|
1604
1518
|
}
|
|
1519
|
+
} catch {
|
|
1520
|
+
this.setError(item);
|
|
1605
1521
|
}
|
|
1606
1522
|
}
|
|
1607
1523
|
},
|
|
@@ -1661,6 +1577,91 @@
|
|
|
1661
1577
|
util.attr(el, attrs);
|
|
1662
1578
|
return el;
|
|
1663
1579
|
}
|
|
1580
|
+
async function loadImage({ src, type, attrs, item }) {
|
|
1581
|
+
if (type !== "image" && !isImage(src)) {
|
|
1582
|
+
return;
|
|
1583
|
+
}
|
|
1584
|
+
const img = createEl("img");
|
|
1585
|
+
wrapInPicture(img, item.sources);
|
|
1586
|
+
util.attr(img, {
|
|
1587
|
+
src,
|
|
1588
|
+
...util.pick(item, ["alt", "srcset", "sizes"]),
|
|
1589
|
+
...attrs
|
|
1590
|
+
});
|
|
1591
|
+
await img.decode();
|
|
1592
|
+
return util.parent(img) || img;
|
|
1593
|
+
}
|
|
1594
|
+
function loadVideo({ src, type, attrs, item, cmp }) {
|
|
1595
|
+
if (type !== "video" && !isVideo(src)) {
|
|
1596
|
+
return;
|
|
1597
|
+
}
|
|
1598
|
+
const inline = cmp.videoAutoplay === "inline";
|
|
1599
|
+
const video = createEl("video", {
|
|
1600
|
+
src,
|
|
1601
|
+
playsinline: "",
|
|
1602
|
+
controls: inline ? null : "",
|
|
1603
|
+
loop: inline ? "" : null,
|
|
1604
|
+
muted: inline ? "" : null,
|
|
1605
|
+
poster: cmp.videoAutoplay ? null : item.poster,
|
|
1606
|
+
"uk-video": Boolean(cmp.videoAutoplay),
|
|
1607
|
+
...attrs
|
|
1608
|
+
});
|
|
1609
|
+
return new Promise((resolve, reject) => {
|
|
1610
|
+
util.on(video, "loadedmetadata", () => resolve(video));
|
|
1611
|
+
util.on(video, "error", reject);
|
|
1612
|
+
});
|
|
1613
|
+
}
|
|
1614
|
+
function loadIframe({ src, type, attrs }) {
|
|
1615
|
+
if (type !== "iframe" && !/\.(html|php)($|\?)/i.test(src)) {
|
|
1616
|
+
return;
|
|
1617
|
+
}
|
|
1618
|
+
return createEl("iframe", {
|
|
1619
|
+
src,
|
|
1620
|
+
allowfullscreen: "",
|
|
1621
|
+
class: "uk-lightbox-iframe",
|
|
1622
|
+
...attrs
|
|
1623
|
+
});
|
|
1624
|
+
}
|
|
1625
|
+
function loadYouTube({ src, attrs, cmp }) {
|
|
1626
|
+
const matches2 = src.match(
|
|
1627
|
+
/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/
|
|
1628
|
+
);
|
|
1629
|
+
if (!matches2) {
|
|
1630
|
+
return;
|
|
1631
|
+
}
|
|
1632
|
+
return createEl("iframe", {
|
|
1633
|
+
src: `https://www.youtube${matches2[1] || ""}.com/embed/${matches2[2]}${matches2[3] ? `?${matches2[3]}` : ""}`,
|
|
1634
|
+
width: 1920,
|
|
1635
|
+
height: 1080,
|
|
1636
|
+
...getIframeAttrs(cmp),
|
|
1637
|
+
...attrs
|
|
1638
|
+
});
|
|
1639
|
+
}
|
|
1640
|
+
async function loadVimeo({ src, attrs, cmp }) {
|
|
1641
|
+
const matches2 = src.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/);
|
|
1642
|
+
if (!matches2) {
|
|
1643
|
+
return;
|
|
1644
|
+
}
|
|
1645
|
+
const { height, width } = await (await fetch(
|
|
1646
|
+
`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURIComponent(src)}`,
|
|
1647
|
+
{ credentials: "omit" }
|
|
1648
|
+
)).json();
|
|
1649
|
+
return createEl("iframe", {
|
|
1650
|
+
src: `https://player.vimeo.com/video/${matches2[1]}${matches2[2] ? `?${matches2[2]}` : ""}`,
|
|
1651
|
+
width,
|
|
1652
|
+
height,
|
|
1653
|
+
...getIframeAttrs(cmp),
|
|
1654
|
+
...attrs
|
|
1655
|
+
});
|
|
1656
|
+
}
|
|
1657
|
+
function getIframeAttrs(cmp) {
|
|
1658
|
+
return {
|
|
1659
|
+
allowfullscreen: "",
|
|
1660
|
+
style: "max-width: 100%; box-sizing: border-box;",
|
|
1661
|
+
"uk-responsive": "",
|
|
1662
|
+
"uk-video": Boolean(cmp.videoAutoplay)
|
|
1663
|
+
};
|
|
1664
|
+
}
|
|
1664
1665
|
function toThumbnavItem(item, videoAutoplay) {
|
|
1665
1666
|
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", {
|
|
1666
1667
|
src: item.thumb,
|
|
@@ -1746,7 +1747,7 @@
|
|
|
1746
1747
|
if (items[i].thumb) {
|
|
1747
1748
|
continue;
|
|
1748
1749
|
}
|
|
1749
|
-
const parent = util.parents(toggle).reverse()
|
|
1750
|
+
const parent = [...util.parents(toggle).reverse(), toggle].find(
|
|
1750
1751
|
(parent2) => this.$el.contains(parent2) && (parent2 === toggle || util.$$(this.toggle, parent2).length === 1)
|
|
1751
1752
|
);
|
|
1752
1753
|
if (!parent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! UIkit 3.25.17-dev.80dfe87 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(t,x){typeof exports=="object"&&typeof module<"u"?module.exports=x(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitlightbox",["uikit-util"],x):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitLightbox=x(t.UIkit.util))})(this,(function(t){"use strict";function x(e,s=[]){try{return e?t.startsWith(e,"{")?JSON.parse(e):s.length&&!t.includes(e,":")?{[s[0]]:e}:e.split(";").reduce((i,n)=>{const[r,o]=n.split(/:(.*)/);return r&&!t.isUndefined(o)&&(i[r.trim()]=o.trim()),i},{}):{}}catch{return{}}}function Q(e,s="update"){e._connected&&e._updates.length&&(e._updateCount||(e._updateCount=0,requestAnimationFrame(()=>e._updateCount=0)),e._queued||(e._queued=new Set,t.fastdom.read(()=>{e._connected&&Y(e,e._queued),e._queued=null})),e._updateCount++<20&&e._queued.add(s.type||s))}function Y(e,s){for(const{read:i,write:n,events:r=[]}of e._updates){if(!s.has("update")&&!r.some(h=>s.has(h)))continue;let o;i&&(o=i.call(e,e._data,s),o&&t.isPlainObject(o)&&t.assign(e._data,o)),n&&o!==!1&&t.fastdom.write(()=>{e._connected&&n.call(e,e._data,s)})}}function Z(e){return D(t.observeResize,e,"resize")}function K(e){return D(t.observeIntersection,e)}function D(e,s,i){return{observe:e,handler(){Q(this,i)},...s}}K({handler(e,s){this.load(),s.disconnect()},options:({margin:e})=>({rootMargin:e}),filter:({loading:e})=>e==="lazy",target:({$el:e,$props:s})=>s.target?[e,...t.queryAll(s.target,e)]:e});function ee(e,s){if(s=te(s),s.length){const i=t.fragment("<picture>");for(const n of s){const r=t.fragment("<source>");t.attr(r,n),t.append(i,r)}t.append(i,e)}}function te(e){if(!e)return[];if(t.startsWith(e,"["))try{e=JSON.parse(e)}catch{e=[]}else e=x(e);return t.isArray(e)||(e=[e]),e.filter(s=>!t.isEmpty(s))}function M(){return new Promise(e=>requestAnimationFrame(e))}let E;function se(e){const s=t.on(e,"touchstart",r=>{if(r.targetTouches.length!==1||t.matches(r.target,'input[type="range"]'))return;let o=t.getEventPos(r).y;const h=t.on(e,"touchmove",a=>{const d=t.getEventPos(a).y;d!==o&&(o=d,t.scrollParents(a.target).some(c=>{if(!e.contains(c))return!1;let{scrollHeight:m,clientHeight:l}=c;return l<m})||a.preventDefault())},{passive:!1});t.once(e,"scroll touchend touchcancel",h,{capture:!0})},{passive:!0});if(E)return s;E=!0;const{scrollingElement:i}=document,n={overflowY:CSS.supports("overflow","clip")?"clip":"hidden",touchAction:"none",scrollbarGutter:t.width(window)-i.clientWidth?"stable":""};return t.css(i,n),()=>{E=!1,s(),t.resetProps(i,n)}}var ie={connected(){this._cmpCls=t.hasClass(this.$el,this.$options.id),t.addClass(this.$el,this.$options.id)},disconnected(){this._cmpCls||t.removeClass(this.$el,this.$options.id)}},ne={props:{container:Boolean},data:{container:!0},computed:{container({container:e}){return e===!0&&this.$container||e&&t.$(e)}}};function O(e){e.target.closest('a[href="#"],a[href=""]')&&e.preventDefault()}var oe={props:{cls:Boolean,animation:"list",duration:Number,velocity:Number,origin:String,transition:String},data:{cls:!1,animation:[!1],duration:200,velocity:.2,origin:!1,transition:"ease",clsEnter:"uk-togglable-enter",clsLeave:"uk-togglable-leave"},computed:{hasAnimation:({animation:e})=>!!e[0],hasTransition:({animation:e})=>["slide","reveal"].some(s=>t.startsWith(e[0],s))},methods:{async toggleElement(e,s,i){const n={};return(await Promise.all(t.toNodes(e).map(r=>{const o=t.isBoolean(s)?s:!this.isToggled(r);if(!t.trigger(r,`before${o?"show":"hide"}`,[this]))return n;const h=(t.isFunction(i)?i:i===!1||!this.hasAnimation?re:this.hasTransition?ae:he)(r,o,this),a=o?this.clsEnter:this.clsLeave;t.addClass(r,a),t.trigger(r,o?"show":"hide",[this]);const d=()=>{var c;t.removeClass(r,a),t.trigger(r,o?"shown":"hidden",[this]),o&&((c=t.$$("[autofocus]",r).find(t.isVisible))==null||c.focus({preventScroll:!0}))};return h?h.then(d,()=>(t.removeClass(r,a),n)):d()}))).every(r=>r!==n)},isToggled(e=this.$el){return e=t.toNode(e),t.hasClass(e,this.clsEnter)?!0:t.hasClass(e,this.clsLeave)?!1:this.cls?t.hasClass(e,this.cls.split(" ")[0]):t.isVisible(e)},_toggle(e,s){if(!e)return;s=!!s;let i;this.cls?(i=t.includes(this.cls," ")||s!==t.hasClass(e,this.cls),i&&t.toggleClass(e,this.cls,t.includes(this.cls," ")?void 0:s)):(i=s===e.hidden,i&&(e.hidden=!s)),i&&t.trigger(e,"toggled",[s,this])}}};function re(e,s,{_toggle:i}){return t.Animation.cancel(e),t.Transition.cancel(e),i(e,s)}async function ae(e,s,{animation:i,duration:n,velocity:r,transition:o,_toggle:h}){var a;const[d="reveal",c="top"]=((a=i[0])==null?void 0:a.split("-"))||[],m=[["left","right"],["top","bottom"]],l=m[t.includes(m[0],c)?0:1],f=l[1]===c,u=["width","height"][m.indexOf(l)],w=`margin-${l[0]}`,T=`margin-${c}`;let $=t.dimensions(e)[u];const Fe=t.Transition.inProgress(e);await t.Transition.cancel(e),s&&h(e,!0);const He=Object.fromEntries(["padding","border","width","height","minWidth","minHeight","overflowY","overflowX",w,T].map(X=>[X,e.style[X]])),k=t.dimensions(e),N=t.toFloat(t.css(e,w)),V=t.toFloat(t.css(e,T)),b=k[u]+V;!Fe&&!s&&($+=V);const[_]=t.wrapInner(e,"<div>");t.css(_,{boxSizing:"border-box",height:k.height,width:k.width,...t.css(e,["overflow","padding","borderTop","borderRight","borderBottom","borderLeft","borderImage",T])}),t.css(e,{padding:0,border:0,minWidth:0,minHeight:0,[T]:0,width:k.width,height:k.height,overflow:"hidden",[u]:$});const G=$/b;n=(r*b+n)*(s?1-G:G);const J={[u]:s?b:0};f&&(t.css(e,w,b-$+N),J[w]=s?N:b+N),!f^d==="reveal"&&(t.css(_,w,-b+$),t.Transition.start(_,{[w]:s?0:-b},n,o));try{await t.Transition.start(e,J,n,o)}finally{t.css(e,He),t.unwrap(_.firstChild),s||h(e,!1)}}function he(e,s,i){const{animation:n,duration:r,_toggle:o}=i;return s?(o(e,!0),t.Animation.in(e,n[0],r,i.origin)):t.Animation.out(e,n[1]||n[0],r,i.origin).then(()=>o(e,!1))}const p=[];var de={mixins:[ie,ne,oe],props:{selPanel:String,selClose:String,escClose:Boolean,bgClose:Boolean,stack:Boolean,role:String},data:{cls:"uk-open",escClose:!0,bgClose:!0,overlay:!0,stack:!1,role:"dialog"},computed:{panel:({selPanel:e},s)=>t.$(e,s),transitionElement(){return this.panel}},connected(){const e=this.panel||this.$el;e.role=this.role,this.overlay&&(e.ariaModal=!0)},beforeDisconnect(){t.includes(p,this)&&this.toggleElement(this.$el,!1,!1)},events:[{name:"click",delegate:({selClose:e})=>`${e},a[href*="#"]`,handler(e){const{current:s,defaultPrevented:i}=e,{hash:n}=s;!i&&n&&t.isSameSiteAnchor(s)&&!this.$el.contains(t.$(n))?this.hide():t.matches(s,this.selClose)&&(O(e),this.hide())}},{name:"toggle",self:!0,handler(e,s){e.defaultPrevented||(e.preventDefault(),this.target=s==null?void 0:s.$el,this.isToggled()===t.includes(p,this)&&this.toggle())}},{name:"beforeshow",self:!0,handler(e){if(t.includes(p,this))return!1;!this.stack&&p.length?(Promise.all(p.map(s=>s.hide())).then(this.show),e.preventDefault()):p.push(this)}},{name:"show",self:!0,handler(){this.stack&&t.css(this.$el,"zIndex",t.toFloat(t.css(this.$el,"zIndex"))+p.length);const e=[this.overlay&&ce(this),this.overlay&&se(this.$el),this.bgClose&&fe(this),this.escClose&&pe(this)];t.once(this.$el,"hidden",()=>e.forEach(s=>s&&s()),{self:!0}),t.addClass(document.documentElement,this.clsPage),B(this.target,!0)}},{name:"shown",self:!0,handler(){t.isFocusable(this.$el)||(this.$el.tabIndex=-1),t.matches(this.$el,":focus-within")||this.$el.focus()}},{name:"hidden",self:!0,handler(){t.includes(p,this)&&p.splice(p.indexOf(this),1),t.css(this.$el,"zIndex","");const{target:e}=this;p.some(s=>s.clsPage===this.clsPage)||(t.removeClass(document.documentElement,this.clsPage),queueMicrotask(()=>{t.isFocusable(e)&&e.focus({preventScroll:!0})})),B(e,!1),this.target=null}}],methods:{toggle(){return this.isToggled()?this.hide():this.show()},async show(){return this.container&&t.parent(this.$el)!==this.container&&(t.append(this.container,this.$el),await M()),this.toggleElement(this.$el,!0,L)},hide(){return this.toggleElement(this.$el,!1,L)}}};function L(e,s,{transitionElement:i,_toggle:n}){return new Promise((r,o)=>t.once(e,"show hide",()=>{var h;(h=e._reject)==null||h.call(e),e._reject=o,n(e,s);const a=t.once(i,"transitionstart",()=>{t.once(i,"transitionend transitioncancel",r,{self:!0}),clearTimeout(d)},{self:!0}),d=setTimeout(()=>{a(),r()},le(t.css(i,"transitionDuration")))})).then(()=>delete e._reject)}function le(e){return e?t.endsWith(e,"ms")?t.toFloat(e):t.toFloat(e)*1e3:0}function ce(e){return t.on(document,"focusin",s=>{if(t.last(p)!==e||e.$el.contains(s.target))return;const{left:i,top:n,width:r,height:o}=t.dimensions(s.target),h=document.elementFromPoint(i+r/2,n+o/2);h&&(s.target.contains(h)||h.contains(s.target))||e.$el.focus()})}function fe(e){return t.on(document,t.pointerDown,({target:s})=>{t.last(p)!==e||e.overlay&&!e.$el.contains(s)||!e.panel||e.panel.contains(s)||t.once(document,`${t.pointerUp} ${t.pointerCancel} scroll`,({defaultPrevented:i,type:n,target:r})=>{!i&&n===t.pointerUp&&s===r&&e.hide()},!0)})}function pe(e){return t.on(document,"keydown",s=>{s.keyCode===27&&t.last(p)===e&&e.hide()})}function B(e,s){e!=null&&e.ariaExpanded&&(e.ariaExpanded=s)}var P={slide:{show(e){return[{transform:y(e*-100)},{transform:y()}]},percent(e){return me(e)},translate(e,s){return[{transform:y(s*-100*e)},{transform:y(s*100*(1-e))}]}}};function me(e){return Math.abs(new DOMMatrix(t.css(e,"transform")).m41/e.offsetWidth)}function y(e=0,s="%"){return e?`translate3d(${e+s}, 0, 0)`:""}function ge(e,s,i,{animation:n,easing:r}){const{percent:o,translate:h,show:a=t.noop}=n,d=a(i),{promise:c,resolve:m}=ue();return{dir:i,show(l,f=0,U){const u=U?"linear":r;return l-=Math.round(l*t.clamp(f,-1,1)),this.translate(f),I(s,"itemin",{percent:f,duration:l,timing:u,dir:i}),I(e,"itemout",{percent:1-f,duration:l,timing:u,dir:i}),Promise.all([t.Transition.start(s,d[1],l,u),t.Transition.start(e,d[0],l,u)]).then(()=>{this.reset(),m()},t.noop),c},cancel(){return t.Transition.cancel([s,e])},reset(){t.resetProps([s,e],d[0])},async forward(l,f=this.percent()){return await this.cancel(),this.show(l,f,!0)},translate(l){this.reset();const f=h(l,i);t.css(s,f[1]),t.css(e,f[0]),I(s,"itemtranslatein",{percent:l,dir:i}),I(e,"itemtranslateout",{percent:1-l,dir:i})},percent(){return o(e||s,s,i)},getDistance(){return e==null?void 0:e.offsetWidth}}}function I(e,s,i){t.trigger(e,t.createEvent(s,!1,!1,i))}function ue(){let e;return{promise:new Promise(s=>e=s),resolve:e}}var ve={props:{i18n:Object},data:{i18n:null},methods:{t(e,...s){var i,n,r;let o=0;return((r=((i=this.i18n)==null?void 0:i[e])||((n=this.$options.i18n)==null?void 0:n[e]))==null?void 0:r.replace(/%s/g,()=>s[o++]||""))||""}}},be={props:{autoplay:Boolean,autoplayInterval:Number,pauseOnHover:Boolean},data:{autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0},connected(){t.attr(this.list,"aria-live",this.autoplay?"off":"polite"),this.autoplay&&this.startAutoplay()},disconnected(){this.stopAutoplay()},update(){t.attr(this.slides,"tabindex","-1")},events:[{name:"visibilitychange",el:()=>document,filter:({autoplay:e})=>e,handler(){document.hidden?this.stopAutoplay():this.startAutoplay()}}],methods:{startAutoplay(){this.stopAutoplay(),this.interval=setInterval(()=>{this.stack.length||!t.isVisible(this.$el)||this.draggable&&t.matches(this.$el,":focus-within")&&!t.matches(this.$el,":focus")||this.pauseOnHover&&t.matches(this.$el,":hover")||this.show("next")},this.autoplayInterval)},stopAutoplay(){clearInterval(this.interval)}}};const C={passive:!1,capture:!0},xe="touchstart mousedown",S="touchmove mousemove",we="touchend touchcancel mouseup click input scroll";var $e={props:{draggable:Boolean},data:{draggable:!0,threshold:10,angleThreshold:45},created(){for(const e of["start","move","end"]){const s=this[e];this[e]=i=>{const n=t.getEventPos(i);t.isRtl&&(n.x=-n.x),this.prevPos=t.isEqual(n,this.pos)?this.prevPos:this.pos,this.pos=n,s(i)}}},events:[{name:xe,passive:!0,delegate:({selList:e})=>`${e} > *`,handler(e){!this.draggable||this.parallax||!t.isTouch(e)&&ke(e.target)||e.target.closest(t.selInput)||e.button>0||this.length<2||this.start(e)}},{name:"dragstart",handler(e){e.preventDefault()}},{name:S,el:({list:e})=>e,handler:t.noop,...C}],methods:{start(){this.drag=this.pos,this._transitioner?(this.percent=this._transitioner.percent(),this.drag.x+=this._transitioner.getDistance()*this.percent*this.dir,this._transitioner.cancel(),this._transitioner.translate(this.percent),this.dragging=!0,this.stack=[]):this.prevIndex=this.index,t.on(document,S,this.move,C),t.on(document,we,this.end,{passive:!0,capture:!0,once:!0}),t.css(this.list,"userSelect","none")},move(e){const s=this.pos.x-this.drag.x;if(s===0||!this.dragging&&ye(this.pos,this.drag)>this.angleThreshold||this.prevPos.x===this.pos.x||!this.dragging&&Math.abs(s)<this.threshold)return;e.cancelable&&e.preventDefault(),this.dragging=!0,this.dir=s<0?1:-1;let{slides:i,prevIndex:n}=this,r=Math.abs(s),o=this.getIndex(n+this.dir),h=F.call(this,n,o);for(;o!==n&&r>h;)this.drag.x-=h*this.dir,n=o,r-=h,o=this.getIndex(n+this.dir),h=F.call(this,n,o);this.percent=r/h;const a=i[n],d=i[o],c=this.index!==o,m=n===o;let l;for(const f of[this.index,this.prevIndex])t.includes([o,n],f)||(t.trigger(i[f],"itemhidden",[this]),m&&(l=!0,this.prevIndex=n));(this.index===n&&this.prevIndex!==n||l)&&t.trigger(i[this.index],"itemshown",[this]),c&&(this.prevIndex=n,this.index=o,m||(t.trigger(a,"beforeitemhide",[this]),t.trigger(a,"itemhide",[this])),t.trigger(d,"beforeitemshow",[this]),t.trigger(d,"itemshow",[this])),this._transitioner=this._translate(Math.abs(this.percent),a,!m&&d)},end(){if(t.off(document,S,this.move,C),this.dragging)if(setTimeout(t.on(this.list,"click",e=>e.preventDefault(),C)),this.dragging=null,this.index===this.prevIndex)this.percent=1-this.percent,this.dir*=-1,this._show(!1,this.index,!0),this._transitioner=null;else{const e=this.dir<0==this.prevPos.x>this.pos.x;e?(t.trigger(this.slides[this.prevIndex],"itemhidden",[this]),t.trigger(this.slides[this.index],"itemshown",[this]),this.percent=1-this.percent):this.index=this.prevIndex,this.show(this.dir>0&&!e||this.dir<0&&e?"next":"previous",!0)}t.css(this.list,{userSelect:""}),this.drag=this.percent=null}}};function F(e,s){return this._getTransitioner(e,e!==s&&s).getDistance()||this.slides[e].offsetWidth}function ke(e){return t.css(e,"userSelect")!=="none"&&t.toArray(e.childNodes).some(s=>s.nodeType===3&&s.textContent.trim())}function ye(e,s){return Math.atan2(Math.abs(s.y-e.y),Math.abs(s.x-e.x))*180/Math.PI}t.memoize((e,s)=>{const i=Object.keys(s),n=i.concat(e).map(r=>[t.hyphenate(r),`data-${t.hyphenate(r)}`]).flat();return{attributes:i,filter:n}});let Ie=1;function H(e,s=null){return(s==null?void 0:s.id)||`${e.$options.id}-${Ie++}`}const g={SPACE:32,END:35,HOME:36,LEFT:37,RIGHT:39};var Ce={i18n:{next:"Next slide",previous:"Previous slide",slideX:"Slide %s",slideLabel:"%s of %s"},data:{selNav:!1,role:"region"},computed:{nav:({selNav:e},s)=>t.$$(e,s),navChildren(){return this.nav.map(e=>t.children(e)).flat()},selNavItem:({attrItem:e})=>`[${e}],[data-${e}]`,navItems(e,s){return t.$$(this.selNavItem,s)}},watch:{nav(e,s){t.attr(e,"role","tablist"),this.padNavitems(),s&&this.$emit()},list(e){t.isTag(e,"ul")&&t.attr(e,"role","presentation")},navChildren(e){t.attr(e,"role","presentation"),this.padNavitems(),this.updateNav()},navItems(e){for(const s of e){const i=t.data(s,this.attrItem),n=t.$("a,button",s)||s;let r,o=null;if(t.isNumeric(i)){const h=t.toNumber(i),a=this.slides[h];a&&(a.id||(a.id=H(this,a)),o=a.id),r=this.t("slideX",t.toFloat(i)+1),n.role="tab"}else this.list&&(this.list.id||(this.list.id=H(this,this.list)),o=this.list.id),r=this.t(i);n.ariaControls=o,n.ariaLabel=n.ariaLabel||r}},slides(e){e.forEach((s,i)=>t.attr(s,{role:this.nav.length?"tabpanel":"group","aria-label":this.t("slideLabel",i+1,this.length),"aria-roledescription":this.nav.length?null:"slide"})),this.padNavitems()}},connected(){this.$el.role=this.role,this.$el.ariaRoleDescription="carousel"},update:[{write(){this.navItems.concat(this.nav).forEach(e=>e&&(e.hidden=!this.maxIndex)),this.updateNav()},events:["resize"]}],events:[{name:"click keydown",delegate:({selNavItem:e})=>e,filter:({parallax:e})=>!e,handler(e){e.target.closest("a,button")&&(e.type==="click"||e.keyCode===g.SPACE)&&(O(e),this.show(t.data(e.current,this.attrItem)))}},{name:"itemshow",handler(){this.updateNav()}},{name:"keydown",delegate:({selNavItem:e})=>e,filter:({parallax:e})=>!e,handler(e){const{current:s,keyCode:i}=e,n=t.data(s,this.attrItem);if(!t.isNumeric(n))return;let r=i===g.HOME?0:i===g.END?"last":i===g.LEFT?"previous":i===g.RIGHT?"next":-1;~r&&(e.preventDefault(),this.show(r))}}],methods:{updateNav(){const e=this.getValidIndex();for(const s of this.navItems){const i=t.data(s,this.attrItem),n=t.$("a,button",s)||s;if(t.isNumeric(i)){const o=t.toNumber(i)===e;t.toggleClass(s,this.clsActive,o),t.toggleClass(n,"uk-disabled",!!this.parallax),n.ariaSelected=o,n.tabIndex=o&&!this.parallax?null:-1,o&&n&&t.matches(t.parent(s),":focus-within")&&n.focus()}else t.toggleClass(s,"uk-invisible",this.finite&&(i==="previous"&&e===0||i==="next"&&e>=this.maxIndex))}},padNavitems(){for(const e of this.nav){const s=t.children(e),i=[];for(let n=0;n<this.length;n++){const r=`${this.attrItem}="${n}"`;i[n]=s.findLast(o=>o.matches(`[${r}]`))||t.$(`<li ${r}><a href></a></li>`)}t.isEqual(i,s)||t.html(e,i)}}}};const Ae="cubic-bezier(0.25, 0.46, 0.45, 0.94)",Te="cubic-bezier(0.165, 0.84, 0.44, 1)";var _e={mixins:[be,$e,Ce,ve],props:{clsActivated:String,easing:String,index:Number,finite:Boolean,velocity:Number},data:()=>({easing:"ease",finite:!1,velocity:1,index:0,prevIndex:-1,stack:[],percent:0,clsActive:"uk-active",clsActivated:"",clsEnter:"uk-slide-enter",clsLeave:"uk-slide-leave",clsSlideActive:"uk-slide-active",Transitioner:!1,transitionOptions:{}}),connected(){this.prevIndex=-1,this.index=this.getValidIndex(this.$props.index),this.stack=[]},disconnected(){t.removeClass(this.slides,this.clsActive)},computed:{duration:({velocity:e},s)=>Pe(s.offsetWidth/e),list:({selList:e},s)=>t.$(e,s),maxIndex(){return this.length-1},slides(){return t.children(this.list)},length(){return this.slides.length}},watch:{slides(e,s){s&&this.$emit()}},events:{itemshow({target:e}){t.addClass(e,this.clsEnter,this.clsSlideActive)},itemshown({target:e}){t.removeClass(e,this.clsEnter)},itemhide({target:e}){t.addClass(e,this.clsLeave)},itemhidden({target:e}){t.removeClass(e,this.clsLeave,this.clsSlideActive)}},methods:{async show(e,s=!1){var i;if(this.dragging||!this.length||this.parallax)return;const{stack:n}=this,r=s?0:n.length,o=()=>{n.splice(r,1),n.length&&this.show(n.shift(),!0)};if(n[s?"unshift":"push"](e),!s&&n.length>1){n.length===2&&((i=this._transitioner)==null||i.forward(Math.min(this.duration,200)));return}const h=this.getIndex(this.index),a=t.hasClass(this.slides,this.clsActive)&&this.slides[h],d=this.getIndex(e,this.index),c=this.slides[d];if(a===c){o();return}if(this.dir=Ee(e,h),this.prevIndex=h,this.index=d,a&&!t.trigger(a,"beforeitemhide",[this])||!t.trigger(c,"beforeitemshow",[this,a])){this.index=this.prevIndex,o();return}a&&t.trigger(a,"itemhide",[this]),t.trigger(c,"itemshow",[this]),await this._show(a,c,s),a&&t.trigger(a,"itemhidden",[this]),t.trigger(c,"itemshown",[this]),n.shift(),this._transitioner=null,await M(),n.length&&this.show(n.shift(),!0)},getIndex(e=this.index,s=this.index){return t.clamp(t.getIndex(e,this.slides,s,this.finite),0,Math.max(0,this.maxIndex))},getValidIndex(e=this.index,s=this.prevIndex){return this.getIndex(e,s)},async _show(e,s,i){if(this._transitioner=this._getTransitioner(e,s,this.dir,{easing:i?s.offsetWidth<600?Ae:Te:this.easing,...this.transitionOptions}),!i&&!e){this._translate(1);return}const{length:n}=this.stack;return this._transitioner[n>1?"forward":"show"](n>1?Math.min(this.duration,75+75/(n-1)):this.duration,this.percent)},_translate(e,s=this.prevIndex,i=this.index){const n=this._getTransitioner(s===i?!1:s,i);return n.translate(e),n},_getTransitioner(e=this.prevIndex,s=this.index,i=this.dir||1,n=this.transitionOptions){return new this.Transitioner(t.isNumber(e)?this.slides[e]:e,t.isNumber(s)?this.slides[s]:s,i*(t.isRtl?-1:1),n)}}};function Ee(e,s){return e==="next"?1:e==="previous"||e<s?-1:1}function Pe(e){return .5*e+300}var Se={mixins:[_e],props:{animation:String},data:{animation:"slide",clsActivated:"uk-transition-active",Animations:P,Transitioner:ge},computed:{animation({animation:e,Animations:s}){return{...s[e]||s.slide,name:e}},transitionOptions(){return{animation:this.animation}}},observe:Z(),events:{itemshow({target:e}){t.addClass(e,this.clsActive)},itemshown({target:e}){t.addClass(e,this.clsActivated)},itemhidden({target:e}){t.removeClass(e,this.clsActive,this.clsActivated)}}};({...P});function A(e){return`scale3d(${e}, ${e}, 1)`}var z={...P,fade:{show(){return[{opacity:0},{opacity:1}]},percent(e){return 1-t.css(e,"opacity")},translate(e){return[{opacity:1-e},{opacity:e}]}},scale:{show(){return[{opacity:0,transform:A(1-.2)},{opacity:1,transform:A(1)}]},percent(e){return 1-t.css(e,"opacity")},translate(e){return[{opacity:1-e,transform:A(1-.2*e)},{opacity:e,transform:A(1-.2+.2*e)}]}}},Ne={i18n:{counter:"%s / %s"},mixins:[de,Se],functional:!0,props:{counter:Boolean,preload:Number,nav:Boolean,slidenav:Boolean,delayControls:Number,videoAutoplay:Boolean,template:String},data:()=>({counter:!1,preload:1,nav:!1,slidenav:!0,delayControls:3e3,videoAutoplay:!1,items:[],cls:"uk-open",clsPage:"uk-lightbox-page",clsFit:"uk-lightbox-items-fit",clsZoom:"uk-lightbox-zoom",attrItem:"uk-lightbox-item",selList:".uk-lightbox-items",selClose:".uk-close-large",selNav:".uk-lightbox-thumbnav, .uk-lightbox-dotnav",selCaption:".uk-lightbox-caption",selCounter:".uk-lightbox-counter",pauseOnHover:!1,velocity:2,Animations:z,template:'<div class="uk-lightbox uk-overflow-hidden"> <div class="uk-lightbox-items"></div> <div class="uk-position-top-right uk-position-small uk-transition-fade" uk-inverse> <button class="uk-lightbox-close uk-close-large" type="button" uk-close></button> </div> <div class="uk-lightbox-slidenav uk-position-center-left uk-position-medium uk-transition-fade" uk-inverse> <a href uk-slidenav-previous uk-lightbox-item="previous"></a> </div> <div class="uk-lightbox-slidenav uk-position-center-right uk-position-medium uk-transition-fade" uk-inverse> <a href uk-slidenav-next uk-lightbox-item="next"></a> </div> <div class="uk-position-center-right uk-position-medium uk-transition-fade" uk-inverse style="max-height: 90vh; overflow: auto;"> <ul class="uk-lightbox-thumbnav uk-lightbox-thumbnav-vertical uk-thumbnav uk-thumbnav-vertical"></ul> <ul class="uk-lightbox-dotnav uk-dotnav uk-dotnav-vertical"></ul> </div> <div class="uk-lightbox-counter uk-text-large uk-position-top-left uk-position-small uk-transition-fade" uk-inverse></div> <div class="uk-lightbox-caption uk-position-bottom uk-text-center uk-transition-slide-bottom uk-transition-opaque"></div> </div>'}),created(){let e=t.$(this.template);t.isTag(e,"template")&&(e=t.fragment(t.html(e)));const s=t.$(this.selList,e),i=this.$props.nav;t.remove(t.$$(this.selNav,e).filter(o=>!t.matches(o,`.uk-${i}`)));for(const[o,h]of this.items.entries())t.append(s,"<div>"),i==="thumbnav"&&t.wrapAll(De(h,this.videoAutoplay),t.append(t.$(this.selNav,e),`<li uk-lightbox-item="${o}"><a href></a></li>`));this.slidenav||t.remove(t.$$(".uk-lightbox-slidenav",e)),this.counter||t.remove(t.$(this.selCounter,e)),t.addClass(s,this.clsFit);const n=t.$("[uk-close]",e),r=this.t("close");n&&r&&(n.dataset.i18n=JSON.stringify({label:r})),this.$mount(t.append(this.container,e))},events:[{name:"click",self:!0,filter:({bgClose:e})=>e,delegate:({selList:e})=>`${e} > *`,handler(e){e.defaultPrevented||this.hide()}},{name:"click",self:!0,delegate:({clsZoom:e})=>`.${e}`,handler(e){e.defaultPrevented||t.toggleClass(this.list,this.clsFit)}},{name:`${t.pointerMove} ${t.pointerDown} keydown`,filter:({delayControls:e})=>e,handler(){this.showControls()}},{name:"shown",self:!0,handler(){this.showControls()}},{name:"hide",self:!0,handler(){this.hideControls(),t.removeClass(this.slides,this.clsActive),t.Transition.stop(this.slides)}},{name:"hidden",self:!0,handler(){this.$destroy(!0)}},{name:"keyup",el:()=>document,handler({keyCode:e}){if(!this.isToggled()||!this.draggable)return;let s=-1;e===g.LEFT?s="previous":e===g.RIGHT?s="next":e===g.HOME?s=0:e===g.END&&(s="last"),~s&&this.show(s)}},{name:"beforeitemshow",handler(e){t.html(t.$(this.selCaption,this.$el),this.getItem().caption||""),t.html(t.$(this.selCounter,this.$el),this.t("counter",this.index+1,this.slides.length));for(let s=-this.preload;s<=this.preload;s++)this.loadItem(this.index+s);this.isToggled()||(this.draggable=!1,e.preventDefault(),this.toggleElement(this.$el,!0,!1),this.animation=z.scale,t.removeClass(e.target,this.clsActive),this.stack.splice(1,0,this.index))}},{name:"itemshown",handler(){this.draggable=this.$props.draggable}},{name:"itemload",async handler(e,s){const{source:i,type:n,attrs:r={}}=s;if(this.setItem(s,"<span uk-spinner uk-inverse></span>"),!i)return;let o;const h={allowfullscreen:"",style:"max-width: 100%; box-sizing: border-box;","uk-responsive":"","uk-video":!!this.videoAutoplay};if(n==="image"||W(i)){const a=v("img");ee(a,s.sources),t.attr(a,{src:i,...t.pick(s,["alt","srcset","sizes"]),...r}),t.on(a,"load",()=>this.setItem(s,t.parent(a)||a)),t.on(a,"error",()=>this.setError(s))}else if(n==="video"||q(i)){const a=this.videoAutoplay==="inline",d=v("video",{src:i,playsinline:"",controls:a?null:"",loop:a?"":null,muted:a?"":null,poster:this.videoAutoplay?null:s.poster,"uk-video":!!this.videoAutoplay,...r});t.on(d,"loadedmetadata",()=>this.setItem(s,d)),t.on(d,"error",()=>this.setError(s))}else if(n==="iframe"||i.match(/\.(html|php)($|\?)/i))this.setItem(s,v("iframe",{src:i,allowfullscreen:"",class:"uk-lightbox-iframe",...r}));else if(o=i.match(/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/))this.setItem(s,v("iframe",{src:`https://www.youtube${o[1]||""}.com/embed/${o[2]}${o[3]?`?${o[3]}`:""}`,width:1920,height:1080,...h,...r}));else if(o=i.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/))try{const{height:a,width:d}=await(await fetch(`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURI(i)}`,{credentials:"omit"})).json();this.setItem(s,v("iframe",{src:`https://player.vimeo.com/video/${o[1]}${o[2]?`?${o[2]}`:""}`,width:d,height:a,...h,...r}))}catch{this.setError(s)}}},{name:"itemloaded",handler(){this.$emit("resize")}}],update:{read(){for(const e of t.$$(`${this.selList} :not([controls]):is(img,video)`,this.$el))t.toggleClass(e,this.clsZoom,(e.naturalHeight||e.videoHeight)-this.$el.offsetHeight>Math.max(0,(e.naturalWidth||e.videoWidth)-this.$el.offsetWidth))},events:["resize"]},methods:{loadItem(e=this.index){const s=this.getItem(e);this.getSlide(s).childElementCount||t.trigger(this.$el,"itemload",[s])},getItem(e=this.index){return this.items[t.getIndex(e,this.slides)]},setItem(e,s){t.trigger(this.$el,"itemloaded",[this,t.html(this.getSlide(e),s)])},getSlide(e){return this.slides[this.items.indexOf(e)]},setError(e){this.setItem(e,'<span uk-icon="icon: bolt; ratio: 2" uk-inverse></span>')},showControls(){clearTimeout(this.controlsTimer),this.controlsTimer=this.delayControls&&setTimeout(this.hideControls,this.delayControls),t.addClass(this.$el,"uk-active","uk-transition-active")},hideControls(){t.removeClass(this.$el,"uk-active","uk-transition-active")}}};function v(e,s){const i=t.fragment(`<${e}>`);return t.attr(i,s),i}function De(e,s){const i=e.poster||e.thumb&&(e.type==="image"||W(e.thumb))?v("img",{src:e.poster||e.thumb,alt:""}):e.thumb&&(e.type==="video"||q(e.thumb))?v("video",{src:e.thumb,loop:"",playsinline:"",muted:"","uk-video":s==="inline"}):v("canvas");return e.thumbRatio&&(i.style.aspectRatio=e.thumbRatio),i}function W(e){return e==null?void 0:e.match(/\.(avif|jpe?g|jfif|a?png|gif|svg|webp)($|\?)/i)}function q(e){return e==null?void 0:e.match(/\.(mp4|webm|ogv)($|\?)/i)}const Me=".uk-disabled *, .uk-disabled, [disabled]";var j={install:Oe,props:{toggle:String},data:{toggle:"a"},computed:{toggles:({toggle:e},s)=>t.$$(e,s)},watch:{toggles(e){this.hide();for(const s of e)t.isTag(s,"a")&&(s.role="button")}},disconnected(){this.hide()},events:{name:"click",delegate:({toggle:e})=>e,handler(e){e.defaultPrevented||(e.preventDefault(),t.matches(e.current,Me)||this.show(e.current))}},methods:{show(e){let s=this.toggles.map(R);if(this.nav==="thumbnav"&&Le.call(this,this.toggles,s),s=t.uniqueBy(s,"source"),t.isElement(e)){const{source:i}=R(e);e=t.findIndex(s,({source:n})=>i===n)}return this.panel=this.panel||this.$create("lightboxPanel",{...this.$props,items:s}),t.on(this.panel.$el,"hidden",()=>this.panel=null),this.panel.show(e)},hide(){var e;return(e=this.panel)==null?void 0:e.hide()}}};function Oe(e,s){e.lightboxPanel||e.component("lightboxPanel",Ne),t.assign(s.props,e.component("lightboxPanel").options.props)}function Le(e,s){for(const[i,n]of Object.entries(e)){if(s[i].thumb)continue;const r=t.parents(n).reverse().concat(n).find(h=>this.$el.contains(h)&&(h===n||t.$$(this.toggle,h).length===1));if(!r)continue;const o=t.$("img,video",r);o&&(s[i].thumb=o.currentSrc||o.poster||o.src,s[i].thumbRatio=(o.naturalWidth||o.videoWidth)/(o.naturalHeight||o.videoHeight))}}function R(e){const s={};for(const i of e.getAttributeNames()){const n=i.replace(/^data-/,"");s[n==="href"?"source":n]=e.getAttribute(i)}return s.attrs=x(s.attrs),s}var Be="lightbox";return typeof window<"u"&&window.UIkit&&window.UIkit.component(Be,j),j}));
|
|
1
|
+
/*! UIkit 3.25.17-dev.8c70e44 | https://www.getuikit.com | (c) 2014 - 2026 YOOtheme | MIT License */(function(t,b){typeof exports=="object"&&typeof module<"u"?module.exports=b(require("uikit-util")):typeof define=="function"&&define.amd?define("uikitlightbox",["uikit-util"],b):(t=typeof globalThis<"u"?globalThis:t||self,t.UIkitLightbox=b(t.UIkit.util))})(this,(function(t){"use strict";function b(e,s=[]){try{return e?t.startsWith(e,"{")?JSON.parse(e):s.length&&!t.includes(e,":")?{[s[0]]:e}:e.split(";").reduce((i,n)=>{const[o,a]=n.split(/:(.*)/);return o&&!t.isUndefined(a)&&(i[o.trim()]=a.trim()),i},{}):{}}catch{return{}}}function Q(e,s="update"){e._connected&&e._updates.length&&(e._updateCount||(e._updateCount=0,requestAnimationFrame(()=>e._updateCount=0)),e._queued||(e._queued=new Set,t.fastdom.read(()=>{e._connected&&Z(e,e._queued),e._queued=null})),e._updateCount++<20&&e._queued.add(s.type||s))}function Z(e,s){for(const{read:i,write:n,events:o=[]}of e._updates){if(!s.has("update")&&!o.some(r=>s.has(r)))continue;let a;i&&(a=i.call(e,e._data,s),a&&t.isPlainObject(a)&&t.assign(e._data,a)),n&&a!==!1&&t.fastdom.write(()=>{e._connected&&n.call(e,e._data,s)})}}function K(e){return D(t.observeResize,e,"resize")}function ee(e){return D(t.observeIntersection,e)}function D(e,s,i){return{observe:e,handler(){Q(this,i)},...s}}ee({handler(e,s){this.load(),s.disconnect()},options:({margin:e})=>({rootMargin:e}),filter:({loading:e})=>e==="lazy",target:({$el:e,$props:s})=>s.target?[e,...t.queryAll(s.target,e)]:e});function te(e,s){if(s=se(s),s.length){const i=t.fragment("<picture>");for(const n of s){const o=t.fragment("<source>");t.attr(o,n),t.append(i,o)}t.append(i,e)}}function se(e){if(!e)return[];if(t.startsWith(e,"["))try{e=JSON.parse(e)}catch{e=[]}else e=b(e);return t.isArray(e)||(e=[e]),e.filter(s=>!t.isEmpty(s))}function M(){return new Promise(e=>requestAnimationFrame(e))}let _;function ie(e){const s=t.on(e,"touchstart",o=>{if(o.targetTouches.length!==1||t.matches(o.target,'input[type="range"]'))return;let a=t.getEventPos(o).y;const r=t.on(e,"touchmove",h=>{const l=t.getEventPos(h).y;l!==a&&(a=l,t.scrollParents(h.target).some(c=>{if(!e.contains(c))return!1;let{scrollHeight:d,clientHeight:f}=c;return f<d})||h.preventDefault())},{passive:!1});t.once(e,"scroll touchend touchcancel",r,{capture:!0})},{passive:!0});if(_)return s;_=!0;const{scrollingElement:i}=document,n={overflowY:CSS.supports("overflow","clip")?"clip":"hidden",touchAction:"none",scrollbarGutter:t.width(window)-i.clientWidth?"stable":""};return t.css(i,n),()=>{_=!1,s(),t.resetProps(i,n)}}var ne={connected(){this._cmpCls=t.hasClass(this.$el,this.$options.id),t.addClass(this.$el,this.$options.id)},disconnected(){this._cmpCls||t.removeClass(this.$el,this.$options.id)}},oe={props:{container:Boolean},data:{container:!0},computed:{container({container:e}){return e===!0&&this.$container||e&&t.$(e)}}};function O(e){e.target.closest('a[href="#"],a[href=""]')&&e.preventDefault()}var ae={props:{cls:Boolean,animation:"list",duration:Number,velocity:Number,origin:String,transition:String},data:{cls:!1,animation:[!1],duration:200,velocity:.2,origin:!1,transition:"ease",clsEnter:"uk-togglable-enter",clsLeave:"uk-togglable-leave"},computed:{hasAnimation:({animation:e})=>!!e[0],hasTransition:({animation:e})=>["slide","reveal"].some(s=>t.startsWith(e[0],s))},methods:{async toggleElement(e,s,i){const n={};return(await Promise.all(t.toNodes(e).map(o=>{const a=t.isBoolean(s)?s:!this.isToggled(o);if(!t.trigger(o,`before${a?"show":"hide"}`,[this]))return n;const r=(t.isFunction(i)?i:i===!1||!this.hasAnimation?re:this.hasTransition?he:de)(o,a,this),h=a?this.clsEnter:this.clsLeave;t.addClass(o,h),t.trigger(o,a?"show":"hide",[this]);const l=()=>{var c;t.removeClass(o,h),t.trigger(o,a?"shown":"hidden",[this]),a&&((c=t.$$("[autofocus]",o).find(t.isVisible))==null||c.focus({preventScroll:!0}))};return r?r.then(l,()=>(t.removeClass(o,h),n)):l()}))).every(o=>o!==n)},isToggled(e=this.$el){return e=t.toNode(e),t.hasClass(e,this.clsEnter)?!0:t.hasClass(e,this.clsLeave)?!1:this.cls?t.hasClass(e,this.cls.split(" ")[0]):t.isVisible(e)},_toggle(e,s){if(!e)return;s=!!s;let i;this.cls?(i=t.includes(this.cls," ")||s!==t.hasClass(e,this.cls),i&&t.toggleClass(e,this.cls,t.includes(this.cls," ")?void 0:s)):(i=s===e.hidden,i&&(e.hidden=!s)),i&&t.trigger(e,"toggled",[s,this])}}};function re(e,s,{_toggle:i}){return t.Animation.cancel(e),t.Transition.cancel(e),i(e,s)}async function he(e,s,{animation:i,duration:n,velocity:o,transition:a,_toggle:r}){var h;const[l="reveal",c="top"]=((h=i[0])==null?void 0:h.split("-"))||[],d=[["left","right"],["top","bottom"]],f=d[t.includes(d[0],c)?0:1],u=f[1]===c,C=["width","height"][d.indexOf(f)],x=`margin-${f[0]}`,A=`margin-${c}`;let $=t.dimensions(e)[C];const je=t.Transition.inProgress(e);await t.Transition.cancel(e),s&&r(e,!0);const Ue=t.pick(e.style,["padding","border","width","height","minWidth","minHeight","overflowY","overflowX",x,A]),w=t.dimensions(e),N=t.toFloat(t.css(e,x)),J=t.toFloat(t.css(e,A)),v=w[C]+J;!je&&!s&&($+=J);const[T]=t.wrapInner(e,"<div>");t.css(T,{boxSizing:"border-box",height:w.height,width:w.width,...t.css(e,["overflow","padding","borderTop","borderRight","borderBottom","borderLeft","borderImage",A])}),t.css(e,{padding:0,border:0,minWidth:0,minHeight:0,[A]:0,width:w.width,height:w.height,overflow:"hidden",[C]:$});const X=$/v;n=(o*v+n)*(s?1-X:X);const Y={[C]:s?v:0};u&&(t.css(e,x,v-$+N),Y[x]=s?N:v+N),!u^l==="reveal"&&(t.css(T,x,-v+$),t.Transition.start(T,{[x]:s?0:-v},n,a));try{await t.Transition.start(e,Y,n,a)}finally{t.css(e,Ue),t.unwrap(T.firstChild),s||r(e,!1)}}function de(e,s,i){const{animation:n,duration:o,_toggle:a}=i;return s?(a(e,!0),t.Animation.in(e,n[0],o,i.origin)):t.Animation.out(e,n[1]||n[0],o,i.origin).then(()=>a(e,!1))}const p=[];var le={mixins:[ne,oe,ae],props:{selPanel:String,selClose:String,escClose:Boolean,bgClose:Boolean,stack:Boolean,role:String},data:{cls:"uk-open",escClose:!0,bgClose:!0,overlay:!0,stack:!1,role:"dialog"},computed:{panel:({selPanel:e},s)=>t.$(e,s),transitionElement(){return this.panel}},connected(){const e=this.panel||this.$el;e.role=this.role,this.overlay&&(e.ariaModal=!0)},beforeDisconnect(){t.includes(p,this)&&this.toggleElement(this.$el,!1,!1)},events:[{name:"click",delegate:({selClose:e})=>`${e},a[href*="#"]`,handler(e){const{current:s,defaultPrevented:i}=e,{hash:n}=s;!i&&n&&t.isSameSiteAnchor(s)&&!this.$el.contains(t.$(n))?this.hide():t.matches(s,this.selClose)&&(O(e),this.hide())}},{name:"toggle",self:!0,handler(e,s){e.defaultPrevented||(e.preventDefault(),this.target=s==null?void 0:s.$el,this.isToggled()===t.includes(p,this)&&this.toggle())}},{name:"beforeshow",self:!0,handler(e){if(t.includes(p,this))return!1;!this.stack&&p.length?(Promise.all(p.map(s=>s.hide())).then(this.show),e.preventDefault()):p.push(this)}},{name:"show",self:!0,handler(){this.stack&&t.css(this.$el,"zIndex",t.toFloat(t.css(this.$el,"zIndex"))+p.length);const e=[this.overlay&&fe(this),this.overlay&&ie(this.$el),this.bgClose&&pe(this),this.escClose&&ge(this)];t.once(this.$el,"hidden",()=>e.forEach(s=>s&&s()),{self:!0}),t.addClass(document.documentElement,this.clsPage),B(this.target,!0)}},{name:"shown",self:!0,handler(){t.isFocusable(this.$el)||(this.$el.tabIndex=-1),t.matches(this.$el,":focus-within")||this.$el.focus()}},{name:"hidden",self:!0,handler(){t.includes(p,this)&&p.splice(p.indexOf(this),1),t.css(this.$el,"zIndex","");const{target:e}=this;p.some(s=>s.clsPage===this.clsPage)||(t.removeClass(document.documentElement,this.clsPage),queueMicrotask(()=>{t.isFocusable(e)&&e.focus({preventScroll:!0})})),B(e,!1),this.target=null}}],methods:{toggle(){return this.isToggled()?this.hide():this.show()},async show(){return this.container&&t.parent(this.$el)!==this.container&&(t.append(this.container,this.$el),await M()),this.toggleElement(this.$el,!0,L)},hide(){return this.toggleElement(this.$el,!1,L)}}};const P=Symbol();function L(e,s,{transitionElement:i,_toggle:n}){return new Promise((o,a)=>t.once(e,"show hide",()=>{var r;(r=e[P])==null||r.call(e),e[P]=a,n(e,s);const h=t.once(i,"transitionstart",()=>{t.once(i,"transitionend transitioncancel",o,{self:!0}),clearTimeout(l)},{self:!0}),l=setTimeout(()=>{h(),o()},ce(t.css(i,"transitionDuration")))})).then(()=>delete e[P])}function ce(e){return e?t.endsWith(e,"ms")?t.toFloat(e):t.toFloat(e)*1e3:0}function fe(e){return t.on(document,"focusin",s=>{if(t.last(p)!==e||e.$el.contains(s.target))return;const{left:i,top:n,width:o,height:a}=t.dimensions(s.target),r=document.elementFromPoint(i+o/2,n+a/2);r&&(s.target.contains(r)||r.contains(s.target))||e.$el.focus()})}function pe(e){return t.on(document,t.pointerDown,({target:s})=>{t.last(p)!==e||e.overlay&&!e.$el.contains(s)||!e.panel||e.panel.contains(s)||t.once(document,`${t.pointerUp} ${t.pointerCancel} scroll`,({defaultPrevented:i,type:n,target:o})=>{!i&&n===t.pointerUp&&s===o&&e.hide()},!0)})}function ge(e){return t.on(document,"keydown",s=>{s.keyCode===27&&t.last(p)===e&&e.hide()})}function B(e,s){e!=null&&e.ariaExpanded&&(e.ariaExpanded=s)}var S={slide:{percent:me,translate:(e,s)=>[{transform:F(s*-100*e)},{transform:F(s*100*(1-e))}]}};function me(e){return Math.abs(new DOMMatrix(t.css(e,"transform")).m41/e.offsetWidth)}function F(e=0,s="%"){return e?`translate3d(${e+s}, 0, 0)`:""}function ue(e,s,i,{animation:n,easing:o}){const{percent:a,translate:r}=n,h=r(1,i),{promise:l,resolve:c}=ve();return{dir:i,show(d,f=0,u){const k=u?"linear":o;return d-=Math.round(d*t.clamp(f,-1,1)),this.translate(f),y(s,"itemin",{percent:f,duration:d,timing:k,dir:i}),y(e,"itemout",{percent:1-f,duration:d,timing:k,dir:i}),Promise.all([t.Transition.start(s,h[1],d,k),t.Transition.start(e,h[0],d,k)]).then(()=>{this.reset(),c()},t.noop),l},cancel(){return t.Transition.cancel([s,e])},reset(){t.resetProps([s,e],h[0])},async forward(d,f=this.percent()){return await this.cancel(),this.show(d,f,!0)},translate(d){this.reset();const f=r(d,i);t.css(s,f[1]),t.css(e,f[0]),y(s,"itemtranslatein",{percent:d,dir:i}),y(e,"itemtranslateout",{percent:1-d,dir:i})},percent(){return a(e||s,s,i)},getDistance(){return e==null?void 0:e.offsetWidth}}}function y(e,s,i){t.trigger(e,t.createEvent(s,!1,!1,i))}function ve(){let e;return{promise:new Promise(s=>e=s),resolve:e}}var be={props:{i18n:Object},data:{i18n:null},methods:{t(e,...s){var i,n,o;let a=0;return((o=((i=this.i18n)==null?void 0:i[e])||((n=this.$options.i18n)==null?void 0:n[e]))==null?void 0:o.replace(/%s/g,()=>s[a++]||""))||""}}},xe={props:{autoplay:Boolean,autoplayInterval:Number,pauseOnHover:Boolean},data:{autoplay:!1,autoplayInterval:7e3,pauseOnHover:!0},connected(){t.attr(this.list,"aria-live",this.autoplay?"off":"polite"),this.autoplay&&this.startAutoplay()},disconnected(){this.stopAutoplay()},update(){t.attr(this.slides,"tabindex","-1")},events:[{name:"visibilitychange",el:()=>document,filter:({autoplay:e})=>e,handler(){document.hidden?this.stopAutoplay():this.startAutoplay()}}],methods:{startAutoplay(){this.stopAutoplay(),this.interval=setInterval(()=>{this.stack.length||!t.isVisible(this.$el)||this.draggable&&t.matches(this.$el,":focus-within")&&!t.matches(this.$el,":focus")||this.pauseOnHover&&t.matches(this.$el,":hover")||this.show("next")},this.autoplayInterval)},stopAutoplay(){clearInterval(this.interval)}}};const I={passive:!1,capture:!0},ke="touchstart mousedown",E="touchmove mousemove",$e="touchend touchcancel mouseup click input scroll";var we={props:{draggable:Boolean},data:{draggable:!0,threshold:10,angleThreshold:45},created(){for(const e of["start","move","end"]){const s=this[e];this[e]=i=>{const n=t.getEventPos(i);t.isRtl&&(n.x=-n.x),this.prevPos=t.isEqual(n,this.pos)?this.prevPos:this.pos,this.pos=n,s(i)}}},events:[{name:ke,passive:!0,delegate:({selList:e})=>`${e} > *`,handler(e){!this.draggable||this.parallax||!t.isTouch(e)&&ye(e.target)||e.target.closest(t.selInput)||e.button>0||this.length<2||this.start(e)}},{name:"dragstart",handler(e){e.preventDefault()}},{name:E,el:({list:e})=>e,handler:t.noop,...I}],methods:{start(){this.drag=this.pos,this._transitioner?(this.percent=this._transitioner.percent(),this.drag.x+=this._transitioner.getDistance()*this.percent*this.dir,this._transitioner.cancel(),this._transitioner.translate(this.percent),this.dragging=!0,this.stack=[]):this.prevIndex=this.index,t.on(document,E,this.move,I),t.on(document,$e,this.end,{passive:!0,capture:!0,once:!0}),t.css(this.list,"userSelect","none")},move(e){const s=this.pos.x-this.drag.x;if(s===0||!this.dragging&&Ie(this.pos,this.drag)>this.angleThreshold||this.prevPos.x===this.pos.x||!this.dragging&&Math.abs(s)<this.threshold)return;e.cancelable&&e.preventDefault(),this.dragging=!0,this.dir=s<0?1:-1;let{slides:i,prevIndex:n}=this,o=Math.abs(s),a=this.getIndex(n+this.dir),r=H.call(this,n,a);for(;a!==n&&o>r;)this.drag.x-=r*this.dir,n=a,o-=r,a=this.getIndex(n+this.dir),r=H.call(this,n,a);this.percent=o/r;const h=i[n],l=i[a],c=this.index!==a,d=n===a;let f;for(const u of[this.index,this.prevIndex])t.includes([a,n],u)||(t.trigger(i[u],"itemhidden",[this]),d&&(f=!0,this.prevIndex=n));(this.index===n&&this.prevIndex!==n||f)&&t.trigger(i[this.index],"itemshown",[this]),c&&(this.prevIndex=n,this.index=a,d||(t.trigger(h,"beforeitemhide",[this]),t.trigger(h,"itemhide",[this])),t.trigger(l,"beforeitemshow",[this]),t.trigger(l,"itemshow",[this])),this._transitioner=this._translate(Math.abs(this.percent),h,!d&&l)},end(){if(t.off(document,E,this.move,I),this.dragging)if(setTimeout(t.on(this.list,"click",e=>e.preventDefault(),I)),this.dragging=null,this.index===this.prevIndex)this.percent=1-this.percent,this.dir*=-1,this._show(!1,this.index,!0),this._transitioner=null;else{const e=this.dir<0==this.prevPos.x>this.pos.x;e?(t.trigger(this.slides[this.prevIndex],"itemhidden",[this]),t.trigger(this.slides[this.index],"itemshown",[this]),this.percent=1-this.percent):this.index=this.prevIndex,this.show(this.dir>0&&!e||this.dir<0&&e?"next":"previous",!0)}t.css(this.list,{userSelect:""}),this.drag=this.percent=null}}};function H(e,s){return this._getTransitioner(e,e!==s&&s).getDistance()||this.slides[e].offsetWidth}function ye(e){return t.css(e,"userSelect")!=="none"&&t.toArray(e.childNodes).some(s=>s.nodeType===3&&s.textContent.trim())}function Ie(e,s){return Math.atan2(Math.abs(s.y-e.y),Math.abs(s.x-e.x))*180/Math.PI}t.memoize((e,s)=>{const i=Object.keys(s),n=[...i,e].flatMap(o=>[t.hyphenate(o),`data-${t.hyphenate(o)}`]);return{attributes:i,filter:n}});let Ce=1;function z(e,s=null){return(s==null?void 0:s.id)||`${e.$options.id}-${Ce++}`}const g={SPACE:32,END:35,HOME:36,LEFT:37,RIGHT:39};var Ae={i18n:{next:"Next slide",previous:"Previous slide",slideX:"Slide %s",slideLabel:"%s of %s"},data:{selNav:!1,role:"region"},computed:{nav:({selNav:e},s)=>t.$$(e,s),navChildren(){return this.nav.flatMap(e=>t.children(e))},selNavItem:({attrItem:e})=>`[${e}],[data-${e}]`,navItems(e,s){return t.$$(this.selNavItem,s)}},watch:{nav(e,s){t.attr(e,"role","tablist"),this.padNavitems(),s&&this.$emit()},list(e){t.isTag(e,"ul")&&t.attr(e,"role","presentation")},navChildren(e){t.attr(e,"role","presentation"),this.padNavitems(),this.updateNav()},navItems(e){for(const s of e){const i=t.data(s,this.attrItem),n=t.$("a,button",s)||s;let o,a=null;if(t.isNumeric(i)){const r=t.toNumber(i),h=this.slides[r];h&&(h.id||(h.id=z(this,h)),a=h.id),o=this.t("slideX",t.toFloat(i)+1),n.role="tab"}else this.list&&(this.list.id||(this.list.id=z(this,this.list)),a=this.list.id),o=this.t(i);n.ariaControls=a,n.ariaLabel=n.ariaLabel||o}},slides(e){e.forEach((s,i)=>t.attr(s,{role:this.nav.length?"tabpanel":"group","aria-label":this.t("slideLabel",i+1,this.length),"aria-roledescription":this.nav.length?null:"slide"})),this.padNavitems()}},connected(){this.$el.role=this.role,this.$el.ariaRoleDescription="carousel"},update:[{write(){this.navItems.concat(this.nav).forEach(e=>e&&(e.hidden=!this.maxIndex)),this.updateNav()},events:["resize"]}],events:[{name:"click keydown",delegate:({selNavItem:e})=>e,filter:({parallax:e})=>!e,handler(e){e.target.closest("a,button")&&(e.type==="click"||e.keyCode===g.SPACE)&&(O(e),this.show(t.data(e.current,this.attrItem)))}},{name:"itemshow",handler(){this.updateNav()}},{name:"keydown",delegate:({selNavItem:e})=>e,filter:({parallax:e})=>!e,handler(e){const{current:s,keyCode:i}=e,n=t.data(s,this.attrItem);if(!t.isNumeric(n))return;let o=i===g.HOME?0:i===g.END?"last":i===g.LEFT?"previous":i===g.RIGHT?"next":-1;~o&&(e.preventDefault(),this.show(o))}}],methods:{updateNav(){const e=this.getValidIndex();for(const s of this.navItems){const i=t.data(s,this.attrItem),n=t.$("a,button",s)||s;if(t.isNumeric(i)){const a=t.toNumber(i)===e;t.toggleClass(s,this.clsActive,a),t.toggleClass(n,"uk-disabled",!!this.parallax),n.ariaSelected=a,n.tabIndex=a&&!this.parallax?null:-1,a&&n&&t.matches(t.parent(s),":focus-within")&&n.focus()}else t.toggleClass(s,"uk-invisible",this.finite&&(i==="previous"&&e===0||i==="next"&&e>=this.maxIndex))}},padNavitems(){for(const e of this.nav){const s=t.children(e),i=[];for(let n=0;n<this.length;n++){const o=`${this.attrItem}="${n}"`;i[n]=s.findLast(a=>a.matches(`[${o}]`))||t.$(`<li ${o}><a href></a></li>`)}t.isEqual(i,s)||t.html(e,i)}}}};const Te="cubic-bezier(0.25, 0.46, 0.45, 0.94)",_e="cubic-bezier(0.165, 0.84, 0.44, 1)";var Pe={mixins:[xe,we,Ae,be],props:{clsActivated:String,easing:String,index:Number,finite:Boolean,velocity:Number},data:()=>({easing:"ease",finite:!1,velocity:1,index:0,prevIndex:-1,stack:[],percent:0,clsActive:"uk-active",clsActivated:"",clsEnter:"uk-slide-enter",clsLeave:"uk-slide-leave",clsSlideActive:"uk-slide-active",Transitioner:!1,transitionOptions:{}}),connected(){this.prevIndex=-1,this.index=this.getValidIndex(this.$props.index),this.stack=[]},disconnected(){t.removeClass(this.slides,this.clsActive)},computed:{duration:({velocity:e},s)=>Ee(s.offsetWidth/e),list:({selList:e},s)=>t.$(e,s),maxIndex(){return this.length-1},slides(){return t.children(this.list)},length(){return this.slides.length}},watch:{slides(e,s){s&&this.$emit()}},events:{itemshow({target:e}){t.addClass(e,this.clsEnter,this.clsSlideActive)},itemshown({target:e}){t.removeClass(e,this.clsEnter)},itemhide({target:e}){t.addClass(e,this.clsLeave)},itemhidden({target:e}){t.removeClass(e,this.clsLeave,this.clsSlideActive)}},methods:{async show(e,s=!1){var i;if(this.dragging||!this.length||this.parallax)return;const{stack:n}=this,o=s?0:n.length,a=()=>{n.splice(o,1),n.length&&this.show(n.shift(),!0)};if(n[s?"unshift":"push"](e),!s&&n.length>1){n.length===2&&((i=this._transitioner)==null||i.forward(Math.min(this.duration,200)));return}const r=this.getIndex(this.index),h=t.hasClass(this.slides,this.clsActive)&&this.slides[r],l=this.getIndex(e,this.index),c=this.slides[l];if(h===c){a();return}if(this.dir=Se(e,r),this.prevIndex=r,this.index=l,h&&!t.trigger(h,"beforeitemhide",[this])||!t.trigger(c,"beforeitemshow",[this,h])){this.index=this.prevIndex,a();return}h&&t.trigger(h,"itemhide",[this]),t.trigger(c,"itemshow",[this]),await this._show(h,c,s),h&&t.trigger(h,"itemhidden",[this]),t.trigger(c,"itemshown",[this]),n.shift(),this._transitioner=null,await M(),n.length&&this.show(n.shift(),!0)},getIndex(e=this.index,s=this.index){return t.clamp(t.getIndex(e,this.slides,s,this.finite),0,Math.max(0,this.maxIndex))},getValidIndex(e=this.index,s=this.prevIndex){return this.getIndex(e,s)},async _show(e,s,i){if(this._transitioner=this._getTransitioner(e,s,this.dir,{easing:i?s.offsetWidth<600?Te:_e:this.easing,...this.transitionOptions}),!i&&!e){this._translate(1);return}const{length:n}=this.stack;return this._transitioner[n>1?"forward":"show"](n>1?Math.min(this.duration,75+75/(n-1)):this.duration,this.percent)},_translate(e,s=this.prevIndex,i=this.index){const n=this._getTransitioner(s===i?!1:s,i);return n.translate(e),n},_getTransitioner(e=this.prevIndex,s=this.index,i=this.dir||1,n=this.transitionOptions){return new this.Transitioner(t.isNumber(e)?this.slides[e]:e,t.isNumber(s)?this.slides[s]:s,i*(t.isRtl?-1:1),n)}}};function Se(e,s){return e==="next"?1:e==="previous"||e<s?-1:1}function Ee(e){return .5*e+300}var Ne={mixins:[Pe],props:{animation:String},data:{animation:"slide",clsActivated:"uk-transition-active",Animations:S,Transitioner:ue},computed:{animation({animation:e,Animations:s}){return{...s[e]||s.slide,name:e}},transitionOptions(){return{animation:this.animation}}},observe:K(),events:{itemshow({target:e}){t.addClass(e,this.clsActive)},itemshown({target:e}){t.addClass(e,this.clsActivated)},itemhidden({target:e}){t.removeClass(e,this.clsActive,this.clsActivated)}}};({...S});function W(e){return`scale3d(${e}, ${e}, 1)`}var q={...S,fade:{percent:e=>1-t.css(e,"opacity"),translate:e=>[{opacity:1-e},{opacity:e}]},scale:{percent:e=>1-t.css(e,"opacity"),translate:e=>[{opacity:1-e,transform:W(1-.2*e)},{opacity:e,transform:W(1-.2+.2*e)}]}},De={i18n:{counter:"%s / %s"},mixins:[le,Ne],functional:!0,props:{counter:Boolean,preload:Number,nav:Boolean,slidenav:Boolean,delayControls:Number,videoAutoplay:Boolean,template:String},data:()=>({counter:!1,preload:1,nav:!1,slidenav:!0,delayControls:3e3,videoAutoplay:!1,items:[],cls:"uk-open",clsPage:"uk-lightbox-page",clsFit:"uk-lightbox-items-fit",clsZoom:"uk-lightbox-zoom",attrItem:"uk-lightbox-item",selList:".uk-lightbox-items",selClose:".uk-close-large",selNav:".uk-lightbox-thumbnav, .uk-lightbox-dotnav",selCaption:".uk-lightbox-caption",selCounter:".uk-lightbox-counter",pauseOnHover:!1,velocity:2,Animations:q,template:'<div class="uk-lightbox uk-overflow-hidden"> <div class="uk-lightbox-items"></div> <div class="uk-position-top-right uk-position-small uk-transition-fade" uk-inverse> <button class="uk-lightbox-close uk-close-large" type="button" uk-close></button> </div> <div class="uk-lightbox-slidenav uk-position-center-left uk-position-medium uk-transition-fade" uk-inverse> <a href uk-slidenav-previous uk-lightbox-item="previous"></a> </div> <div class="uk-lightbox-slidenav uk-position-center-right uk-position-medium uk-transition-fade" uk-inverse> <a href uk-slidenav-next uk-lightbox-item="next"></a> </div> <div class="uk-position-center-right uk-position-medium uk-transition-fade" uk-inverse style="max-height: 90vh; overflow: auto;"> <ul class="uk-lightbox-thumbnav uk-lightbox-thumbnav-vertical uk-thumbnav uk-thumbnav-vertical"></ul> <ul class="uk-lightbox-dotnav uk-dotnav uk-dotnav-vertical"></ul> </div> <div class="uk-lightbox-counter uk-text-large uk-position-top-left uk-position-small uk-transition-fade" uk-inverse></div> <div class="uk-lightbox-caption uk-position-bottom uk-text-center uk-transition-slide-bottom uk-transition-opaque"></div> </div>'}),created(){let e=t.$(this.template);t.isTag(e,"template")&&(e=t.fragment(t.html(e)));const s=t.$(this.selList,e),i=this.$props.nav;t.remove(t.$$(this.selNav,e).filter(a=>!t.matches(a,`.uk-${i}`)));for(const[a,r]of this.items.entries())t.append(s,"<div>"),i==="thumbnav"&&t.wrapAll(He(r,this.videoAutoplay),t.append(t.$(this.selNav,e),`<li uk-lightbox-item="${a}"><a href></a></li>`));this.slidenav||t.remove(t.$$(".uk-lightbox-slidenav",e)),this.counter||t.remove(t.$(this.selCounter,e)),t.addClass(s,this.clsFit);const n=t.$("[uk-close]",e),o=this.t("close");n&&o&&(n.dataset.i18n=JSON.stringify({label:o})),this.$mount(t.append(this.container,e))},events:[{name:"click",self:!0,filter:({bgClose:e})=>e,delegate:({selList:e})=>`${e} > *`,handler(e){e.defaultPrevented||this.hide()}},{name:"click",self:!0,delegate:({clsZoom:e})=>`.${e}`,handler(e){e.defaultPrevented||t.toggleClass(this.list,this.clsFit)}},{name:`${t.pointerMove} ${t.pointerDown} keydown`,filter:({delayControls:e})=>e,handler(){this.showControls()}},{name:"shown",self:!0,handler(){this.showControls()}},{name:"hide",self:!0,handler(){this.hideControls(),t.removeClass(this.slides,this.clsActive),t.Transition.stop(this.slides)}},{name:"hidden",self:!0,handler(){this.$destroy(!0)}},{name:"keyup",el:()=>document,handler({keyCode:e}){if(!this.isToggled()||!this.draggable)return;let s=-1;e===g.LEFT?s="previous":e===g.RIGHT?s="next":e===g.HOME?s=0:e===g.END&&(s="last"),~s&&this.show(s)}},{name:"beforeitemshow",handler(e){t.html(t.$(this.selCaption,this.$el),this.getItem().caption||""),t.html(t.$(this.selCounter,this.$el),this.t("counter",this.index+1,this.slides.length));for(let s=-this.preload;s<=this.preload;s++)this.loadItem(this.index+s);this.isToggled()||(this.draggable=!1,e.preventDefault(),this.toggleElement(this.$el,!0,!1),this.animation=q.scale,t.removeClass(e.target,this.clsActive),this.stack.splice(1,0,this.index))}},{name:"itemshown",handler(){this.draggable=this.$props.draggable}},{name:"itemload",async handler(e,s){const{source:i,type:n,attrs:o={}}=s;if(this.setItem(s,"<span uk-spinner uk-inverse></span>"),!!i)try{for(const a of[Me,Oe,Le,Be,Fe]){const r=await a({src:i,type:n,attrs:o,item:s,cmp:this});if(r){this.setItem(s,r);return}}}catch{this.setError(s)}}},{name:"itemloaded",handler(){this.$emit("resize")}}],update:{read(){for(const e of t.$$(`${this.selList} :not([controls]):is(img,video)`,this.$el))t.toggleClass(e,this.clsZoom,(e.naturalHeight||e.videoHeight)-this.$el.offsetHeight>Math.max(0,(e.naturalWidth||e.videoWidth)-this.$el.offsetWidth))},events:["resize"]},methods:{loadItem(e=this.index){const s=this.getItem(e);this.getSlide(s).childElementCount||t.trigger(this.$el,"itemload",[s])},getItem(e=this.index){return this.items[t.getIndex(e,this.slides)]},setItem(e,s){t.trigger(this.$el,"itemloaded",[this,t.html(this.getSlide(e),s)])},getSlide(e){return this.slides[this.items.indexOf(e)]},setError(e){this.setItem(e,'<span uk-icon="icon: bolt; ratio: 2" uk-inverse></span>')},showControls(){clearTimeout(this.controlsTimer),this.controlsTimer=this.delayControls&&setTimeout(this.hideControls,this.delayControls),t.addClass(this.$el,"uk-active","uk-transition-active")},hideControls(){t.removeClass(this.$el,"uk-active","uk-transition-active")}}};function m(e,s){const i=t.fragment(`<${e}>`);return t.attr(i,s),i}async function Me({src:e,type:s,attrs:i,item:n}){if(s!=="image"&&!j(e))return;const o=m("img");return te(o,n.sources),t.attr(o,{src:e,...t.pick(n,["alt","srcset","sizes"]),...i}),await o.decode(),t.parent(o)||o}function Oe({src:e,type:s,attrs:i,item:n,cmp:o}){if(s!=="video"&&!U(e))return;const a=o.videoAutoplay==="inline",r=m("video",{src:e,playsinline:"",controls:a?null:"",loop:a?"":null,muted:a?"":null,poster:o.videoAutoplay?null:n.poster,"uk-video":!!o.videoAutoplay,...i});return new Promise((h,l)=>{t.on(r,"loadedmetadata",()=>h(r)),t.on(r,"error",l)})}function Le({src:e,type:s,attrs:i}){if(!(s!=="iframe"&&!/\.(html|php)($|\?)/i.test(e)))return m("iframe",{src:e,allowfullscreen:"",class:"uk-lightbox-iframe",...i})}function Be({src:e,attrs:s,cmp:i}){const n=e.match(/\/\/(?:.*?youtube(-nocookie)?\..*?(?:[?&]v=|\/shorts\/)|youtu\.be\/)([\w-]{11})[&?]?(.*)?/);if(n)return m("iframe",{src:`https://www.youtube${n[1]||""}.com/embed/${n[2]}${n[3]?`?${n[3]}`:""}`,width:1920,height:1080,...R(i),...s})}async function Fe({src:e,attrs:s,cmp:i}){const n=e.match(/\/\/.*?vimeo\.[a-z]+\/(\d+)[&?]?(.*)?/);if(!n)return;const{height:o,width:a}=await(await fetch(`https://vimeo.com/api/oembed.json?maxwidth=1920&url=${encodeURIComponent(e)}`,{credentials:"omit"})).json();return m("iframe",{src:`https://player.vimeo.com/video/${n[1]}${n[2]?`?${n[2]}`:""}`,width:a,height:o,...R(i),...s})}function R(e){return{allowfullscreen:"",style:"max-width: 100%; box-sizing: border-box;","uk-responsive":"","uk-video":!!e.videoAutoplay}}function He(e,s){const i=e.poster||e.thumb&&(e.type==="image"||j(e.thumb))?m("img",{src:e.poster||e.thumb,alt:""}):e.thumb&&(e.type==="video"||U(e.thumb))?m("video",{src:e.thumb,loop:"",playsinline:"",muted:"","uk-video":s==="inline"}):m("canvas");return e.thumbRatio&&(i.style.aspectRatio=e.thumbRatio),i}function j(e){return e==null?void 0:e.match(/\.(avif|jpe?g|jfif|a?png|gif|svg|webp)($|\?)/i)}function U(e){return e==null?void 0:e.match(/\.(mp4|webm|ogv)($|\?)/i)}const ze=".uk-disabled *, .uk-disabled, [disabled]";var V={install:We,props:{toggle:String},data:{toggle:"a"},computed:{toggles:({toggle:e},s)=>t.$$(e,s)},watch:{toggles(e){this.hide();for(const s of e)t.isTag(s,"a")&&(s.role="button")}},disconnected(){this.hide()},events:{name:"click",delegate:({toggle:e})=>e,handler(e){e.defaultPrevented||(e.preventDefault(),t.matches(e.current,ze)||this.show(e.current))}},methods:{show(e){let s=this.toggles.map(G);if(this.nav==="thumbnav"&&qe.call(this,this.toggles,s),s=t.uniqueBy(s,"source"),t.isElement(e)){const{source:i}=G(e);e=t.findIndex(s,({source:n})=>i===n)}return this.panel=this.panel||this.$create("lightboxPanel",{...this.$props,items:s}),t.on(this.panel.$el,"hidden",()=>this.panel=null),this.panel.show(e)},hide(){var e;return(e=this.panel)==null?void 0:e.hide()}}};function We(e,s){e.lightboxPanel||e.component("lightboxPanel",De),t.assign(s.props,e.component("lightboxPanel").options.props)}function qe(e,s){for(const[i,n]of Object.entries(e)){if(s[i].thumb)continue;const o=[...t.parents(n).reverse(),n].find(r=>this.$el.contains(r)&&(r===n||t.$$(this.toggle,r).length===1));if(!o)continue;const a=t.$("img,video",o);a&&(s[i].thumb=a.currentSrc||a.poster||a.src,s[i].thumbRatio=(a.naturalWidth||a.videoWidth)/(a.naturalHeight||a.videoHeight))}}function G(e){const s={};for(const i of e.getAttributeNames()){const n=i.replace(/^data-/,"");s[n==="href"?"source":n]=e.getAttribute(i)}return s.attrs=b(s.attrs),s}var Re="lightbox";return typeof window<"u"&&window.UIkit&&window.UIkit.component(Re,V),V}));
|