uikit 3.17.12-dev.f1425d280 → 3.18.1-dev.0856bd8a6
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 +31 -0
- package/dist/css/uikit-core-rtl.css +577 -504
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +577 -504
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +600 -527
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +600 -527
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +2 -4
- 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 +96 -60
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +96 -60
- 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 +11 -6
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +8 -3
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +735 -37
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +8 -3
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +792 -129
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +7 -7
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +2 -8
- 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 +299 -273
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +9 -4
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +505 -365
- package/dist/js/uikit.min.js +1 -1
- package/package.json +3 -3
- package/src/images/components/navbar-toggle-icon.svg +1 -1
- package/src/images/icons/arrow-up-right.svg +4 -0
- package/src/images/icons/git-branch.svg +4 -4
- package/src/images/icons/git-fork.svg +4 -4
- package/src/images/icons/link-external.svg +5 -0
- package/src/images/icons/signal.svg +3 -0
- package/src/images/icons/telegram.svg +3 -0
- package/src/images/icons/threads.svg +3 -0
- package/src/images/icons/x.svg +3 -0
- package/src/js/components/countdown.js +1 -3
- package/src/js/components/internal/slider-preload.js +6 -0
- package/src/js/components/lightbox-panel.js +2 -6
- package/src/js/components/parallax.js +1 -20
- package/src/js/components/slider.js +38 -18
- package/src/js/components/slideshow.js +14 -46
- package/src/js/components/sortable.js +7 -6
- package/src/js/components/tooltip.js +1 -7
- package/src/js/core/accordion.js +1 -1
- package/src/js/core/drop.js +3 -5
- package/src/js/core/dropnav.js +24 -20
- package/src/js/core/height-match.js +7 -3
- package/src/js/core/height-placeholder.js +32 -0
- package/src/js/core/icon.js +12 -5
- package/src/js/core/index.js +2 -0
- package/src/js/core/inverse.js +103 -0
- package/src/js/core/modal.js +13 -0
- package/src/js/core/navbar.js +32 -172
- package/src/js/core/responsive.js +2 -29
- package/src/js/core/sticky.js +45 -29
- package/src/js/core/video.js +5 -1
- package/src/js/mixin/modal.js +1 -1
- package/src/js/mixin/parallax.js +19 -0
- package/src/js/mixin/slider-autoplay.js +1 -3
- package/src/js/mixin/slider-drag.js +22 -19
- package/src/js/mixin/slider-nav.js +10 -1
- package/src/js/mixin/slider-parallax.js +138 -0
- package/src/js/mixin/slider-reactive.js +1 -1
- package/src/js/mixin/slider.js +25 -3
- package/src/js/util/animation.js +14 -14
- package/src/js/util/dom.js +2 -2
- package/src/js/util/mouse.js +8 -11
- package/src/js/util/scroll.js +58 -0
- package/src/js/util/selector.js +4 -2
- package/src/js/util/style.js +3 -3
- package/src/js/util/viewport.js +8 -4
- package/src/less/components/align.less +2 -2
- package/src/less/components/animation.less +2 -2
- package/src/less/components/article.less +2 -2
- package/src/less/components/base.less +3 -3
- package/src/less/components/card.less +13 -6
- package/src/less/components/column.less +3 -3
- package/src/less/components/container.less +3 -3
- package/src/less/components/divider.less +2 -2
- package/src/less/components/dropbar.less +1 -1
- package/src/less/components/dropdown.less +1 -1
- package/src/less/components/dropnav.less +1 -1
- package/src/less/components/form.less +1 -1
- package/src/less/components/grid.less +3 -3
- package/src/less/components/height.less +1 -1
- package/src/less/components/icon.less +3 -3
- package/src/less/components/inverse.less +12 -0
- package/src/less/components/link.less +1 -1
- package/src/less/components/modal.less +3 -3
- package/src/less/components/nav.less +66 -0
- package/src/less/components/navbar.less +7 -11
- package/src/less/components/overlay.less +5 -0
- package/src/less/components/position.less +7 -7
- package/src/less/components/section.less +6 -5
- package/src/less/components/sticky.less +1 -1
- package/src/less/components/svg.less +3 -3
- package/src/less/components/tile.less +10 -0
- package/src/less/components/transition.less +9 -9
- package/src/less/components/utility.less +4 -4
- package/src/less/components/width.less +7 -7
- package/src/less/theme/alert.less +1 -1
- package/src/less/theme/align.less +1 -1
- package/src/less/theme/animation.less +1 -1
- package/src/less/theme/article.less +1 -1
- package/src/less/theme/background.less +1 -1
- package/src/less/theme/badge.less +1 -1
- package/src/less/theme/base.less +1 -1
- package/src/less/theme/breadcrumb.less +1 -1
- package/src/less/theme/button.less +1 -1
- package/src/less/theme/card.less +1 -1
- package/src/less/theme/close.less +1 -1
- package/src/less/theme/column.less +1 -1
- package/src/less/theme/comment.less +1 -1
- package/src/less/theme/container.less +1 -1
- package/src/less/theme/description-list.less +1 -1
- package/src/less/theme/divider.less +1 -1
- package/src/less/theme/dotnav.less +1 -1
- package/src/less/theme/drop.less +1 -1
- package/src/less/theme/dropbar.less +1 -1
- package/src/less/theme/dropdown.less +1 -1
- package/src/less/theme/form-range.less +1 -1
- package/src/less/theme/height.less +1 -1
- package/src/less/theme/icon.less +1 -1
- package/src/less/theme/iconnav.less +1 -1
- package/src/less/theme/inverse.less +1 -1
- package/src/less/theme/label.less +1 -1
- package/src/less/theme/leader.less +1 -1
- package/src/less/theme/lightbox.less +1 -1
- package/src/less/theme/margin.less +1 -1
- package/src/less/theme/modal.less +1 -1
- package/src/less/theme/nav.less +1 -1
- package/src/less/theme/navbar.less +3 -3
- package/src/less/theme/notification.less +1 -1
- package/src/less/theme/offcanvas.less +1 -1
- package/src/less/theme/overlay.less +1 -1
- package/src/less/theme/padding.less +1 -1
- package/src/less/theme/pagination.less +1 -1
- package/src/less/theme/position.less +1 -1
- package/src/less/theme/search.less +1 -1
- package/src/less/theme/spinner.less +1 -1
- package/src/less/theme/sticky.less +1 -1
- package/src/less/theme/tab.less +2 -2
- package/src/less/theme/table.less +1 -1
- package/src/less/theme/thumbnav.less +1 -1
- package/src/less/theme/tile.less +1 -1
- package/src/less/theme/tooltip.less +1 -1
- package/src/less/theme/totop.less +1 -1
- package/src/less/theme/transition.less +1 -1
- package/src/less/theme/utility.less +1 -1
- package/src/less/theme/variables.less +1 -1
- package/src/less/theme/width.less +1 -1
- package/src/less/uikit.less +1 -1
- package/src/scss/components/align.scss +2 -2
- package/src/scss/components/animation.scss +2 -2
- package/src/scss/components/base.scss +2 -2
- package/src/scss/components/card.scss +12 -6
- package/src/scss/components/column.scss +3 -3
- package/src/scss/components/container.scss +3 -3
- package/src/scss/components/divider.scss +2 -2
- package/src/scss/components/dropnav.scss +1 -1
- package/src/scss/components/form.scss +1 -1
- package/src/scss/components/grid.scss +3 -3
- package/src/scss/components/height.scss +1 -1
- package/src/scss/components/icon.scss +3 -3
- package/src/scss/components/inverse.scss +12 -0
- package/src/scss/components/modal.scss +3 -3
- package/src/scss/components/nav.scss +63 -0
- package/src/scss/components/navbar.scss +5 -8
- package/src/scss/components/overlay.scss +4 -0
- package/src/scss/components/position.scss +7 -7
- package/src/scss/components/section.scss +6 -5
- package/src/scss/components/sticky.scss +1 -1
- package/src/scss/components/svg.scss +3 -3
- package/src/scss/components/tile.scss +8 -0
- package/src/scss/components/transition.scss +9 -9
- package/src/scss/components/utility.scss +4 -4
- package/src/scss/components/width.scss +7 -7
- package/src/scss/mixins-theme.scss +10 -7
- package/src/scss/mixins.scss +7 -4
- package/src/scss/theme/alert.scss +1 -0
- package/src/scss/theme/align.scss +1 -1
- package/src/scss/theme/animation.scss +1 -1
- package/src/scss/theme/article.scss +1 -1
- package/src/scss/theme/background.scss +1 -1
- package/src/scss/theme/badge.scss +1 -1
- package/src/scss/theme/base.scss +1 -1
- package/src/scss/theme/breadcrumb.scss +1 -1
- package/src/scss/theme/button.scss +1 -1
- package/src/scss/theme/card.scss +1 -0
- package/src/scss/theme/close.scss +1 -1
- package/src/scss/theme/column.scss +1 -1
- package/src/scss/theme/comment.scss +1 -1
- package/src/scss/theme/container.scss +1 -1
- package/src/scss/theme/description-list.scss +1 -1
- package/src/scss/theme/divider.scss +1 -1
- package/src/scss/theme/dotnav.scss +1 -0
- package/src/scss/theme/drop.scss +1 -1
- package/src/scss/theme/dropbar.scss +1 -1
- package/src/scss/theme/dropdown.scss +1 -1
- package/src/scss/theme/form-range.scss +1 -1
- package/src/scss/theme/height.scss +1 -1
- package/src/scss/theme/icon.scss +1 -1
- package/src/scss/theme/iconnav.scss +1 -1
- package/src/scss/theme/inverse.scss +1 -1
- package/src/scss/theme/label.scss +1 -1
- package/src/scss/theme/leader.scss +1 -1
- package/src/scss/theme/lightbox.scss +1 -1
- package/src/scss/theme/margin.scss +1 -1
- package/src/scss/theme/modal.scss +1 -0
- package/src/scss/theme/nav.scss +1 -1
- package/src/scss/theme/navbar.scss +1 -1
- package/src/scss/theme/notification.scss +1 -1
- package/src/scss/theme/offcanvas.scss +1 -1
- package/src/scss/theme/overlay.scss +1 -1
- package/src/scss/theme/padding.scss +1 -1
- package/src/scss/theme/pagination.scss +1 -1
- package/src/scss/theme/position.scss +1 -1
- package/src/scss/theme/search.scss +1 -1
- package/src/scss/theme/spinner.scss +1 -1
- package/src/scss/theme/sticky.scss +1 -1
- package/src/scss/theme/tab.scss +1 -1
- package/src/scss/theme/table.scss +1 -0
- package/src/scss/theme/thumbnav.scss +1 -1
- package/src/scss/theme/tile.scss +1 -1
- package/src/scss/theme/tooltip.scss +1 -1
- package/src/scss/theme/totop.scss +1 -1
- package/src/scss/theme/transition.scss +1 -1
- package/src/scss/theme/utility.scss +1 -1
- package/src/scss/theme/variables.scss +1 -1
- package/src/scss/theme/width.scss +1 -1
- package/src/scss/uikit.scss +1 -1
- package/src/scss/variables-theme.scss +20 -5
- package/src/scss/variables.scss +20 -5
- package/tests/height.html +58 -1
- package/tests/icon.html +38 -10
- package/tests/nav.html +42 -0
- package/tests/navbar.html +1 -1
- package/tests/offcanvas.html +8 -8
- package/tests/search.html +300 -202
- package/tests/slider.html +58 -0
- package/tests/slideshow.html +66 -0
- package/tests/sticky-navbar.html +381 -23
- package/src/images/icons/pagekit.svg +0 -3
- package/src/js/mixin/internal/scroll.js +0 -39
package/dist/js/uikit.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.
|
|
1
|
+
/*! UIkit 3.18.1-dev.0856bd8a6 | https://www.getuikit.com | (c) 2014 - 2024 YOOtheme | MIT License */
|
|
2
2
|
|
|
3
3
|
(function (global, factory) {
|
|
4
4
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -245,7 +245,7 @@
|
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
247
|
}
|
|
248
|
-
function removeClasses
|
|
248
|
+
function removeClasses(element, clsRegex) {
|
|
249
249
|
clsRegex = new RegExp(clsRegex);
|
|
250
250
|
for (const node of toNodes(element)) {
|
|
251
251
|
node.classList.remove(...toArray(node.classList).filter((cls) => cls.match(clsRegex)));
|
|
@@ -402,7 +402,9 @@
|
|
|
402
402
|
selector += `${selector ? "," : ""}${domPath(ctx)} ${sel}`;
|
|
403
403
|
}
|
|
404
404
|
}
|
|
405
|
-
context
|
|
405
|
+
if (!isDocument(context)) {
|
|
406
|
+
context = context.ownerDocument;
|
|
407
|
+
}
|
|
406
408
|
}
|
|
407
409
|
try {
|
|
408
410
|
return context[queryFn](selector);
|
|
@@ -410,7 +412,7 @@
|
|
|
410
412
|
return null;
|
|
411
413
|
}
|
|
412
414
|
}
|
|
413
|
-
const selectorRe = /.*?[^\\](?:,|$)/g;
|
|
415
|
+
const selectorRe = /.*?[^\\](?![^(]*\))(?:,|$)/g;
|
|
414
416
|
const splitSelector = memoize(
|
|
415
417
|
(selector) => selector.match(selectorRe).map((selector2) => selector2.replace(/,$/, "").trim())
|
|
416
418
|
);
|
|
@@ -576,8 +578,9 @@
|
|
|
576
578
|
}
|
|
577
579
|
return props;
|
|
578
580
|
} else if (isObject(property)) {
|
|
579
|
-
|
|
580
|
-
|
|
581
|
+
for (const prop in property) {
|
|
582
|
+
css(element2, prop, property[prop], value);
|
|
583
|
+
}
|
|
581
584
|
}
|
|
582
585
|
}
|
|
583
586
|
return elements[0];
|
|
@@ -601,8 +604,8 @@
|
|
|
601
604
|
}
|
|
602
605
|
|
|
603
606
|
const clsTransition = "uk-transition";
|
|
604
|
-
const
|
|
605
|
-
const
|
|
607
|
+
const transitionEnd = "transitionend";
|
|
608
|
+
const transitionCanceled = "transitioncanceled";
|
|
606
609
|
function transition$1(element, props, duration = 400, timing = "linear") {
|
|
607
610
|
duration = Math.round(duration);
|
|
608
611
|
return Promise.all(
|
|
@@ -614,10 +617,10 @@
|
|
|
614
617
|
css(element2, name, value);
|
|
615
618
|
}
|
|
616
619
|
}
|
|
617
|
-
const timer = setTimeout(() => trigger(element2,
|
|
620
|
+
const timer = setTimeout(() => trigger(element2, transitionEnd), duration);
|
|
618
621
|
once(
|
|
619
622
|
element2,
|
|
620
|
-
[
|
|
623
|
+
[transitionEnd, transitionCanceled],
|
|
621
624
|
({ type }) => {
|
|
622
625
|
clearTimeout(timer);
|
|
623
626
|
removeClass(element2, clsTransition);
|
|
@@ -626,7 +629,7 @@
|
|
|
626
629
|
transitionDuration: "",
|
|
627
630
|
transitionTimingFunction: ""
|
|
628
631
|
});
|
|
629
|
-
type ===
|
|
632
|
+
type === transitionCanceled ? reject() : resolve(element2);
|
|
630
633
|
},
|
|
631
634
|
{ self: true }
|
|
632
635
|
);
|
|
@@ -644,11 +647,11 @@
|
|
|
644
647
|
const Transition = {
|
|
645
648
|
start: transition$1,
|
|
646
649
|
async stop(element) {
|
|
647
|
-
trigger(element,
|
|
650
|
+
trigger(element, transitionEnd);
|
|
648
651
|
await Promise.resolve();
|
|
649
652
|
},
|
|
650
653
|
async cancel(element) {
|
|
651
|
-
trigger(element,
|
|
654
|
+
trigger(element, transitionCanceled);
|
|
652
655
|
await Promise.resolve();
|
|
653
656
|
},
|
|
654
657
|
inProgress(element) {
|
|
@@ -656,22 +659,22 @@
|
|
|
656
659
|
}
|
|
657
660
|
};
|
|
658
661
|
const animationPrefix = "uk-animation-";
|
|
659
|
-
const
|
|
660
|
-
const
|
|
662
|
+
const animationEnd = "animationend";
|
|
663
|
+
const animationCanceled = "animationcanceled";
|
|
661
664
|
function animate$2(element, animation, duration = 200, origin, out) {
|
|
662
665
|
return Promise.all(
|
|
663
666
|
toNodes(element).map(
|
|
664
667
|
(element2) => new Promise((resolve, reject) => {
|
|
665
|
-
trigger(element2,
|
|
666
|
-
const timer = setTimeout(() => trigger(element2,
|
|
668
|
+
trigger(element2, animationCanceled);
|
|
669
|
+
const timer = setTimeout(() => trigger(element2, animationEnd), duration);
|
|
667
670
|
once(
|
|
668
671
|
element2,
|
|
669
|
-
[
|
|
672
|
+
[animationEnd, animationCanceled],
|
|
670
673
|
({ type }) => {
|
|
671
674
|
clearTimeout(timer);
|
|
672
|
-
type ===
|
|
675
|
+
type === animationCanceled ? reject() : resolve(element2);
|
|
673
676
|
css(element2, "animationDuration", "");
|
|
674
|
-
removeClasses
|
|
677
|
+
removeClasses(element2, `${animationPrefix}\\S*`);
|
|
675
678
|
},
|
|
676
679
|
{ self: true }
|
|
677
680
|
);
|
|
@@ -695,7 +698,7 @@
|
|
|
695
698
|
return inProgressRe.test(attr(element, "class"));
|
|
696
699
|
},
|
|
697
700
|
cancel(element) {
|
|
698
|
-
trigger(element,
|
|
701
|
+
trigger(element, animationCanceled);
|
|
699
702
|
}
|
|
700
703
|
};
|
|
701
704
|
|
|
@@ -737,8 +740,8 @@
|
|
|
737
740
|
}
|
|
738
741
|
function wrapAll(element, structure) {
|
|
739
742
|
structure = toNode(before(element, structure));
|
|
740
|
-
while (structure.
|
|
741
|
-
structure = structure.
|
|
743
|
+
while (structure.firstElementChild) {
|
|
744
|
+
structure = structure.firstElementChild;
|
|
742
745
|
}
|
|
743
746
|
append(structure, element);
|
|
744
747
|
return structure;
|
|
@@ -1005,10 +1008,7 @@
|
|
|
1005
1008
|
return ~index && array.splice(index, 1);
|
|
1006
1009
|
}
|
|
1007
1010
|
|
|
1008
|
-
|
|
1009
|
-
}
|
|
1010
|
-
MouseTracker.prototype = {
|
|
1011
|
-
positions: [],
|
|
1011
|
+
class MouseTracker {
|
|
1012
1012
|
init() {
|
|
1013
1013
|
this.positions = [];
|
|
1014
1014
|
let position;
|
|
@@ -1022,17 +1022,17 @@
|
|
|
1022
1022
|
this.positions.shift();
|
|
1023
1023
|
}
|
|
1024
1024
|
}, 50);
|
|
1025
|
-
}
|
|
1025
|
+
}
|
|
1026
1026
|
cancel() {
|
|
1027
1027
|
var _a;
|
|
1028
1028
|
(_a = this.unbind) == null ? void 0 : _a.call(this);
|
|
1029
1029
|
clearInterval(this.interval);
|
|
1030
|
-
}
|
|
1030
|
+
}
|
|
1031
1031
|
movesTo(target) {
|
|
1032
|
-
if (this.positions.length < 2) {
|
|
1032
|
+
if (!this.positions || this.positions.length < 2) {
|
|
1033
1033
|
return false;
|
|
1034
1034
|
}
|
|
1035
|
-
const p = target
|
|
1035
|
+
const p = dimensions$1(target);
|
|
1036
1036
|
const { left, right, top, bottom } = p;
|
|
1037
1037
|
const [prevPosition] = this.positions;
|
|
1038
1038
|
const position = last(this.positions);
|
|
@@ -1055,7 +1055,7 @@
|
|
|
1055
1055
|
return intersection && pointInRect(intersection, p);
|
|
1056
1056
|
});
|
|
1057
1057
|
}
|
|
1058
|
-
}
|
|
1058
|
+
}
|
|
1059
1059
|
function intersect([{ x: x1, y: y1 }, { x: x2, y: y2 }], [{ x: x3, y: y3 }, { x: x4, y: y4 }]) {
|
|
1060
1060
|
const denominator = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);
|
|
1061
1061
|
if (denominator === 0) {
|
|
@@ -1268,7 +1268,7 @@
|
|
|
1268
1268
|
const elementOffsetTop = offsetPosition(element)[0] - offsetPosition(scrollElement)[0];
|
|
1269
1269
|
const start = Math.max(0, elementOffsetTop - viewportHeight + startOffset);
|
|
1270
1270
|
const end = Math.min(maxScroll, elementOffsetTop + element.offsetHeight - endOffset);
|
|
1271
|
-
return clamp((scrollTop - start) / (end - start));
|
|
1271
|
+
return start < end ? clamp((scrollTop - start) / (end - start)) : 1;
|
|
1272
1272
|
}
|
|
1273
1273
|
function scrollParents(element, scrollable = false, props = []) {
|
|
1274
1274
|
const scrollEl = scrollingElement(element);
|
|
@@ -1308,7 +1308,7 @@
|
|
|
1308
1308
|
["height", "y", "top", "bottom"]
|
|
1309
1309
|
]) {
|
|
1310
1310
|
if (isWindow(viewportElement)) {
|
|
1311
|
-
viewportElement =
|
|
1311
|
+
viewportElement = scrollElement.ownerDocument;
|
|
1312
1312
|
} else {
|
|
1313
1313
|
rect[start] += toFloat(css(viewportElement, `border-${start}-width`));
|
|
1314
1314
|
}
|
|
@@ -1319,8 +1319,10 @@
|
|
|
1319
1319
|
return rect;
|
|
1320
1320
|
}
|
|
1321
1321
|
function getCoveringElement(target) {
|
|
1322
|
-
|
|
1323
|
-
|
|
1322
|
+
const { left, width, top } = dimensions$1(target);
|
|
1323
|
+
return target.ownerDocument.elementsFromPoint(left + width / 2, top).find(
|
|
1324
|
+
(el) => !el.contains(target) && // If e.g. Offcanvas is not yet closed
|
|
1325
|
+
!hasClass(el, "uk-togglable-leave") && (hasPosition(el, "fixed") && zIndex(
|
|
1324
1326
|
parents(target).reverse().find((parent2) => !parent2.contains(el) && !hasPosition(parent2, "static"))
|
|
1325
1327
|
) < zIndex(el) || hasPosition(el, "sticky") && parent(el).contains(target))
|
|
1326
1328
|
);
|
|
@@ -1628,7 +1630,7 @@
|
|
|
1628
1630
|
remove: remove$1,
|
|
1629
1631
|
removeAttr: removeAttr,
|
|
1630
1632
|
removeClass: removeClass,
|
|
1631
|
-
removeClasses: removeClasses
|
|
1633
|
+
removeClasses: removeClasses,
|
|
1632
1634
|
replaceClass: replaceClass,
|
|
1633
1635
|
scrollIntoView: scrollIntoView,
|
|
1634
1636
|
scrollParent: scrollParent,
|
|
@@ -1690,9 +1692,7 @@
|
|
|
1690
1692
|
},
|
|
1691
1693
|
events: {
|
|
1692
1694
|
name: "visibilitychange",
|
|
1693
|
-
el()
|
|
1694
|
-
return document;
|
|
1695
|
-
},
|
|
1695
|
+
el: () => document,
|
|
1696
1696
|
handler() {
|
|
1697
1697
|
if (document.hidden) {
|
|
1698
1698
|
this.stop();
|
|
@@ -2435,36 +2435,36 @@
|
|
|
2435
2435
|
return $("a,button", el) || el;
|
|
2436
2436
|
}
|
|
2437
2437
|
|
|
2438
|
-
var Container = {
|
|
2439
|
-
props: {
|
|
2440
|
-
container: Boolean
|
|
2441
|
-
},
|
|
2442
|
-
data: {
|
|
2443
|
-
container: true
|
|
2444
|
-
},
|
|
2445
|
-
computed: {
|
|
2446
|
-
container({ container }) {
|
|
2447
|
-
return container === true && this.$container || container && $(container);
|
|
2448
|
-
}
|
|
2449
|
-
}
|
|
2450
|
-
};
|
|
2451
|
-
|
|
2452
2438
|
let prevented;
|
|
2453
2439
|
function preventBackgroundScroll(el) {
|
|
2454
|
-
const off = on(
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2440
|
+
const off = on(el, "touchstart", (e) => {
|
|
2441
|
+
if (e.targetTouches.length !== 1 || matches(e.target, 'input[type="range"')) {
|
|
2442
|
+
return;
|
|
2443
|
+
}
|
|
2444
|
+
let prev = getEventPos(e).y;
|
|
2445
|
+
const offMove = on(
|
|
2446
|
+
el,
|
|
2447
|
+
"touchmove",
|
|
2448
|
+
(e2) => {
|
|
2449
|
+
const pos = getEventPos(e2).y;
|
|
2450
|
+
if (pos === prev) {
|
|
2451
|
+
return;
|
|
2452
|
+
}
|
|
2453
|
+
prev = pos;
|
|
2454
|
+
if (!scrollParents(e2.target).some((scrollParent) => {
|
|
2455
|
+
if (!el.contains(scrollParent)) {
|
|
2456
|
+
return false;
|
|
2457
|
+
}
|
|
2458
|
+
let { scrollHeight, clientHeight } = scrollParent;
|
|
2459
|
+
return clientHeight < scrollHeight;
|
|
2460
|
+
})) {
|
|
2461
|
+
e2.preventDefault();
|
|
2462
|
+
}
|
|
2463
|
+
},
|
|
2464
|
+
{ passive: false }
|
|
2465
|
+
);
|
|
2466
|
+
once(el, "scroll touchend touchcanel", offMove, { capture: true });
|
|
2467
|
+
});
|
|
2468
2468
|
if (prevented) {
|
|
2469
2469
|
return off;
|
|
2470
2470
|
}
|
|
@@ -2482,6 +2482,20 @@
|
|
|
2482
2482
|
};
|
|
2483
2483
|
}
|
|
2484
2484
|
|
|
2485
|
+
var Container = {
|
|
2486
|
+
props: {
|
|
2487
|
+
container: Boolean
|
|
2488
|
+
},
|
|
2489
|
+
data: {
|
|
2490
|
+
container: true
|
|
2491
|
+
},
|
|
2492
|
+
computed: {
|
|
2493
|
+
container({ container }) {
|
|
2494
|
+
return container === true && this.$container || container && $(container);
|
|
2495
|
+
}
|
|
2496
|
+
}
|
|
2497
|
+
};
|
|
2498
|
+
|
|
2485
2499
|
var Togglable = {
|
|
2486
2500
|
props: {
|
|
2487
2501
|
cls: Boolean,
|
|
@@ -2999,9 +3013,7 @@
|
|
|
2999
3013
|
events: [
|
|
3000
3014
|
{
|
|
3001
3015
|
name: "visibilitychange",
|
|
3002
|
-
el()
|
|
3003
|
-
return document;
|
|
3004
|
-
},
|
|
3016
|
+
el: () => document,
|
|
3005
3017
|
filter() {
|
|
3006
3018
|
return this.autoplay;
|
|
3007
3019
|
},
|
|
@@ -3034,6 +3046,7 @@
|
|
|
3034
3046
|
const pointerDown = "touchstart mousedown";
|
|
3035
3047
|
const pointerMove = "touchmove mousemove";
|
|
3036
3048
|
const pointerUp = "touchend touchcancel mouseup click input scroll";
|
|
3049
|
+
const preventClick = (e) => e.preventDefault();
|
|
3037
3050
|
var SliderDrag = {
|
|
3038
3051
|
props: {
|
|
3039
3052
|
draggable: Boolean
|
|
@@ -3061,7 +3074,7 @@
|
|
|
3061
3074
|
return `${this.selList} > *`;
|
|
3062
3075
|
},
|
|
3063
3076
|
handler(e) {
|
|
3064
|
-
if (!this.draggable || !isTouch(e) && hasSelectableText(e.target) || e.target.closest(selInput) || e.button > 0 || this.length < 2) {
|
|
3077
|
+
if (!this.draggable || this.parallax || !isTouch(e) && hasSelectableText(e.target) || e.target.closest(selInput) || e.button > 0 || this.length < 2) {
|
|
3065
3078
|
return;
|
|
3066
3079
|
}
|
|
3067
3080
|
this.start(e);
|
|
@@ -3105,20 +3118,22 @@
|
|
|
3105
3118
|
if (distance === 0 || this.prevPos === this.pos || !this.dragging && Math.abs(distance) < this.threshold) {
|
|
3106
3119
|
return;
|
|
3107
3120
|
}
|
|
3108
|
-
|
|
3121
|
+
if (!this.dragging) {
|
|
3122
|
+
on(this.list, "click", preventClick, pointerOptions);
|
|
3123
|
+
}
|
|
3109
3124
|
e.cancelable && e.preventDefault();
|
|
3110
3125
|
this.dragging = true;
|
|
3111
3126
|
this.dir = distance < 0 ? 1 : -1;
|
|
3112
3127
|
let { slides, prevIndex } = this;
|
|
3113
3128
|
let dis = Math.abs(distance);
|
|
3114
3129
|
let nextIndex = this.getIndex(prevIndex + this.dir);
|
|
3115
|
-
let width =
|
|
3130
|
+
let width = getDistance.call(this, prevIndex, nextIndex);
|
|
3116
3131
|
while (nextIndex !== prevIndex && dis > width) {
|
|
3117
3132
|
this.drag -= width * this.dir;
|
|
3118
3133
|
prevIndex = nextIndex;
|
|
3119
3134
|
dis -= width;
|
|
3120
3135
|
nextIndex = this.getIndex(prevIndex + this.dir);
|
|
3121
|
-
width =
|
|
3136
|
+
width = getDistance.call(this, prevIndex, nextIndex);
|
|
3122
3137
|
}
|
|
3123
3138
|
this.percent = dis / width;
|
|
3124
3139
|
const prev = slides[prevIndex];
|
|
@@ -3141,14 +3156,14 @@
|
|
|
3141
3156
|
if (changed) {
|
|
3142
3157
|
this.prevIndex = prevIndex;
|
|
3143
3158
|
this.index = nextIndex;
|
|
3144
|
-
!edge
|
|
3159
|
+
if (!edge) {
|
|
3160
|
+
trigger(prev, "beforeitemhide", [this]);
|
|
3161
|
+
trigger(prev, "itemhide", [this]);
|
|
3162
|
+
}
|
|
3145
3163
|
trigger(next, "beforeitemshow", [this]);
|
|
3146
|
-
}
|
|
3147
|
-
this._transitioner = this._translate(Math.abs(this.percent), prev, !edge && next);
|
|
3148
|
-
if (changed) {
|
|
3149
|
-
!edge && trigger(prev, "itemhide", [this]);
|
|
3150
3164
|
trigger(next, "itemshow", [this]);
|
|
3151
3165
|
}
|
|
3166
|
+
this._transitioner = this._translate(Math.abs(this.percent), prev, !edge && next);
|
|
3152
3167
|
},
|
|
3153
3168
|
end() {
|
|
3154
3169
|
off(document, pointerMove, this.move, pointerOptions);
|
|
@@ -3172,14 +3187,15 @@
|
|
|
3172
3187
|
);
|
|
3173
3188
|
}
|
|
3174
3189
|
}
|
|
3175
|
-
|
|
3190
|
+
setTimeout(() => off(this.list, "click", preventClick, pointerOptions));
|
|
3191
|
+
css(this.list, { userSelect: "" });
|
|
3176
3192
|
this.drag = this.percent = null;
|
|
3177
|
-
},
|
|
3178
|
-
_getDistance(prev, next) {
|
|
3179
|
-
return this._getTransitioner(prev, prev !== next && next).getDistance() || this.slides[prev].offsetWidth;
|
|
3180
3193
|
}
|
|
3181
3194
|
}
|
|
3182
3195
|
};
|
|
3196
|
+
function getDistance(prev, next) {
|
|
3197
|
+
return this._getTransitioner(prev, prev !== next && next).getDistance() || this.slides[prev].offsetWidth;
|
|
3198
|
+
}
|
|
3183
3199
|
function hasSelectableText(el) {
|
|
3184
3200
|
return css(el, "userSelect") !== "none" && toArray(el.childNodes).some((el2) => el2.nodeType === 3 && el2.textContent.trim());
|
|
3185
3201
|
}
|
|
@@ -3514,7 +3530,7 @@
|
|
|
3514
3530
|
};
|
|
3515
3531
|
App.util = util;
|
|
3516
3532
|
App.options = {};
|
|
3517
|
-
App.version = "3.
|
|
3533
|
+
App.version = "3.18.1-dev.0856bd8a6";
|
|
3518
3534
|
|
|
3519
3535
|
const PREFIX = "uk-";
|
|
3520
3536
|
const DATA = "__uikit__";
|
|
@@ -3782,6 +3798,9 @@
|
|
|
3782
3798
|
delegate() {
|
|
3783
3799
|
return this.selNavItem;
|
|
3784
3800
|
},
|
|
3801
|
+
filter() {
|
|
3802
|
+
return !this.parallax;
|
|
3803
|
+
},
|
|
3785
3804
|
handler(e) {
|
|
3786
3805
|
if (e.target.closest("a,button") && (e.type === "click" || e.keyCode === keyMap.SPACE)) {
|
|
3787
3806
|
e.preventDefault();
|
|
@@ -3798,6 +3817,9 @@
|
|
|
3798
3817
|
delegate() {
|
|
3799
3818
|
return this.selNavItem;
|
|
3800
3819
|
},
|
|
3820
|
+
filter() {
|
|
3821
|
+
return !this.parallax;
|
|
3822
|
+
},
|
|
3801
3823
|
handler(e) {
|
|
3802
3824
|
const { current, keyCode } = e;
|
|
3803
3825
|
const cmd = data(current, this.attrItem);
|
|
@@ -3822,9 +3844,10 @@
|
|
|
3822
3844
|
const item = toNumber(cmd);
|
|
3823
3845
|
const active = item === index;
|
|
3824
3846
|
toggleClass(el, this.clsActive, active);
|
|
3847
|
+
toggleClass(button, "uk-disabled", this.parallax);
|
|
3825
3848
|
attr(button, {
|
|
3826
3849
|
"aria-selected": active,
|
|
3827
|
-
tabindex: active ? null : -1
|
|
3850
|
+
tabindex: active && !this.parallax ? null : -1
|
|
3828
3851
|
});
|
|
3829
3852
|
if (active && button && matches(parent(el), ":focus-within")) {
|
|
3830
3853
|
button.focus();
|
|
@@ -3844,7 +3867,7 @@
|
|
|
3844
3867
|
var Slider = {
|
|
3845
3868
|
mixins: [SliderAutoplay, SliderDrag, SliderNav, I18n],
|
|
3846
3869
|
props: {
|
|
3847
|
-
clsActivated:
|
|
3870
|
+
clsActivated: String,
|
|
3848
3871
|
easing: String,
|
|
3849
3872
|
index: Number,
|
|
3850
3873
|
finite: Boolean,
|
|
@@ -3859,7 +3882,10 @@
|
|
|
3859
3882
|
stack: [],
|
|
3860
3883
|
percent: 0,
|
|
3861
3884
|
clsActive: "uk-active",
|
|
3862
|
-
clsActivated:
|
|
3885
|
+
clsActivated: "",
|
|
3886
|
+
clsEnter: "uk-slide-enter",
|
|
3887
|
+
clsLeave: "uk-slide-leave",
|
|
3888
|
+
clsSlideActive: "uk-slide-active",
|
|
3863
3889
|
Transitioner: false,
|
|
3864
3890
|
transitionOptions: {}
|
|
3865
3891
|
}),
|
|
@@ -3892,10 +3918,24 @@
|
|
|
3892
3918
|
}
|
|
3893
3919
|
},
|
|
3894
3920
|
observe: resize(),
|
|
3921
|
+
events: {
|
|
3922
|
+
itemshow({ target }) {
|
|
3923
|
+
addClass(target, this.clsEnter, this.clsSlideActive);
|
|
3924
|
+
},
|
|
3925
|
+
itemshown({ target }) {
|
|
3926
|
+
removeClass(target, this.clsEnter);
|
|
3927
|
+
},
|
|
3928
|
+
itemhide({ target }) {
|
|
3929
|
+
addClass(target, this.clsLeave);
|
|
3930
|
+
},
|
|
3931
|
+
itemhidden({ target }) {
|
|
3932
|
+
removeClass(target, this.clsLeave, this.clsSlideActive);
|
|
3933
|
+
}
|
|
3934
|
+
},
|
|
3895
3935
|
methods: {
|
|
3896
3936
|
show(index, force = false) {
|
|
3897
3937
|
var _a;
|
|
3898
|
-
if (this.dragging || !this.length) {
|
|
3938
|
+
if (this.dragging || !this.length || this.parallax) {
|
|
3899
3939
|
return;
|
|
3900
3940
|
}
|
|
3901
3941
|
const { stack } = this;
|
|
@@ -4110,9 +4150,7 @@
|
|
|
4110
4150
|
{
|
|
4111
4151
|
name: "shown",
|
|
4112
4152
|
self: true,
|
|
4113
|
-
handler
|
|
4114
|
-
this.showControls();
|
|
4115
|
-
}
|
|
4153
|
+
handler: "showControls"
|
|
4116
4154
|
},
|
|
4117
4155
|
{
|
|
4118
4156
|
name: "hide",
|
|
@@ -4132,9 +4170,7 @@
|
|
|
4132
4170
|
},
|
|
4133
4171
|
{
|
|
4134
4172
|
name: "keyup",
|
|
4135
|
-
el()
|
|
4136
|
-
return document;
|
|
4137
|
-
},
|
|
4173
|
+
el: () => document,
|
|
4138
4174
|
handler({ keyCode }) {
|
|
4139
4175
|
if (!this.isToggled(this.$el) || !this.draggable) {
|
|
4140
4176
|
return;
|
|
@@ -4803,6 +4839,9 @@
|
|
|
4803
4839
|
return data;
|
|
4804
4840
|
}, {});
|
|
4805
4841
|
}
|
|
4842
|
+
function ease(percent, easing) {
|
|
4843
|
+
return easing >= 0 ? Math.pow(percent, easing + 1) : 1 - Math.pow(1 - percent, 1 - easing);
|
|
4844
|
+
}
|
|
4806
4845
|
|
|
4807
4846
|
var parallax = {
|
|
4808
4847
|
mixins: [Parallax],
|
|
@@ -4868,17 +4907,122 @@
|
|
|
4868
4907
|
events: ["scroll", "resize"]
|
|
4869
4908
|
}
|
|
4870
4909
|
};
|
|
4871
|
-
function ease(percent, easing) {
|
|
4872
|
-
return easing >= 0 ? Math.pow(percent, easing + 1) : 1 - Math.pow(1 - percent, 1 - easing);
|
|
4873
|
-
}
|
|
4874
4910
|
function getOffsetElement(el) {
|
|
4875
4911
|
return el ? "offsetTop" in el ? el : getOffsetElement(parent(el)) : document.documentElement;
|
|
4876
4912
|
}
|
|
4877
4913
|
|
|
4914
|
+
var SliderParallax = {
|
|
4915
|
+
props: {
|
|
4916
|
+
parallax: Boolean,
|
|
4917
|
+
parallaxTarget: Boolean,
|
|
4918
|
+
parallaxStart: String,
|
|
4919
|
+
parallaxEnd: String,
|
|
4920
|
+
parallaxEasing: Number
|
|
4921
|
+
},
|
|
4922
|
+
data: {
|
|
4923
|
+
parallax: false,
|
|
4924
|
+
parallaxTarget: false,
|
|
4925
|
+
parallaxStart: 0,
|
|
4926
|
+
parallaxEnd: 0,
|
|
4927
|
+
parallaxEasing: 0
|
|
4928
|
+
},
|
|
4929
|
+
observe: [
|
|
4930
|
+
resize({
|
|
4931
|
+
target: ({ $el, parallaxTarget }) => [$el, parallaxTarget],
|
|
4932
|
+
filter: ({ parallax }) => parallax
|
|
4933
|
+
}),
|
|
4934
|
+
scroll$1({ filter: ({ parallax }) => parallax })
|
|
4935
|
+
],
|
|
4936
|
+
computed: {
|
|
4937
|
+
parallaxTarget({ parallaxTarget }, $el) {
|
|
4938
|
+
return parallaxTarget && query(parallaxTarget, $el) || this.list;
|
|
4939
|
+
}
|
|
4940
|
+
},
|
|
4941
|
+
update: {
|
|
4942
|
+
write() {
|
|
4943
|
+
if (!this.parallax) {
|
|
4944
|
+
return;
|
|
4945
|
+
}
|
|
4946
|
+
const target = this.parallaxTarget;
|
|
4947
|
+
const start = toPx(this.parallaxStart, "height", target, true);
|
|
4948
|
+
const end = toPx(this.parallaxEnd, "height", target, true);
|
|
4949
|
+
const percent = ease(scrolledOver(target, start, end), this.parallaxEasing);
|
|
4950
|
+
const [prevIndex, slidePercent] = this.getIndexAt(percent);
|
|
4951
|
+
const nextIndex = this.getValidIndex(prevIndex + Math.ceil(slidePercent));
|
|
4952
|
+
const prev = this.slides[prevIndex];
|
|
4953
|
+
const next = this.slides[nextIndex];
|
|
4954
|
+
const { triggerShow, triggerShown, triggerHide, triggerHidden } = useTriggers(this);
|
|
4955
|
+
if (~this.prevIndex) {
|
|
4956
|
+
for (const i of /* @__PURE__ */ new Set([this.index, this.prevIndex])) {
|
|
4957
|
+
if (!includes([nextIndex, prevIndex], i)) {
|
|
4958
|
+
triggerHide(this.slides[i]);
|
|
4959
|
+
triggerHidden(this.slides[i]);
|
|
4960
|
+
}
|
|
4961
|
+
}
|
|
4962
|
+
}
|
|
4963
|
+
const changed = this.prevIndex !== prevIndex || this.index !== nextIndex;
|
|
4964
|
+
this.dir = 1;
|
|
4965
|
+
this.prevIndex = prevIndex;
|
|
4966
|
+
this.index = nextIndex;
|
|
4967
|
+
if (prev !== next) {
|
|
4968
|
+
triggerHide(prev);
|
|
4969
|
+
}
|
|
4970
|
+
triggerShow(next);
|
|
4971
|
+
if (changed) {
|
|
4972
|
+
triggerShown(prev);
|
|
4973
|
+
}
|
|
4974
|
+
this._translate(prev === next ? 1 : slidePercent, prev, next);
|
|
4975
|
+
},
|
|
4976
|
+
events: ["scroll", "resize"]
|
|
4977
|
+
},
|
|
4978
|
+
methods: {
|
|
4979
|
+
getIndexAt(percent) {
|
|
4980
|
+
const index = percent * (this.length - 1);
|
|
4981
|
+
return [Math.floor(index), index % 1];
|
|
4982
|
+
}
|
|
4983
|
+
}
|
|
4984
|
+
};
|
|
4985
|
+
function useTriggers(cmp) {
|
|
4986
|
+
const { clsSlideActive, clsEnter, clsLeave } = cmp;
|
|
4987
|
+
return { triggerShow, triggerShown, triggerHide, triggerHidden };
|
|
4988
|
+
function triggerShow(el) {
|
|
4989
|
+
if (hasClass(el, clsLeave)) {
|
|
4990
|
+
triggerHide(el);
|
|
4991
|
+
triggerHidden(el);
|
|
4992
|
+
}
|
|
4993
|
+
if (!hasClass(el, clsSlideActive)) {
|
|
4994
|
+
trigger(el, "beforeitemshow", [cmp]);
|
|
4995
|
+
trigger(el, "itemshow", [cmp]);
|
|
4996
|
+
}
|
|
4997
|
+
}
|
|
4998
|
+
function triggerShown(el) {
|
|
4999
|
+
if (hasClass(el, clsEnter)) {
|
|
5000
|
+
trigger(el, "itemshown", [cmp]);
|
|
5001
|
+
}
|
|
5002
|
+
}
|
|
5003
|
+
function triggerHide(el) {
|
|
5004
|
+
if (!hasClass(el, clsSlideActive)) {
|
|
5005
|
+
triggerShow(el);
|
|
5006
|
+
}
|
|
5007
|
+
if (hasClass(el, clsEnter)) {
|
|
5008
|
+
triggerShown(el);
|
|
5009
|
+
}
|
|
5010
|
+
if (!hasClass(el, clsLeave)) {
|
|
5011
|
+
trigger(el, "beforeitemhide", [cmp]);
|
|
5012
|
+
trigger(el, "itemhide", [cmp]);
|
|
5013
|
+
}
|
|
5014
|
+
}
|
|
5015
|
+
function triggerHidden(el) {
|
|
5016
|
+
if (hasClass(el, clsLeave)) {
|
|
5017
|
+
trigger(el, "itemhidden", [cmp]);
|
|
5018
|
+
}
|
|
5019
|
+
}
|
|
5020
|
+
}
|
|
5021
|
+
|
|
4878
5022
|
var SliderReactive = {
|
|
4879
5023
|
update: {
|
|
4880
5024
|
write() {
|
|
4881
|
-
if (this.stack.length || this.dragging) {
|
|
5025
|
+
if (this.stack.length || this.dragging || this.parallax) {
|
|
4882
5026
|
return;
|
|
4883
5027
|
}
|
|
4884
5028
|
const index = this.getValidIndex();
|
|
@@ -4896,7 +5040,12 @@
|
|
|
4896
5040
|
observe: lazyload({
|
|
4897
5041
|
target: ({ slides }) => slides,
|
|
4898
5042
|
targets: (instance) => instance.getAdjacentSlides()
|
|
4899
|
-
})
|
|
5043
|
+
}),
|
|
5044
|
+
methods: {
|
|
5045
|
+
getAdjacentSlides() {
|
|
5046
|
+
return [1, -1].map((i) => this.slides[this.getIndex(this.index + i)]);
|
|
5047
|
+
}
|
|
5048
|
+
}
|
|
4900
5049
|
};
|
|
4901
5050
|
|
|
4902
5051
|
function Transitioner(prev, next, dir, { center, easing, list }) {
|
|
@@ -5020,7 +5169,7 @@
|
|
|
5020
5169
|
}
|
|
5021
5170
|
|
|
5022
5171
|
var slider = {
|
|
5023
|
-
mixins: [Class, Slider, SliderReactive, SliderPreload],
|
|
5172
|
+
mixins: [Class, Slider, SliderReactive, SliderParallax, SliderPreload],
|
|
5024
5173
|
props: {
|
|
5025
5174
|
center: Boolean,
|
|
5026
5175
|
sets: Boolean
|
|
@@ -5035,9 +5184,6 @@
|
|
|
5035
5184
|
Transitioner
|
|
5036
5185
|
},
|
|
5037
5186
|
computed: {
|
|
5038
|
-
avgWidth() {
|
|
5039
|
-
return getWidth(this.list) / this.length;
|
|
5040
|
-
},
|
|
5041
5187
|
finite({ finite }) {
|
|
5042
5188
|
return finite || isFinite(this.list, this.center);
|
|
5043
5189
|
},
|
|
@@ -5059,7 +5205,7 @@
|
|
|
5059
5205
|
return ~index ? index : this.length - 1;
|
|
5060
5206
|
},
|
|
5061
5207
|
sets({ sets: enabled }) {
|
|
5062
|
-
if (!enabled) {
|
|
5208
|
+
if (!enabled || this.parallax) {
|
|
5063
5209
|
return;
|
|
5064
5210
|
}
|
|
5065
5211
|
let left = 0;
|
|
@@ -5071,7 +5217,7 @@
|
|
|
5071
5217
|
left = 0;
|
|
5072
5218
|
}
|
|
5073
5219
|
if (this.center) {
|
|
5074
|
-
if (left < width / 2 && left + slideWidth + dimensions$1(getIndex(+i + 1, this.slides)).width / 2 > width / 2) {
|
|
5220
|
+
if (left < width / 2 && left + slideWidth + dimensions$1(this.slides[getIndex(+i + 1, this.slides)]).width / 2 > width / 2) {
|
|
5075
5221
|
sets.push(+i);
|
|
5076
5222
|
left = width / 2 - slideWidth / 2;
|
|
5077
5223
|
}
|
|
@@ -5108,10 +5254,7 @@
|
|
|
5108
5254
|
el.hidden = !this.maxIndex || index > this.maxIndex || this.sets && !includes(this.sets, index);
|
|
5109
5255
|
}
|
|
5110
5256
|
}
|
|
5111
|
-
|
|
5112
|
-
this.reorder();
|
|
5113
|
-
this._translate(1);
|
|
5114
|
-
}
|
|
5257
|
+
this.reorder();
|
|
5115
5258
|
this.updateActiveClasses();
|
|
5116
5259
|
},
|
|
5117
5260
|
events: ["resize"]
|
|
@@ -5132,13 +5275,15 @@
|
|
|
5132
5275
|
return;
|
|
5133
5276
|
}
|
|
5134
5277
|
const index = this.dir < 0 || !this.slides[this.prevIndex] ? this.index : this.prevIndex;
|
|
5135
|
-
|
|
5278
|
+
const avgWidth = getWidth(this.list) / this.length;
|
|
5279
|
+
this.duration = speedUp(avgWidth / this.velocity) * (dimensions$1(this.slides[index]).width / avgWidth);
|
|
5136
5280
|
this.reorder();
|
|
5137
5281
|
},
|
|
5138
5282
|
itemshow() {
|
|
5139
5283
|
if (~this.prevIndex) {
|
|
5140
5284
|
addClass(this._getTransitioner().getItemIn(), this.clsActive);
|
|
5141
5285
|
}
|
|
5286
|
+
this.updateActiveClasses(this.prevIndex);
|
|
5142
5287
|
},
|
|
5143
5288
|
itemshown() {
|
|
5144
5289
|
this.updateActiveClasses();
|
|
@@ -5171,11 +5316,11 @@
|
|
|
5171
5316
|
width -= dimensions$1(slide).width;
|
|
5172
5317
|
}
|
|
5173
5318
|
},
|
|
5174
|
-
updateActiveClasses() {
|
|
5175
|
-
const actives = this._getTransitioner(
|
|
5319
|
+
updateActiveClasses(currentIndex = this.index) {
|
|
5320
|
+
const actives = this._getTransitioner(currentIndex).getActives();
|
|
5176
5321
|
const activeClasses = [
|
|
5177
5322
|
this.clsActive,
|
|
5178
|
-
|
|
5323
|
+
!this.sets || includes(this.sets, toFloat(this.index)) ? this.clsActivated : ""
|
|
5179
5324
|
];
|
|
5180
5325
|
for (const slide of this.slides) {
|
|
5181
5326
|
const active = includes(actives, slide);
|
|
@@ -5221,6 +5366,21 @@
|
|
|
5221
5366
|
} while (this.length > j && currentLeft > left && currentLeft < right);
|
|
5222
5367
|
}
|
|
5223
5368
|
return Array.from(slides);
|
|
5369
|
+
},
|
|
5370
|
+
getIndexAt(percent) {
|
|
5371
|
+
let index = -1;
|
|
5372
|
+
const firstSlideWidth = dimensions$1(this.slides[0]).width;
|
|
5373
|
+
const lastSlideWidth = dimensions$1(last(this.slides)).width;
|
|
5374
|
+
const scrollDist = getWidth(this.list) - (this.center ? firstSlideWidth / 2 + lastSlideWidth / 2 : lastSlideWidth);
|
|
5375
|
+
let dist = percent * scrollDist;
|
|
5376
|
+
let slidePercent = 0;
|
|
5377
|
+
do {
|
|
5378
|
+
const slideWidth = dimensions$1(this.slides[++index]).width;
|
|
5379
|
+
const slideDist = this.center ? slideWidth / 2 + dimensions$1(this.slides[index + 1]).width / 2 : slideWidth;
|
|
5380
|
+
slidePercent = dist / slideDist % 1;
|
|
5381
|
+
dist -= slideDist;
|
|
5382
|
+
} while (dist >= 0 && index < this.maxIndex);
|
|
5383
|
+
return [index, slidePercent];
|
|
5224
5384
|
}
|
|
5225
5385
|
}
|
|
5226
5386
|
};
|
|
@@ -5412,18 +5572,17 @@
|
|
|
5412
5572
|
}
|
|
5413
5573
|
};
|
|
5414
5574
|
|
|
5415
|
-
const supportsAspectRatio = inBrowser && CSS.supports("aspect-ratio", "1/1");
|
|
5416
5575
|
var slideshow = {
|
|
5417
|
-
mixins: [Class, Slideshow, SliderReactive, SliderPreload],
|
|
5576
|
+
mixins: [Class, Slideshow, SliderReactive, SliderParallax, SliderPreload],
|
|
5418
5577
|
props: {
|
|
5419
5578
|
ratio: String,
|
|
5420
|
-
minHeight:
|
|
5421
|
-
maxHeight:
|
|
5579
|
+
minHeight: String,
|
|
5580
|
+
maxHeight: String
|
|
5422
5581
|
},
|
|
5423
5582
|
data: {
|
|
5424
5583
|
ratio: "16:9",
|
|
5425
|
-
minHeight:
|
|
5426
|
-
maxHeight:
|
|
5584
|
+
minHeight: void 0,
|
|
5585
|
+
maxHeight: void 0,
|
|
5427
5586
|
selList: ".uk-slideshow-items",
|
|
5428
5587
|
attrItem: "uk-slideshow-item",
|
|
5429
5588
|
selNav: ".uk-slideshow-nav",
|
|
@@ -5431,38 +5590,15 @@
|
|
|
5431
5590
|
},
|
|
5432
5591
|
watch: {
|
|
5433
5592
|
list(list) {
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
-
|
|
5437
|
-
|
|
5438
|
-
|
|
5439
|
-
|
|
5440
|
-
|
|
5441
|
-
});
|
|
5442
|
-
}
|
|
5593
|
+
css(list, {
|
|
5594
|
+
aspectRatio: this.ratio ? this.ratio.replace(":", "/") : void 0,
|
|
5595
|
+
minHeight: this.minHeight,
|
|
5596
|
+
maxHeight: this.maxHeight,
|
|
5597
|
+
minWidth: "100%",
|
|
5598
|
+
maxWidth: "100%"
|
|
5599
|
+
});
|
|
5443
5600
|
}
|
|
5444
5601
|
},
|
|
5445
|
-
update: {
|
|
5446
|
-
// deprecated: Remove with iOS 17
|
|
5447
|
-
read() {
|
|
5448
|
-
if (!this.list || supportsAspectRatio) {
|
|
5449
|
-
return false;
|
|
5450
|
-
}
|
|
5451
|
-
let [width, height] = this.ratio.split(":").map(Number);
|
|
5452
|
-
height = height * this.list.offsetWidth / width || 0;
|
|
5453
|
-
if (this.minHeight) {
|
|
5454
|
-
height = Math.max(this.minHeight, height);
|
|
5455
|
-
}
|
|
5456
|
-
if (this.maxHeight) {
|
|
5457
|
-
height = Math.min(this.maxHeight, height);
|
|
5458
|
-
}
|
|
5459
|
-
return { height: height - boxModelAdjust(this.list, "height", "content-box") };
|
|
5460
|
-
},
|
|
5461
|
-
write({ height }) {
|
|
5462
|
-
height > 0 && css(this.list, "minHeight", height);
|
|
5463
|
-
},
|
|
5464
|
-
events: ["resize"]
|
|
5465
|
-
},
|
|
5466
5602
|
methods: {
|
|
5467
5603
|
getAdjacentSlides() {
|
|
5468
5604
|
return [1, -1].map((i) => this.slides[this.getIndex(this.index + i)]);
|
|
@@ -5605,7 +5741,7 @@
|
|
|
5605
5741
|
},
|
|
5606
5742
|
start(e) {
|
|
5607
5743
|
this.drag = appendDrag(this.$container, this.placeholder);
|
|
5608
|
-
const { left, top } = this.placeholder
|
|
5744
|
+
const { left, top } = dimensions$1(this.placeholder);
|
|
5609
5745
|
assign(this.origin, { offsetLeft: this.pos.x - left, offsetTop: this.pos.y - top });
|
|
5610
5746
|
addClass(this.drag, this.clsDrag, this.clsCustom);
|
|
5611
5747
|
addClass(this.placeholder, this.clsPlaceholder);
|
|
@@ -5721,20 +5857,20 @@
|
|
|
5721
5857
|
return clone;
|
|
5722
5858
|
}
|
|
5723
5859
|
function findTarget(items, point) {
|
|
5724
|
-
return items[findIndex(items, (item) => pointInRect(point, item
|
|
5860
|
+
return items[findIndex(items, (item) => pointInRect(point, dimensions$1(item)))];
|
|
5725
5861
|
}
|
|
5726
5862
|
function findInsertTarget(list, target, placeholder, x, y, sameList) {
|
|
5727
5863
|
if (!children(list).length) {
|
|
5728
5864
|
return;
|
|
5729
5865
|
}
|
|
5730
|
-
const rect = target
|
|
5866
|
+
const rect = dimensions$1(target);
|
|
5731
5867
|
if (!sameList) {
|
|
5732
5868
|
if (!isHorizontal(list, placeholder)) {
|
|
5733
5869
|
return y < rect.top + rect.height / 2 ? target : target.nextElementSibling;
|
|
5734
5870
|
}
|
|
5735
5871
|
return target;
|
|
5736
5872
|
}
|
|
5737
|
-
const placeholderRect = placeholder
|
|
5873
|
+
const placeholderRect = dimensions$1(placeholder);
|
|
5738
5874
|
const sameRow = linesIntersect(
|
|
5739
5875
|
[rect.top, rect.bottom],
|
|
5740
5876
|
[placeholderRect.top, placeholderRect.bottom]
|
|
@@ -5759,9 +5895,9 @@
|
|
|
5759
5895
|
}
|
|
5760
5896
|
const items = children(list);
|
|
5761
5897
|
const isHorizontal2 = items.some((el, i) => {
|
|
5762
|
-
const rectA = el
|
|
5898
|
+
const rectA = dimensions$1(el);
|
|
5763
5899
|
return items.slice(i + 1).some((el2) => {
|
|
5764
|
-
const rectB = el2
|
|
5900
|
+
const rectB = dimensions$1(el2);
|
|
5765
5901
|
return !linesIntersect([rectA.left, rectA.right], [rectB.left, rectB.right]);
|
|
5766
5902
|
});
|
|
5767
5903
|
});
|
|
@@ -5964,13 +6100,7 @@
|
|
|
5964
6100
|
}
|
|
5965
6101
|
}
|
|
5966
6102
|
const props = includes(properties[0], dir) ? properties[1] : properties[0];
|
|
5967
|
-
|
|
5968
|
-
align = props[0];
|
|
5969
|
-
} else if (elOffset[props[1]] === targetOffset[props[1]]) {
|
|
5970
|
-
align = props[1];
|
|
5971
|
-
} else {
|
|
5972
|
-
align = "center";
|
|
5973
|
-
}
|
|
6103
|
+
align = props.find((prop) => elOffset[prop] === targetOffset[prop]) || "center";
|
|
5974
6104
|
return [dir, align];
|
|
5975
6105
|
}
|
|
5976
6106
|
function parseProps(options) {
|
|
@@ -6441,7 +6571,7 @@
|
|
|
6441
6571
|
let frame;
|
|
6442
6572
|
(function scroll() {
|
|
6443
6573
|
frame = requestAnimationFrame(() => {
|
|
6444
|
-
const { top } = el
|
|
6574
|
+
const { top } = dimensions$1(el);
|
|
6445
6575
|
if (top < 0) {
|
|
6446
6576
|
scrollElement.scrollTop += top;
|
|
6447
6577
|
}
|
|
@@ -6525,7 +6655,7 @@
|
|
|
6525
6655
|
intersection({
|
|
6526
6656
|
filter: ({ $el, autoplay }) => autoplay && isVideo($el),
|
|
6527
6657
|
handler([{ isIntersecting }]) {
|
|
6528
|
-
if (isIntersecting) {
|
|
6658
|
+
if (isIntersecting || this.$el.webkitDisplayingFullscreen || document.fullscreenElement === this.$el) {
|
|
6529
6659
|
play(this.$el);
|
|
6530
6660
|
} else {
|
|
6531
6661
|
pause(this.$el);
|
|
@@ -6802,9 +6932,7 @@
|
|
|
6802
6932
|
{
|
|
6803
6933
|
name: "beforehide",
|
|
6804
6934
|
self: true,
|
|
6805
|
-
handler
|
|
6806
|
-
this.clearTimers();
|
|
6807
|
-
}
|
|
6935
|
+
handler: "clearTimers"
|
|
6808
6936
|
},
|
|
6809
6937
|
{
|
|
6810
6938
|
name: "hide",
|
|
@@ -7028,8 +7156,12 @@
|
|
|
7028
7156
|
dropbar = this._dropbar || query(dropbar, this.$el) || $(`+ .${this.clsDropbar}`, this.$el);
|
|
7029
7157
|
return dropbar ? dropbar : this._dropbar = $("<div></div>");
|
|
7030
7158
|
},
|
|
7031
|
-
dropbarOffset() {
|
|
7032
|
-
|
|
7159
|
+
dropbarOffset({ target, targetY }, $el) {
|
|
7160
|
+
const { offsetTop, offsetHeight } = query(targetY || target || $el, $el);
|
|
7161
|
+
return offsetTop + offsetHeight + this.dropbarPositionOffset;
|
|
7162
|
+
},
|
|
7163
|
+
dropbarPositionOffset(_, $el) {
|
|
7164
|
+
return toPx(css($el, "--uk-position-offset"));
|
|
7033
7165
|
},
|
|
7034
7166
|
dropContainer(_, $el) {
|
|
7035
7167
|
return this.container || $el;
|
|
@@ -7188,17 +7320,12 @@
|
|
|
7188
7320
|
}
|
|
7189
7321
|
const drop = this.getDropdown(target);
|
|
7190
7322
|
const adjustHeight = () => {
|
|
7191
|
-
const
|
|
7192
|
-
|
|
7193
|
-
const maxBottom = Math.max(...targetOffsets.map(({ bottom }) => bottom));
|
|
7194
|
-
const dropbarOffset = offset(this.dropbar);
|
|
7195
|
-
css(
|
|
7196
|
-
this.dropbar,
|
|
7197
|
-
"top",
|
|
7198
|
-
this.dropbar.offsetTop - (dropbarOffset.top - minTop) - this.dropbarOffset
|
|
7323
|
+
const maxBottom = Math.max(
|
|
7324
|
+
...parents(target, `.${this.clsDrop}`).concat(target).map((el) => offset(el).bottom)
|
|
7199
7325
|
);
|
|
7326
|
+
css(this.dropbar, "top", this.dropbarOffset);
|
|
7200
7327
|
this.transitionTo(
|
|
7201
|
-
maxBottom -
|
|
7328
|
+
maxBottom - offset(this.dropbar).top + toFloat(css(target, "marginBottom")),
|
|
7202
7329
|
target
|
|
7203
7330
|
);
|
|
7204
7331
|
};
|
|
@@ -7252,17 +7379,21 @@
|
|
|
7252
7379
|
const oldHeight = height(dropbar);
|
|
7253
7380
|
el = oldHeight < newHeight && el;
|
|
7254
7381
|
await Transition.cancel([el, dropbar]);
|
|
7382
|
+
if (el) {
|
|
7383
|
+
const diff = offset(el).top - offset(dropbar).top - oldHeight;
|
|
7384
|
+
if (diff > 0) {
|
|
7385
|
+
css(el, "transitionDelay", `${diff / newHeight * this.duration}ms`);
|
|
7386
|
+
}
|
|
7387
|
+
}
|
|
7255
7388
|
css(el, "clipPath", `polygon(0 0,100% 0,100% ${oldHeight}px,0 ${oldHeight}px)`);
|
|
7256
7389
|
height(dropbar, oldHeight);
|
|
7257
7390
|
await Promise.all([
|
|
7258
7391
|
Transition.start(dropbar, { height: newHeight }, this.duration),
|
|
7259
7392
|
Transition.start(
|
|
7260
7393
|
el,
|
|
7261
|
-
{
|
|
7262
|
-
clipPath: `polygon(0 0,100% 0,100% ${newHeight}px,0 ${newHeight}px)`
|
|
7263
|
-
},
|
|
7394
|
+
{ clipPath: `polygon(0 0,100% 0,100% ${newHeight}px,0 ${newHeight}px)` },
|
|
7264
7395
|
this.duration
|
|
7265
|
-
).finally(() => css(el, { clipPath: "" }))
|
|
7396
|
+
).finally(() => css(el, { clipPath: "", transitionDelay: "" }))
|
|
7266
7397
|
]).catch(noop);
|
|
7267
7398
|
},
|
|
7268
7399
|
getDropdown(el) {
|
|
@@ -7556,7 +7687,9 @@
|
|
|
7556
7687
|
let heights = elements.map(getHeight);
|
|
7557
7688
|
const max = Math.max(...heights);
|
|
7558
7689
|
return {
|
|
7559
|
-
heights: elements.map(
|
|
7690
|
+
heights: elements.map(
|
|
7691
|
+
(el, i) => heights[i].toFixed(2) === max.toFixed(2) ? "" : max - boxModelAdjust(el, "height", "content-box")
|
|
7692
|
+
),
|
|
7560
7693
|
elements
|
|
7561
7694
|
};
|
|
7562
7695
|
}
|
|
@@ -7566,11 +7699,34 @@
|
|
|
7566
7699
|
css(element, "display", "block", "important");
|
|
7567
7700
|
}
|
|
7568
7701
|
css(element, "minHeight", "");
|
|
7569
|
-
const height =
|
|
7702
|
+
const height = element.offsetHeight;
|
|
7570
7703
|
css(element, style);
|
|
7571
7704
|
return height;
|
|
7572
7705
|
}
|
|
7573
7706
|
|
|
7707
|
+
var heightPlaceholder = {
|
|
7708
|
+
args: "target",
|
|
7709
|
+
props: {
|
|
7710
|
+
target: String
|
|
7711
|
+
},
|
|
7712
|
+
data: {
|
|
7713
|
+
target: ""
|
|
7714
|
+
},
|
|
7715
|
+
computed: {
|
|
7716
|
+
target: ({ target }, $el) => query(target, $el)
|
|
7717
|
+
},
|
|
7718
|
+
observe: resize({ target: ({ target }) => target }),
|
|
7719
|
+
update: {
|
|
7720
|
+
read() {
|
|
7721
|
+
return { height: height(this.target) };
|
|
7722
|
+
},
|
|
7723
|
+
write({ height: height2 }) {
|
|
7724
|
+
css(this.$el, { minHeight: height2 });
|
|
7725
|
+
},
|
|
7726
|
+
events: ["resize"]
|
|
7727
|
+
}
|
|
7728
|
+
};
|
|
7729
|
+
|
|
7574
7730
|
var heightViewport = {
|
|
7575
7731
|
props: {
|
|
7576
7732
|
expand: Boolean,
|
|
@@ -7650,7 +7806,7 @@
|
|
|
7650
7806
|
|
|
7651
7807
|
var navbarParentIcon = "<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"1 3.5 6 8.5 11 3.5\"/></svg>";
|
|
7652
7808
|
|
|
7653
|
-
var navbarToggleIcon = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><style>.uk-navbar-toggle-animate svg>[class*="line-"]{transition:0.2s ease-in-out;transition-property:transform, opacity;transform-origin:center;opacity:1}.uk-navbar-toggle svg>.line-3{opacity:0}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-3{opacity:1}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-2{transform:rotate(45deg)}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-3{transform:rotate(-45deg)}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-1,.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-4{opacity:0}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-1{transform:translateY(6px) scaleX(0)}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-4{transform:translateY(-6px) scaleX(0)}</style><rect class=\"line-1\" y=\"3\" width=\"20\" height=\"2\"/><rect class=\"line-2\" y=\"9\" width=\"20\" height=\"2\"/><rect class=\"line-3\" y=\"9\" width=\"20\" height=\"2\"/><rect class=\"line-4\" y=\"15\" width=\"20\" height=\"2\"/></svg>";
|
|
7809
|
+
var navbarToggleIcon = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"><style>.uk-navbar-toggle-animate svg>[class*="line-"]{transition:0.2s ease-in-out;transition-property:transform, opacity;transform-origin:center;opacity:1}.uk-navbar-toggle-animate svg>.line-3{opacity:0}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-3{opacity:1}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-2{transform:rotate(45deg)}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-3{transform:rotate(-45deg)}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-1,.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-4{opacity:0}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-1{transform:translateY(6px) scaleX(0)}.uk-navbar-toggle-animate[aria-expanded="true"] svg>.line-4{transform:translateY(-6px) scaleX(0)}</style><rect class=\"line-1\" y=\"3\" width=\"20\" height=\"2\"/><rect class=\"line-2\" y=\"9\" width=\"20\" height=\"2\"/><rect class=\"line-3\" y=\"9\" width=\"20\" height=\"2\"/><rect class=\"line-4\" y=\"15\" width=\"20\" height=\"2\"/></svg>";
|
|
7654
7810
|
|
|
7655
7811
|
var overlayIcon = "<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\"><rect x=\"19\" y=\"0\" width=\"1\" height=\"40\"/><rect x=\"0\" y=\"19\" width=\"40\" height=\"1\"/></svg>";
|
|
7656
7812
|
|
|
@@ -7759,6 +7915,7 @@
|
|
|
7759
7915
|
"search-icon": searchIcon,
|
|
7760
7916
|
"search-large": searchLarge,
|
|
7761
7917
|
"search-navbar": searchNavbar,
|
|
7918
|
+
"search-toggle-icon": searchIcon,
|
|
7762
7919
|
"slidenav-next": slidenavNext,
|
|
7763
7920
|
"slidenav-next-large": slidenavNextLarge,
|
|
7764
7921
|
"slidenav-previous": slidenavPrevious,
|
|
@@ -7805,11 +7962,12 @@
|
|
|
7805
7962
|
mixins: [I18n],
|
|
7806
7963
|
i18n: { toggle: "Open Search", submit: "Submit Search" },
|
|
7807
7964
|
beforeConnect() {
|
|
7808
|
-
|
|
7965
|
+
const isToggle = hasClass(this.$el, "uk-search-toggle") || hasClass(this.$el, "uk-navbar-toggle");
|
|
7966
|
+
this.icon = isToggle ? "search-toggle-icon" : hasClass(this.$el, "uk-search-icon") && closest(this.$el, ".uk-search-large") ? "search-large" : closest(this.$el, ".uk-search-navbar") ? "search-navbar" : this.$props.icon;
|
|
7809
7967
|
if (hasAttr(this.$el, "aria-label")) {
|
|
7810
7968
|
return;
|
|
7811
7969
|
}
|
|
7812
|
-
if (
|
|
7970
|
+
if (isToggle) {
|
|
7813
7971
|
const label = this.t("toggle");
|
|
7814
7972
|
attr(this.$el, "aria-label", label);
|
|
7815
7973
|
} else {
|
|
@@ -7903,7 +8061,9 @@
|
|
|
7903
8061
|
}
|
|
7904
8062
|
};
|
|
7905
8063
|
}
|
|
8064
|
+
const aliases = { twitter: "x" };
|
|
7906
8065
|
function getIcon(icon) {
|
|
8066
|
+
icon = aliases[icon] || icon;
|
|
7907
8067
|
if (!icons[icon]) {
|
|
7908
8068
|
return null;
|
|
7909
8069
|
}
|
|
@@ -8042,6 +8202,90 @@
|
|
|
8042
8202
|
return isTag(el, "img");
|
|
8043
8203
|
}
|
|
8044
8204
|
|
|
8205
|
+
var inverse = {
|
|
8206
|
+
props: {
|
|
8207
|
+
target: String,
|
|
8208
|
+
selActive: String
|
|
8209
|
+
},
|
|
8210
|
+
data: {
|
|
8211
|
+
target: false,
|
|
8212
|
+
selActive: false
|
|
8213
|
+
},
|
|
8214
|
+
computed: {
|
|
8215
|
+
target: ({ target }, $el) => target ? $$(target, $el) : [$el]
|
|
8216
|
+
},
|
|
8217
|
+
observe: [
|
|
8218
|
+
mutation({
|
|
8219
|
+
target: ({ target }) => target,
|
|
8220
|
+
options: { attributes: true, attributeFilter: ["class"], attributeOldValue: true }
|
|
8221
|
+
}),
|
|
8222
|
+
{
|
|
8223
|
+
target: ({ target }) => target,
|
|
8224
|
+
observe: (target, handler) => {
|
|
8225
|
+
const observer = observeResize([...target, document.documentElement], handler);
|
|
8226
|
+
const listener = [
|
|
8227
|
+
on(document, "scroll itemshown itemhidden", handler, {
|
|
8228
|
+
passive: true,
|
|
8229
|
+
capture: true
|
|
8230
|
+
}),
|
|
8231
|
+
on(document, "show hide transitionstart", (e) => {
|
|
8232
|
+
handler();
|
|
8233
|
+
return observer.observe(e.target);
|
|
8234
|
+
}),
|
|
8235
|
+
on(document, "shown hidden transitionend transitioncancel", (e) => {
|
|
8236
|
+
handler();
|
|
8237
|
+
return observer.unobserve(e.target);
|
|
8238
|
+
})
|
|
8239
|
+
];
|
|
8240
|
+
return {
|
|
8241
|
+
disconnect() {
|
|
8242
|
+
observer.disconnect();
|
|
8243
|
+
listener.map((off) => off());
|
|
8244
|
+
}
|
|
8245
|
+
};
|
|
8246
|
+
},
|
|
8247
|
+
handler() {
|
|
8248
|
+
this.$emit();
|
|
8249
|
+
}
|
|
8250
|
+
}
|
|
8251
|
+
],
|
|
8252
|
+
update: {
|
|
8253
|
+
read() {
|
|
8254
|
+
for (const target of this.target) {
|
|
8255
|
+
replaceClass(
|
|
8256
|
+
target,
|
|
8257
|
+
"uk-light,uk-dark",
|
|
8258
|
+
!this.selActive || matches(target, this.selActive) ? findTargetColor(target) : ""
|
|
8259
|
+
);
|
|
8260
|
+
}
|
|
8261
|
+
}
|
|
8262
|
+
}
|
|
8263
|
+
};
|
|
8264
|
+
function findTargetColor(target) {
|
|
8265
|
+
const { left, top, height, width } = dimensions$1(target);
|
|
8266
|
+
let last;
|
|
8267
|
+
for (const percent of [0.25, 0.5, 0.75]) {
|
|
8268
|
+
const elements = target.ownerDocument.elementsFromPoint(
|
|
8269
|
+
Math.max(0, left) + width * percent,
|
|
8270
|
+
Math.max(0, top) + height / 2
|
|
8271
|
+
);
|
|
8272
|
+
for (const element of elements) {
|
|
8273
|
+
if (target.contains(element) || element.closest('[class*="-leave"]') && elements.some((el) => element !== el && matches(el, '[class*="-enter"]'))) {
|
|
8274
|
+
continue;
|
|
8275
|
+
}
|
|
8276
|
+
const color = css(element, "--uk-inverse");
|
|
8277
|
+
if (color) {
|
|
8278
|
+
if (color === last) {
|
|
8279
|
+
return `uk-${color}`;
|
|
8280
|
+
}
|
|
8281
|
+
last = color;
|
|
8282
|
+
break;
|
|
8283
|
+
}
|
|
8284
|
+
}
|
|
8285
|
+
}
|
|
8286
|
+
return last ? `uk-${last}` : "";
|
|
8287
|
+
}
|
|
8288
|
+
|
|
8045
8289
|
var leader = {
|
|
8046
8290
|
mixins: [Class, Media],
|
|
8047
8291
|
props: {
|
|
@@ -8089,6 +8333,15 @@
|
|
|
8089
8333
|
selClose: ".uk-modal-close, .uk-modal-close-default, .uk-modal-close-outside, .uk-modal-close-full"
|
|
8090
8334
|
},
|
|
8091
8335
|
events: [
|
|
8336
|
+
{
|
|
8337
|
+
name: "fullscreenchange webkitendfullscreen",
|
|
8338
|
+
capture: true,
|
|
8339
|
+
handler(e) {
|
|
8340
|
+
if (isTag(e.target, "video") && this.isToggled() && !document.fullscreenElement) {
|
|
8341
|
+
this.hide();
|
|
8342
|
+
}
|
|
8343
|
+
}
|
|
8344
|
+
},
|
|
8092
8345
|
{
|
|
8093
8346
|
name: "show",
|
|
8094
8347
|
self: true,
|
|
@@ -8190,6 +8443,7 @@
|
|
|
8190
8443
|
}
|
|
8191
8444
|
};
|
|
8192
8445
|
|
|
8446
|
+
const clsNavbarTransparent = "uk-navbar-transparent";
|
|
8193
8447
|
var navbar = {
|
|
8194
8448
|
extends: Dropnav,
|
|
8195
8449
|
props: {
|
|
@@ -8199,49 +8453,25 @@
|
|
|
8199
8453
|
clsDrop: "uk-navbar-dropdown",
|
|
8200
8454
|
selNavItem: ".uk-navbar-nav > li > a,a.uk-navbar-item,button.uk-navbar-item,.uk-navbar-item a,.uk-navbar-item button,.uk-navbar-toggle",
|
|
8201
8455
|
// Simplify with :where() selector once browser target is Safari 14+
|
|
8202
|
-
selTransparentTarget: '[class*="uk-section"]',
|
|
8203
8456
|
dropbarTransparentMode: false
|
|
8204
8457
|
},
|
|
8205
8458
|
computed: {
|
|
8206
8459
|
navbarContainer: (_, $el) => $el.closest(".uk-navbar-container"),
|
|
8207
|
-
dropbarOffset
|
|
8460
|
+
dropbarOffset({ dropbarTransparentMode }) {
|
|
8461
|
+
const { offsetTop, offsetHeight } = this.navbarContainer;
|
|
8462
|
+
return offsetTop + (dropbarTransparentMode === "behind" ? 0 : offsetHeight + this.dropbarPositionOffset);
|
|
8463
|
+
}
|
|
8208
8464
|
},
|
|
8209
8465
|
watch: {
|
|
8210
8466
|
items() {
|
|
8211
8467
|
const justify = hasClass(this.$el, "uk-navbar-justify");
|
|
8212
|
-
|
|
8213
|
-
|
|
8214
|
-
|
|
8215
|
-
|
|
8216
|
-
css(
|
|
8217
|
-
container,
|
|
8218
|
-
"flexGrow",
|
|
8219
|
-
justify ? $$(
|
|
8220
|
-
".uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle",
|
|
8221
|
-
container
|
|
8222
|
-
).length : ""
|
|
8223
|
-
);
|
|
8468
|
+
const containers = $$(".uk-navbar-nav, .uk-navbar-left, .uk-navbar-right", this.$el);
|
|
8469
|
+
for (const container of containers) {
|
|
8470
|
+
const items = justify ? $$(".uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle", container).length : "";
|
|
8471
|
+
css(container, "flexGrow", items);
|
|
8224
8472
|
}
|
|
8225
8473
|
}
|
|
8226
8474
|
},
|
|
8227
|
-
disconnect() {
|
|
8228
|
-
var _a;
|
|
8229
|
-
(_a = this._colorListener) == null ? void 0 : _a.call(this);
|
|
8230
|
-
},
|
|
8231
|
-
observe: [
|
|
8232
|
-
mutation({
|
|
8233
|
-
target: ({ navbarContainer }) => navbarContainer,
|
|
8234
|
-
handler: "registerColorListener",
|
|
8235
|
-
options: { attributes: true, attributeFilter: ["class"], attributeOldValue: true }
|
|
8236
|
-
}),
|
|
8237
|
-
intersection({
|
|
8238
|
-
handler(records) {
|
|
8239
|
-
this._isIntersecting = records[0].isIntersecting;
|
|
8240
|
-
this.registerColorListener();
|
|
8241
|
-
},
|
|
8242
|
-
args: { intersecting: false }
|
|
8243
|
-
})
|
|
8244
|
-
],
|
|
8245
8475
|
events: [
|
|
8246
8476
|
{
|
|
8247
8477
|
name: "show",
|
|
@@ -8249,21 +8479,9 @@
|
|
|
8249
8479
|
return this.dropContainer;
|
|
8250
8480
|
},
|
|
8251
8481
|
handler({ target }) {
|
|
8252
|
-
|
|
8253
|
-
|
|
8254
|
-
|
|
8255
|
-
}
|
|
8256
|
-
const storePrevColor = () => this._mode = removeClasses(this.navbarContainer, "uk-light", "uk-dark");
|
|
8257
|
-
if (transparentMode === "behind") {
|
|
8258
|
-
const mode = getDropbarBehindColor(this.$el);
|
|
8259
|
-
if (mode) {
|
|
8260
|
-
storePrevColor();
|
|
8261
|
-
addClass(this.navbarContainer, `uk-${mode}`);
|
|
8262
|
-
}
|
|
8263
|
-
}
|
|
8264
|
-
if (transparentMode === "remove") {
|
|
8265
|
-
storePrevColor();
|
|
8266
|
-
removeClass(this.navbarContainer, "uk-navbar-transparent");
|
|
8482
|
+
if (this.getTransparentMode(target) === "remove" && hasClass(this.navbarContainer, clsNavbarTransparent)) {
|
|
8483
|
+
removeClass(this.navbarContainer, clsNavbarTransparent);
|
|
8484
|
+
this._transparent = true;
|
|
8267
8485
|
}
|
|
8268
8486
|
}
|
|
8269
8487
|
},
|
|
@@ -8272,26 +8490,12 @@
|
|
|
8272
8490
|
el() {
|
|
8273
8491
|
return this.dropContainer;
|
|
8274
8492
|
},
|
|
8275
|
-
async handler(
|
|
8276
|
-
const transparentMode = this.getTransparentMode(target);
|
|
8277
|
-
if (!transparentMode || !this._mode) {
|
|
8278
|
-
return;
|
|
8279
|
-
}
|
|
8493
|
+
async handler() {
|
|
8280
8494
|
await awaitMacroTask();
|
|
8281
|
-
if (this.getActive()) {
|
|
8282
|
-
|
|
8495
|
+
if (!this.getActive() && this._transparent) {
|
|
8496
|
+
addClass(this.navbarContainer, clsNavbarTransparent);
|
|
8497
|
+
this._transparent = null;
|
|
8283
8498
|
}
|
|
8284
|
-
if (transparentMode === "behind") {
|
|
8285
|
-
const mode = getDropbarBehindColor(this.$el);
|
|
8286
|
-
if (mode) {
|
|
8287
|
-
removeClass(this.navbarContainer, `uk-${mode}`);
|
|
8288
|
-
}
|
|
8289
|
-
}
|
|
8290
|
-
addClass(this.navbarContainer, this._mode);
|
|
8291
|
-
if (transparentMode === "remove") {
|
|
8292
|
-
addClass(this.navbarContainer, "uk-navbar-transparent");
|
|
8293
|
-
}
|
|
8294
|
-
this._mode = null;
|
|
8295
8499
|
}
|
|
8296
8500
|
}
|
|
8297
8501
|
],
|
|
@@ -8304,70 +8508,15 @@
|
|
|
8304
8508
|
return this.dropbarTransparentMode;
|
|
8305
8509
|
}
|
|
8306
8510
|
const drop = this.getDropdown(el);
|
|
8307
|
-
if (
|
|
8308
|
-
return;
|
|
8511
|
+
if (drop && hasClass(el, "uk-dropbar")) {
|
|
8512
|
+
return drop.inset ? "behind" : "remove";
|
|
8309
8513
|
}
|
|
8310
|
-
return drop.inset ? "behind" : "remove";
|
|
8311
|
-
},
|
|
8312
|
-
registerColorListener() {
|
|
8313
|
-
const active = this._isIntersecting && hasClass(this.navbarContainer, "uk-navbar-transparent") && !isWithinMixBlendMode(this.navbarContainer) && !$$(".uk-drop", this.dropContainer).map(this.getDropdown).some(
|
|
8314
|
-
(drop) => drop.isToggled() && (drop.inset || this.getTransparentMode(drop.$el) === "behind")
|
|
8315
|
-
);
|
|
8316
|
-
if (this._colorListener) {
|
|
8317
|
-
if (!active) {
|
|
8318
|
-
this._colorListener();
|
|
8319
|
-
this._colorListener = null;
|
|
8320
|
-
}
|
|
8321
|
-
return;
|
|
8322
|
-
}
|
|
8323
|
-
if (!active) {
|
|
8324
|
-
return;
|
|
8325
|
-
}
|
|
8326
|
-
this._colorListener = listenForPositionChange(this.navbarContainer, () => {
|
|
8327
|
-
const { left, top, height } = offset(this.navbarContainer);
|
|
8328
|
-
const startPoint = { x: left, y: Math.max(0, top) + height / 2 };
|
|
8329
|
-
const target = $$(this.selTransparentTarget).find(
|
|
8330
|
-
(target2) => pointInRect(startPoint, offset(target2))
|
|
8331
|
-
);
|
|
8332
|
-
const color = css(target, "--uk-navbar-color");
|
|
8333
|
-
if (color) {
|
|
8334
|
-
replaceClass(this.navbarContainer, "uk-light,uk-dark", `uk-${color}`);
|
|
8335
|
-
}
|
|
8336
|
-
});
|
|
8337
8514
|
}
|
|
8338
8515
|
}
|
|
8339
8516
|
};
|
|
8340
|
-
function
|
|
8341
|
-
for (const cls of classes) {
|
|
8342
|
-
if (hasClass(el, cls)) {
|
|
8343
|
-
removeClass(el, cls);
|
|
8344
|
-
return cls;
|
|
8345
|
-
}
|
|
8346
|
-
}
|
|
8347
|
-
}
|
|
8348
|
-
async function awaitMacroTask() {
|
|
8517
|
+
function awaitMacroTask() {
|
|
8349
8518
|
return new Promise((resolve) => setTimeout(resolve));
|
|
8350
8519
|
}
|
|
8351
|
-
function getDropbarBehindColor(el) {
|
|
8352
|
-
return css(el, "--uk-navbar-dropbar-behind-color");
|
|
8353
|
-
}
|
|
8354
|
-
function listenForPositionChange(el, handler) {
|
|
8355
|
-
const parent2 = scrollParent(el, true);
|
|
8356
|
-
const scrollEl = parent2 === document.documentElement ? document : parent2;
|
|
8357
|
-
const off = on(scrollEl, "scroll", handler, { passive: true });
|
|
8358
|
-
const observer = observeResize([el, parent2], handler);
|
|
8359
|
-
return () => {
|
|
8360
|
-
off();
|
|
8361
|
-
observer.disconnect();
|
|
8362
|
-
};
|
|
8363
|
-
}
|
|
8364
|
-
function isWithinMixBlendMode(el) {
|
|
8365
|
-
do {
|
|
8366
|
-
if (css(el, "mixBlendMode") !== "normal") {
|
|
8367
|
-
return true;
|
|
8368
|
-
}
|
|
8369
|
-
} while (el = parent(el));
|
|
8370
|
-
}
|
|
8371
8520
|
|
|
8372
8521
|
var offcanvas = {
|
|
8373
8522
|
mixins: [Modal],
|
|
@@ -8535,27 +8684,7 @@
|
|
|
8535
8684
|
props: ["width", "height"],
|
|
8536
8685
|
connected() {
|
|
8537
8686
|
addClass(this.$el, "uk-responsive-width");
|
|
8538
|
-
|
|
8539
|
-
observe: resize({
|
|
8540
|
-
target: ({ $el }) => [$el, parent($el)]
|
|
8541
|
-
}),
|
|
8542
|
-
update: {
|
|
8543
|
-
read() {
|
|
8544
|
-
return isVisible(this.$el) && this.width && this.height ? { width: width(parent(this.$el)), height: this.height } : false;
|
|
8545
|
-
},
|
|
8546
|
-
write(dim) {
|
|
8547
|
-
height(
|
|
8548
|
-
this.$el,
|
|
8549
|
-
Dimensions.contain(
|
|
8550
|
-
{
|
|
8551
|
-
height: this.height,
|
|
8552
|
-
width: this.width
|
|
8553
|
-
},
|
|
8554
|
-
dim
|
|
8555
|
-
).height
|
|
8556
|
-
);
|
|
8557
|
-
},
|
|
8558
|
-
events: ["resize"]
|
|
8687
|
+
css(this.$el, "aspectRatio", `${this.width}/${this.height}`);
|
|
8559
8688
|
}
|
|
8560
8689
|
};
|
|
8561
8690
|
|
|
@@ -8701,7 +8830,7 @@
|
|
|
8701
8830
|
toggleClass(el, this.inViewClass, inview);
|
|
8702
8831
|
toggleClass(el, state.cls);
|
|
8703
8832
|
if (/\buk-animation-/.test(state.cls)) {
|
|
8704
|
-
const removeAnimationClasses = () => removeClasses
|
|
8833
|
+
const removeAnimationClasses = () => removeClasses(el, "uk-animation-[\\w-]+");
|
|
8705
8834
|
if (inview) {
|
|
8706
8835
|
state.off = once(el, "animationcancel animationend", removeAnimationClasses, {
|
|
8707
8836
|
self: true
|
|
@@ -8828,7 +8957,7 @@
|
|
|
8828
8957
|
targetOffset: false
|
|
8829
8958
|
},
|
|
8830
8959
|
computed: {
|
|
8831
|
-
|
|
8960
|
+
target: ({ selTarget }, $el) => selTarget && $(selTarget, $el) || $el
|
|
8832
8961
|
},
|
|
8833
8962
|
connected() {
|
|
8834
8963
|
this.start = coerce(this.start || this.top);
|
|
@@ -8840,16 +8969,26 @@
|
|
|
8840
8969
|
beforeDisconnect() {
|
|
8841
8970
|
if (this.isFixed) {
|
|
8842
8971
|
this.hide();
|
|
8843
|
-
removeClass(this.
|
|
8972
|
+
removeClass(this.target, this.clsInactive);
|
|
8844
8973
|
}
|
|
8845
8974
|
reset(this.$el);
|
|
8846
8975
|
remove$1(this.placeholder);
|
|
8847
8976
|
this.placeholder = null;
|
|
8848
8977
|
},
|
|
8849
8978
|
observe: [
|
|
8850
|
-
viewport(
|
|
8979
|
+
viewport({
|
|
8980
|
+
handler() {
|
|
8981
|
+
if (toPx("100vh", "height") !== this._data.viewport) {
|
|
8982
|
+
this.$emit("resize");
|
|
8983
|
+
}
|
|
8984
|
+
}
|
|
8985
|
+
}),
|
|
8851
8986
|
scroll$1({ target: () => document.scrollingElement }),
|
|
8852
|
-
resize({
|
|
8987
|
+
resize({
|
|
8988
|
+
target: () => document.scrollingElement,
|
|
8989
|
+
options: { box: "content-box" }
|
|
8990
|
+
}),
|
|
8991
|
+
resize({ target: ({ $el }) => $el })
|
|
8853
8992
|
],
|
|
8854
8993
|
events: [
|
|
8855
8994
|
{
|
|
@@ -8894,7 +9033,7 @@
|
|
|
8894
9033
|
}
|
|
8895
9034
|
const hide = this.isFixed && !this.transitionInProgress;
|
|
8896
9035
|
if (hide) {
|
|
8897
|
-
preventTransition(this
|
|
9036
|
+
preventTransition(this.target);
|
|
8898
9037
|
this.hide();
|
|
8899
9038
|
}
|
|
8900
9039
|
if (!this.active) {
|
|
@@ -8929,20 +9068,20 @@
|
|
|
8929
9068
|
);
|
|
8930
9069
|
sticky = maxScrollHeight && !this.showOnUp && start + offset$1 === topOffset && end === Math.min(
|
|
8931
9070
|
maxScrollHeight,
|
|
8932
|
-
parseProp(
|
|
9071
|
+
parseProp(true, this.$el, 0, true) - elHeight - offset$1 + overflow
|
|
8933
9072
|
) && css(parent(this.$el), "overflowY") === "visible";
|
|
8934
9073
|
return {
|
|
8935
9074
|
start,
|
|
8936
9075
|
end,
|
|
8937
9076
|
offset: offset$1,
|
|
8938
9077
|
overflow,
|
|
8939
|
-
topOffset,
|
|
8940
9078
|
height: height$1,
|
|
8941
9079
|
elHeight,
|
|
8942
9080
|
width,
|
|
8943
9081
|
margin,
|
|
8944
9082
|
top: offsetPosition(referenceElement)[0],
|
|
8945
|
-
sticky
|
|
9083
|
+
sticky,
|
|
9084
|
+
viewport: viewport2
|
|
8946
9085
|
};
|
|
8947
9086
|
},
|
|
8948
9087
|
write({ height, width, margin, offset, sticky }) {
|
|
@@ -8958,10 +9097,10 @@
|
|
|
8958
9097
|
}
|
|
8959
9098
|
const { placeholder } = this;
|
|
8960
9099
|
css(placeholder, { height, width, margin });
|
|
8961
|
-
if (
|
|
9100
|
+
if (parent(placeholder) !== parent(this.$el) || sticky ^ index(placeholder) < index(this.$el)) {
|
|
9101
|
+
(sticky ? before : after)(this.$el, placeholder);
|
|
8962
9102
|
placeholder.hidden = true;
|
|
8963
9103
|
}
|
|
8964
|
-
(sticky ? before : after)(this.$el, placeholder);
|
|
8965
9104
|
},
|
|
8966
9105
|
events: ["resize"]
|
|
8967
9106
|
},
|
|
@@ -8972,18 +9111,21 @@
|
|
|
8972
9111
|
overflow,
|
|
8973
9112
|
overflowScroll = 0,
|
|
8974
9113
|
start,
|
|
8975
|
-
end
|
|
9114
|
+
end,
|
|
9115
|
+
elHeight,
|
|
9116
|
+
height,
|
|
9117
|
+
sticky
|
|
8976
9118
|
}) {
|
|
8977
9119
|
const scroll2 = document.scrollingElement.scrollTop;
|
|
8978
9120
|
const dir = prevScroll <= scroll2 ? "down" : "up";
|
|
9121
|
+
const referenceElement = this.isFixed ? this.placeholder : this.$el;
|
|
8979
9122
|
return {
|
|
8980
9123
|
dir,
|
|
8981
9124
|
prevDir,
|
|
8982
9125
|
scroll: scroll2,
|
|
8983
9126
|
prevScroll,
|
|
8984
|
-
|
|
8985
|
-
|
|
8986
|
-
).top,
|
|
9127
|
+
below: scroll2 > offset(referenceElement).top + (sticky ? Math.min(height, elHeight) : height),
|
|
9128
|
+
offsetParentTop: offset(referenceElement.offsetParent).top,
|
|
8987
9129
|
overflowScroll: clamp(
|
|
8988
9130
|
overflowScroll + clamp(scroll2, start, end) - clamp(prevScroll, start, end),
|
|
8989
9131
|
0,
|
|
@@ -9001,8 +9143,7 @@
|
|
|
9001
9143
|
prevScroll = 0,
|
|
9002
9144
|
top,
|
|
9003
9145
|
start,
|
|
9004
|
-
|
|
9005
|
-
height
|
|
9146
|
+
below
|
|
9006
9147
|
} = data;
|
|
9007
9148
|
if (scroll2 < 0 || scroll2 === prevScroll && isScrollUpdate || this.showOnUp && !isScrollUpdate && !this.isFixed) {
|
|
9008
9149
|
return;
|
|
@@ -9015,7 +9156,7 @@
|
|
|
9015
9156
|
if (this.showOnUp && !this.isFixed && Math.abs(data.initScroll - scroll2) <= 30 && Math.abs(prevScroll - scroll2) <= 10) {
|
|
9016
9157
|
return;
|
|
9017
9158
|
}
|
|
9018
|
-
if (this.inactive || scroll2 < start || this.showOnUp && (scroll2 <= start || dir === "down" && isScrollUpdate || dir === "up" && !this.isFixed &&
|
|
9159
|
+
if (this.inactive || scroll2 < start || this.showOnUp && (scroll2 <= start || dir === "down" && isScrollUpdate || dir === "up" && !this.isFixed && !below)) {
|
|
9019
9160
|
if (!this.isFixed) {
|
|
9020
9161
|
if (Animation.inProgress(this.$el) && top > scroll2) {
|
|
9021
9162
|
Animation.cancel(this.$el);
|
|
@@ -9023,7 +9164,7 @@
|
|
|
9023
9164
|
}
|
|
9024
9165
|
return;
|
|
9025
9166
|
}
|
|
9026
|
-
if (this.animation &&
|
|
9167
|
+
if (this.animation && below) {
|
|
9027
9168
|
if (hasClass(this.$el, "uk-animation-leave")) {
|
|
9028
9169
|
return;
|
|
9029
9170
|
}
|
|
@@ -9033,11 +9174,11 @@
|
|
|
9033
9174
|
}
|
|
9034
9175
|
} else if (this.isFixed) {
|
|
9035
9176
|
this.update();
|
|
9036
|
-
} else if (this.animation &&
|
|
9177
|
+
} else if (this.animation && below) {
|
|
9037
9178
|
this.show();
|
|
9038
9179
|
Animation.in(this.$el, this.animation).catch(noop);
|
|
9039
9180
|
} else {
|
|
9040
|
-
preventTransition(this.
|
|
9181
|
+
preventTransition(this.target);
|
|
9041
9182
|
this.show();
|
|
9042
9183
|
}
|
|
9043
9184
|
},
|
|
@@ -9076,11 +9217,9 @@
|
|
|
9076
9217
|
start,
|
|
9077
9218
|
end,
|
|
9078
9219
|
offset,
|
|
9079
|
-
topOffset,
|
|
9080
|
-
height,
|
|
9081
|
-
elHeight,
|
|
9082
9220
|
offsetParentTop,
|
|
9083
|
-
sticky
|
|
9221
|
+
sticky,
|
|
9222
|
+
below
|
|
9084
9223
|
} = this._data;
|
|
9085
9224
|
const active = start !== 0 || scroll2 > start;
|
|
9086
9225
|
if (!sticky) {
|
|
@@ -9093,22 +9232,21 @@
|
|
|
9093
9232
|
}
|
|
9094
9233
|
css(this.$el, "top", offset - overflowScroll);
|
|
9095
9234
|
this.setActive(active);
|
|
9096
|
-
toggleClass(
|
|
9097
|
-
this.$el,
|
|
9098
|
-
this.clsBelow,
|
|
9099
|
-
scroll2 > topOffset + (sticky ? Math.min(height, elHeight) : height)
|
|
9100
|
-
);
|
|
9235
|
+
toggleClass(this.$el, this.clsBelow, below);
|
|
9101
9236
|
addClass(this.$el, this.clsFixed);
|
|
9102
9237
|
},
|
|
9103
9238
|
setActive(active) {
|
|
9104
9239
|
const prev = this.active;
|
|
9105
9240
|
this.active = active;
|
|
9106
9241
|
if (active) {
|
|
9107
|
-
replaceClass(this.
|
|
9242
|
+
replaceClass(this.target, this.clsInactive, this.clsActive);
|
|
9108
9243
|
prev !== active && trigger(this.$el, "active");
|
|
9109
9244
|
} else {
|
|
9110
|
-
replaceClass(this.
|
|
9111
|
-
prev !== active
|
|
9245
|
+
replaceClass(this.target, this.clsActive, this.clsInactive);
|
|
9246
|
+
if (prev !== active) {
|
|
9247
|
+
preventTransition(this.target);
|
|
9248
|
+
trigger(this.$el, "inactive");
|
|
9249
|
+
}
|
|
9112
9250
|
}
|
|
9113
9251
|
}
|
|
9114
9252
|
}
|
|
@@ -9597,9 +9735,11 @@
|
|
|
9597
9735
|
FormCustom: formCustom,
|
|
9598
9736
|
Grid: grid,
|
|
9599
9737
|
HeightMatch: heightMatch,
|
|
9738
|
+
HeightPlaceholder: heightPlaceholder,
|
|
9600
9739
|
HeightViewport: heightViewport,
|
|
9601
9740
|
Icon: Icon,
|
|
9602
9741
|
Img: img,
|
|
9742
|
+
Inverse: inverse,
|
|
9603
9743
|
Leader: leader,
|
|
9604
9744
|
Margin: Margin,
|
|
9605
9745
|
Marker: Marker,
|