uikit 3.14.4-dev.871ba3c05 → 3.14.4-dev.ae765cd84
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 +45 -11
- package/build/util.js +1 -0
- package/dist/css/uikit-core-rtl.css +385 -110
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +385 -110
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +402 -115
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +402 -115
- 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 +7 -5
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +185 -137
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +185 -137
- 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 +4 -5
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +4 -5
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +22 -7
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +4 -5
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +22 -7
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +3 -3
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +97 -135
- 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 +1803 -1709
- package/dist/js/uikit-core.min.js +14 -1
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +1051 -940
- package/dist/js/uikit.min.js +14 -1
- package/package.json +1 -1
- package/src/images/{backgrounds/nav-parent-open.svg → components/nav-parent-icon-large.svg} +0 -0
- package/src/images/components/nav-parent-icon.svg +3 -0
- package/src/images/components/navbar-parent-icon.svg +3 -0
- package/src/images/components/navbar-toggle-icon.svg +22 -3
- package/src/js/api/state.js +2 -2
- package/src/js/components/filter.js +5 -3
- package/src/js/components/sortable.js +2 -3
- package/src/js/core/accordion.js +9 -17
- package/src/js/core/alert.js +35 -14
- package/src/js/core/drop.js +95 -61
- package/src/js/core/height-viewport.js +14 -6
- package/src/js/core/icon.js +16 -0
- package/src/js/core/index.js +2 -0
- package/src/js/core/leader.js +2 -2
- package/src/js/core/navbar.js +44 -30
- package/src/js/core/offcanvas.js +1 -47
- package/src/js/core/scroll.js +37 -10
- package/src/js/core/sticky.js +8 -9
- package/src/js/core/toggle.js +3 -5
- package/src/js/mixin/media.js +4 -5
- package/src/js/mixin/modal.js +97 -8
- package/src/js/mixin/position.js +26 -11
- package/src/js/mixin/slider-drag.js +20 -8
- package/src/js/mixin/style.js +11 -0
- package/src/js/mixin/togglable.js +80 -133
- package/src/js/util/animation.js +4 -3
- package/src/js/util/dimensions.js +6 -6
- package/src/js/util/filter.js +3 -7
- package/src/js/util/position.js +108 -107
- package/src/js/util/style.js +4 -13
- package/src/js/util/viewport.js +5 -32
- package/src/less/components/_import.less +1 -0
- package/src/less/components/drop.less +1 -18
- package/src/less/components/dropbar.less +115 -0
- package/src/less/components/dropdown.less +16 -16
- package/src/less/components/leader.less +1 -1
- package/src/less/components/nav.less +240 -63
- package/src/less/components/navbar.less +81 -38
- package/src/less/components/utility.less +21 -4
- package/src/less/theme/_import.less +1 -0
- package/src/less/theme/dropbar.less +44 -0
- package/src/less/theme/dropdown.less +0 -11
- package/src/less/theme/nav.less +43 -9
- package/src/less/theme/navbar.less +7 -11
- package/src/scss/components/_import.scss +1 -0
- package/src/scss/components/drop.scss +1 -18
- package/src/scss/components/dropbar.scss +115 -0
- package/src/scss/components/dropdown.scss +16 -16
- package/src/scss/components/leader.scss +1 -1
- package/src/scss/components/nav.scss +189 -51
- package/src/scss/components/navbar.scss +69 -38
- package/src/scss/components/utility.scss +19 -3
- package/src/scss/mixins-theme.scss +93 -25
- package/src/scss/mixins.scss +89 -17
- package/src/scss/theme/_import.scss +1 -0
- package/src/scss/theme/dropbar.scss +44 -0
- package/src/scss/theme/dropdown.scss +0 -8
- package/src/scss/theme/nav.scss +41 -9
- package/src/scss/theme/navbar.scss +7 -8
- package/src/scss/variables-theme.scss +71 -18
- package/src/scss/variables.scss +60 -14
- package/tests/accordion.html +2 -2
- package/tests/alert.html +2 -2
- package/tests/countdown.html +1 -1
- package/tests/drop.html +457 -371
- package/tests/dropbar.html +456 -0
- package/tests/dropdown.html +26 -401
- package/tests/filter.html +9 -12
- package/tests/form.html +1 -1
- package/tests/index.html +126 -107
- package/tests/js/index.js +1 -4
- package/tests/lightbox.html +5 -5
- package/tests/list.html +8 -8
- package/tests/modal.html +13 -13
- package/tests/nav.html +117 -75
- package/tests/navbar.html +2002 -1131
- package/tests/offcanvas.html +17 -21
- package/tests/parallax.html +1 -1
- package/tests/position.html +18 -16
- package/tests/progress.html +9 -9
- package/tests/scroll.html +7 -10
- package/tests/search.html +5 -5
- package/tests/slider.html +6 -5
- package/tests/slideshow.html +8 -8
- package/tests/sortable.html +6 -8
- package/tests/sticky-navbar.html +6 -6
- package/tests/sticky.html +8 -8
- package/tests/switcher.html +1 -1
- package/tests/tab.html +1 -1
- package/tests/table.html +7 -7
- package/tests/toggle.html +2 -2
- package/tests/tooltip.html +1 -1
- package/tests/upload.html +11 -11
- package/tests/utility.html +19 -0
- package/src/images/backgrounds/nav-parent-close.svg +0 -3
package/dist/js/uikit-core.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.14.4-dev.
|
|
1
|
+
/*! UIkit 3.14.4-dev.ae765cd84 | https://www.getuikit.com | (c) 2014 - 2022 YOOtheme | MIT License */
|
|
2
2
|
|
|
3
3
|
(function (global, factory) {
|
|
4
4
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -383,12 +383,8 @@
|
|
|
383
383
|
}
|
|
384
384
|
|
|
385
385
|
function closest(element, selector) {
|
|
386
|
-
if (startsWith(selector, '>')) {
|
|
387
|
-
selector = selector.slice(1);
|
|
388
|
-
}
|
|
389
|
-
|
|
390
386
|
return isElement(element) ?
|
|
391
|
-
element.closest(selector) :
|
|
387
|
+
element.closest(startsWith(selector, '>') ? selector.slice(1) : selector) :
|
|
392
388
|
toNodes(element).
|
|
393
389
|
map((element) => closest(element, selector)).
|
|
394
390
|
filter(Boolean);
|
|
@@ -396,8 +392,8 @@
|
|
|
396
392
|
|
|
397
393
|
function within(element, selector) {
|
|
398
394
|
return isString(selector) ?
|
|
399
|
-
|
|
400
|
-
|
|
395
|
+
!!closest(element, selector) :
|
|
396
|
+
toNode(selector).contains(toNode(element));
|
|
401
397
|
}
|
|
402
398
|
|
|
403
399
|
function parents(element, selector) {
|
|
@@ -785,18 +781,11 @@
|
|
|
785
781
|
return elements[0];
|
|
786
782
|
}
|
|
787
783
|
|
|
788
|
-
const propertyRe = /^\s*(["'])?(.*?)\1\s*$/;
|
|
789
|
-
function getCssVar(name, element) {if (element === void 0) {element = document.documentElement;}
|
|
790
|
-
return css(element, "--uk-" + name).replace(propertyRe, '$2');
|
|
791
|
-
}
|
|
792
|
-
|
|
793
784
|
// https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty
|
|
794
785
|
const propName = memoize((name) => vendorPropName(name));
|
|
795
786
|
|
|
796
|
-
const cssPrefixes = ['webkit', 'moz'];
|
|
797
|
-
|
|
798
787
|
function vendorPropName(name) {
|
|
799
|
-
if (name
|
|
788
|
+
if (startsWith(name, '--')) {
|
|
800
789
|
return name;
|
|
801
790
|
}
|
|
802
791
|
|
|
@@ -808,11 +797,8 @@
|
|
|
808
797
|
return name;
|
|
809
798
|
}
|
|
810
799
|
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
while (i--) {
|
|
815
|
-
prefixedName = "-" + cssPrefixes[i] + "-" + name;
|
|
800
|
+
for (const prefix of ['webkit', 'moz']) {
|
|
801
|
+
const prefixedName = "-" + prefix + "-" + name;
|
|
816
802
|
if (prefixedName in style) {
|
|
817
803
|
return prefixedName;
|
|
818
804
|
}
|
|
@@ -913,13 +899,14 @@
|
|
|
913
899
|
const Transition = {
|
|
914
900
|
start: transition,
|
|
915
901
|
|
|
916
|
-
stop(element) {
|
|
902
|
+
async stop(element) {
|
|
917
903
|
trigger(element, 'transitionend');
|
|
918
|
-
|
|
904
|
+
await Promise.resolve();
|
|
919
905
|
},
|
|
920
906
|
|
|
921
|
-
cancel(element) {
|
|
907
|
+
async cancel(element) {
|
|
922
908
|
trigger(element, 'transitioncanceled');
|
|
909
|
+
await Promise.resolve();
|
|
923
910
|
},
|
|
924
911
|
|
|
925
912
|
inProgress(element) {
|
|
@@ -929,7 +916,7 @@
|
|
|
929
916
|
|
|
930
917
|
const animationPrefix = 'uk-animation-';
|
|
931
918
|
|
|
932
|
-
function animate$
|
|
919
|
+
function animate$2(element, animation, duration, origin, out) {if (duration === void 0) {duration = 200;}
|
|
933
920
|
return Promise.all(
|
|
934
921
|
toNodes(element).map(
|
|
935
922
|
(element) =>
|
|
@@ -965,10 +952,10 @@
|
|
|
965
952
|
|
|
966
953
|
const inProgress = new RegExp(animationPrefix + "(enter|leave)");
|
|
967
954
|
const Animation = {
|
|
968
|
-
in: animate$
|
|
955
|
+
in: animate$2,
|
|
969
956
|
|
|
970
957
|
out(element, animation, duration, origin) {
|
|
971
|
-
return animate$
|
|
958
|
+
return animate$2(element, animation, duration, origin, true);
|
|
972
959
|
},
|
|
973
960
|
|
|
974
961
|
inProgress(element) {
|
|
@@ -1060,13 +1047,13 @@
|
|
|
1060
1047
|
}
|
|
1061
1048
|
|
|
1062
1049
|
function offsetPosition(element) {
|
|
1063
|
-
const offset = [0, 0];
|
|
1064
|
-
|
|
1065
1050
|
element = toNode(element);
|
|
1066
1051
|
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1052
|
+
const offset = [element.offsetTop, element.offsetLeft];
|
|
1053
|
+
|
|
1054
|
+
while (element = element.offsetParent) {
|
|
1055
|
+
offset[0] += element.offsetTop + toFloat(css(element, "borderTopWidth"));
|
|
1056
|
+
offset[1] += element.offsetLeft + toFloat(css(element, "borderLeftWidth"));
|
|
1070
1057
|
|
|
1071
1058
|
if (css(element, 'position') === 'fixed') {
|
|
1072
1059
|
const win = toWindow(element);
|
|
@@ -1074,7 +1061,7 @@
|
|
|
1074
1061
|
offset[1] += win.scrollX;
|
|
1075
1062
|
return offset;
|
|
1076
1063
|
}
|
|
1077
|
-
}
|
|
1064
|
+
}
|
|
1078
1065
|
|
|
1079
1066
|
return offset;
|
|
1080
1067
|
}
|
|
@@ -1795,20 +1782,6 @@
|
|
|
1795
1782
|
|
|
1796
1783
|
}
|
|
1797
1784
|
|
|
1798
|
-
function scrollTop(element, top) {
|
|
1799
|
-
if (isWindow(element) || isDocument(element)) {
|
|
1800
|
-
element = scrollingElement(element);
|
|
1801
|
-
} else {
|
|
1802
|
-
element = toNode(element);
|
|
1803
|
-
}
|
|
1804
|
-
|
|
1805
|
-
if (isUndefined(top)) {
|
|
1806
|
-
return element.scrollTop;
|
|
1807
|
-
} else {
|
|
1808
|
-
element.scrollTop = top;
|
|
1809
|
-
}
|
|
1810
|
-
}
|
|
1811
|
-
|
|
1812
1785
|
function scrollIntoView(element, _temp) {let { offset: offsetBy = 0 } = _temp === void 0 ? {} : _temp;
|
|
1813
1786
|
const parents = isVisible(element) ? scrollParents(element) : [];
|
|
1814
1787
|
return parents.reduce(
|
|
@@ -1850,7 +1823,7 @@
|
|
|
1850
1823
|
(function step() {
|
|
1851
1824
|
const percent = ease(clamp((Date.now() - start) / duration));
|
|
1852
1825
|
|
|
1853
|
-
scrollTop
|
|
1826
|
+
element.scrollTop = scroll + top * percent;
|
|
1854
1827
|
|
|
1855
1828
|
// scroll more if we have not reached our destination
|
|
1856
1829
|
if (percent === 1) {
|
|
@@ -1913,12 +1886,10 @@
|
|
|
1913
1886
|
function offsetViewport(scrollElement) {
|
|
1914
1887
|
const window = toWindow(scrollElement);
|
|
1915
1888
|
const {
|
|
1916
|
-
document: {
|
|
1889
|
+
document: { documentElement } } =
|
|
1917
1890
|
window;
|
|
1918
1891
|
let viewportElement =
|
|
1919
|
-
scrollElement === scrollingElement(scrollElement)
|
|
1920
|
-
window :
|
|
1921
|
-
scrollElement;
|
|
1892
|
+
scrollElement === scrollingElement(scrollElement) ? window : scrollElement;
|
|
1922
1893
|
|
|
1923
1894
|
const { visualViewport } = window;
|
|
1924
1895
|
if (isWindow(viewportElement) && visualViewport) {
|
|
@@ -1937,7 +1908,7 @@
|
|
|
1937
1908
|
// iOS 12 returns <body> as scrollingElement
|
|
1938
1909
|
viewportElement = documentElement;
|
|
1939
1910
|
} else {
|
|
1940
|
-
rect[start] += toFloat(css(viewportElement, "border" +
|
|
1911
|
+
rect[start] += toFloat(css(viewportElement, "border-" + start + "-width"));
|
|
1941
1912
|
}
|
|
1942
1913
|
rect[prop] = rect[dir] = viewportElement["client" + ucfirst(prop)];
|
|
1943
1914
|
rect[end] = rect[prop] + rect[start];
|
|
@@ -1962,126 +1933,65 @@
|
|
|
1962
1933
|
...options.attach },
|
|
1963
1934
|
|
|
1964
1935
|
offset: [0, 0],
|
|
1936
|
+
placement: [],
|
|
1965
1937
|
...options };
|
|
1966
1938
|
|
|
1967
1939
|
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
attachTo(element, target, options);
|
|
1971
|
-
|
|
1972
|
-
offset(element, dim);
|
|
1973
|
-
}
|
|
1974
|
-
|
|
1975
|
-
function attachTo(element, target, options) {
|
|
1976
|
-
let { attach, offset: offsetBy } = {
|
|
1977
|
-
attach: {
|
|
1978
|
-
element: ['left', 'top'],
|
|
1979
|
-
target: ['left', 'top'],
|
|
1980
|
-
...options.attach },
|
|
1981
|
-
|
|
1982
|
-
offset: [0, 0],
|
|
1983
|
-
...options };
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
const position = offset(element);
|
|
1987
|
-
const targetOffset = offset(target);
|
|
1988
|
-
for (const [i, [prop, dir, start, end]] of Object.entries(dirs)) {
|
|
1989
|
-
position[start] = position[dir] =
|
|
1990
|
-
targetOffset[start] +
|
|
1991
|
-
moveBy(attach.target[i], end, targetOffset[prop]) -
|
|
1992
|
-
moveBy(attach.element[i], end, position[prop]) +
|
|
1993
|
-
+offsetBy[i];
|
|
1994
|
-
position[end] = position[start] + position[prop];
|
|
1940
|
+
if (!isArray(target)) {
|
|
1941
|
+
target = [target, target];
|
|
1995
1942
|
}
|
|
1996
|
-
return position;
|
|
1997
|
-
}
|
|
1998
1943
|
|
|
1999
|
-
|
|
2000
|
-
return start === 'center' ? dim / 2 : start === end ? dim : 0;
|
|
1944
|
+
offset(element, getPosition(element, target, options));
|
|
2001
1945
|
}
|
|
2002
1946
|
|
|
2003
|
-
function
|
|
1947
|
+
function getPosition(element, target, options) {
|
|
2004
1948
|
const position = attachTo(element, target, options);
|
|
2005
|
-
const targetDim = offset(target);
|
|
2006
1949
|
|
|
2007
1950
|
let {
|
|
2008
|
-
flip,
|
|
2009
1951
|
attach: { element: elAttach, target: targetAttach },
|
|
2010
1952
|
offset: elOffset,
|
|
2011
1953
|
boundary,
|
|
2012
|
-
|
|
2013
|
-
|
|
1954
|
+
viewportOffset,
|
|
1955
|
+
placement } =
|
|
2014
1956
|
options;
|
|
2015
1957
|
|
|
2016
|
-
let
|
|
2017
|
-
|
|
2018
|
-
viewports =
|
|
2019
|
-
|
|
2020
|
-
const [scrollElement] = viewports;
|
|
2021
|
-
viewports.push(viewport);
|
|
2022
|
-
|
|
2023
|
-
const offsetPosition = { ...position };
|
|
2024
|
-
for (const [i, [prop, dir, start, end]] of Object.entries(dirs)) {
|
|
2025
|
-
if (flip !== true && !includes(flip, dir)) {
|
|
2026
|
-
continue;
|
|
2027
|
-
}
|
|
2028
|
-
|
|
2029
|
-
const willFlip =
|
|
2030
|
-
!intersectLine(position, targetDim, i) && intersectLine(position, targetDim, 1 - i);
|
|
1958
|
+
let offsetPosition = position;
|
|
1959
|
+
for (const [i, [prop,, start, end]] of Object.entries(dirs)) {
|
|
1960
|
+
let viewports = scrollParents(target[i]);
|
|
1961
|
+
const [scrollElement] = viewports;
|
|
2031
1962
|
|
|
2032
|
-
viewport = getIntersectionArea(...viewports.
|
|
1963
|
+
let viewport = getIntersectionArea(...viewports.map(offsetViewport));
|
|
2033
1964
|
|
|
2034
1965
|
if (viewportOffset) {
|
|
2035
1966
|
viewport[start] += viewportOffset;
|
|
2036
1967
|
viewport[end] -= viewportOffset;
|
|
2037
1968
|
}
|
|
2038
1969
|
|
|
2039
|
-
if (boundary
|
|
2040
|
-
viewport = getIntersectionArea(viewport,
|
|
1970
|
+
if (boundary) {
|
|
1971
|
+
viewport = getIntersectionArea(viewport, offsetViewport(boundary));
|
|
2041
1972
|
}
|
|
2042
1973
|
|
|
2043
|
-
const
|
|
2044
|
-
const
|
|
1974
|
+
const isInStartViewport = position[start] >= viewport[start];
|
|
1975
|
+
const isInEndViewport = position[end] <= viewport[end];
|
|
2045
1976
|
|
|
2046
|
-
if (
|
|
1977
|
+
if (isInStartViewport && isInEndViewport) {
|
|
2047
1978
|
continue;
|
|
2048
1979
|
}
|
|
2049
1980
|
|
|
2050
|
-
let offsetBy;
|
|
1981
|
+
let offsetBy = 0;
|
|
2051
1982
|
|
|
2052
1983
|
// Flip
|
|
2053
|
-
if (
|
|
1984
|
+
if (placement[i] === 'flip') {
|
|
2054
1985
|
if (
|
|
2055
|
-
|
|
2056
|
-
|
|
1986
|
+
targetAttach[i] === end && isInEndViewport ||
|
|
1987
|
+
targetAttach[i] === start && isInStartViewport)
|
|
2057
1988
|
{
|
|
2058
1989
|
continue;
|
|
2059
1990
|
}
|
|
2060
1991
|
|
|
2061
|
-
offsetBy =
|
|
2062
|
-
(elAttach[i] === start ?
|
|
2063
|
-
-position[prop] :
|
|
2064
|
-
elAttach[i] === end ?
|
|
2065
|
-
position[prop] :
|
|
2066
|
-
0) + (
|
|
2067
|
-
targetAttach[i] === start ?
|
|
2068
|
-
targetDim[prop] :
|
|
2069
|
-
targetAttach[i] === end ?
|
|
2070
|
-
-targetDim[prop] :
|
|
2071
|
-
0) -
|
|
2072
|
-
elOffset[i] * 2;
|
|
2073
|
-
|
|
2074
|
-
if (
|
|
2075
|
-
!isInScrollArea(
|
|
2076
|
-
{
|
|
2077
|
-
...position,
|
|
2078
|
-
[start]: position[start] + offsetBy,
|
|
2079
|
-
[end]: position[end] + offsetBy },
|
|
1992
|
+
offsetBy = flip(element, target, options, i)[start] - position[start];
|
|
2080
1993
|
|
|
2081
|
-
scrollElement,
|
|
2082
|
-
i))
|
|
2083
|
-
|
|
2084
|
-
{
|
|
1994
|
+
if (!isInScrollArea(applyOffset(position, offsetBy, i), scrollElement, i)) {
|
|
2085
1995
|
if (isInScrollArea(position, scrollElement, i)) {
|
|
2086
1996
|
continue;
|
|
2087
1997
|
}
|
|
@@ -2090,26 +2000,27 @@
|
|
|
2090
2000
|
return false;
|
|
2091
2001
|
}
|
|
2092
2002
|
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
target: targetAttach.map(flipDir).reverse() },
|
|
2003
|
+
const newPos = getPosition(element, target, {
|
|
2004
|
+
...options,
|
|
2005
|
+
attach: {
|
|
2006
|
+
element: elAttach.map(flipAxis).reverse(),
|
|
2007
|
+
target: targetAttach.map(flipAxis).reverse() },
|
|
2099
2008
|
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2009
|
+
offset: elOffset.reverse(),
|
|
2010
|
+
placement: placement.reverse(),
|
|
2011
|
+
recursion: true });
|
|
2103
2012
|
|
|
2104
2013
|
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
}
|
|
2014
|
+
if (newPos && isInScrollArea(newPos, scrollElement, 1 - i)) {
|
|
2015
|
+
return newPos;
|
|
2108
2016
|
}
|
|
2017
|
+
|
|
2018
|
+
continue;
|
|
2109
2019
|
}
|
|
2110
2020
|
|
|
2111
|
-
//
|
|
2112
|
-
} else {
|
|
2021
|
+
// Shift
|
|
2022
|
+
} else if (placement[i] === 'shift') {
|
|
2023
|
+
const targetDim = offset(target[i]);
|
|
2113
2024
|
offsetBy =
|
|
2114
2025
|
clamp(
|
|
2115
2026
|
clamp(position[start], viewport[start], viewport[end] - position[prop]),
|
|
@@ -2118,13 +2029,54 @@
|
|
|
2118
2029
|
position[start];
|
|
2119
2030
|
}
|
|
2120
2031
|
|
|
2121
|
-
offsetPosition
|
|
2122
|
-
offsetPosition[end] += offsetBy;
|
|
2032
|
+
offsetPosition = applyOffset(offsetPosition, offsetBy, i);
|
|
2123
2033
|
}
|
|
2124
2034
|
|
|
2125
2035
|
return offsetPosition;
|
|
2126
2036
|
}
|
|
2127
2037
|
|
|
2038
|
+
function attachTo(element, target, options) {
|
|
2039
|
+
let { attach, offset: offsetBy } = {
|
|
2040
|
+
attach: {
|
|
2041
|
+
element: ['left', 'top'],
|
|
2042
|
+
target: ['left', 'top'],
|
|
2043
|
+
...options.attach },
|
|
2044
|
+
|
|
2045
|
+
offset: [0, 0],
|
|
2046
|
+
...options };
|
|
2047
|
+
|
|
2048
|
+
|
|
2049
|
+
let elOffset = offset(element);
|
|
2050
|
+
|
|
2051
|
+
for (const [i, [prop,, start, end]] of Object.entries(dirs)) {
|
|
2052
|
+
const targetOffset =
|
|
2053
|
+
attach.target[i] === attach.element[i] ? offsetViewport(target[i]) : offset(target[i]);
|
|
2054
|
+
|
|
2055
|
+
elOffset = applyOffset(
|
|
2056
|
+
elOffset,
|
|
2057
|
+
targetOffset[start] -
|
|
2058
|
+
elOffset[start] +
|
|
2059
|
+
moveBy(attach.target[i], end, targetOffset[prop]) -
|
|
2060
|
+
moveBy(attach.element[i], end, elOffset[prop]) +
|
|
2061
|
+
+offsetBy[i],
|
|
2062
|
+
i);
|
|
2063
|
+
|
|
2064
|
+
}
|
|
2065
|
+
return elOffset;
|
|
2066
|
+
}
|
|
2067
|
+
|
|
2068
|
+
function applyOffset(position, offset, i) {
|
|
2069
|
+
const [, dir, start, end] = dirs[i];
|
|
2070
|
+
const newPos = { ...position };
|
|
2071
|
+
newPos[start] = position[dir] = position[start] + offset;
|
|
2072
|
+
newPos[end] += offset;
|
|
2073
|
+
return newPos;
|
|
2074
|
+
}
|
|
2075
|
+
|
|
2076
|
+
function moveBy(attach, end, dim) {
|
|
2077
|
+
return attach === 'center' ? dim / 2 : attach === end ? dim : 0;
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2128
2080
|
function getIntersectionArea() {
|
|
2129
2081
|
let area = {};for (var _len = arguments.length, rects = new Array(_len), _key = 0; _key < _len; _key++) {rects[_key] = arguments[_key];}
|
|
2130
2082
|
for (const rect of rects) {
|
|
@@ -2145,12 +2097,32 @@
|
|
|
2145
2097
|
return position[start] >= viewport[start] && position[end] <= viewport[end];
|
|
2146
2098
|
}
|
|
2147
2099
|
|
|
2148
|
-
function
|
|
2149
|
-
|
|
2150
|
-
|
|
2100
|
+
function flip(element, target, _ref, i) {let { offset, attach } = _ref;
|
|
2101
|
+
return attachTo(element, target, {
|
|
2102
|
+
attach: {
|
|
2103
|
+
element: flipAttach(attach.element, i),
|
|
2104
|
+
target: flipAttach(attach.target, i) },
|
|
2105
|
+
|
|
2106
|
+
offset: flipOffset(offset, i) });
|
|
2107
|
+
|
|
2108
|
+
}
|
|
2109
|
+
|
|
2110
|
+
function flipAttach(attach, i) {
|
|
2111
|
+
const newAttach = [...attach];
|
|
2112
|
+
const index = dirs[i].indexOf(attach[i]);
|
|
2113
|
+
if (~index) {
|
|
2114
|
+
newAttach[i] = dirs[i][1 - index % 2 + 2];
|
|
2115
|
+
}
|
|
2116
|
+
return newAttach;
|
|
2117
|
+
}
|
|
2118
|
+
|
|
2119
|
+
function flipOffset(offset, i) {
|
|
2120
|
+
offset = [...offset];
|
|
2121
|
+
offset[i] *= -1;
|
|
2122
|
+
return offset;
|
|
2151
2123
|
}
|
|
2152
2124
|
|
|
2153
|
-
function
|
|
2125
|
+
function flipAxis(prop) {
|
|
2154
2126
|
for (let i = 0; i < dirs.length; i++) {
|
|
2155
2127
|
const index = dirs[i].indexOf(prop);
|
|
2156
2128
|
if (~index) {
|
|
@@ -2165,7 +2137,7 @@
|
|
|
2165
2137
|
getImage: getImage,
|
|
2166
2138
|
transition: transition,
|
|
2167
2139
|
Transition: Transition,
|
|
2168
|
-
animate: animate$
|
|
2140
|
+
animate: animate$2,
|
|
2169
2141
|
Animation: Animation,
|
|
2170
2142
|
attr: attr,
|
|
2171
2143
|
hasAttr: hasAttr,
|
|
@@ -2295,10 +2267,8 @@
|
|
|
2295
2267
|
findAll: findAll,
|
|
2296
2268
|
escape: escape,
|
|
2297
2269
|
css: css,
|
|
2298
|
-
getCssVar: getCssVar,
|
|
2299
2270
|
propName: propName,
|
|
2300
2271
|
isInView: isInView,
|
|
2301
|
-
scrollTop: scrollTop,
|
|
2302
2272
|
scrollIntoView: scrollIntoView,
|
|
2303
2273
|
scrolledOver: scrolledOver,
|
|
2304
2274
|
scrollParents: scrollParents,
|
|
@@ -2621,7 +2591,7 @@
|
|
|
2621
2591
|
|
|
2622
2592
|
value = props[key] === Boolean && value === '' ? true : coerce$1(props[key], value);
|
|
2623
2593
|
|
|
2624
|
-
if (prop === 'target' &&
|
|
2594
|
+
if (prop === 'target' && startsWith(value, '_')) {
|
|
2625
2595
|
continue;
|
|
2626
2596
|
}
|
|
2627
2597
|
|
|
@@ -2632,7 +2602,7 @@
|
|
|
2632
2602
|
|
|
2633
2603
|
for (const key in options) {
|
|
2634
2604
|
const prop = camelize(key);
|
|
2635
|
-
if (props[prop]
|
|
2605
|
+
if (!isUndefined(props[prop])) {
|
|
2636
2606
|
data$1[prop] = coerce$1(props[prop], options[key]);
|
|
2637
2607
|
}
|
|
2638
2608
|
}
|
|
@@ -2961,7 +2931,7 @@
|
|
|
2961
2931
|
UIkit.data = '__uikit__';
|
|
2962
2932
|
UIkit.prefix = 'uk-';
|
|
2963
2933
|
UIkit.options = {};
|
|
2964
|
-
UIkit.version = '3.14.4-dev.
|
|
2934
|
+
UIkit.version = '3.14.4-dev.ae765cd84';
|
|
2965
2935
|
|
|
2966
2936
|
globalAPI(UIkit);
|
|
2967
2937
|
hooksAPI(UIkit);
|
|
@@ -3066,27 +3036,7 @@
|
|
|
3066
3036
|
origin: false,
|
|
3067
3037
|
transition: 'ease',
|
|
3068
3038
|
clsEnter: 'uk-togglabe-enter',
|
|
3069
|
-
clsLeave: 'uk-togglabe-leave',
|
|
3070
|
-
|
|
3071
|
-
initProps: {
|
|
3072
|
-
overflow: '',
|
|
3073
|
-
maxHeight: '',
|
|
3074
|
-
paddingTop: '',
|
|
3075
|
-
paddingBottom: '',
|
|
3076
|
-
marginTop: '',
|
|
3077
|
-
marginBottom: '',
|
|
3078
|
-
boxShadow: '' },
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
hideProps: {
|
|
3082
|
-
overflow: 'hidden',
|
|
3083
|
-
maxHeight: 0,
|
|
3084
|
-
paddingTop: 0,
|
|
3085
|
-
paddingBottom: 0,
|
|
3086
|
-
marginTop: 0,
|
|
3087
|
-
marginBottom: 0,
|
|
3088
|
-
boxShadow: 'none' } },
|
|
3089
|
-
|
|
3039
|
+
clsLeave: 'uk-togglabe-leave' },
|
|
3090
3040
|
|
|
3091
3041
|
|
|
3092
3042
|
computed: {
|
|
@@ -3095,7 +3045,7 @@
|
|
|
3095
3045
|
},
|
|
3096
3046
|
|
|
3097
3047
|
hasTransition(_ref2) {let { animation } = _ref2;
|
|
3098
|
-
return startsWith(animation[0],
|
|
3048
|
+
return ['slide', 'reveal'].some((transition) => startsWith(animation[0], transition));
|
|
3099
3049
|
} },
|
|
3100
3050
|
|
|
3101
3051
|
|
|
@@ -3188,130 +3138,97 @@
|
|
|
3188
3138
|
};
|
|
3189
3139
|
}
|
|
3190
3140
|
|
|
3191
|
-
function toggleTransition(cmp) {
|
|
3192
|
-
|
|
3193
|
-
case 'slide-left':
|
|
3194
|
-
return slideHorizontal(cmp);
|
|
3195
|
-
case 'slide-right':
|
|
3196
|
-
return slideHorizontal(cmp, true);}
|
|
3197
|
-
|
|
3198
|
-
return slide(cmp);
|
|
3199
|
-
}
|
|
3200
|
-
|
|
3201
|
-
function slide(_ref4)
|
|
3202
|
-
|
|
3141
|
+
function toggleTransition(cmp) {var _cmp$animation$;
|
|
3142
|
+
const [mode = 'reveal', startProp = 'top'] = ((_cmp$animation$ = cmp.animation[0]) == null ? void 0 : _cmp$animation$.split('-')) || [];
|
|
3203
3143
|
|
|
3144
|
+
const dirs = [
|
|
3145
|
+
['left', 'right'],
|
|
3146
|
+
['top', 'bottom']];
|
|
3204
3147
|
|
|
3148
|
+
const dir = dirs[includes(dirs[0], startProp) ? 0 : 1];
|
|
3149
|
+
const end = dir[1] === startProp;
|
|
3150
|
+
const props = ['width', 'height'];
|
|
3151
|
+
const dimProp = props[dirs.indexOf(dir)];
|
|
3152
|
+
const marginProp = "margin-" + dir[0];
|
|
3153
|
+
const marginStartProp = "margin-" + startProp;
|
|
3205
3154
|
|
|
3155
|
+
return async (el, show) => {
|
|
3156
|
+
let { duration, velocity, transition, _toggle } = cmp;
|
|
3206
3157
|
|
|
3158
|
+
let currentDim = dimensions(el)[dimProp];
|
|
3207
3159
|
|
|
3208
|
-
|
|
3209
|
-
{let { isToggled, duration, velocity, initProps, hideProps, transition, _toggle } = _ref4;
|
|
3210
|
-
return (el, show) => {
|
|
3211
3160
|
const inProgress = Transition.inProgress(el);
|
|
3212
|
-
|
|
3213
|
-
!inProgress && el.hasChildNodes() ?
|
|
3214
|
-
toFloat(css(el.firstElementChild, 'marginTop')) +
|
|
3215
|
-
toFloat(css(el.lastElementChild, 'marginBottom')) :
|
|
3216
|
-
0;
|
|
3217
|
-
const currentHeight = isVisible(el) ? toFloat(css(el, 'height')) + inner : 0;
|
|
3218
|
-
|
|
3219
|
-
const props = inProgress ? css(el, Object.keys(initProps)) : show ? hideProps : initProps;
|
|
3220
|
-
|
|
3221
|
-
Transition.cancel(el);
|
|
3161
|
+
await Transition.cancel(el);
|
|
3222
3162
|
|
|
3223
|
-
if (
|
|
3163
|
+
if (show) {
|
|
3224
3164
|
_toggle(el, true);
|
|
3225
3165
|
}
|
|
3226
3166
|
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
fastdom.flush();
|
|
3231
|
-
|
|
3232
|
-
const endHeight = toFloat(css(el, 'height')) + inner;
|
|
3233
|
-
duration = velocity * endHeight + duration;
|
|
3234
|
-
|
|
3235
|
-
css(el, { ...props, maxHeight: currentHeight });
|
|
3236
|
-
|
|
3237
|
-
return (
|
|
3238
|
-
show ?
|
|
3239
|
-
Transition.start(
|
|
3240
|
-
el,
|
|
3241
|
-
{ ...initProps, overflow: 'hidden', maxHeight: endHeight },
|
|
3242
|
-
duration * (1 - currentHeight / endHeight),
|
|
3243
|
-
transition) :
|
|
3244
|
-
|
|
3245
|
-
Transition.start(
|
|
3246
|
-
el,
|
|
3247
|
-
hideProps,
|
|
3248
|
-
duration * (currentHeight / endHeight),
|
|
3249
|
-
transition).
|
|
3250
|
-
then(() => _toggle(el, false))).
|
|
3251
|
-
then(() => css(el, initProps));
|
|
3252
|
-
};
|
|
3253
|
-
}
|
|
3167
|
+
const prevProps = Object.fromEntries(
|
|
3168
|
+
['padding', 'border', 'width', 'height', 'overflow', marginProp, marginStartProp].map(
|
|
3169
|
+
(key) => [key, el.style[key]]));
|
|
3254
3170
|
|
|
3255
|
-
function slideHorizontal(_ref5, right) {let { isToggled, duration, velocity, transition, _toggle } = _ref5;
|
|
3256
|
-
return (el, show) => {
|
|
3257
|
-
const visible = isVisible(el);
|
|
3258
|
-
const marginLeft = toFloat(css(el, 'marginLeft'));
|
|
3259
3171
|
|
|
3260
|
-
Transition.cancel(el);
|
|
3261
3172
|
|
|
3262
|
-
const
|
|
3263
|
-
css(
|
|
3173
|
+
const dim = dimensions(el);
|
|
3174
|
+
const currentMargin = toFloat(css(el, marginProp));
|
|
3175
|
+
const marginStart = toFloat(css(el, marginStartProp));
|
|
3176
|
+
const endDim = dim[dimProp] + marginStart;
|
|
3264
3177
|
|
|
3265
|
-
if (!
|
|
3266
|
-
|
|
3178
|
+
if (!inProgress && !show) {
|
|
3179
|
+
currentDim += marginStart;
|
|
3267
3180
|
}
|
|
3268
3181
|
|
|
3269
|
-
const
|
|
3270
|
-
|
|
3182
|
+
const [wrapper] = wrapInner(el, '<div>');
|
|
3183
|
+
css(wrapper, {
|
|
3184
|
+
boxSizing: 'border-box',
|
|
3185
|
+
height: dim.height,
|
|
3186
|
+
width: dim.width,
|
|
3187
|
+
...css(el, [
|
|
3188
|
+
'padding',
|
|
3189
|
+
'borderTop',
|
|
3190
|
+
'borderRight',
|
|
3191
|
+
'borderBottom',
|
|
3192
|
+
'borderLeft',
|
|
3193
|
+
'borderImage',
|
|
3194
|
+
marginStartProp]) });
|
|
3271
3195
|
|
|
3272
|
-
const percent = visible ? (width + marginLeft * (right ? -1 : 1)) / width * 100 : 0;
|
|
3273
|
-
const offsetEl = offset(el);
|
|
3274
|
-
const useClipPath = right ?
|
|
3275
|
-
offsetEl.right < scrollElement.clientWidth :
|
|
3276
|
-
Math.round(offsetEl.left) > 0;
|
|
3277
3196
|
|
|
3278
|
-
css(el, {
|
|
3279
|
-
clipPath: useClipPath ?
|
|
3280
|
-
right ? "polygon(0 0," +
|
|
3281
|
-
percent + "% 0," + percent + "% 100%,0 100%)" : "polygon(" + (
|
|
3282
|
-
100 - percent) + "% 0,100% 0,100% 100%," + (100 - percent) + "% 100%)" :
|
|
3283
|
-
'',
|
|
3284
|
-
marginLeft: (100 - percent) * (right ? 1 : -1) / 100 * width });
|
|
3285
3197
|
|
|
3198
|
+
css(el, {
|
|
3199
|
+
padding: 0,
|
|
3200
|
+
border: 0,
|
|
3201
|
+
[marginStartProp]: 0,
|
|
3202
|
+
width: dim.width,
|
|
3203
|
+
height: dim.height,
|
|
3204
|
+
overflow: 'hidden',
|
|
3205
|
+
[dimProp]: currentDim });
|
|
3286
3206
|
|
|
3287
|
-
return (
|
|
3288
|
-
show ?
|
|
3289
|
-
Transition.start(
|
|
3290
|
-
el,
|
|
3291
|
-
{
|
|
3292
|
-
clipPath: useClipPath ? "polygon(0 0,100% 0,100% 100%,0 100%)" : '',
|
|
3293
|
-
marginLeft: 0 },
|
|
3294
3207
|
|
|
3295
|
-
|
|
3296
|
-
|
|
3208
|
+
const percent = currentDim / endDim;
|
|
3209
|
+
duration = (velocity * endDim + duration) * (show ? 1 - percent : percent);
|
|
3210
|
+
const endProps = { [dimProp]: show ? endDim : 0 };
|
|
3297
3211
|
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
right ? "polygon(0 0,0 0,0 100%,0 100%)" : "polygon(100% 0,100% 0,100% 100%,100% 100%)" :
|
|
3212
|
+
if (end) {
|
|
3213
|
+
css(el, marginProp, endDim - currentDim + currentMargin);
|
|
3214
|
+
endProps[marginProp] = show ? currentMargin : endDim + currentMargin;
|
|
3215
|
+
}
|
|
3303
3216
|
|
|
3217
|
+
if (!end ^ mode === 'reveal') {
|
|
3218
|
+
css(wrapper, marginProp, -endDim + currentDim);
|
|
3219
|
+
Transition.start(wrapper, { [marginProp]: show ? 0 : -endDim }, duration, transition);
|
|
3220
|
+
}
|
|
3304
3221
|
|
|
3305
|
-
|
|
3306
|
-
|
|
3222
|
+
try {
|
|
3223
|
+
await Transition.start(el, endProps, duration, transition);
|
|
3224
|
+
} finally {
|
|
3225
|
+
css(el, prevProps);
|
|
3226
|
+
unwrap(wrapper.firstChild);
|
|
3307
3227
|
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
css(scrollElement, 'overflowX', '');
|
|
3313
|
-
css(el, { clipPath: '', marginLeft: '' });
|
|
3314
|
-
});
|
|
3228
|
+
if (!show) {
|
|
3229
|
+
_toggle(el, false);
|
|
3230
|
+
}
|
|
3231
|
+
}
|
|
3315
3232
|
};
|
|
3316
3233
|
}
|
|
3317
3234
|
|
|
@@ -3336,6 +3253,7 @@
|
|
|
3336
3253
|
mixins: [Class, Lazyload, Togglable],
|
|
3337
3254
|
|
|
3338
3255
|
props: {
|
|
3256
|
+
animation: Boolean,
|
|
3339
3257
|
targets: String,
|
|
3340
3258
|
active: null,
|
|
3341
3259
|
collapsible: Boolean,
|
|
@@ -3348,7 +3266,7 @@
|
|
|
3348
3266
|
data: {
|
|
3349
3267
|
targets: '> *',
|
|
3350
3268
|
active: false,
|
|
3351
|
-
animation:
|
|
3269
|
+
animation: true,
|
|
3352
3270
|
collapsible: true,
|
|
3353
3271
|
multiple: false,
|
|
3354
3272
|
clsOpen: 'uk-open',
|
|
@@ -3394,7 +3312,7 @@
|
|
|
3394
3312
|
hide(
|
|
3395
3313
|
el,
|
|
3396
3314
|
!hasClass(
|
|
3397
|
-
this.items.find((item) =>
|
|
3315
|
+
this.items.find((item) => within(el, item)),
|
|
3398
3316
|
this.clsOpen));
|
|
3399
3317
|
|
|
3400
3318
|
|
|
@@ -3446,23 +3364,15 @@
|
|
|
3446
3364
|
toggleClass(el, this.clsOpen, show);
|
|
3447
3365
|
attr($(this.$props.toggle, el), 'aria-expanded', show);
|
|
3448
3366
|
|
|
3449
|
-
const content = $(
|
|
3367
|
+
const content = $(this.content, el);
|
|
3450
3368
|
|
|
3451
|
-
if (animate === false || !this.
|
|
3369
|
+
if (animate === false || !this.animation) {
|
|
3370
|
+
content.hidden = !show;
|
|
3452
3371
|
hide(content, !show);
|
|
3453
3372
|
return;
|
|
3454
3373
|
}
|
|
3455
3374
|
|
|
3456
|
-
|
|
3457
|
-
el._wrapper = wrapAll(content, "<div" + (show ? ' hidden' : '') + ">");
|
|
3458
|
-
}
|
|
3459
|
-
|
|
3460
|
-
hide(content, false);
|
|
3461
|
-
await slide(this)(el._wrapper, show);
|
|
3462
|
-
hide(content, !show);
|
|
3463
|
-
|
|
3464
|
-
delete el._wrapper;
|
|
3465
|
-
unwrap(content);
|
|
3375
|
+
await toggleTransition(this)(content, show);
|
|
3466
3376
|
|
|
3467
3377
|
if (show) {
|
|
3468
3378
|
const toggle = $(this.$props.toggle, el);
|
|
@@ -3488,18 +3398,17 @@
|
|
|
3488
3398
|
args: 'animation',
|
|
3489
3399
|
|
|
3490
3400
|
props: {
|
|
3401
|
+
animation: Boolean,
|
|
3491
3402
|
close: String },
|
|
3492
3403
|
|
|
3493
3404
|
|
|
3494
3405
|
data: {
|
|
3495
|
-
animation:
|
|
3406
|
+
animation: true,
|
|
3496
3407
|
selClose: '.uk-alert-close',
|
|
3497
|
-
duration: 150,
|
|
3498
|
-
hideProps: { opacity: 0, ...Togglable.data.hideProps } },
|
|
3408
|
+
duration: 150 },
|
|
3499
3409
|
|
|
3500
3410
|
|
|
3501
|
-
events:
|
|
3502
|
-
{
|
|
3411
|
+
events: {
|
|
3503
3412
|
name: 'click',
|
|
3504
3413
|
|
|
3505
3414
|
delegate() {
|
|
@@ -3509,16 +3418,39 @@
|
|
|
3509
3418
|
handler(e) {
|
|
3510
3419
|
e.preventDefault();
|
|
3511
3420
|
this.close();
|
|
3512
|
-
} }
|
|
3513
|
-
|
|
3421
|
+
} },
|
|
3514
3422
|
|
|
3515
3423
|
|
|
3516
3424
|
methods: {
|
|
3517
3425
|
async close() {
|
|
3518
|
-
await this.toggleElement(this.$el);
|
|
3426
|
+
await this.toggleElement(this.$el, false, animate$1(this));
|
|
3519
3427
|
this.$destroy(true);
|
|
3520
3428
|
} } };
|
|
3521
3429
|
|
|
3430
|
+
|
|
3431
|
+
|
|
3432
|
+
function animate$1(_ref) {let { duration, transition, velocity } = _ref;
|
|
3433
|
+
return (el) => {
|
|
3434
|
+
const height = toFloat(css(el, 'height'));
|
|
3435
|
+
css(el, 'height', height);
|
|
3436
|
+
return Transition.start(
|
|
3437
|
+
el,
|
|
3438
|
+
{
|
|
3439
|
+
height: 0,
|
|
3440
|
+
marginTop: 0,
|
|
3441
|
+
marginBottom: 0,
|
|
3442
|
+
paddingTop: 0,
|
|
3443
|
+
paddingBottom: 0,
|
|
3444
|
+
borderTop: 0,
|
|
3445
|
+
borderBottom: 0,
|
|
3446
|
+
opacity: 0 },
|
|
3447
|
+
|
|
3448
|
+
velocity * height + duration,
|
|
3449
|
+
transition);
|
|
3450
|
+
|
|
3451
|
+
};
|
|
3452
|
+
}
|
|
3453
|
+
|
|
3522
3454
|
var Video = {
|
|
3523
3455
|
args: 'autoplay',
|
|
3524
3456
|
|
|
@@ -3667,13 +3599,17 @@
|
|
|
3667
3599
|
props: {
|
|
3668
3600
|
pos: String,
|
|
3669
3601
|
offset: null,
|
|
3670
|
-
flip: Boolean
|
|
3602
|
+
flip: Boolean,
|
|
3603
|
+
shift: Boolean,
|
|
3604
|
+
inset: Boolean },
|
|
3671
3605
|
|
|
3672
3606
|
|
|
3673
3607
|
data: {
|
|
3674
3608
|
pos: "bottom-" + (isRtl ? 'right' : 'left'),
|
|
3609
|
+
offset: false,
|
|
3675
3610
|
flip: true,
|
|
3676
|
-
|
|
3611
|
+
shift: true,
|
|
3612
|
+
inset: false },
|
|
3677
3613
|
|
|
3678
3614
|
|
|
3679
3615
|
connected() {
|
|
@@ -3685,19 +3621,24 @@
|
|
|
3685
3621
|
methods: {
|
|
3686
3622
|
positionAt(element, target, boundary) {
|
|
3687
3623
|
let offset = [this.getPositionOffset(element), this.getShiftOffset(element)];
|
|
3624
|
+
const placement = [this.flip && 'flip', this.shift && 'shift'];
|
|
3688
3625
|
|
|
3689
3626
|
const attach = {
|
|
3690
|
-
element: [flipPosition(this.dir), this.align],
|
|
3627
|
+
element: [this.inset ? this.dir : flipPosition(this.dir), this.align],
|
|
3691
3628
|
target: [this.dir, this.align] };
|
|
3692
3629
|
|
|
3693
3630
|
|
|
3694
3631
|
if (this.axis === 'y') {
|
|
3695
3632
|
for (const prop in attach) {
|
|
3696
|
-
attach[prop]
|
|
3633
|
+
attach[prop].reverse();
|
|
3697
3634
|
}
|
|
3698
|
-
offset
|
|
3635
|
+
offset.reverse();
|
|
3636
|
+
placement.reverse();
|
|
3699
3637
|
}
|
|
3700
3638
|
|
|
3639
|
+
const [scrollElement] = scrollParents(element, /auto|scroll/);
|
|
3640
|
+
const { scrollTop, scrollLeft } = scrollElement;
|
|
3641
|
+
|
|
3701
3642
|
// Ensure none positioned element does not generate scrollbars
|
|
3702
3643
|
const elDim = dimensions(element);
|
|
3703
3644
|
css(element, { top: -elDim.height, left: -elDim.width });
|
|
@@ -3706,93 +3647,88 @@
|
|
|
3706
3647
|
attach,
|
|
3707
3648
|
offset,
|
|
3708
3649
|
boundary,
|
|
3709
|
-
|
|
3650
|
+
placement,
|
|
3710
3651
|
viewportOffset: this.getViewportOffset(element) });
|
|
3711
3652
|
|
|
3653
|
+
|
|
3654
|
+
// Restore scroll position
|
|
3655
|
+
scrollElement.scrollTop = scrollTop;
|
|
3656
|
+
scrollElement.scrollLeft = scrollLeft;
|
|
3712
3657
|
},
|
|
3713
3658
|
|
|
3714
3659
|
getPositionOffset(element) {
|
|
3715
3660
|
return (
|
|
3716
3661
|
toPx(
|
|
3717
|
-
this.offset === false ?
|
|
3662
|
+
this.offset === false ? css(element, '--uk-position-offset') : this.offset,
|
|
3718
3663
|
this.axis === 'x' ? 'width' : 'height',
|
|
3719
3664
|
element) * (
|
|
3720
|
-
|
|
3665
|
+
|
|
3666
|
+
includes(['left', 'top'], this.dir) ? -1 : 1) * (
|
|
3667
|
+
this.inset ? -1 : 1));
|
|
3721
3668
|
|
|
3722
3669
|
},
|
|
3723
3670
|
|
|
3724
3671
|
getShiftOffset(element) {
|
|
3725
|
-
return
|
|
3672
|
+
return this.align === 'center' ?
|
|
3726
3673
|
0 :
|
|
3727
3674
|
toPx(
|
|
3728
|
-
|
|
3675
|
+
css(element, '--uk-position-shift-offset'),
|
|
3729
3676
|
this.axis === 'y' ? 'width' : 'height',
|
|
3730
3677
|
element) * (
|
|
3731
3678
|
includes(['left', 'top'], this.align) ? 1 : -1);
|
|
3732
3679
|
},
|
|
3733
3680
|
|
|
3734
3681
|
getViewportOffset(element) {
|
|
3735
|
-
return toPx(
|
|
3682
|
+
return toPx(css(element, '--uk-position-viewport-offset'));
|
|
3736
3683
|
} } };
|
|
3737
3684
|
|
|
3738
|
-
|
|
3685
|
+
var Style = {
|
|
3686
|
+
beforeConnect() {
|
|
3687
|
+
this._style = attr(this.$el, 'style');
|
|
3688
|
+
},
|
|
3689
|
+
|
|
3690
|
+
disconnected() {
|
|
3691
|
+
attr(this.$el, 'style', this._style);
|
|
3692
|
+
} };
|
|
3739
3693
|
|
|
3740
|
-
|
|
3741
|
-
mixins: [Container, Lazyload, Position, Togglable],
|
|
3694
|
+
const active$1 = [];
|
|
3742
3695
|
|
|
3743
|
-
|
|
3696
|
+
var Modal = {
|
|
3697
|
+
mixins: [Class, Container, Togglable],
|
|
3744
3698
|
|
|
3745
3699
|
props: {
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
delayHide: Number,
|
|
3752
|
-
display: String,
|
|
3753
|
-
clsDrop: String,
|
|
3754
|
-
animateOut: Boolean },
|
|
3700
|
+
selPanel: String,
|
|
3701
|
+
selClose: String,
|
|
3702
|
+
escClose: Boolean,
|
|
3703
|
+
bgClose: Boolean,
|
|
3704
|
+
stack: Boolean },
|
|
3755
3705
|
|
|
3756
3706
|
|
|
3757
3707
|
data: {
|
|
3758
|
-
mode: ['click', 'hover'],
|
|
3759
|
-
toggle: '- *',
|
|
3760
|
-
boundary: true,
|
|
3761
|
-
boundaryAlign: false,
|
|
3762
|
-
delayShow: 0,
|
|
3763
|
-
delayHide: 800,
|
|
3764
|
-
display: null,
|
|
3765
|
-
clsDrop: false,
|
|
3766
|
-
animation: ['uk-animation-fade'],
|
|
3767
3708
|
cls: 'uk-open',
|
|
3768
|
-
|
|
3769
|
-
|
|
3709
|
+
escClose: true,
|
|
3710
|
+
bgClose: true,
|
|
3711
|
+
overlay: true,
|
|
3712
|
+
stack: false },
|
|
3770
3713
|
|
|
3771
3714
|
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3715
|
+
computed: {
|
|
3716
|
+
panel(_ref, $el) {let { selPanel } = _ref;
|
|
3717
|
+
return $(selPanel, $el);
|
|
3718
|
+
},
|
|
3775
3719
|
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3720
|
+
transitionElement() {
|
|
3721
|
+
return this.panel;
|
|
3722
|
+
},
|
|
3779
3723
|
|
|
3780
|
-
|
|
3781
|
-
|
|
3724
|
+
bgClose(_ref2) {let { bgClose } = _ref2;
|
|
3725
|
+
return bgClose && this.panel;
|
|
3726
|
+
} },
|
|
3782
3727
|
|
|
3783
|
-
if (this.toggle && !this.target) {
|
|
3784
|
-
this.target = this.$create('toggle', query(this.toggle, this.$el), {
|
|
3785
|
-
target: this.$el,
|
|
3786
|
-
mode: this.mode }).
|
|
3787
|
-
$el;
|
|
3788
|
-
attr(this.target, 'aria-haspopup', true);
|
|
3789
|
-
this.lazyload(this.target);
|
|
3790
|
-
}
|
|
3791
|
-
},
|
|
3792
3728
|
|
|
3793
|
-
|
|
3794
|
-
if (this
|
|
3795
|
-
|
|
3729
|
+
beforeDisconnect() {
|
|
3730
|
+
if (includes(active$1, this)) {
|
|
3731
|
+
this.toggleElement(this.$el, false, false);
|
|
3796
3732
|
}
|
|
3797
3733
|
},
|
|
3798
3734
|
|
|
@@ -3801,1776 +3737,1940 @@
|
|
|
3801
3737
|
name: 'click',
|
|
3802
3738
|
|
|
3803
3739
|
delegate() {
|
|
3804
|
-
return
|
|
3740
|
+
return this.selClose;
|
|
3805
3741
|
},
|
|
3806
3742
|
|
|
3807
3743
|
handler(e) {
|
|
3808
3744
|
e.preventDefault();
|
|
3809
|
-
this.hide(
|
|
3745
|
+
this.hide();
|
|
3810
3746
|
} },
|
|
3811
3747
|
|
|
3812
3748
|
|
|
3813
3749
|
{
|
|
3814
|
-
name: '
|
|
3750
|
+
name: 'toggle',
|
|
3815
3751
|
|
|
3816
|
-
|
|
3817
|
-
return 'a[href^="#"]';
|
|
3818
|
-
},
|
|
3752
|
+
self: true,
|
|
3819
3753
|
|
|
3820
|
-
handler(
|
|
3821
|
-
if (
|
|
3822
|
-
|
|
3754
|
+
handler(e) {
|
|
3755
|
+
if (e.defaultPrevented) {
|
|
3756
|
+
return;
|
|
3823
3757
|
}
|
|
3824
|
-
} },
|
|
3825
|
-
|
|
3826
3758
|
|
|
3827
|
-
|
|
3828
|
-
name: 'beforescroll',
|
|
3759
|
+
e.preventDefault();
|
|
3829
3760
|
|
|
3830
|
-
|
|
3831
|
-
|
|
3761
|
+
if (this.isToggled() === includes(active$1, this)) {
|
|
3762
|
+
this.toggle();
|
|
3763
|
+
}
|
|
3832
3764
|
} },
|
|
3833
3765
|
|
|
3834
3766
|
|
|
3835
3767
|
{
|
|
3836
|
-
name: '
|
|
3768
|
+
name: 'beforeshow',
|
|
3837
3769
|
|
|
3838
3770
|
self: true,
|
|
3839
3771
|
|
|
3840
|
-
handler(e
|
|
3841
|
-
|
|
3772
|
+
handler(e) {
|
|
3773
|
+
if (includes(active$1, this)) {
|
|
3774
|
+
return false;
|
|
3775
|
+
}
|
|
3842
3776
|
|
|
3843
|
-
if (this.
|
|
3844
|
-
|
|
3777
|
+
if (!this.stack && active$1.length) {
|
|
3778
|
+
Promise.all(active$1.map((modal) => modal.hide())).then(this.show);
|
|
3779
|
+
e.preventDefault();
|
|
3845
3780
|
} else {
|
|
3846
|
-
|
|
3781
|
+
active$1.push(this);
|
|
3847
3782
|
}
|
|
3848
3783
|
} },
|
|
3849
3784
|
|
|
3850
3785
|
|
|
3851
3786
|
{
|
|
3852
|
-
name: '
|
|
3787
|
+
name: 'show',
|
|
3853
3788
|
|
|
3854
3789
|
self: true,
|
|
3855
3790
|
|
|
3856
|
-
handler(
|
|
3857
|
-
|
|
3858
|
-
this
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
self: true,
|
|
3866
|
-
|
|
3867
|
-
handler(e) {
|
|
3868
|
-
e.preventDefault();
|
|
3869
|
-
if (!matches(this.$el, ':focus,:hover')) {
|
|
3870
|
-
this.hide();
|
|
3871
|
-
}
|
|
3872
|
-
} },
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
{
|
|
3876
|
-
name: pointerEnter + " focusin",
|
|
3877
|
-
|
|
3878
|
-
filter() {
|
|
3879
|
-
return includes(this.mode, 'hover');
|
|
3880
|
-
},
|
|
3881
|
-
|
|
3882
|
-
handler(e) {
|
|
3883
|
-
if (!isTouch(e)) {
|
|
3884
|
-
this.clearTimers();
|
|
3885
|
-
}
|
|
3886
|
-
} },
|
|
3887
|
-
|
|
3888
|
-
|
|
3889
|
-
{
|
|
3890
|
-
name: pointerLeave + " focusout",
|
|
3791
|
+
handler() {
|
|
3792
|
+
once(
|
|
3793
|
+
this.$el,
|
|
3794
|
+
'hide',
|
|
3795
|
+
on(document, 'focusin', (e) => {
|
|
3796
|
+
if (last(active$1) === this && !within(e.target, this.$el)) {
|
|
3797
|
+
this.$el.focus();
|
|
3798
|
+
}
|
|
3799
|
+
}));
|
|
3891
3800
|
|
|
3892
|
-
filter() {
|
|
3893
|
-
return includes(this.mode, 'hover');
|
|
3894
|
-
},
|
|
3895
3801
|
|
|
3896
|
-
|
|
3897
|
-
|
|
3898
|
-
this
|
|
3802
|
+
if (this.overlay) {
|
|
3803
|
+
once(this.$el, 'hidden', preventOverscroll(this.$el));
|
|
3804
|
+
once(this.$el, 'hidden', preventBackgroundScroll());
|
|
3899
3805
|
}
|
|
3900
|
-
} },
|
|
3901
|
-
|
|
3902
3806
|
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
self: true,
|
|
3907
|
-
|
|
3908
|
-
handler(e, toggled) {
|
|
3909
|
-
if (!toggled) {
|
|
3910
|
-
return;
|
|
3807
|
+
if (this.stack) {
|
|
3808
|
+
css(this.$el, 'zIndex', toFloat(css(this.$el, 'zIndex')) + active$1.length);
|
|
3911
3809
|
}
|
|
3912
3810
|
|
|
3913
|
-
this.
|
|
3914
|
-
this.position();
|
|
3915
|
-
} },
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
{
|
|
3919
|
-
name: 'show',
|
|
3920
|
-
|
|
3921
|
-
self: true,
|
|
3922
|
-
|
|
3923
|
-
handler() {
|
|
3924
|
-
active$1 = this;
|
|
3811
|
+
addClass(document.documentElement, this.clsPage);
|
|
3925
3812
|
|
|
3926
|
-
this.
|
|
3813
|
+
if (this.bgClose) {
|
|
3814
|
+
once(
|
|
3815
|
+
this.$el,
|
|
3816
|
+
'hide',
|
|
3817
|
+
on(document, pointerDown, (_ref3) => {let { target } = _ref3;
|
|
3818
|
+
if (
|
|
3819
|
+
last(active$1) !== this ||
|
|
3820
|
+
this.overlay && !within(target, this.$el) ||
|
|
3821
|
+
within(target, this.panel))
|
|
3822
|
+
{
|
|
3823
|
+
return;
|
|
3824
|
+
}
|
|
3927
3825
|
|
|
3928
|
-
for (const handler of [
|
|
3929
|
-
on(
|
|
3930
|
-
document,
|
|
3931
|
-
pointerDown,
|
|
3932
|
-
(_ref2) => {let { target } = _ref2;return (
|
|
3933
|
-
!within(target, this.$el) &&
|
|
3934
3826
|
once(
|
|
3935
3827
|
document,
|
|
3936
3828
|
pointerUp + " " + pointerCancel + " scroll",
|
|
3937
|
-
(
|
|
3829
|
+
(_ref4) => {let { defaultPrevented, type, target: newTarget } = _ref4;
|
|
3938
3830
|
if (
|
|
3939
3831
|
!defaultPrevented &&
|
|
3940
3832
|
type === pointerUp &&
|
|
3941
|
-
target === newTarget
|
|
3942
|
-
!(this.target && within(target, this.target)))
|
|
3833
|
+
target === newTarget)
|
|
3943
3834
|
{
|
|
3944
|
-
this.hide(
|
|
3835
|
+
this.hide();
|
|
3945
3836
|
}
|
|
3946
3837
|
},
|
|
3947
|
-
true)
|
|
3948
|
-
|
|
3949
|
-
|
|
3838
|
+
true);
|
|
3950
3839
|
|
|
3951
|
-
|
|
3952
|
-
|
|
3953
|
-
this.hide(false);
|
|
3954
|
-
}
|
|
3955
|
-
}),
|
|
3840
|
+
}),
|
|
3841
|
+
{ self: true });
|
|
3956
3842
|
|
|
3957
|
-
|
|
3958
|
-
[] :
|
|
3959
|
-
(() => {
|
|
3960
|
-
const handler = () => this.$emit();
|
|
3961
|
-
return [
|
|
3962
|
-
on(window, 'resize', handler),
|
|
3963
|
-
on(document, 'scroll', handler, true),
|
|
3964
|
-
(() => {
|
|
3965
|
-
const observer = observeResize(
|
|
3966
|
-
scrollParents(this.$el),
|
|
3967
|
-
handler);
|
|
3843
|
+
}
|
|
3968
3844
|
|
|
3969
|
-
|
|
3970
|
-
|
|
3845
|
+
if (this.escClose) {
|
|
3846
|
+
once(
|
|
3847
|
+
this.$el,
|
|
3848
|
+
'hide',
|
|
3849
|
+
on(document, 'keydown', (e) => {
|
|
3850
|
+
if (e.keyCode === 27 && last(active$1) === this) {
|
|
3851
|
+
this.hide();
|
|
3852
|
+
}
|
|
3853
|
+
}),
|
|
3854
|
+
{ self: true });
|
|
3971
3855
|
|
|
3972
|
-
})())])
|
|
3973
|
-
{
|
|
3974
|
-
once(this.$el, 'hide', handler, { self: true });
|
|
3975
3856
|
}
|
|
3976
3857
|
} },
|
|
3977
3858
|
|
|
3978
3859
|
|
|
3979
3860
|
{
|
|
3980
|
-
name: '
|
|
3861
|
+
name: 'shown',
|
|
3981
3862
|
|
|
3982
3863
|
self: true,
|
|
3983
3864
|
|
|
3984
3865
|
handler() {
|
|
3985
|
-
this
|
|
3866
|
+
if (!isFocusable(this.$el)) {
|
|
3867
|
+
attr(this.$el, 'tabindex', '-1');
|
|
3868
|
+
}
|
|
3869
|
+
|
|
3870
|
+
if (!$(':focus', this.$el)) {
|
|
3871
|
+
this.$el.focus();
|
|
3872
|
+
}
|
|
3986
3873
|
} },
|
|
3987
3874
|
|
|
3988
3875
|
|
|
3989
3876
|
{
|
|
3990
|
-
name: '
|
|
3877
|
+
name: 'hidden',
|
|
3991
3878
|
|
|
3992
|
-
|
|
3993
|
-
|
|
3994
|
-
|
|
3995
|
-
|
|
3996
|
-
this
|
|
3997
|
-
active$1;
|
|
3998
|
-
return;
|
|
3879
|
+
self: true,
|
|
3880
|
+
|
|
3881
|
+
handler() {
|
|
3882
|
+
if (includes(active$1, this)) {
|
|
3883
|
+
active$1.splice(active$1.indexOf(this), 1);
|
|
3999
3884
|
}
|
|
4000
3885
|
|
|
4001
|
-
|
|
4002
|
-
|
|
3886
|
+
css(this.$el, 'zIndex', '');
|
|
3887
|
+
|
|
3888
|
+
if (!active$1.some((modal) => modal.clsPage === this.clsPage)) {
|
|
3889
|
+
removeClass(document.documentElement, this.clsPage);
|
|
3890
|
+
}
|
|
4003
3891
|
} }],
|
|
4004
3892
|
|
|
4005
3893
|
|
|
4006
3894
|
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
}
|
|
4012
|
-
} },
|
|
3895
|
+
methods: {
|
|
3896
|
+
toggle() {
|
|
3897
|
+
return this.isToggled() ? this.hide() : this.show();
|
|
3898
|
+
},
|
|
4013
3899
|
|
|
3900
|
+
show() {
|
|
3901
|
+
if (this.container && parent(this.$el) !== this.container) {
|
|
3902
|
+
append(this.container, this.$el);
|
|
3903
|
+
return new Promise((resolve) =>
|
|
3904
|
+
requestAnimationFrame(() => this.show().then(resolve)));
|
|
4014
3905
|
|
|
4015
|
-
methods: {
|
|
4016
|
-
show(target, delay) {if (target === void 0) {target = this.target;}if (delay === void 0) {delay = true;}
|
|
4017
|
-
if (this.isToggled() && target && this.target && target !== this.target) {
|
|
4018
|
-
this.hide(false, false);
|
|
4019
3906
|
}
|
|
4020
3907
|
|
|
4021
|
-
this.
|
|
3908
|
+
return this.toggleElement(this.$el, true, animate(this));
|
|
3909
|
+
},
|
|
4022
3910
|
|
|
4023
|
-
|
|
3911
|
+
hide() {
|
|
3912
|
+
return this.toggleElement(this.$el, false, animate(this));
|
|
3913
|
+
} } };
|
|
4024
3914
|
|
|
4025
|
-
if (this.isActive()) {
|
|
4026
|
-
return;
|
|
4027
|
-
}
|
|
4028
3915
|
|
|
4029
|
-
if (active$1) {
|
|
4030
|
-
if (delay && active$1.isDelaying) {
|
|
4031
|
-
this.showTimer = setTimeout(() => matches(target, ':hover') && this.show(), 10);
|
|
4032
|
-
return;
|
|
4033
|
-
}
|
|
4034
3916
|
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
3917
|
+
function animate(_ref5) {let { transitionElement, _toggle } = _ref5;
|
|
3918
|
+
return (el, show) =>
|
|
3919
|
+
new Promise((resolve, reject) =>
|
|
3920
|
+
once(el, 'show hide', () => {
|
|
3921
|
+
el._reject == null ? void 0 : el._reject();
|
|
3922
|
+
el._reject = reject;
|
|
4041
3923
|
|
|
4042
|
-
|
|
4043
|
-
append(this.container, this.$el);
|
|
4044
|
-
}
|
|
3924
|
+
_toggle(el, show);
|
|
4045
3925
|
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
3926
|
+
const off = once(
|
|
3927
|
+
transitionElement,
|
|
3928
|
+
'transitionstart',
|
|
3929
|
+
() => {
|
|
3930
|
+
once(transitionElement, 'transitionend transitioncancel', resolve, {
|
|
3931
|
+
self: true });
|
|
4049
3932
|
|
|
3933
|
+
clearTimeout(timer);
|
|
4050
3934
|
},
|
|
3935
|
+
{ self: true });
|
|
4051
3936
|
|
|
4052
|
-
hide(delay, animate) {if (delay === void 0) {delay = true;}if (animate === void 0) {animate = true;}
|
|
4053
|
-
const hide = () => this.toggleElement(this.$el, false, this.animateOut && animate);
|
|
4054
3937
|
|
|
4055
|
-
|
|
3938
|
+
const timer = setTimeout(() => {
|
|
3939
|
+
off();
|
|
3940
|
+
resolve();
|
|
3941
|
+
}, toMs(css(transitionElement, 'transitionDuration')));
|
|
3942
|
+
})).
|
|
3943
|
+
then(() => delete el._reject);
|
|
3944
|
+
}
|
|
4056
3945
|
|
|
4057
|
-
|
|
4058
|
-
|
|
3946
|
+
function toMs(time) {
|
|
3947
|
+
return time ? endsWith(time, 'ms') ? toFloat(time) : toFloat(time) * 1000 : 0;
|
|
3948
|
+
}
|
|
4059
3949
|
|
|
3950
|
+
function preventOverscroll(el) {
|
|
3951
|
+
if (CSS.supports('overscroll-behavior', 'contain')) {
|
|
3952
|
+
const elements = filterChildren(el, (child) => /auto|scroll/.test(css(child, 'overflow')));
|
|
3953
|
+
css(elements, 'overscrollBehavior', 'contain');
|
|
3954
|
+
return () => css(elements, 'overscrollBehavior', '');
|
|
3955
|
+
}
|
|
4060
3956
|
|
|
4061
|
-
|
|
4062
|
-
this.hideTimer = setTimeout(this.hide, 50);
|
|
4063
|
-
} else if (delay && this.delayHide) {
|
|
4064
|
-
this.hideTimer = setTimeout(hide, this.delayHide);
|
|
4065
|
-
} else {
|
|
4066
|
-
hide();
|
|
4067
|
-
}
|
|
4068
|
-
},
|
|
3957
|
+
let startClientY;
|
|
4069
3958
|
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
3959
|
+
const events = [
|
|
3960
|
+
on(
|
|
3961
|
+
el,
|
|
3962
|
+
'touchstart',
|
|
3963
|
+
(_ref6) => {let { targetTouches } = _ref6;
|
|
3964
|
+
if (targetTouches.length === 1) {
|
|
3965
|
+
startClientY = targetTouches[0].clientY;
|
|
3966
|
+
}
|
|
3967
|
+
},
|
|
3968
|
+
{ passive: true }),
|
|
4077
3969
|
|
|
4078
|
-
isActive() {
|
|
4079
|
-
return active$1 === this;
|
|
4080
|
-
},
|
|
4081
3970
|
|
|
4082
|
-
|
|
4083
|
-
|
|
4084
|
-
|
|
4085
|
-
|
|
3971
|
+
on(
|
|
3972
|
+
el,
|
|
3973
|
+
'touchmove',
|
|
3974
|
+
(e) => {
|
|
3975
|
+
if (e.targetTouches.length !== 1) {
|
|
3976
|
+
return;
|
|
3977
|
+
}
|
|
4086
3978
|
|
|
4087
|
-
|
|
4088
|
-
|
|
4089
|
-
|
|
4090
|
-
|
|
3979
|
+
let [scrollParent] = scrollParents(e.target, /auto|scroll/);
|
|
3980
|
+
if (!within(scrollParent, el)) {
|
|
3981
|
+
scrollParent = el;
|
|
3982
|
+
}
|
|
4091
3983
|
|
|
4092
|
-
|
|
4093
|
-
|
|
4094
|
-
const viewportOffset = this.getViewportOffset(this.$el);
|
|
3984
|
+
const clientY = e.targetTouches[0].clientY - startClientY;
|
|
3985
|
+
const { scrollTop, scrollHeight, clientHeight } = scrollParent;
|
|
4095
3986
|
|
|
4096
|
-
|
|
4097
|
-
|
|
3987
|
+
if (
|
|
3988
|
+
clientHeight >= scrollHeight ||
|
|
3989
|
+
scrollTop === 0 && clientY > 0 ||
|
|
3990
|
+
scrollHeight - scrollTop <= clientHeight && clientY < 0)
|
|
3991
|
+
{
|
|
3992
|
+
e.cancelable && e.preventDefault();
|
|
3993
|
+
}
|
|
3994
|
+
},
|
|
3995
|
+
{ passive: false })];
|
|
4098
3996
|
|
|
4099
|
-
if (this.align === 'justify') {
|
|
4100
|
-
const prop = this.axis === 'y' ? 'width' : 'height';
|
|
4101
|
-
css(
|
|
4102
|
-
this.$el,
|
|
4103
|
-
prop,
|
|
4104
|
-
Math.min(
|
|
4105
|
-
(boundary ? boundaryOffset : offset(this.target))[prop],
|
|
4106
|
-
scrollParentOffset[prop] - 2 * viewportOffset));
|
|
4107
|
-
|
|
4108
|
-
|
|
4109
|
-
} else if (this.align === 'stretch') {
|
|
4110
|
-
this.flip = this.axis === 'y' ? 'x' : 'y';
|
|
4111
|
-
this.display = 'static';
|
|
4112
|
-
|
|
4113
|
-
const viewport = offsetViewport(scrollParent);
|
|
4114
|
-
const targetDim = offset(target);
|
|
4115
|
-
const elOffset = Math.abs(this.getPositionOffset(this.$el)) + viewportOffset;
|
|
4116
|
-
|
|
4117
|
-
css(this.$el, {
|
|
4118
|
-
width:
|
|
4119
|
-
this.axis === 'y' ?
|
|
4120
|
-
viewport.width :
|
|
4121
|
-
(this.dir === 'left' ?
|
|
4122
|
-
targetDim.left - viewport.left :
|
|
4123
|
-
viewport.right - targetDim.right) - elOffset,
|
|
4124
|
-
height:
|
|
4125
|
-
this.axis === 'x' ?
|
|
4126
|
-
viewport.height :
|
|
4127
|
-
(this.dir === 'top' ?
|
|
4128
|
-
targetDim.top - viewport.top :
|
|
4129
|
-
viewport.bottom - targetDim.bottom) - elOffset });
|
|
4130
|
-
|
|
4131
|
-
} else if (this.$el.offsetWidth > maxWidth) {
|
|
4132
|
-
addClass(this.$el, this.clsDrop + "-stack");
|
|
4133
|
-
}
|
|
4134
3997
|
|
|
4135
|
-
css(this.$el, 'maxWidth', maxWidth);
|
|
4136
3998
|
|
|
4137
|
-
|
|
4138
|
-
|
|
3999
|
+
return () => events.forEach((fn) => fn());
|
|
4000
|
+
}
|
|
4139
4001
|
|
|
4002
|
+
let prevented;
|
|
4003
|
+
function preventBackgroundScroll() {
|
|
4004
|
+
if (prevented) {
|
|
4005
|
+
return noop;
|
|
4006
|
+
}
|
|
4007
|
+
prevented = true;
|
|
4008
|
+
const { body, documentElement } = document;
|
|
4009
|
+
css(body, {
|
|
4010
|
+
overflowY: width(window) > documentElement.clientWidth ? 'scroll' : '',
|
|
4011
|
+
touchAction: 'none' });
|
|
4140
4012
|
|
|
4013
|
+
css(documentElement, 'overflowY', 'hidden');
|
|
4014
|
+
return () => {
|
|
4015
|
+
prevented = false;
|
|
4016
|
+
css(documentElement, 'overflowY', '');
|
|
4017
|
+
css(body, { overflowY: '', touchAction: '' });
|
|
4018
|
+
};
|
|
4019
|
+
}
|
|
4141
4020
|
|
|
4142
|
-
function
|
|
4143
|
-
const
|
|
4144
|
-
apply(el, (
|
|
4145
|
-
|
|
4021
|
+
function filterChildren(el, fn) {
|
|
4022
|
+
const children = [];
|
|
4023
|
+
apply(el, (node) => {
|
|
4024
|
+
if (fn(node)) {
|
|
4025
|
+
children.push(node);
|
|
4026
|
+
}
|
|
4027
|
+
});
|
|
4028
|
+
return children;
|
|
4146
4029
|
}
|
|
4147
4030
|
|
|
4148
|
-
|
|
4149
|
-
mixins: [Class],
|
|
4031
|
+
let active;
|
|
4150
4032
|
|
|
4151
|
-
|
|
4033
|
+
var drop = {
|
|
4034
|
+
mixins: [Container, Lazyload, Position, Style, Togglable],
|
|
4035
|
+
|
|
4036
|
+
args: 'pos',
|
|
4152
4037
|
|
|
4153
4038
|
props: {
|
|
4154
|
-
|
|
4039
|
+
mode: 'list',
|
|
4040
|
+
toggle: Boolean,
|
|
4041
|
+
boundary: Boolean,
|
|
4042
|
+
target: Boolean,
|
|
4043
|
+
targetX: Boolean,
|
|
4044
|
+
targetY: Boolean,
|
|
4045
|
+
stretch: Boolean,
|
|
4046
|
+
delayShow: Number,
|
|
4047
|
+
delayHide: Number,
|
|
4048
|
+
display: String,
|
|
4049
|
+
clsDrop: String,
|
|
4050
|
+
animateOut: Boolean,
|
|
4051
|
+
bgScroll: Boolean },
|
|
4155
4052
|
|
|
4156
4053
|
|
|
4157
4054
|
data: {
|
|
4158
|
-
|
|
4055
|
+
mode: ['click', 'hover'],
|
|
4056
|
+
toggle: '- *',
|
|
4057
|
+
boundary: false,
|
|
4058
|
+
target: false,
|
|
4059
|
+
targetX: false,
|
|
4060
|
+
targetY: false,
|
|
4061
|
+
stretch: false,
|
|
4062
|
+
delayShow: 0,
|
|
4063
|
+
delayHide: 800,
|
|
4064
|
+
display: null,
|
|
4065
|
+
clsDrop: false,
|
|
4066
|
+
animateOut: false,
|
|
4067
|
+
bgScroll: true,
|
|
4068
|
+
animation: ['uk-animation-fade'],
|
|
4069
|
+
cls: 'uk-open',
|
|
4070
|
+
container: false },
|
|
4159
4071
|
|
|
4160
4072
|
|
|
4161
4073
|
computed: {
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4074
|
+
target(_ref, $el) {let { target, targetX, targetY } = _ref;
|
|
4075
|
+
targetX = targetX || target || this.targetEl;
|
|
4076
|
+
targetY = targetY || target || this.targetEl;
|
|
4165
4077
|
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
target(_ref, $el) {let { target } = _ref;
|
|
4171
|
-
return (
|
|
4172
|
-
target && (
|
|
4173
|
-
target === true && parent(this.input) === $el && this.input.nextElementSibling ||
|
|
4174
|
-
$(target, $el)));
|
|
4078
|
+
return [
|
|
4079
|
+
targetX === true ? window : query(targetX, $el),
|
|
4080
|
+
targetY === true ? window : query(targetY, $el)];
|
|
4175
4081
|
|
|
4176
4082
|
} },
|
|
4177
4083
|
|
|
4178
4084
|
|
|
4179
|
-
|
|
4180
|
-
|
|
4085
|
+
created() {
|
|
4086
|
+
this.tracker = new MouseTracker();
|
|
4087
|
+
},
|
|
4181
4088
|
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4089
|
+
beforeConnect() {
|
|
4090
|
+
this.clsDrop = this.$props.clsDrop || "uk-" + this.$options.name;
|
|
4091
|
+
},
|
|
4185
4092
|
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
const prev = target[prop];
|
|
4189
|
-
const value = (_input$files = input.files) != null && _input$files[0] ?
|
|
4190
|
-
input.files[0].name :
|
|
4191
|
-
matches(input, 'select') && (
|
|
4192
|
-
option = $$('option', input).filter((el) => el.selected)[0]) // eslint-disable-line prefer-destructuring
|
|
4193
|
-
? option.textContent :
|
|
4194
|
-
input.value;
|
|
4093
|
+
connected() {
|
|
4094
|
+
addClass(this.$el, this.clsDrop);
|
|
4195
4095
|
|
|
4196
|
-
if (
|
|
4197
|
-
|
|
4096
|
+
if (this.toggle && !this.targetEl) {
|
|
4097
|
+
this.targetEl = this.$create('toggle', query(this.toggle, this.$el), {
|
|
4098
|
+
target: this.$el,
|
|
4099
|
+
mode: this.mode }).
|
|
4100
|
+
$el;
|
|
4101
|
+
attr(this.targetEl, 'aria-haspopup', true);
|
|
4102
|
+
this.lazyload(this.targetEl);
|
|
4103
|
+
}
|
|
4104
|
+
},
|
|
4105
|
+
|
|
4106
|
+
disconnected() {
|
|
4107
|
+
if (this.isActive()) {
|
|
4108
|
+
active = null;
|
|
4198
4109
|
}
|
|
4199
4110
|
},
|
|
4200
4111
|
|
|
4201
4112
|
events: [
|
|
4202
4113
|
{
|
|
4203
|
-
name: '
|
|
4114
|
+
name: 'click',
|
|
4204
4115
|
|
|
4205
|
-
|
|
4206
|
-
this
|
|
4116
|
+
delegate() {
|
|
4117
|
+
return "." + this.clsDrop + "-close";
|
|
4118
|
+
},
|
|
4119
|
+
|
|
4120
|
+
handler(e) {
|
|
4121
|
+
e.preventDefault();
|
|
4122
|
+
this.hide(false);
|
|
4207
4123
|
} },
|
|
4208
4124
|
|
|
4209
4125
|
|
|
4210
4126
|
{
|
|
4211
|
-
name: '
|
|
4127
|
+
name: 'click',
|
|
4212
4128
|
|
|
4213
|
-
|
|
4214
|
-
return
|
|
4129
|
+
delegate() {
|
|
4130
|
+
return 'a[href^="#"]';
|
|
4215
4131
|
},
|
|
4216
4132
|
|
|
4217
|
-
handler() {
|
|
4218
|
-
this.$
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
mixins: [Resize],
|
|
4133
|
+
handler(_ref2) {let { defaultPrevented, current: { hash } } = _ref2;
|
|
4134
|
+
if (!defaultPrevented && hash && !within(hash, this.$el)) {
|
|
4135
|
+
this.hide(false);
|
|
4136
|
+
}
|
|
4137
|
+
} },
|
|
4223
4138
|
|
|
4224
|
-
props: {
|
|
4225
|
-
margin: String,
|
|
4226
|
-
firstColumn: Boolean },
|
|
4227
4139
|
|
|
4140
|
+
{
|
|
4141
|
+
name: 'beforescroll',
|
|
4228
4142
|
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4143
|
+
handler() {
|
|
4144
|
+
this.hide(false);
|
|
4145
|
+
} },
|
|
4232
4146
|
|
|
4233
4147
|
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
},
|
|
4148
|
+
{
|
|
4149
|
+
name: 'toggle',
|
|
4237
4150
|
|
|
4238
|
-
|
|
4239
|
-
this.registerObserver(
|
|
4240
|
-
observeMutation(this.$el, () => this.$reset(), {
|
|
4241
|
-
childList: true }));
|
|
4151
|
+
self: true,
|
|
4242
4152
|
|
|
4153
|
+
handler(e, toggle) {
|
|
4154
|
+
e.preventDefault();
|
|
4243
4155
|
|
|
4244
|
-
|
|
4156
|
+
if (this.isToggled()) {
|
|
4157
|
+
this.hide(false);
|
|
4158
|
+
} else {
|
|
4159
|
+
this.show(toggle == null ? void 0 : toggle.$el, false);
|
|
4160
|
+
}
|
|
4161
|
+
} },
|
|
4245
4162
|
|
|
4246
|
-
update: {
|
|
4247
|
-
read() {
|
|
4248
|
-
const rows = getRows(this.$el.children);
|
|
4249
4163
|
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
columns: getColumns(rows) };
|
|
4164
|
+
{
|
|
4165
|
+
name: 'toggleshow',
|
|
4253
4166
|
|
|
4254
|
-
|
|
4167
|
+
self: true,
|
|
4255
4168
|
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
toggleClass(column, this.firstColumn, columns[0].includes(column));
|
|
4261
|
-
}
|
|
4262
|
-
}
|
|
4263
|
-
},
|
|
4169
|
+
handler(e, toggle) {
|
|
4170
|
+
e.preventDefault();
|
|
4171
|
+
this.show(toggle == null ? void 0 : toggle.$el);
|
|
4172
|
+
} },
|
|
4264
4173
|
|
|
4265
|
-
events: ['resize'] } };
|
|
4266
4174
|
|
|
4175
|
+
{
|
|
4176
|
+
name: 'togglehide',
|
|
4267
4177
|
|
|
4178
|
+
self: true,
|
|
4268
4179
|
|
|
4269
|
-
|
|
4270
|
-
|
|
4271
|
-
|
|
4180
|
+
handler(e) {
|
|
4181
|
+
e.preventDefault();
|
|
4182
|
+
if (!matches(this.$el, ':focus,:hover')) {
|
|
4183
|
+
this.hide();
|
|
4184
|
+
}
|
|
4185
|
+
} },
|
|
4272
4186
|
|
|
4273
|
-
function getColumns(rows) {
|
|
4274
|
-
const columns = [];
|
|
4275
4187
|
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
for (let j = 0; j < sorted.length; j++) {
|
|
4279
|
-
columns[j] = columns[j] ? columns[j].concat(sorted[j]) : sorted[j];
|
|
4280
|
-
}
|
|
4281
|
-
}
|
|
4188
|
+
{
|
|
4189
|
+
name: pointerEnter + " focusin",
|
|
4282
4190
|
|
|
4283
|
-
|
|
4284
|
-
|
|
4191
|
+
filter() {
|
|
4192
|
+
return includes(this.mode, 'hover');
|
|
4193
|
+
},
|
|
4285
4194
|
|
|
4286
|
-
|
|
4287
|
-
|
|
4195
|
+
handler(e) {
|
|
4196
|
+
if (!isTouch(e)) {
|
|
4197
|
+
this.clearTimers();
|
|
4198
|
+
}
|
|
4199
|
+
} },
|
|
4288
4200
|
|
|
4289
|
-
for (const el of items) {
|
|
4290
|
-
if (!isVisible(el)) {
|
|
4291
|
-
continue;
|
|
4292
|
-
}
|
|
4293
4201
|
|
|
4294
|
-
|
|
4202
|
+
{
|
|
4203
|
+
name: pointerLeave + " focusout",
|
|
4295
4204
|
|
|
4296
|
-
|
|
4297
|
-
|
|
4205
|
+
filter() {
|
|
4206
|
+
return includes(this.mode, 'hover');
|
|
4207
|
+
},
|
|
4298
4208
|
|
|
4299
|
-
|
|
4300
|
-
|
|
4301
|
-
|
|
4209
|
+
handler(e) {
|
|
4210
|
+
if (!isTouch(e) && e.relatedTarget) {
|
|
4211
|
+
this.hide();
|
|
4302
4212
|
}
|
|
4213
|
+
} },
|
|
4303
4214
|
|
|
4304
|
-
let startDim;
|
|
4305
|
-
if (current[0].offsetParent === el.offsetParent) {
|
|
4306
|
-
startDim = getOffset(current[0]);
|
|
4307
|
-
} else {
|
|
4308
|
-
dim = getOffset(el, true);
|
|
4309
|
-
startDim = getOffset(current[0], true);
|
|
4310
|
-
}
|
|
4311
4215
|
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
break;
|
|
4315
|
-
}
|
|
4216
|
+
{
|
|
4217
|
+
name: 'toggled',
|
|
4316
4218
|
|
|
4317
|
-
|
|
4318
|
-
current.push(el);
|
|
4319
|
-
break;
|
|
4320
|
-
}
|
|
4219
|
+
self: true,
|
|
4321
4220
|
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
4221
|
+
handler(e, toggled) {
|
|
4222
|
+
if (!toggled) {
|
|
4223
|
+
return;
|
|
4325
4224
|
}
|
|
4326
|
-
}
|
|
4327
|
-
}
|
|
4328
4225
|
|
|
4329
|
-
|
|
4330
|
-
|
|
4226
|
+
this.clearTimers();
|
|
4227
|
+
this.position();
|
|
4228
|
+
} },
|
|
4331
4229
|
|
|
4332
|
-
function getOffset(element, offset) {if (offset === void 0) {offset = false;}
|
|
4333
|
-
let { offsetTop, offsetLeft, offsetHeight, offsetWidth } = element;
|
|
4334
4230
|
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
}
|
|
4231
|
+
{
|
|
4232
|
+
name: 'show',
|
|
4338
4233
|
|
|
4339
|
-
|
|
4340
|
-
top: offsetTop,
|
|
4341
|
-
left: offsetLeft,
|
|
4342
|
-
bottom: offsetTop + offsetHeight,
|
|
4343
|
-
right: offsetLeft + offsetWidth };
|
|
4234
|
+
self: true,
|
|
4344
4235
|
|
|
4345
|
-
|
|
4236
|
+
handler() {
|
|
4237
|
+
active = this;
|
|
4346
4238
|
|
|
4347
|
-
|
|
4348
|
-
connected() {
|
|
4349
|
-
registerScrollListener(this._uid, () => this.$emit('scroll'));
|
|
4350
|
-
},
|
|
4351
|
-
|
|
4352
|
-
disconnected() {
|
|
4353
|
-
unregisterScrollListener(this._uid);
|
|
4354
|
-
} };
|
|
4239
|
+
this.tracker.init();
|
|
4355
4240
|
|
|
4241
|
+
for (const handler of [
|
|
4242
|
+
on(
|
|
4243
|
+
document,
|
|
4244
|
+
pointerDown,
|
|
4245
|
+
(_ref3) => {let { target } = _ref3;return (
|
|
4246
|
+
!within(target, this.$el) &&
|
|
4247
|
+
once(
|
|
4248
|
+
document,
|
|
4249
|
+
pointerUp + " " + pointerCancel + " scroll",
|
|
4250
|
+
(_ref4) => {let { defaultPrevented, type, target: newTarget } = _ref4;
|
|
4251
|
+
if (
|
|
4252
|
+
!defaultPrevented &&
|
|
4253
|
+
type === pointerUp &&
|
|
4254
|
+
target === newTarget &&
|
|
4255
|
+
!(this.targetEl && within(target, this.targetEl)))
|
|
4256
|
+
{
|
|
4257
|
+
this.hide(false);
|
|
4258
|
+
}
|
|
4259
|
+
},
|
|
4260
|
+
true));}),
|
|
4356
4261
|
|
|
4357
|
-
const scrollListeners = new Map();
|
|
4358
|
-
let unbindScrollListener;
|
|
4359
|
-
function registerScrollListener(id, listener) {
|
|
4360
|
-
unbindScrollListener =
|
|
4361
|
-
unbindScrollListener ||
|
|
4362
|
-
on(window, 'scroll', () => scrollListeners.forEach((listener) => listener()), {
|
|
4363
|
-
passive: true,
|
|
4364
|
-
capture: true });
|
|
4365
4262
|
|
|
4366
4263
|
|
|
4367
|
-
|
|
4368
|
-
|
|
4264
|
+
on(document, 'keydown', (e) => {
|
|
4265
|
+
if (e.keyCode === 27) {
|
|
4266
|
+
this.hide(false);
|
|
4267
|
+
}
|
|
4268
|
+
}),
|
|
4369
4269
|
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4373
|
-
unbindScrollListener();
|
|
4374
|
-
unbindScrollListener = null;
|
|
4375
|
-
}
|
|
4376
|
-
}
|
|
4270
|
+
...(this.bgScroll ?
|
|
4271
|
+
[] :
|
|
4272
|
+
[preventOverscroll(this.$el), preventBackgroundScroll()]),
|
|
4377
4273
|
|
|
4378
|
-
|
|
4379
|
-
|
|
4274
|
+
...(this.display === 'static' ?
|
|
4275
|
+
[] :
|
|
4276
|
+
(() => {
|
|
4277
|
+
const handler = () => this.$emit();
|
|
4278
|
+
return [
|
|
4279
|
+
on(window, 'resize', handler),
|
|
4280
|
+
on([document, scrollParents(this.$el)], 'scroll', handler),
|
|
4281
|
+
(() => {
|
|
4282
|
+
const observer = observeResize(
|
|
4283
|
+
scrollParents(this.$el),
|
|
4284
|
+
handler);
|
|
4380
4285
|
|
|
4381
|
-
|
|
4286
|
+
return () => observer.disconnect();
|
|
4287
|
+
})()];
|
|
4382
4288
|
|
|
4383
|
-
|
|
4289
|
+
})())])
|
|
4290
|
+
{
|
|
4291
|
+
once(this.$el, 'hide', handler, { self: true });
|
|
4292
|
+
}
|
|
4293
|
+
} },
|
|
4384
4294
|
|
|
4385
|
-
props: {
|
|
4386
|
-
masonry: Boolean,
|
|
4387
|
-
parallax: Number },
|
|
4388
4295
|
|
|
4296
|
+
{
|
|
4297
|
+
name: 'beforehide',
|
|
4389
4298
|
|
|
4390
|
-
|
|
4391
|
-
margin: 'uk-grid-margin',
|
|
4392
|
-
clsStack: 'uk-grid-stack',
|
|
4393
|
-
masonry: false,
|
|
4394
|
-
parallax: 0 },
|
|
4299
|
+
self: true,
|
|
4395
4300
|
|
|
4301
|
+
handler() {
|
|
4302
|
+
this.clearTimers();
|
|
4303
|
+
} },
|
|
4396
4304
|
|
|
4397
|
-
connected() {
|
|
4398
|
-
this.masonry && addClass(this.$el, 'uk-flex-top uk-flex-wrap-top');
|
|
4399
|
-
},
|
|
4400
4305
|
|
|
4401
|
-
update: [
|
|
4402
4306
|
{
|
|
4403
|
-
|
|
4404
|
-
toggleClass(this.$el, this.clsStack, columns.length < 2);
|
|
4405
|
-
},
|
|
4307
|
+
name: 'hide',
|
|
4406
4308
|
|
|
4407
|
-
|
|
4309
|
+
handler(_ref5) {let { target } = _ref5;
|
|
4310
|
+
if (this.$el !== target) {
|
|
4311
|
+
active =
|
|
4312
|
+
active === null && within(target, this.$el) && this.isToggled() ?
|
|
4313
|
+
this :
|
|
4314
|
+
active;
|
|
4315
|
+
return;
|
|
4316
|
+
}
|
|
4408
4317
|
|
|
4318
|
+
active = this.isActive() ? null : active;
|
|
4319
|
+
this.tracker.cancel();
|
|
4320
|
+
} }],
|
|
4409
4321
|
|
|
4410
|
-
{
|
|
4411
|
-
read(data) {
|
|
4412
|
-
let { columns, rows } = data;
|
|
4413
4322
|
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4323
|
+
|
|
4324
|
+
update: {
|
|
4325
|
+
write() {
|
|
4326
|
+
if (this.isToggled() && !hasClass(this.$el, this.clsEnter)) {
|
|
4327
|
+
this.position();
|
|
4328
|
+
}
|
|
4329
|
+
} },
|
|
4330
|
+
|
|
4331
|
+
|
|
4332
|
+
methods: {
|
|
4333
|
+
show(target, delay) {if (target === void 0) {target = this.targetEl;}if (delay === void 0) {delay = true;}
|
|
4334
|
+
if (this.isToggled() && target && this.targetEl && target !== this.targetEl) {
|
|
4335
|
+
this.hide(false, false);
|
|
4422
4336
|
}
|
|
4423
4337
|
|
|
4424
|
-
|
|
4338
|
+
this.targetEl = target;
|
|
4425
4339
|
|
|
4426
|
-
|
|
4427
|
-
const columnHeights = getColumnHeights(columns);
|
|
4428
|
-
const margin = getMarginTop(nodes, this.margin) * (rows.length - 1);
|
|
4429
|
-
const elHeight = Math.max(...columnHeights) + margin;
|
|
4340
|
+
this.clearTimers();
|
|
4430
4341
|
|
|
4431
|
-
if (this.
|
|
4432
|
-
|
|
4433
|
-
translates = getTranslates(rows, columns);
|
|
4342
|
+
if (this.isActive()) {
|
|
4343
|
+
return;
|
|
4434
4344
|
}
|
|
4435
4345
|
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
newPadding,
|
|
4442
|
-
hgt + margin + (i % 2 ? padding : padding / 8) - elHeight),
|
|
4346
|
+
if (active) {
|
|
4347
|
+
if (delay && active.isDelaying) {
|
|
4348
|
+
this.showTimer = setTimeout(() => matches(target, ':hover') && this.show(), 10);
|
|
4349
|
+
return;
|
|
4350
|
+
}
|
|
4443
4351
|
|
|
4444
|
-
|
|
4352
|
+
let prev;
|
|
4353
|
+
while (active && prev !== active && !within(this.$el, active.$el)) {
|
|
4354
|
+
prev = active;
|
|
4355
|
+
active.hide(false, false);
|
|
4356
|
+
}
|
|
4357
|
+
}
|
|
4445
4358
|
|
|
4359
|
+
if (this.container && parent(this.$el) !== this.container) {
|
|
4360
|
+
append(this.container, this.$el);
|
|
4446
4361
|
}
|
|
4447
4362
|
|
|
4448
|
-
|
|
4449
|
-
|
|
4363
|
+
this.showTimer = setTimeout(
|
|
4364
|
+
() => this.toggleElement(this.$el, true),
|
|
4365
|
+
delay && this.delayShow || 0);
|
|
4450
4366
|
|
|
4451
|
-
write(_ref2) {let { height, padding } = _ref2;
|
|
4452
|
-
css(this.$el, 'paddingBottom', padding || '');
|
|
4453
|
-
height !== false && css(this.$el, 'height', height);
|
|
4454
4367
|
},
|
|
4455
4368
|
|
|
4456
|
-
|
|
4369
|
+
hide(delay, animate) {if (delay === void 0) {delay = true;}if (animate === void 0) {animate = true;}
|
|
4370
|
+
const hide = () => this.toggleElement(this.$el, false, this.animateOut && animate);
|
|
4457
4371
|
|
|
4372
|
+
this.clearTimers();
|
|
4458
4373
|
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4374
|
+
this.isDelaying = getPositionedElements(this.$el).some((el) =>
|
|
4375
|
+
this.tracker.movesTo(el));
|
|
4376
|
+
|
|
4377
|
+
|
|
4378
|
+
if (delay && this.isDelaying) {
|
|
4379
|
+
this.hideTimer = setTimeout(this.hide, 50);
|
|
4380
|
+
} else if (delay && this.delayHide) {
|
|
4381
|
+
this.hideTimer = setTimeout(hide, this.delayHide);
|
|
4382
|
+
} else {
|
|
4383
|
+
hide();
|
|
4463
4384
|
}
|
|
4385
|
+
},
|
|
4464
4386
|
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4387
|
+
clearTimers() {
|
|
4388
|
+
clearTimeout(this.showTimer);
|
|
4389
|
+
clearTimeout(this.hideTimer);
|
|
4390
|
+
this.showTimer = null;
|
|
4391
|
+
this.hideTimer = null;
|
|
4392
|
+
this.isDelaying = false;
|
|
4393
|
+
},
|
|
4469
4394
|
|
|
4395
|
+
isActive() {
|
|
4396
|
+
return active === this;
|
|
4470
4397
|
},
|
|
4471
4398
|
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
}
|
|
4399
|
+
position() {
|
|
4400
|
+
removeClass(this.$el, this.clsDrop + "-stack");
|
|
4401
|
+
attr(this.$el, 'style', this._style);
|
|
4476
4402
|
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
css(
|
|
4480
|
-
el,
|
|
4481
|
-
'transform',
|
|
4482
|
-
!scrolled && !translates ?
|
|
4483
|
-
'' : "translateY(" + (
|
|
4403
|
+
// Ensure none positioned element does not generate scrollbars
|
|
4404
|
+
this.$el.hidden = true;
|
|
4484
4405
|
|
|
4485
|
-
|
|
4486
|
-
|
|
4406
|
+
const boundary = query(this.boundary, this.$el);
|
|
4407
|
+
const boundaryOffset = offsetViewport(boundary || window);
|
|
4408
|
+
const viewports = this.target.map((target) => offsetViewport(scrollParents(target)[0]));
|
|
4409
|
+
const viewportOffset = this.getViewportOffset(this.$el);
|
|
4487
4410
|
|
|
4411
|
+
const dirs = [
|
|
4412
|
+
[0, ['x', 'width', 'left', 'right']],
|
|
4413
|
+
[1, ['y', 'height', 'top', 'bottom']]];
|
|
4488
4414
|
|
|
4489
4415
|
|
|
4416
|
+
for (const [i, [axis, prop]] of dirs) {
|
|
4417
|
+
if (this.axis !== axis && includes([axis, true], this.stretch)) {
|
|
4418
|
+
css(this.$el, {
|
|
4419
|
+
[prop]: Math.min(
|
|
4420
|
+
boundaryOffset[prop],
|
|
4421
|
+
viewports[i][prop] - 2 * viewportOffset),
|
|
4490
4422
|
|
|
4491
|
-
|
|
4423
|
+
["overflow-" + axis]: 'auto' });
|
|
4492
4424
|
|
|
4493
|
-
|
|
4425
|
+
}
|
|
4426
|
+
}
|
|
4494
4427
|
|
|
4428
|
+
const maxWidth = viewports[0].width - 2 * viewportOffset;
|
|
4495
4429
|
|
|
4430
|
+
if (this.$el.offsetWidth > maxWidth) {
|
|
4431
|
+
addClass(this.$el, this.clsDrop + "-stack");
|
|
4432
|
+
}
|
|
4496
4433
|
|
|
4434
|
+
css(this.$el, 'maxWidth', maxWidth);
|
|
4497
4435
|
|
|
4498
|
-
|
|
4499
|
-
return children(el).some((el) => css(el, 'position') === 'absolute');
|
|
4500
|
-
}
|
|
4436
|
+
this.$el.hidden = false;
|
|
4501
4437
|
|
|
4502
|
-
|
|
4503
|
-
const rowHeights = rows.map((row) => Math.max(...row.map((el) => el.offsetHeight)));
|
|
4438
|
+
this.positionAt(this.$el, this.target, boundary);
|
|
4504
4439
|
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4440
|
+
for (const [i, [axis, prop, start, end]] of dirs) {
|
|
4441
|
+
if (this.axis === axis && includes([axis, true], this.stretch)) {
|
|
4442
|
+
const positionOffset = Math.abs(this.getPositionOffset(this.$el));
|
|
4443
|
+
const targetOffset = offset(this.target[i]);
|
|
4444
|
+
const elOffset = offset(this.$el);
|
|
4510
4445
|
|
|
4511
|
-
|
|
4512
|
-
|
|
4446
|
+
css(this.$el, {
|
|
4447
|
+
[prop]:
|
|
4448
|
+
(targetOffset[start] > elOffset[start] ?
|
|
4449
|
+
targetOffset[start] -
|
|
4450
|
+
Math.max(
|
|
4451
|
+
boundaryOffset[start],
|
|
4452
|
+
viewports[i][start] + viewportOffset) :
|
|
4513
4453
|
|
|
4514
|
-
|
|
4515
|
-
|
|
4454
|
+
Math.min(
|
|
4455
|
+
boundaryOffset[end],
|
|
4456
|
+
viewports[i][end] - viewportOffset) -
|
|
4457
|
+
targetOffset[end]) - positionOffset,
|
|
4458
|
+
["overflow-" + axis]: 'auto' });
|
|
4516
4459
|
|
|
4517
|
-
return toFloat(node ? css(node, 'marginTop') : css(nodes[0], 'paddingLeft'));
|
|
4518
|
-
}
|
|
4519
4460
|
|
|
4520
|
-
|
|
4521
|
-
|
|
4461
|
+
this.positionAt(this.$el, this.target, boundary);
|
|
4462
|
+
}
|
|
4463
|
+
}
|
|
4464
|
+
} } };
|
|
4465
|
+
|
|
4466
|
+
|
|
4467
|
+
|
|
4468
|
+
function getPositionedElements(el) {
|
|
4469
|
+
const result = [];
|
|
4470
|
+
apply(el, (el) => css(el, 'position') !== 'static' && result.push(el));
|
|
4471
|
+
return result;
|
|
4522
4472
|
}
|
|
4523
4473
|
|
|
4524
|
-
var
|
|
4525
|
-
mixins: [
|
|
4474
|
+
var formCustom = {
|
|
4475
|
+
mixins: [Class],
|
|
4526
4476
|
|
|
4527
4477
|
args: 'target',
|
|
4528
4478
|
|
|
4529
4479
|
props: {
|
|
4530
|
-
target:
|
|
4531
|
-
row: Boolean },
|
|
4480
|
+
target: Boolean },
|
|
4532
4481
|
|
|
4533
4482
|
|
|
4534
4483
|
data: {
|
|
4535
|
-
target:
|
|
4536
|
-
row: true },
|
|
4484
|
+
target: false },
|
|
4537
4485
|
|
|
4538
4486
|
|
|
4539
4487
|
computed: {
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
},
|
|
4544
|
-
|
|
4545
|
-
watch() {
|
|
4546
|
-
this.$reset();
|
|
4547
|
-
} } },
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
resizeTargets() {
|
|
4552
|
-
return [this.$el, ...this.elements];
|
|
4553
|
-
},
|
|
4554
|
-
|
|
4555
|
-
update: {
|
|
4556
|
-
read() {
|
|
4557
|
-
return {
|
|
4558
|
-
rows: (this.row ? getRows(this.elements) : [this.elements]).map(match) };
|
|
4488
|
+
input(_, $el) {
|
|
4489
|
+
return $(selInput, $el);
|
|
4490
|
+
},
|
|
4559
4491
|
|
|
4492
|
+
state() {
|
|
4493
|
+
return this.input.nextElementSibling;
|
|
4560
4494
|
},
|
|
4561
4495
|
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4496
|
+
target(_ref, $el) {let { target } = _ref;
|
|
4497
|
+
return (
|
|
4498
|
+
target && (
|
|
4499
|
+
target === true && parent(this.input) === $el && this.input.nextElementSibling ||
|
|
4500
|
+
$(target, $el)));
|
|
4567
4501
|
|
|
4568
|
-
|
|
4502
|
+
} },
|
|
4569
4503
|
|
|
4570
4504
|
|
|
4505
|
+
update() {var _input$files;
|
|
4506
|
+
const { target, input } = this;
|
|
4571
4507
|
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
}
|
|
4508
|
+
if (!target) {
|
|
4509
|
+
return;
|
|
4510
|
+
}
|
|
4576
4511
|
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4512
|
+
let option;
|
|
4513
|
+
const prop = isInput(target) ? 'value' : 'textContent';
|
|
4514
|
+
const prev = target[prop];
|
|
4515
|
+
const value = (_input$files = input.files) != null && _input$files[0] ?
|
|
4516
|
+
input.files[0].name :
|
|
4517
|
+
matches(input, 'select') && (
|
|
4518
|
+
option = $$('option', input).filter((el) => el.selected)[0]) // eslint-disable-line prefer-destructuring
|
|
4519
|
+
? option.textContent :
|
|
4520
|
+
input.value;
|
|
4580
4521
|
|
|
4581
|
-
|
|
4582
|
-
|
|
4583
|
-
|
|
4522
|
+
if (prev !== value) {
|
|
4523
|
+
target[prop] = value;
|
|
4524
|
+
}
|
|
4525
|
+
},
|
|
4584
4526
|
|
|
4585
|
-
|
|
4527
|
+
events: [
|
|
4528
|
+
{
|
|
4529
|
+
name: 'change',
|
|
4586
4530
|
|
|
4587
|
-
|
|
4588
|
-
|
|
4589
|
-
|
|
4590
|
-
style = element.style.display;
|
|
4591
|
-
css(element, 'display', 'block', 'important');
|
|
4592
|
-
}
|
|
4531
|
+
handler() {
|
|
4532
|
+
this.$emit();
|
|
4533
|
+
} },
|
|
4593
4534
|
|
|
4594
|
-
const height = dimensions(element).height - boxModelAdjust(element, 'height', 'content-box');
|
|
4595
4535
|
|
|
4596
|
-
|
|
4597
|
-
|
|
4598
|
-
}
|
|
4536
|
+
{
|
|
4537
|
+
name: 'reset',
|
|
4599
4538
|
|
|
4600
|
-
|
|
4601
|
-
|
|
4539
|
+
el() {
|
|
4540
|
+
return closest(this.$el, 'form');
|
|
4541
|
+
},
|
|
4602
4542
|
|
|
4603
|
-
|
|
4543
|
+
handler() {
|
|
4544
|
+
this.$emit();
|
|
4545
|
+
} }] };
|
|
4546
|
+
|
|
4547
|
+
var Margin = {
|
|
4604
4548
|
mixins: [Resize],
|
|
4605
4549
|
|
|
4606
4550
|
props: {
|
|
4607
|
-
|
|
4608
|
-
|
|
4609
|
-
offsetBottom: Boolean,
|
|
4610
|
-
minHeight: Number },
|
|
4551
|
+
margin: String,
|
|
4552
|
+
firstColumn: Boolean },
|
|
4611
4553
|
|
|
4612
4554
|
|
|
4613
4555
|
data: {
|
|
4614
|
-
|
|
4615
|
-
|
|
4616
|
-
offsetBottom: false,
|
|
4617
|
-
minHeight: 0 },
|
|
4556
|
+
margin: 'uk-margin-small-top',
|
|
4557
|
+
firstColumn: 'uk-first-column' },
|
|
4618
4558
|
|
|
4619
4559
|
|
|
4620
4560
|
resizeTargets() {
|
|
4621
|
-
|
|
4622
|
-
return [this.$el, ...scrollParents(this.$el, /auto|scroll/)];
|
|
4561
|
+
return [this.$el, ...toArray(this.$el.children)];
|
|
4623
4562
|
},
|
|
4624
4563
|
|
|
4625
|
-
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
}
|
|
4630
|
-
|
|
4631
|
-
let minHeight = '';
|
|
4632
|
-
const box = boxModelAdjust(this.$el, 'height', 'content-box');
|
|
4633
|
-
|
|
4634
|
-
const [scrollElement] = scrollParents(this.$el, /auto|scroll/);
|
|
4635
|
-
const { height: viewportHeight } = offsetViewport(scrollElement);
|
|
4636
|
-
|
|
4637
|
-
if (this.expand) {
|
|
4638
|
-
minHeight = Math.max(
|
|
4639
|
-
viewportHeight - (
|
|
4640
|
-
dimensions(scrollElement).height - dimensions(this.$el).height) -
|
|
4641
|
-
box,
|
|
4642
|
-
0);
|
|
4643
|
-
|
|
4644
|
-
} else {
|
|
4645
|
-
// on mobile devices (iOS and Android) window.innerHeight !== 100vh
|
|
4646
|
-
minHeight = "calc(" + (
|
|
4647
|
-
document.scrollingElement === scrollElement ? '100vh' : viewportHeight + "px");
|
|
4564
|
+
connected() {
|
|
4565
|
+
this.registerObserver(
|
|
4566
|
+
observeMutation(this.$el, () => this.$reset(), {
|
|
4567
|
+
childList: true }));
|
|
4648
4568
|
|
|
4649
4569
|
|
|
4650
|
-
|
|
4651
|
-
const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
|
|
4652
|
-
minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
|
|
4653
|
-
}
|
|
4570
|
+
},
|
|
4654
4571
|
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
minHeight += " - " + this.offsetBottom + "vh";
|
|
4659
|
-
} else if (this.offsetBottom && endsWith(this.offsetBottom, 'px')) {
|
|
4660
|
-
minHeight += " - " + toFloat(this.offsetBottom) + "px";
|
|
4661
|
-
} else if (isString(this.offsetBottom)) {
|
|
4662
|
-
minHeight += " - " + dimensions(query(this.offsetBottom, this.$el)).height + "px";
|
|
4663
|
-
}
|
|
4572
|
+
update: {
|
|
4573
|
+
read() {
|
|
4574
|
+
const rows = getRows(this.$el.children);
|
|
4664
4575
|
|
|
4665
|
-
|
|
4666
|
-
|
|
4576
|
+
return {
|
|
4577
|
+
rows,
|
|
4578
|
+
columns: getColumns(rows) };
|
|
4667
4579
|
|
|
4668
|
-
return { minHeight, prev };
|
|
4669
4580
|
},
|
|
4670
4581
|
|
|
4671
|
-
write(
|
|
4672
|
-
|
|
4673
|
-
|
|
4674
|
-
|
|
4675
|
-
|
|
4582
|
+
write(_ref) {let { columns, rows } = _ref;
|
|
4583
|
+
for (const row of rows) {
|
|
4584
|
+
for (const column of row) {
|
|
4585
|
+
toggleClass(column, this.margin, rows[0] !== row);
|
|
4586
|
+
toggleClass(column, this.firstColumn, columns[0].includes(column));
|
|
4587
|
+
}
|
|
4676
4588
|
}
|
|
4677
4589
|
},
|
|
4678
4590
|
|
|
4679
4591
|
events: ['resize'] } };
|
|
4680
4592
|
|
|
4681
|
-
var SVG = {
|
|
4682
|
-
args: 'src',
|
|
4683
4593
|
|
|
4684
|
-
props: {
|
|
4685
|
-
id: Boolean,
|
|
4686
|
-
icon: String,
|
|
4687
|
-
src: String,
|
|
4688
|
-
style: String,
|
|
4689
|
-
width: Number,
|
|
4690
|
-
height: Number,
|
|
4691
|
-
ratio: Number,
|
|
4692
|
-
class: String,
|
|
4693
|
-
strokeAnimation: Boolean,
|
|
4694
|
-
focusable: Boolean, // IE 11
|
|
4695
|
-
attributes: 'list' },
|
|
4696
4594
|
|
|
4595
|
+
function getRows(items) {
|
|
4596
|
+
return sortBy(items, 'top', 'bottom');
|
|
4597
|
+
}
|
|
4697
4598
|
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
include: ['style', 'class', 'focusable'],
|
|
4701
|
-
class: '',
|
|
4702
|
-
strokeAnimation: false },
|
|
4599
|
+
function getColumns(rows) {
|
|
4600
|
+
const columns = [];
|
|
4703
4601
|
|
|
4602
|
+
for (const row of rows) {
|
|
4603
|
+
const sorted = sortBy(row, 'left', 'right');
|
|
4604
|
+
for (let j = 0; j < sorted.length; j++) {
|
|
4605
|
+
columns[j] = columns[j] ? columns[j].concat(sorted[j]) : sorted[j];
|
|
4606
|
+
}
|
|
4607
|
+
}
|
|
4704
4608
|
|
|
4705
|
-
|
|
4706
|
-
|
|
4707
|
-
},
|
|
4609
|
+
return isRtl ? columns.reverse() : columns;
|
|
4610
|
+
}
|
|
4708
4611
|
|
|
4709
|
-
|
|
4710
|
-
|
|
4711
|
-
[this.src, this.icon] = this.src.split('#');
|
|
4712
|
-
}
|
|
4612
|
+
function sortBy(items, startProp, endProp) {
|
|
4613
|
+
const sorted = [[]];
|
|
4713
4614
|
|
|
4714
|
-
|
|
4715
|
-
|
|
4716
|
-
|
|
4615
|
+
for (const el of items) {
|
|
4616
|
+
if (!isVisible(el)) {
|
|
4617
|
+
continue;
|
|
4618
|
+
}
|
|
4717
4619
|
|
|
4718
|
-
|
|
4719
|
-
remove$1(this.svgEl);
|
|
4720
|
-
}
|
|
4620
|
+
let dim = getOffset(el);
|
|
4721
4621
|
|
|
4722
|
-
|
|
4622
|
+
for (let i = sorted.length - 1; i >= 0; i--) {
|
|
4623
|
+
const current = sorted[i];
|
|
4723
4624
|
|
|
4724
|
-
|
|
4625
|
+
if (!current[0]) {
|
|
4626
|
+
current.push(el);
|
|
4627
|
+
break;
|
|
4725
4628
|
}
|
|
4726
|
-
}, noop);
|
|
4727
4629
|
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
|
|
4734
|
-
|
|
4735
|
-
observer.disconnect();
|
|
4736
|
-
}));
|
|
4630
|
+
let startDim;
|
|
4631
|
+
if (current[0].offsetParent === el.offsetParent) {
|
|
4632
|
+
startDim = getOffset(current[0]);
|
|
4633
|
+
} else {
|
|
4634
|
+
dim = getOffset(el, true);
|
|
4635
|
+
startDim = getOffset(current[0], true);
|
|
4636
|
+
}
|
|
4737
4637
|
|
|
4738
|
-
|
|
4739
|
-
|
|
4740
|
-
|
|
4741
|
-
|
|
4638
|
+
if (dim[startProp] >= startDim[endProp] - 1 && dim[startProp] !== startDim[startProp]) {
|
|
4639
|
+
sorted.push([el]);
|
|
4640
|
+
break;
|
|
4641
|
+
}
|
|
4742
4642
|
|
|
4743
|
-
|
|
4744
|
-
|
|
4745
|
-
|
|
4746
|
-
return;
|
|
4643
|
+
if (dim[endProp] - 1 > startDim[startProp] || dim[startProp] === startDim[startProp]) {
|
|
4644
|
+
current.push(el);
|
|
4645
|
+
break;
|
|
4747
4646
|
}
|
|
4748
4647
|
|
|
4749
|
-
if (
|
|
4750
|
-
|
|
4648
|
+
if (i === 0) {
|
|
4649
|
+
sorted.unshift([el]);
|
|
4650
|
+
break;
|
|
4751
4651
|
}
|
|
4652
|
+
}
|
|
4653
|
+
}
|
|
4752
4654
|
|
|
4753
|
-
|
|
4754
|
-
|
|
4755
|
-
});
|
|
4756
|
-
|
|
4757
|
-
this.svg = null;
|
|
4758
|
-
},
|
|
4655
|
+
return sorted;
|
|
4656
|
+
}
|
|
4759
4657
|
|
|
4760
|
-
|
|
4761
|
-
|
|
4762
|
-
if (isTag(this.$el, 'img') && !this.$el.complete && this.$el.loading === 'lazy') {
|
|
4763
|
-
return new Promise((resolve) =>
|
|
4764
|
-
once(this.$el, 'load', () => resolve(this.getSvg())));
|
|
4658
|
+
function getOffset(element, offset) {if (offset === void 0) {offset = false;}
|
|
4659
|
+
let { offsetTop, offsetLeft, offsetHeight, offsetWidth } = element;
|
|
4765
4660
|
|
|
4766
|
-
|
|
4661
|
+
if (offset) {
|
|
4662
|
+
[offsetTop, offsetLeft] = offsetPosition(element);
|
|
4663
|
+
}
|
|
4767
4664
|
|
|
4768
|
-
|
|
4769
|
-
|
|
4665
|
+
return {
|
|
4666
|
+
top: offsetTop,
|
|
4667
|
+
left: offsetLeft,
|
|
4668
|
+
bottom: offsetTop + offsetHeight,
|
|
4669
|
+
right: offsetLeft + offsetWidth };
|
|
4770
4670
|
|
|
4771
|
-
|
|
4772
|
-
for (const prop in this.$options.props) {
|
|
4773
|
-
if (includes(this.include, prop) && prop in this) {
|
|
4774
|
-
attr(el, prop, this[prop]);
|
|
4775
|
-
}
|
|
4776
|
-
}
|
|
4671
|
+
}
|
|
4777
4672
|
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
|
|
4673
|
+
var Scroll = {
|
|
4674
|
+
connected() {
|
|
4675
|
+
registerScrollListener(this._uid, () => this.$emit('scroll'));
|
|
4676
|
+
},
|
|
4782
4677
|
|
|
4783
|
-
|
|
4784
|
-
|
|
4785
|
-
|
|
4678
|
+
disconnected() {
|
|
4679
|
+
unregisterScrollListener(this._uid);
|
|
4680
|
+
} };
|
|
4786
4681
|
|
|
4787
|
-
const props = ['width', 'height'];
|
|
4788
|
-
let dimensions = props.map((prop) => this[prop]);
|
|
4789
4682
|
|
|
4790
|
-
|
|
4791
|
-
|
|
4792
|
-
|
|
4683
|
+
const scrollListeners = new Map();
|
|
4684
|
+
let unbindScrollListener;
|
|
4685
|
+
function registerScrollListener(id, listener) {
|
|
4686
|
+
unbindScrollListener =
|
|
4687
|
+
unbindScrollListener ||
|
|
4688
|
+
on(window, 'scroll', () => scrollListeners.forEach((listener) => listener()), {
|
|
4689
|
+
passive: true,
|
|
4690
|
+
capture: true });
|
|
4793
4691
|
|
|
4794
|
-
const viewBox = attr(ref, 'viewBox');
|
|
4795
|
-
if (viewBox && !dimensions.some((val) => val)) {
|
|
4796
|
-
dimensions = viewBox.split(' ').slice(2);
|
|
4797
|
-
}
|
|
4798
4692
|
|
|
4799
|
-
|
|
4800
|
-
|
|
4693
|
+
scrollListeners.set(id, listener);
|
|
4694
|
+
}
|
|
4801
4695
|
|
|
4696
|
+
function unregisterScrollListener(id) {
|
|
4697
|
+
scrollListeners.delete(id);
|
|
4698
|
+
if (unbindScrollListener && !scrollListeners.size) {
|
|
4699
|
+
unbindScrollListener();
|
|
4700
|
+
unbindScrollListener = null;
|
|
4701
|
+
}
|
|
4702
|
+
}
|
|
4802
4703
|
|
|
4704
|
+
var grid = {
|
|
4705
|
+
extends: Margin,
|
|
4803
4706
|
|
|
4804
|
-
|
|
4805
|
-
if (src) {
|
|
4806
|
-
if (startsWith(src, 'data:')) {
|
|
4807
|
-
return decodeURIComponent(src.split(',')[1]);
|
|
4808
|
-
} else {
|
|
4809
|
-
return (await fetch(src)).text();
|
|
4810
|
-
}
|
|
4811
|
-
} else {
|
|
4812
|
-
return Promise.reject();
|
|
4813
|
-
}
|
|
4814
|
-
});
|
|
4707
|
+
mixins: [Class, Scroll],
|
|
4815
4708
|
|
|
4816
|
-
|
|
4817
|
-
if (icon && includes(svg, '<symbol')) {
|
|
4818
|
-
svg = parseSymbols(svg, icon) || svg;
|
|
4819
|
-
}
|
|
4709
|
+
name: 'grid',
|
|
4820
4710
|
|
|
4821
|
-
|
|
4822
|
-
|
|
4823
|
-
|
|
4711
|
+
props: {
|
|
4712
|
+
masonry: Boolean,
|
|
4713
|
+
parallax: Number },
|
|
4824
4714
|
|
|
4825
|
-
const symbolRe = /<symbol([^]*?id=(['"])(.+?)\2[^]*?<\/)symbol>/g;
|
|
4826
|
-
const symbols = {};
|
|
4827
4715
|
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4716
|
+
data: {
|
|
4717
|
+
margin: 'uk-grid-margin',
|
|
4718
|
+
clsStack: 'uk-grid-stack',
|
|
4719
|
+
masonry: false,
|
|
4720
|
+
parallax: 0 },
|
|
4831
4721
|
|
|
4832
|
-
symbolRe.lastIndex = 0;
|
|
4833
4722
|
|
|
4834
|
-
|
|
4835
|
-
|
|
4836
|
-
|
|
4837
|
-
}
|
|
4838
|
-
}
|
|
4723
|
+
connected() {
|
|
4724
|
+
this.masonry && addClass(this.$el, 'uk-flex-top uk-flex-wrap-top');
|
|
4725
|
+
},
|
|
4839
4726
|
|
|
4840
|
-
|
|
4841
|
-
|
|
4727
|
+
update: [
|
|
4728
|
+
{
|
|
4729
|
+
write(_ref) {let { columns } = _ref;
|
|
4730
|
+
toggleClass(this.$el, this.clsStack, columns.length < 2);
|
|
4731
|
+
},
|
|
4842
4732
|
|
|
4843
|
-
|
|
4844
|
-
const length = getMaxPathLength(el);
|
|
4733
|
+
events: ['resize'] },
|
|
4845
4734
|
|
|
4846
|
-
if (length) {
|
|
4847
|
-
el.style.setProperty('--uk-animation-stroke', length);
|
|
4848
|
-
}
|
|
4849
|
-
}
|
|
4850
4735
|
|
|
4851
|
-
|
|
4852
|
-
|
|
4853
|
-
|
|
4854
|
-
0,
|
|
4855
|
-
...$$('[stroke]', el).map((stroke) => {
|
|
4856
|
-
try {
|
|
4857
|
-
return stroke.getTotalLength();
|
|
4858
|
-
} catch (e) {
|
|
4859
|
-
return 0;
|
|
4860
|
-
}
|
|
4861
|
-
})));
|
|
4736
|
+
{
|
|
4737
|
+
read(data) {
|
|
4738
|
+
let { columns, rows } = data;
|
|
4862
4739
|
|
|
4740
|
+
// Filter component makes elements positioned absolute
|
|
4741
|
+
if (
|
|
4742
|
+
!columns.length ||
|
|
4743
|
+
!this.masonry && !this.parallax ||
|
|
4744
|
+
positionedAbsolute(this.$el))
|
|
4745
|
+
{
|
|
4746
|
+
data.translates = false;
|
|
4747
|
+
return false;
|
|
4748
|
+
}
|
|
4863
4749
|
|
|
4864
|
-
|
|
4750
|
+
let translates = false;
|
|
4865
4751
|
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
|
|
4752
|
+
const nodes = children(this.$el);
|
|
4753
|
+
const columnHeights = getColumnHeights(columns);
|
|
4754
|
+
const margin = getMarginTop(nodes, this.margin) * (rows.length - 1);
|
|
4755
|
+
const elHeight = Math.max(...columnHeights) + margin;
|
|
4869
4756
|
|
|
4870
|
-
|
|
4871
|
-
|
|
4872
|
-
|
|
4757
|
+
if (this.masonry) {
|
|
4758
|
+
columns = columns.map((column) => sortBy$1(column, 'offsetTop'));
|
|
4759
|
+
translates = getTranslates(rows, columns);
|
|
4760
|
+
}
|
|
4873
4761
|
|
|
4874
|
-
|
|
4875
|
-
|
|
4876
|
-
|
|
4762
|
+
let padding = Math.abs(this.parallax);
|
|
4763
|
+
if (padding) {
|
|
4764
|
+
padding = columnHeights.reduce(
|
|
4765
|
+
(newPadding, hgt, i) =>
|
|
4766
|
+
Math.max(
|
|
4767
|
+
newPadding,
|
|
4768
|
+
hgt + margin + (i % 2 ? padding : padding / 8) - elHeight),
|
|
4877
4769
|
|
|
4878
|
-
|
|
4879
|
-
return isTag(el, 'svg') && isTag(other, 'svg') && innerHTML(el) === innerHTML(other);
|
|
4880
|
-
}
|
|
4770
|
+
0);
|
|
4881
4771
|
|
|
4882
|
-
|
|
4883
|
-
return (
|
|
4884
|
-
el.innerHTML ||
|
|
4885
|
-
new XMLSerializer().serializeToString(el).replace(/<svg.*?>(.*?)<\/svg>/g, '$1')).
|
|
4886
|
-
replace(/\s/g, '');
|
|
4887
|
-
}
|
|
4772
|
+
}
|
|
4888
4773
|
|
|
4889
|
-
|
|
4774
|
+
return { padding, columns, translates, height: translates ? elHeight : '' };
|
|
4775
|
+
},
|
|
4890
4776
|
|
|
4891
|
-
|
|
4777
|
+
write(_ref2) {let { height, padding } = _ref2;
|
|
4778
|
+
css(this.$el, 'paddingBottom', padding || '');
|
|
4779
|
+
height !== false && css(this.$el, 'height', height);
|
|
4780
|
+
},
|
|
4892
4781
|
|
|
4893
|
-
|
|
4782
|
+
events: ['resize'] },
|
|
4894
4783
|
|
|
4895
|
-
var navbarToggleIcon = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><rect y=\"9\" width=\"20\" height=\"2\"/><rect y=\"3\" width=\"20\" height=\"2\"/><rect y=\"15\" width=\"20\" height=\"2\"/></svg>";
|
|
4896
4784
|
|
|
4897
|
-
|
|
4785
|
+
{
|
|
4786
|
+
read() {
|
|
4787
|
+
if (this.parallax && positionedAbsolute(this.$el)) {
|
|
4788
|
+
return false;
|
|
4789
|
+
}
|
|
4898
4790
|
|
|
4899
|
-
|
|
4791
|
+
return {
|
|
4792
|
+
scrolled: this.parallax ?
|
|
4793
|
+
scrolledOver(this.$el) * Math.abs(this.parallax) :
|
|
4794
|
+
false };
|
|
4900
4795
|
|
|
4901
|
-
|
|
4796
|
+
},
|
|
4902
4797
|
|
|
4903
|
-
|
|
4798
|
+
write(_ref3) {let { columns, scrolled, translates } = _ref3;
|
|
4799
|
+
if (scrolled === false && !translates) {
|
|
4800
|
+
return;
|
|
4801
|
+
}
|
|
4904
4802
|
|
|
4905
|
-
|
|
4803
|
+
columns.forEach((column, i) =>
|
|
4804
|
+
column.forEach((el, j) =>
|
|
4805
|
+
css(
|
|
4806
|
+
el,
|
|
4807
|
+
'transform',
|
|
4808
|
+
!scrolled && !translates ?
|
|
4809
|
+
'' : "translateY(" + (
|
|
4906
4810
|
|
|
4907
|
-
|
|
4811
|
+
(translates && -translates[i][j]) + (
|
|
4812
|
+
scrolled ? i % 2 ? scrolled : scrolled / 8 : 0)) + "px)")));
|
|
4908
4813
|
|
|
4909
|
-
var slidenavNext = "<svg width=\"14\" height=\"24\" viewBox=\"0 0 14 24\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" points=\"1.225,23 12.775,12 1.225,1 \"/></svg>";
|
|
4910
4814
|
|
|
4911
|
-
var slidenavNextLarge = "<svg width=\"25\" height=\"40\" viewBox=\"0 0 25 40\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"2\" points=\"4.002,38.547 22.527,20.024 4,1.5 \"/></svg>";
|
|
4912
4815
|
|
|
4913
|
-
var slidenavPrevious = "<svg width=\"14\" height=\"24\" viewBox=\"0 0 14 24\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" points=\"12.775,1 1.225,12 12.775,23 \"/></svg>";
|
|
4914
4816
|
|
|
4915
|
-
|
|
4817
|
+
},
|
|
4916
4818
|
|
|
4917
|
-
|
|
4819
|
+
events: ['scroll', 'resize'] }] };
|
|
4918
4820
|
|
|
4919
|
-
var totop = "<svg width=\"18\" height=\"10\" viewBox=\"0 0 18 10\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" points=\"1 9 9 1 17 9 \"/></svg>";
|
|
4920
4821
|
|
|
4921
|
-
const icons = {
|
|
4922
|
-
spinner,
|
|
4923
|
-
totop,
|
|
4924
|
-
marker,
|
|
4925
|
-
'close-icon': closeIcon,
|
|
4926
|
-
'close-large': closeLarge,
|
|
4927
|
-
'navbar-toggle-icon': navbarToggleIcon,
|
|
4928
|
-
'overlay-icon': overlayIcon,
|
|
4929
|
-
'pagination-next': paginationNext,
|
|
4930
|
-
'pagination-previous': paginationPrevious,
|
|
4931
|
-
'search-icon': searchIcon,
|
|
4932
|
-
'search-large': searchLarge,
|
|
4933
|
-
'search-navbar': searchNavbar,
|
|
4934
|
-
'slidenav-next': slidenavNext,
|
|
4935
|
-
'slidenav-next-large': slidenavNextLarge,
|
|
4936
|
-
'slidenav-previous': slidenavPrevious,
|
|
4937
|
-
'slidenav-previous-large': slidenavPreviousLarge };
|
|
4938
4822
|
|
|
4939
4823
|
|
|
4940
|
-
|
|
4941
|
-
|
|
4942
|
-
|
|
4943
|
-
extends: SVG,
|
|
4944
|
-
|
|
4945
|
-
args: 'icon',
|
|
4946
|
-
|
|
4947
|
-
props: ['icon'],
|
|
4948
|
-
|
|
4949
|
-
data: {
|
|
4950
|
-
include: ['focusable'] },
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
isIcon: true,
|
|
4954
|
-
|
|
4955
|
-
beforeConnect() {
|
|
4956
|
-
addClass(this.$el, 'uk-icon');
|
|
4957
|
-
},
|
|
4958
|
-
|
|
4959
|
-
methods: {
|
|
4960
|
-
async getSvg() {
|
|
4961
|
-
const icon = getIcon(this.icon);
|
|
4824
|
+
function positionedAbsolute(el) {
|
|
4825
|
+
return children(el).some((el) => css(el, 'position') === 'absolute');
|
|
4826
|
+
}
|
|
4962
4827
|
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
}
|
|
4828
|
+
function getTranslates(rows, columns) {
|
|
4829
|
+
const rowHeights = rows.map((row) => Math.max(...row.map((el) => el.offsetHeight)));
|
|
4966
4830
|
|
|
4967
|
-
|
|
4968
|
-
|
|
4831
|
+
return columns.map((elements) => {
|
|
4832
|
+
let prev = 0;
|
|
4833
|
+
return elements.map(
|
|
4834
|
+
(element, row) =>
|
|
4835
|
+
prev += row ? rowHeights[row - 1] - elements[row - 1].offsetHeight : 0);
|
|
4969
4836
|
|
|
4970
|
-
|
|
4971
|
-
|
|
4837
|
+
});
|
|
4838
|
+
}
|
|
4972
4839
|
|
|
4973
|
-
|
|
4840
|
+
function getMarginTop(nodes, cls) {
|
|
4841
|
+
const [node] = nodes.filter((el) => hasClass(el, cls));
|
|
4974
4842
|
|
|
4975
|
-
|
|
4976
|
-
|
|
4843
|
+
return toFloat(node ? css(node, 'marginTop') : css(nodes[0], 'paddingLeft'));
|
|
4844
|
+
}
|
|
4977
4845
|
|
|
4846
|
+
function getColumnHeights(columns) {
|
|
4847
|
+
return columns.map((column) => column.reduce((sum, el) => sum + el.offsetHeight, 0));
|
|
4848
|
+
}
|
|
4978
4849
|
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
} };
|
|
4850
|
+
var heightMatch = {
|
|
4851
|
+
mixins: [Resize],
|
|
4982
4852
|
|
|
4853
|
+
args: 'target',
|
|
4983
4854
|
|
|
4984
|
-
|
|
4985
|
-
|
|
4855
|
+
props: {
|
|
4856
|
+
target: String,
|
|
4857
|
+
row: Boolean },
|
|
4986
4858
|
|
|
4987
|
-
beforeConnect() {
|
|
4988
|
-
addClass(this.$el, 'uk-slidenav');
|
|
4989
|
-
const icon = this.$props.icon;
|
|
4990
|
-
this.icon = hasClass(this.$el, 'uk-slidenav-large') ? icon + "-large" : icon;
|
|
4991
|
-
} };
|
|
4992
4859
|
|
|
4860
|
+
data: {
|
|
4861
|
+
target: '> *',
|
|
4862
|
+
row: true },
|
|
4993
4863
|
|
|
4994
|
-
const Search = {
|
|
4995
|
-
extends: IconComponent,
|
|
4996
4864
|
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
'search-navbar' :
|
|
5003
|
-
this.$props.icon;
|
|
5004
|
-
} };
|
|
4865
|
+
computed: {
|
|
4866
|
+
elements: {
|
|
4867
|
+
get(_ref, $el) {let { target } = _ref;
|
|
4868
|
+
return $$(target, $el);
|
|
4869
|
+
},
|
|
5005
4870
|
|
|
4871
|
+
watch() {
|
|
4872
|
+
this.$reset();
|
|
4873
|
+
} } },
|
|
5006
4874
|
|
|
5007
|
-
const Close = {
|
|
5008
|
-
extends: IconComponent,
|
|
5009
4875
|
|
|
5010
|
-
beforeConnect() {
|
|
5011
|
-
this.icon = "close-" + (hasClass(this.$el, 'uk-close-large') ? 'large' : 'icon');
|
|
5012
|
-
} };
|
|
5013
4876
|
|
|
4877
|
+
resizeTargets() {
|
|
4878
|
+
return [this.$el, ...this.elements];
|
|
4879
|
+
},
|
|
5014
4880
|
|
|
5015
|
-
|
|
5016
|
-
|
|
4881
|
+
update: {
|
|
4882
|
+
read() {
|
|
4883
|
+
return {
|
|
4884
|
+
rows: (this.row ? getRows(this.elements) : [this.elements]).map(match) };
|
|
5017
4885
|
|
|
5018
|
-
|
|
5019
|
-
async getSvg() {
|
|
5020
|
-
const icon = await Icon.methods.getSvg.call(this);
|
|
4886
|
+
},
|
|
5021
4887
|
|
|
5022
|
-
|
|
5023
|
-
|
|
4888
|
+
write(_ref2) {let { rows } = _ref2;
|
|
4889
|
+
for (const { heights, elements } of rows) {
|
|
4890
|
+
elements.forEach((el, i) => css(el, 'minHeight', heights[i]));
|
|
5024
4891
|
}
|
|
4892
|
+
},
|
|
5025
4893
|
|
|
5026
|
-
|
|
5027
|
-
} } };
|
|
4894
|
+
events: ['resize'] } };
|
|
5028
4895
|
|
|
5029
4896
|
|
|
5030
4897
|
|
|
5031
|
-
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
|
|
5035
|
-
each(added, (svg, name) => {
|
|
5036
|
-
icons[name] = svg;
|
|
5037
|
-
delete parsed[name];
|
|
5038
|
-
});
|
|
4898
|
+
function match(elements) {
|
|
4899
|
+
if (elements.length < 2) {
|
|
4900
|
+
return { heights: [''], elements };
|
|
4901
|
+
}
|
|
5039
4902
|
|
|
5040
|
-
|
|
5041
|
-
|
|
5042
|
-
|
|
5043
|
-
|
|
5044
|
-
|
|
4903
|
+
css(elements, 'minHeight', '');
|
|
4904
|
+
let heights = elements.map(getHeight);
|
|
4905
|
+
const max = Math.max(...heights);
|
|
4906
|
+
|
|
4907
|
+
return {
|
|
4908
|
+
heights: elements.map((el, i) => heights[i].toFixed(2) === max.toFixed(2) ? '' : max),
|
|
4909
|
+
elements };
|
|
5045
4910
|
|
|
5046
|
-
}
|
|
5047
|
-
};
|
|
5048
4911
|
}
|
|
5049
4912
|
|
|
5050
|
-
function
|
|
5051
|
-
|
|
5052
|
-
|
|
4913
|
+
function getHeight(element) {
|
|
4914
|
+
let style = false;
|
|
4915
|
+
if (!isVisible(element)) {
|
|
4916
|
+
style = element.style.display;
|
|
4917
|
+
css(element, 'display', 'block', 'important');
|
|
5053
4918
|
}
|
|
5054
4919
|
|
|
5055
|
-
|
|
5056
|
-
parsed[icon] = $((icons[applyRtl(icon)] || icons[icon]).trim());
|
|
5057
|
-
}
|
|
4920
|
+
const height = dimensions(element).height - boxModelAdjust(element, 'height', 'content-box');
|
|
5058
4921
|
|
|
5059
|
-
|
|
5060
|
-
|
|
4922
|
+
if (style !== false) {
|
|
4923
|
+
css(element, 'display', style);
|
|
4924
|
+
}
|
|
5061
4925
|
|
|
5062
|
-
|
|
5063
|
-
return isRtl ? swap(swap(icon, 'left', 'right'), 'previous', 'next') : icon;
|
|
4926
|
+
return height;
|
|
5064
4927
|
}
|
|
5065
4928
|
|
|
5066
|
-
|
|
5067
|
-
|
|
5068
|
-
var img = {
|
|
5069
|
-
args: 'dataSrc',
|
|
4929
|
+
var heightViewport = {
|
|
4930
|
+
mixins: [Resize],
|
|
5070
4931
|
|
|
5071
4932
|
props: {
|
|
5072
|
-
|
|
5073
|
-
|
|
5074
|
-
|
|
5075
|
-
|
|
5076
|
-
target: String,
|
|
5077
|
-
loading: String },
|
|
4933
|
+
expand: Boolean,
|
|
4934
|
+
offsetTop: Boolean,
|
|
4935
|
+
offsetBottom: Boolean,
|
|
4936
|
+
minHeight: Number },
|
|
5078
4937
|
|
|
5079
4938
|
|
|
5080
4939
|
data: {
|
|
5081
|
-
|
|
5082
|
-
|
|
5083
|
-
|
|
5084
|
-
|
|
5085
|
-
target: false,
|
|
5086
|
-
loading: 'lazy' },
|
|
5087
|
-
|
|
5088
|
-
|
|
5089
|
-
connected() {
|
|
5090
|
-
if (this.loading !== 'lazy') {
|
|
5091
|
-
this.load();
|
|
5092
|
-
return;
|
|
5093
|
-
}
|
|
4940
|
+
expand: false,
|
|
4941
|
+
offsetTop: false,
|
|
4942
|
+
offsetBottom: false,
|
|
4943
|
+
minHeight: 0 },
|
|
5094
4944
|
|
|
5095
|
-
const target = [this.$el, ...queryAll(this.$props.target, this.$el)];
|
|
5096
4945
|
|
|
5097
|
-
|
|
5098
|
-
|
|
5099
|
-
|
|
4946
|
+
resizeTargets() {
|
|
4947
|
+
// check for offsetTop change
|
|
4948
|
+
return [this.$el, ...scrollParents(this.$el, /auto|scroll/)];
|
|
4949
|
+
},
|
|
5100
4950
|
|
|
5101
|
-
|
|
5102
|
-
|
|
4951
|
+
update: {
|
|
4952
|
+
read(_ref) {let { minHeight: prev } = _ref;
|
|
4953
|
+
if (!isVisible(this.$el)) {
|
|
4954
|
+
return false;
|
|
5103
4955
|
}
|
|
5104
|
-
}
|
|
5105
4956
|
|
|
5106
|
-
|
|
4957
|
+
let minHeight = '';
|
|
4958
|
+
const box = boxModelAdjust(this.$el, 'height', 'content-box');
|
|
4959
|
+
|
|
4960
|
+
const { body, scrollingElement } = document;
|
|
4961
|
+
const [scrollElement] = scrollParents(this.$el, /auto|scroll/);
|
|
4962
|
+
const { height: viewportHeight } = offsetViewport(
|
|
4963
|
+
scrollElement === body ? scrollingElement : scrollElement);
|
|
5107
4964
|
|
|
5108
|
-
this.registerObserver(
|
|
5109
|
-
observeIntersection(
|
|
5110
|
-
target,
|
|
5111
|
-
(entries, observer) => {
|
|
5112
|
-
this.load();
|
|
5113
|
-
observer.disconnect();
|
|
5114
|
-
},
|
|
5115
|
-
{
|
|
5116
|
-
rootMargin: toPx(this.offsetTop, 'height') + "px " + toPx(
|
|
5117
|
-
this.offsetLeft,
|
|
5118
|
-
'width') + "px" }));
|
|
5119
4965
|
|
|
4966
|
+
if (this.expand) {
|
|
4967
|
+
minHeight = Math.max(
|
|
4968
|
+
viewportHeight - (
|
|
4969
|
+
dimensions(scrollElement).height - dimensions(this.$el).height) -
|
|
4970
|
+
box,
|
|
4971
|
+
0);
|
|
5120
4972
|
|
|
4973
|
+
} else {
|
|
4974
|
+
const isScrollingElement =
|
|
4975
|
+
scrollingElement === scrollElement || body === scrollElement;
|
|
5121
4976
|
|
|
4977
|
+
// on mobile devices (iOS and Android) window.innerHeight !== 100vh
|
|
4978
|
+
minHeight = "calc(" + (isScrollingElement ? '100vh' : viewportHeight + "px");
|
|
5122
4979
|
|
|
5123
|
-
|
|
4980
|
+
if (this.offsetTop) {
|
|
4981
|
+
if (isScrollingElement) {
|
|
4982
|
+
const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
|
|
4983
|
+
minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
|
|
4984
|
+
} else {
|
|
4985
|
+
minHeight += " - " + css(scrollElement, 'paddingTop');
|
|
4986
|
+
}
|
|
4987
|
+
}
|
|
5124
4988
|
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
4989
|
+
if (this.offsetBottom === true) {
|
|
4990
|
+
minHeight += " - " + dimensions(this.$el.nextElementSibling).height + "px";
|
|
4991
|
+
} else if (isNumeric(this.offsetBottom)) {
|
|
4992
|
+
minHeight += " - " + this.offsetBottom + "vh";
|
|
4993
|
+
} else if (this.offsetBottom && endsWith(this.offsetBottom, 'px')) {
|
|
4994
|
+
minHeight += " - " + toFloat(this.offsetBottom) + "px";
|
|
4995
|
+
} else if (isString(this.offsetBottom)) {
|
|
4996
|
+
minHeight += " - " + dimensions(query(this.offsetBottom, this.$el)).height + "px";
|
|
4997
|
+
}
|
|
5130
4998
|
|
|
5131
|
-
|
|
5132
|
-
load() {
|
|
5133
|
-
if (this._data.image) {
|
|
5134
|
-
return this._data.image;
|
|
4999
|
+
minHeight += (box ? " - " + box + "px" : '') + ")";
|
|
5135
5000
|
}
|
|
5136
5001
|
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
getImageFromElement(this.$el, this.dataSrc, this.sources);
|
|
5002
|
+
return { minHeight, prev };
|
|
5003
|
+
},
|
|
5140
5004
|
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5005
|
+
write(_ref2) {let { minHeight } = _ref2;
|
|
5006
|
+
css(this.$el, { minHeight });
|
|
5007
|
+
|
|
5008
|
+
if (this.minHeight && toFloat(css(this.$el, 'minHeight')) < this.minHeight) {
|
|
5009
|
+
css(this.$el, 'minHeight', this.minHeight);
|
|
5010
|
+
}
|
|
5011
|
+
},
|
|
5012
|
+
|
|
5013
|
+
events: ['resize'] } };
|
|
5014
|
+
|
|
5015
|
+
var SVG = {
|
|
5016
|
+
args: 'src',
|
|
5017
|
+
|
|
5018
|
+
props: {
|
|
5019
|
+
id: Boolean,
|
|
5020
|
+
icon: String,
|
|
5021
|
+
src: String,
|
|
5022
|
+
style: String,
|
|
5023
|
+
width: Number,
|
|
5024
|
+
height: Number,
|
|
5025
|
+
ratio: Number,
|
|
5026
|
+
class: String,
|
|
5027
|
+
strokeAnimation: Boolean,
|
|
5028
|
+
focusable: Boolean, // IE 11
|
|
5029
|
+
attributes: 'list' },
|
|
5030
|
+
|
|
5031
|
+
|
|
5032
|
+
data: {
|
|
5033
|
+
ratio: 1,
|
|
5034
|
+
include: ['style', 'class', 'focusable'],
|
|
5035
|
+
class: '',
|
|
5036
|
+
strokeAnimation: false },
|
|
5037
|
+
|
|
5038
|
+
|
|
5039
|
+
beforeConnect() {
|
|
5040
|
+
this.class += ' uk-svg';
|
|
5041
|
+
},
|
|
5042
|
+
|
|
5043
|
+
connected() {
|
|
5044
|
+
if (!this.icon && includes(this.src, '#')) {
|
|
5045
|
+
[this.src, this.icon] = this.src.split('#');
|
|
5046
|
+
}
|
|
5047
|
+
|
|
5048
|
+
this.svg = this.getSvg().then((el) => {
|
|
5049
|
+
if (this._connected) {
|
|
5050
|
+
const svg = insertSVG(el, this.$el);
|
|
5051
|
+
|
|
5052
|
+
if (this.svgEl && svg !== this.svgEl) {
|
|
5053
|
+
remove$1(this.svgEl);
|
|
5054
|
+
}
|
|
5055
|
+
|
|
5056
|
+
this.applyAttributes(svg, el);
|
|
5057
|
+
|
|
5058
|
+
return this.svgEl = svg;
|
|
5059
|
+
}
|
|
5060
|
+
}, noop);
|
|
5061
|
+
|
|
5062
|
+
if (this.strokeAnimation) {
|
|
5063
|
+
this.svg.then((el) => {
|
|
5064
|
+
if (this._connected) {
|
|
5065
|
+
applyAnimation(el);
|
|
5066
|
+
this.registerObserver(
|
|
5067
|
+
observeIntersection(el, (records, observer) => {
|
|
5068
|
+
applyAnimation(el);
|
|
5069
|
+
observer.disconnect();
|
|
5070
|
+
}));
|
|
5071
|
+
|
|
5072
|
+
}
|
|
5073
|
+
});
|
|
5074
|
+
}
|
|
5075
|
+
},
|
|
5076
|
+
|
|
5077
|
+
disconnected() {
|
|
5078
|
+
this.svg.then((svg) => {
|
|
5079
|
+
if (this._connected) {
|
|
5080
|
+
return;
|
|
5081
|
+
}
|
|
5082
|
+
|
|
5083
|
+
if (isVoidElement(this.$el)) {
|
|
5084
|
+
this.$el.hidden = false;
|
|
5085
|
+
}
|
|
5086
|
+
|
|
5087
|
+
remove$1(svg);
|
|
5088
|
+
this.svgEl = null;
|
|
5089
|
+
});
|
|
5090
|
+
|
|
5091
|
+
this.svg = null;
|
|
5092
|
+
},
|
|
5093
|
+
|
|
5094
|
+
methods: {
|
|
5095
|
+
async getSvg() {
|
|
5096
|
+
if (isTag(this.$el, 'img') && !this.$el.complete && this.$el.loading === 'lazy') {
|
|
5097
|
+
return new Promise((resolve) =>
|
|
5098
|
+
once(this.$el, 'load', () => resolve(this.getSvg())));
|
|
5099
|
+
|
|
5100
|
+
}
|
|
5101
|
+
|
|
5102
|
+
return parseSVG(await loadSVG(this.src), this.icon) || Promise.reject('SVG not found.');
|
|
5103
|
+
},
|
|
5104
|
+
|
|
5105
|
+
applyAttributes(el, ref) {
|
|
5106
|
+
for (const prop in this.$options.props) {
|
|
5107
|
+
if (includes(this.include, prop) && prop in this) {
|
|
5108
|
+
attr(el, prop, this[prop]);
|
|
5109
|
+
}
|
|
5110
|
+
}
|
|
5111
|
+
|
|
5112
|
+
for (const attribute in this.attributes) {
|
|
5113
|
+
const [prop, value] = this.attributes[attribute].split(':', 2);
|
|
5114
|
+
attr(el, prop, value);
|
|
5115
|
+
}
|
|
5116
|
+
|
|
5117
|
+
if (!this.id) {
|
|
5118
|
+
removeAttr(el, 'id');
|
|
5119
|
+
}
|
|
5120
|
+
|
|
5121
|
+
const props = ['width', 'height'];
|
|
5122
|
+
let dimensions = props.map((prop) => this[prop]);
|
|
5123
|
+
|
|
5124
|
+
if (!dimensions.some((val) => val)) {
|
|
5125
|
+
dimensions = props.map((prop) => attr(ref, prop));
|
|
5126
|
+
}
|
|
5127
|
+
|
|
5128
|
+
const viewBox = attr(ref, 'viewBox');
|
|
5129
|
+
if (viewBox && !dimensions.some((val) => val)) {
|
|
5130
|
+
dimensions = viewBox.split(' ').slice(2);
|
|
5131
|
+
}
|
|
5132
|
+
|
|
5133
|
+
dimensions.forEach((val, i) => attr(el, props[i], toFloat(val) * this.ratio || null));
|
|
5144
5134
|
} } };
|
|
5145
5135
|
|
|
5146
5136
|
|
|
5147
5137
|
|
|
5148
|
-
|
|
5149
|
-
if (
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
const change = !includes(el.style.backgroundImage, src);
|
|
5155
|
-
if (change) {
|
|
5156
|
-
css(el, 'backgroundImage', "url(" + escape(src) + ")");
|
|
5157
|
-
trigger(el, createEvent('load', false));
|
|
5138
|
+
const loadSVG = memoize(async (src) => {
|
|
5139
|
+
if (src) {
|
|
5140
|
+
if (startsWith(src, 'data:')) {
|
|
5141
|
+
return decodeURIComponent(src.split(',')[1]);
|
|
5142
|
+
} else {
|
|
5143
|
+
return (await fetch(src)).text();
|
|
5158
5144
|
}
|
|
5145
|
+
} else {
|
|
5146
|
+
return Promise.reject();
|
|
5159
5147
|
}
|
|
5160
|
-
}
|
|
5148
|
+
});
|
|
5161
5149
|
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
});
|
|
5150
|
+
function parseSVG(svg, icon) {var _svg;
|
|
5151
|
+
if (icon && includes(svg, '<symbol')) {
|
|
5152
|
+
svg = parseSymbols(svg, icon) || svg;
|
|
5153
|
+
}
|
|
5154
|
+
|
|
5155
|
+
svg = $(svg.substr(svg.indexOf('<svg')));
|
|
5156
|
+
return ((_svg = svg) == null ? void 0 : _svg.hasChildNodes()) && svg;
|
|
5170
5157
|
}
|
|
5171
5158
|
|
|
5172
|
-
|
|
5173
|
-
|
|
5159
|
+
const symbolRe = /<symbol([^]*?id=(['"])(.+?)\2[^]*?<\/)symbol>/g;
|
|
5160
|
+
const symbols = {};
|
|
5174
5161
|
|
|
5175
|
-
|
|
5176
|
-
|
|
5177
|
-
|
|
5178
|
-
setSrcAttrs(el, img.currentSrc);
|
|
5179
|
-
};
|
|
5180
|
-
attr(img, 'src', src);
|
|
5181
|
-
return img;
|
|
5182
|
-
}
|
|
5162
|
+
function parseSymbols(svg, icon) {
|
|
5163
|
+
if (!symbols[svg]) {
|
|
5164
|
+
symbols[svg] = {};
|
|
5183
5165
|
|
|
5184
|
-
|
|
5185
|
-
sources = parseSources(sources);
|
|
5166
|
+
symbolRe.lastIndex = 0;
|
|
5186
5167
|
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
const source = fragment('<source>');
|
|
5191
|
-
attr(source, attrs);
|
|
5192
|
-
append(picture, source);
|
|
5168
|
+
let match;
|
|
5169
|
+
while (match = symbolRe.exec(svg)) {
|
|
5170
|
+
symbols[svg][match[3]] = "<svg xmlns=\"http://www.w3.org/2000/svg\"" + match[1] + "svg>";
|
|
5193
5171
|
}
|
|
5194
|
-
append(picture, img);
|
|
5195
5172
|
}
|
|
5173
|
+
|
|
5174
|
+
return symbols[svg][icon];
|
|
5196
5175
|
}
|
|
5197
5176
|
|
|
5198
|
-
function
|
|
5199
|
-
|
|
5200
|
-
|
|
5177
|
+
function applyAnimation(el) {
|
|
5178
|
+
const length = getMaxPathLength(el);
|
|
5179
|
+
|
|
5180
|
+
if (length) {
|
|
5181
|
+
el.style.setProperty('--uk-animation-stroke', length);
|
|
5201
5182
|
}
|
|
5183
|
+
}
|
|
5202
5184
|
|
|
5203
|
-
|
|
5185
|
+
function getMaxPathLength(el) {
|
|
5186
|
+
return Math.ceil(
|
|
5187
|
+
Math.max(
|
|
5188
|
+
0,
|
|
5189
|
+
...$$('[stroke]', el).map((stroke) => {
|
|
5204
5190
|
try {
|
|
5205
|
-
|
|
5191
|
+
return stroke.getTotalLength();
|
|
5206
5192
|
} catch (e) {
|
|
5207
|
-
|
|
5193
|
+
return 0;
|
|
5208
5194
|
}
|
|
5209
|
-
}
|
|
5210
|
-
sources = parseOptions(sources);
|
|
5211
|
-
}
|
|
5195
|
+
})));
|
|
5212
5196
|
|
|
5213
|
-
if (!isArray(sources)) {
|
|
5214
|
-
sources = [sources];
|
|
5215
|
-
}
|
|
5216
5197
|
|
|
5217
|
-
return sources.filter((source) => !isEmpty(source));
|
|
5218
5198
|
}
|
|
5219
5199
|
|
|
5220
|
-
function
|
|
5221
|
-
if (
|
|
5222
|
-
|
|
5200
|
+
function insertSVG(el, root) {
|
|
5201
|
+
if (isVoidElement(root) || isTag(root, 'canvas')) {
|
|
5202
|
+
root.hidden = true;
|
|
5203
|
+
|
|
5204
|
+
const next = root.nextElementSibling;
|
|
5205
|
+
return equals(el, next) ? next : after(root, el);
|
|
5223
5206
|
}
|
|
5207
|
+
|
|
5208
|
+
const last = root.lastElementChild;
|
|
5209
|
+
return equals(el, last) ? last : append(root, el);
|
|
5224
5210
|
}
|
|
5225
5211
|
|
|
5226
|
-
function
|
|
5227
|
-
return isTag(el, '
|
|
5212
|
+
function equals(el, other) {
|
|
5213
|
+
return isTag(el, 'svg') && isTag(other, 'svg') && innerHTML(el) === innerHTML(other);
|
|
5228
5214
|
}
|
|
5229
5215
|
|
|
5230
|
-
function
|
|
5231
|
-
return
|
|
5216
|
+
function innerHTML(el) {
|
|
5217
|
+
return (
|
|
5218
|
+
el.innerHTML ||
|
|
5219
|
+
new XMLSerializer().serializeToString(el).replace(/<svg.*?>(.*?)<\/svg>/g, '$1')).
|
|
5220
|
+
replace(/\s/g, '');
|
|
5232
5221
|
}
|
|
5233
5222
|
|
|
5234
|
-
var
|
|
5235
|
-
|
|
5236
|
-
|
|
5223
|
+
var closeIcon = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\"><line fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" x1=\"1\" y1=\"1\" x2=\"13\" y2=\"13\"/><line fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" x1=\"13\" y1=\"1\" x2=\"1\" y2=\"13\"/></svg>";
|
|
5224
|
+
|
|
5225
|
+
var closeLarge = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><line fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" x1=\"1\" y1=\"1\" x2=\"19\" y2=\"19\"/><line fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" x1=\"19\" y1=\"1\" x2=\"1\" y2=\"19\"/></svg>";
|
|
5226
|
+
|
|
5227
|
+
var marker = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\"9\" y=\"4\" width=\"1\" height=\"11\"/><rect x=\"4\" y=\"9\" width=\"11\" height=\"1\"/></svg>";
|
|
5228
|
+
|
|
5229
|
+
var navParentIcon = "<svg xmlns=\"http://www.w3.org/2000/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>";
|
|
5230
|
+
|
|
5231
|
+
var navParentIconLarge = "<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" points=\"1 4 7 10 13 4\"/></svg>";
|
|
5232
|
+
|
|
5233
|
+
var navbarParentIcon = "<svg xmlns=\"http://www.w3.org/2000/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>";
|
|
5234
|
+
|
|
5235
|
+
var navbarToggleIcon = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><style>.uk-navbar-toggle svg > [class*='line-'] {\n transition: 0.2s ease-in-out;\n transition-property: transform, opacity,;\n transform-origin: center;\n opacity: 1;\n }\n\n .uk-navbar-toggle[aria-expanded=\"true\"] svg > .line-2 { transform: rotate(45deg); }\n .uk-navbar-toggle[aria-expanded=\"true\"] svg > .line-3 { transform: rotate(-45deg); }\n\n .uk-navbar-toggle[aria-expanded=\"true\"] svg > .line-1,\n .uk-navbar-toggle[aria-expanded=\"true\"] svg > .line-4 { opacity: 0; }\n .uk-navbar-toggle[aria-expanded=\"true\"] svg > .line-1 { transform: translateY(6px) scaleX(0); }\n .uk-navbar-toggle[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>";
|
|
5236
|
+
|
|
5237
|
+
var overlayIcon = "<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\"><rect x=\"19\" y=\"0\" width=\"1\" height=\"40\"/><rect x=\"0\" y=\"19\" width=\"40\" height=\"1\"/></svg>";
|
|
5238
|
+
|
|
5239
|
+
var paginationNext = "<svg width=\"7\" height=\"12\" viewBox=\"0 0 7 12\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" points=\"1 1 6 6 1 11\"/></svg>";
|
|
5240
|
+
|
|
5241
|
+
var paginationPrevious = "<svg width=\"7\" height=\"12\" viewBox=\"0 0 7 12\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" points=\"6 1 1 6 6 11\"/></svg>";
|
|
5242
|
+
|
|
5243
|
+
var searchIcon = "<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"9\" cy=\"9\" r=\"7\"/><path fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" d=\"M14,14 L18,18 L14,14 Z\"/></svg>";
|
|
5244
|
+
|
|
5245
|
+
var searchLarge = "<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\"><circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.8\" cx=\"17.5\" cy=\"17.5\" r=\"16.5\"/><line fill=\"none\" stroke=\"#000\" stroke-width=\"1.8\" x1=\"38\" y1=\"39\" x2=\"29\" y2=\"30\"/></svg>";
|
|
5246
|
+
|
|
5247
|
+
var searchNavbar = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><circle fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" cx=\"10.5\" cy=\"10.5\" r=\"9.5\"/><line fill=\"none\" stroke=\"#000\" stroke-width=\"1.1\" x1=\"23\" y1=\"23\" x2=\"17\" y2=\"17\"/></svg>";
|
|
5248
|
+
|
|
5249
|
+
var slidenavNext = "<svg width=\"14\" height=\"24\" viewBox=\"0 0 14 24\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" points=\"1.225,23 12.775,12 1.225,1 \"/></svg>";
|
|
5250
|
+
|
|
5251
|
+
var slidenavNextLarge = "<svg width=\"25\" height=\"40\" viewBox=\"0 0 25 40\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"2\" points=\"4.002,38.547 22.527,20.024 4,1.5 \"/></svg>";
|
|
5252
|
+
|
|
5253
|
+
var slidenavPrevious = "<svg width=\"14\" height=\"24\" viewBox=\"0 0 14 24\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.4\" points=\"12.775,1 1.225,12 12.775,23 \"/></svg>";
|
|
5254
|
+
|
|
5255
|
+
var slidenavPreviousLarge = "<svg width=\"25\" height=\"40\" viewBox=\"0 0 25 40\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"2\" points=\"20.527,1.5 2,20.024 20.525,38.547 \"/></svg>";
|
|
5256
|
+
|
|
5257
|
+
var spinner = "<svg width=\"30\" height=\"30\" viewBox=\"0 0 30 30\" xmlns=\"http://www.w3.org/2000/svg\"><circle fill=\"none\" stroke=\"#000\" cx=\"15\" cy=\"15\" r=\"14\"/></svg>";
|
|
5258
|
+
|
|
5259
|
+
var totop = "<svg width=\"18\" height=\"10\" viewBox=\"0 0 18 10\" xmlns=\"http://www.w3.org/2000/svg\"><polyline fill=\"none\" stroke=\"#000\" stroke-width=\"1.2\" points=\"1 9 9 1 17 9 \"/></svg>";
|
|
5260
|
+
|
|
5261
|
+
const icons = {
|
|
5262
|
+
spinner,
|
|
5263
|
+
totop,
|
|
5264
|
+
marker,
|
|
5265
|
+
'close-icon': closeIcon,
|
|
5266
|
+
'close-large': closeLarge,
|
|
5267
|
+
'nav-parent-icon': navParentIcon,
|
|
5268
|
+
'nav-parent-icon-large': navParentIconLarge,
|
|
5269
|
+
'navbar-parent-icon': navbarParentIcon,
|
|
5270
|
+
'navbar-toggle-icon': navbarToggleIcon,
|
|
5271
|
+
'overlay-icon': overlayIcon,
|
|
5272
|
+
'pagination-next': paginationNext,
|
|
5273
|
+
'pagination-previous': paginationPrevious,
|
|
5274
|
+
'search-icon': searchIcon,
|
|
5275
|
+
'search-large': searchLarge,
|
|
5276
|
+
'search-navbar': searchNavbar,
|
|
5277
|
+
'slidenav-next': slidenavNext,
|
|
5278
|
+
'slidenav-next-large': slidenavNextLarge,
|
|
5279
|
+
'slidenav-previous': slidenavPrevious,
|
|
5280
|
+
'slidenav-previous-large': slidenavPreviousLarge };
|
|
5281
|
+
|
|
5282
|
+
|
|
5283
|
+
const Icon = {
|
|
5284
|
+
install: install$1,
|
|
5285
|
+
|
|
5286
|
+
extends: SVG,
|
|
5237
5287
|
|
|
5288
|
+
args: 'icon',
|
|
5289
|
+
|
|
5290
|
+
props: ['icon'],
|
|
5238
5291
|
|
|
5239
5292
|
data: {
|
|
5240
|
-
|
|
5293
|
+
include: ['focusable'] },
|
|
5241
5294
|
|
|
5242
5295
|
|
|
5243
|
-
|
|
5244
|
-
|
|
5245
|
-
|
|
5246
|
-
|
|
5247
|
-
this.mediaObj = window.matchMedia(media);
|
|
5248
|
-
const handler = () => {
|
|
5249
|
-
this.matchMedia = this.mediaObj.matches;
|
|
5250
|
-
trigger(this.$el, createEvent('mediachange', false, true, [this.mediaObj]));
|
|
5251
|
-
};
|
|
5252
|
-
this.offMediaObj = on(this.mediaObj, 'change', () => {
|
|
5253
|
-
handler();
|
|
5254
|
-
this.$emit('resize');
|
|
5255
|
-
});
|
|
5256
|
-
handler();
|
|
5257
|
-
}
|
|
5296
|
+
isIcon: true,
|
|
5297
|
+
|
|
5298
|
+
beforeConnect() {
|
|
5299
|
+
addClass(this.$el, 'uk-icon');
|
|
5258
5300
|
},
|
|
5259
5301
|
|
|
5260
|
-
|
|
5261
|
-
(
|
|
5302
|
+
methods: {
|
|
5303
|
+
async getSvg() {
|
|
5304
|
+
const icon = getIcon(this.icon);
|
|
5305
|
+
|
|
5306
|
+
if (!icon) {
|
|
5307
|
+
throw 'Icon not found.';
|
|
5308
|
+
}
|
|
5309
|
+
|
|
5310
|
+
return icon;
|
|
5311
|
+
} } };
|
|
5312
|
+
|
|
5313
|
+
const IconComponent = {
|
|
5314
|
+
args: false,
|
|
5315
|
+
|
|
5316
|
+
extends: Icon,
|
|
5317
|
+
|
|
5318
|
+
data: (vm) => ({
|
|
5319
|
+
icon: hyphenate(vm.constructor.options.name) }),
|
|
5320
|
+
|
|
5321
|
+
|
|
5322
|
+
beforeConnect() {
|
|
5323
|
+
addClass(this.$el, this.$name);
|
|
5262
5324
|
} };
|
|
5263
5325
|
|
|
5264
5326
|
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
if (startsWith(value, '@')) {
|
|
5268
|
-
const name = "breakpoint-" + value.substr(1);
|
|
5269
|
-
value = toFloat(getCssVar(name));
|
|
5270
|
-
} else if (isNaN(value)) {
|
|
5271
|
-
return value;
|
|
5272
|
-
}
|
|
5273
|
-
}
|
|
5327
|
+
const NavParentIcon = {
|
|
5328
|
+
extends: IconComponent,
|
|
5274
5329
|
|
|
5275
|
-
|
|
5276
|
-
|
|
5330
|
+
beforeConnect() {
|
|
5331
|
+
const icon = this.$props.icon;
|
|
5332
|
+
this.icon = closest(this.$el, '.uk-nav-primary') ? icon + "-large" : icon;
|
|
5333
|
+
} };
|
|
5277
5334
|
|
|
5278
|
-
var leader = {
|
|
5279
|
-
mixins: [Class, Media, Resize],
|
|
5280
5335
|
|
|
5281
|
-
|
|
5282
|
-
|
|
5336
|
+
const Slidenav = {
|
|
5337
|
+
extends: IconComponent,
|
|
5338
|
+
|
|
5339
|
+
beforeConnect() {
|
|
5340
|
+
addClass(this.$el, 'uk-slidenav');
|
|
5341
|
+
const icon = this.$props.icon;
|
|
5342
|
+
this.icon = hasClass(this.$el, 'uk-slidenav-large') ? icon + "-large" : icon;
|
|
5343
|
+
} };
|
|
5283
5344
|
|
|
5284
5345
|
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
clsWrapper: 'uk-leader-fill',
|
|
5288
|
-
clsHide: 'uk-leader-hide',
|
|
5289
|
-
attrFill: 'data-fill' },
|
|
5346
|
+
const Search = {
|
|
5347
|
+
extends: IconComponent,
|
|
5290
5348
|
|
|
5349
|
+
beforeConnect() {
|
|
5350
|
+
this.icon =
|
|
5351
|
+
hasClass(this.$el, 'uk-search-icon') && parents(this.$el, '.uk-search-large').length ?
|
|
5352
|
+
'search-large' :
|
|
5353
|
+
parents(this.$el, '.uk-search-navbar').length ?
|
|
5354
|
+
'search-navbar' :
|
|
5355
|
+
this.$props.icon;
|
|
5356
|
+
} };
|
|
5291
5357
|
|
|
5292
|
-
computed: {
|
|
5293
|
-
fill(_ref) {let { fill } = _ref;
|
|
5294
|
-
return fill || getCssVar('leader-fill-content');
|
|
5295
|
-
} },
|
|
5296
5358
|
|
|
5359
|
+
const Close = {
|
|
5360
|
+
extends: IconComponent,
|
|
5297
5361
|
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
}
|
|
5362
|
+
beforeConnect() {
|
|
5363
|
+
this.icon = "close-" + (hasClass(this.$el, 'uk-close-large') ? 'large' : 'icon');
|
|
5364
|
+
} };
|
|
5301
5365
|
|
|
5302
|
-
disconnected() {
|
|
5303
|
-
unwrap(this.wrapper.childNodes);
|
|
5304
|
-
},
|
|
5305
5366
|
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
const width = Math.trunc(this.$el.offsetWidth / 2);
|
|
5367
|
+
const Spinner = {
|
|
5368
|
+
extends: IconComponent,
|
|
5309
5369
|
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
hide: !this.matchMedia };
|
|
5370
|
+
methods: {
|
|
5371
|
+
async getSvg() {
|
|
5372
|
+
const icon = await Icon.methods.getSvg.call(this);
|
|
5314
5373
|
|
|
5315
|
-
|
|
5374
|
+
if (this.ratio !== 1) {
|
|
5375
|
+
css($('circle', icon), 'strokeWidth', 1 / this.ratio);
|
|
5376
|
+
}
|
|
5316
5377
|
|
|
5317
|
-
|
|
5318
|
-
|
|
5319
|
-
attr(this.wrapper, this.attrFill, new Array(width).join(fill));
|
|
5320
|
-
},
|
|
5378
|
+
return icon;
|
|
5379
|
+
} } };
|
|
5321
5380
|
|
|
5322
|
-
events: ['resize'] } };
|
|
5323
5381
|
|
|
5324
|
-
const active = [];
|
|
5325
5382
|
|
|
5326
|
-
|
|
5327
|
-
|
|
5383
|
+
const parsed = {};
|
|
5384
|
+
function install$1(UIkit) {
|
|
5385
|
+
UIkit.icon.add = (name, svg) => {
|
|
5386
|
+
const added = isString(name) ? { [name]: svg } : name;
|
|
5387
|
+
each(added, (svg, name) => {
|
|
5388
|
+
icons[name] = svg;
|
|
5389
|
+
delete parsed[name];
|
|
5390
|
+
});
|
|
5328
5391
|
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
stack: Boolean },
|
|
5392
|
+
if (UIkit._initialized) {
|
|
5393
|
+
apply(document.body, (el) =>
|
|
5394
|
+
each(UIkit.getComponents(el), (cmp) => {
|
|
5395
|
+
cmp.$options.isIcon && cmp.icon in added && cmp.$reset();
|
|
5396
|
+
}));
|
|
5335
5397
|
|
|
5398
|
+
}
|
|
5399
|
+
};
|
|
5400
|
+
}
|
|
5336
5401
|
|
|
5337
|
-
|
|
5338
|
-
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
overlay: true,
|
|
5342
|
-
stack: false },
|
|
5402
|
+
function getIcon(icon) {
|
|
5403
|
+
if (!icons[icon]) {
|
|
5404
|
+
return null;
|
|
5405
|
+
}
|
|
5343
5406
|
|
|
5407
|
+
if (!parsed[icon]) {
|
|
5408
|
+
parsed[icon] = $((icons[applyRtl(icon)] || icons[icon]).trim());
|
|
5409
|
+
}
|
|
5344
5410
|
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
return $(selPanel, $el);
|
|
5348
|
-
},
|
|
5411
|
+
return parsed[icon].cloneNode(true);
|
|
5412
|
+
}
|
|
5349
5413
|
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5414
|
+
function applyRtl(icon) {
|
|
5415
|
+
return isRtl ? swap(swap(icon, 'left', 'right'), 'previous', 'next') : icon;
|
|
5416
|
+
}
|
|
5353
5417
|
|
|
5354
|
-
|
|
5355
|
-
return bgClose && this.panel;
|
|
5356
|
-
} },
|
|
5418
|
+
const nativeLazyLoad = inBrowser && 'loading' in HTMLImageElement.prototype;
|
|
5357
5419
|
|
|
5420
|
+
var img = {
|
|
5421
|
+
args: 'dataSrc',
|
|
5358
5422
|
|
|
5359
|
-
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
|
|
5423
|
+
props: {
|
|
5424
|
+
dataSrc: String,
|
|
5425
|
+
sources: String,
|
|
5426
|
+
offsetTop: String,
|
|
5427
|
+
offsetLeft: String,
|
|
5428
|
+
target: String,
|
|
5429
|
+
loading: String },
|
|
5364
5430
|
|
|
5365
|
-
events: [
|
|
5366
|
-
{
|
|
5367
|
-
name: 'click',
|
|
5368
5431
|
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
|
|
5432
|
+
data: {
|
|
5433
|
+
dataSrc: '',
|
|
5434
|
+
sources: false,
|
|
5435
|
+
offsetTop: '50vh',
|
|
5436
|
+
offsetLeft: '50vw',
|
|
5437
|
+
target: false,
|
|
5438
|
+
loading: 'lazy' },
|
|
5372
5439
|
|
|
5373
|
-
handler(e) {
|
|
5374
|
-
e.preventDefault();
|
|
5375
|
-
this.hide();
|
|
5376
|
-
} },
|
|
5377
5440
|
|
|
5441
|
+
connected() {
|
|
5442
|
+
if (this.loading !== 'lazy') {
|
|
5443
|
+
this.load();
|
|
5444
|
+
return;
|
|
5445
|
+
}
|
|
5378
5446
|
|
|
5379
|
-
|
|
5380
|
-
name: 'toggle',
|
|
5447
|
+
const target = [this.$el, ...queryAll(this.$props.target, this.$el)];
|
|
5381
5448
|
|
|
5382
|
-
|
|
5449
|
+
if (nativeLazyLoad && isImg(this.$el)) {
|
|
5450
|
+
this.$el.loading = 'lazy';
|
|
5451
|
+
setSrcAttrs(this.$el);
|
|
5383
5452
|
|
|
5384
|
-
|
|
5385
|
-
if (e.defaultPrevented) {
|
|
5453
|
+
if (target.length === 1) {
|
|
5386
5454
|
return;
|
|
5387
5455
|
}
|
|
5456
|
+
}
|
|
5388
5457
|
|
|
5389
|
-
|
|
5458
|
+
ensureSrcAttribute(this.$el);
|
|
5390
5459
|
|
|
5391
|
-
|
|
5392
|
-
|
|
5393
|
-
|
|
5394
|
-
|
|
5460
|
+
this.registerObserver(
|
|
5461
|
+
observeIntersection(
|
|
5462
|
+
target,
|
|
5463
|
+
(entries, observer) => {
|
|
5464
|
+
this.load();
|
|
5465
|
+
observer.disconnect();
|
|
5466
|
+
},
|
|
5467
|
+
{
|
|
5468
|
+
rootMargin: toPx(this.offsetTop, 'height') + "px " + toPx(
|
|
5469
|
+
this.offsetLeft,
|
|
5470
|
+
'width') + "px" }));
|
|
5395
5471
|
|
|
5396
5472
|
|
|
5397
|
-
{
|
|
5398
|
-
name: 'beforeshow',
|
|
5399
5473
|
|
|
5400
|
-
self: true,
|
|
5401
5474
|
|
|
5402
|
-
|
|
5403
|
-
if (includes(active, this)) {
|
|
5404
|
-
return false;
|
|
5405
|
-
}
|
|
5475
|
+
},
|
|
5406
5476
|
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
|
|
5411
|
-
|
|
5412
|
-
}
|
|
5413
|
-
} },
|
|
5477
|
+
disconnected() {
|
|
5478
|
+
if (this._data.image) {
|
|
5479
|
+
this._data.image.onload = '';
|
|
5480
|
+
}
|
|
5481
|
+
},
|
|
5414
5482
|
|
|
5483
|
+
methods: {
|
|
5484
|
+
load() {
|
|
5485
|
+
if (this._data.image) {
|
|
5486
|
+
return this._data.image;
|
|
5487
|
+
}
|
|
5415
5488
|
|
|
5416
|
-
|
|
5417
|
-
|
|
5489
|
+
const image = isImg(this.$el) ?
|
|
5490
|
+
this.$el :
|
|
5491
|
+
getImageFromElement(this.$el, this.dataSrc, this.sources);
|
|
5418
5492
|
|
|
5419
|
-
|
|
5493
|
+
removeAttr(image, 'loading');
|
|
5494
|
+
setSrcAttrs(this.$el, image.currentSrc);
|
|
5495
|
+
return this._data.image = image;
|
|
5496
|
+
} } };
|
|
5420
5497
|
|
|
5421
|
-
handler() {
|
|
5422
|
-
const docEl = document.documentElement;
|
|
5423
5498
|
|
|
5424
|
-
if (width(window) > docEl.clientWidth && this.overlay) {
|
|
5425
|
-
css(document.body, 'overflowY', 'scroll');
|
|
5426
|
-
}
|
|
5427
5499
|
|
|
5428
|
-
|
|
5429
|
-
|
|
5430
|
-
|
|
5500
|
+
function setSrcAttrs(el, src) {
|
|
5501
|
+
if (isImg(el)) {
|
|
5502
|
+
const parentNode = parent(el);
|
|
5503
|
+
const elements = isPicture(parentNode) ? children(parentNode) : [el];
|
|
5504
|
+
elements.forEach((el) => setSourceProps(el, el));
|
|
5505
|
+
} else if (src) {
|
|
5506
|
+
const change = !includes(el.style.backgroundImage, src);
|
|
5507
|
+
if (change) {
|
|
5508
|
+
css(el, 'backgroundImage', "url(" + escape(src) + ")");
|
|
5509
|
+
trigger(el, createEvent('load', false));
|
|
5510
|
+
}
|
|
5511
|
+
}
|
|
5512
|
+
}
|
|
5431
5513
|
|
|
5432
|
-
|
|
5514
|
+
const srcProps = ['data-src', 'data-srcset', 'sizes'];
|
|
5515
|
+
function setSourceProps(sourceEl, targetEl) {
|
|
5516
|
+
srcProps.forEach((prop) => {
|
|
5517
|
+
const value = data(sourceEl, prop);
|
|
5518
|
+
if (value) {
|
|
5519
|
+
attr(targetEl, prop.replace(/^(data-)+/, ''), value);
|
|
5520
|
+
}
|
|
5521
|
+
});
|
|
5522
|
+
}
|
|
5433
5523
|
|
|
5434
|
-
|
|
5435
|
-
|
|
5436
|
-
this.$el,
|
|
5437
|
-
'hide',
|
|
5438
|
-
on(document, pointerDown, (_ref3) => {let { target } = _ref3;
|
|
5439
|
-
if (
|
|
5440
|
-
last(active) !== this ||
|
|
5441
|
-
this.overlay && !within(target, this.$el) ||
|
|
5442
|
-
within(target, this.panel))
|
|
5443
|
-
{
|
|
5444
|
-
return;
|
|
5445
|
-
}
|
|
5524
|
+
function getImageFromElement(el, src, sources) {
|
|
5525
|
+
const img = new Image();
|
|
5446
5526
|
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
{
|
|
5456
|
-
this.hide();
|
|
5457
|
-
}
|
|
5458
|
-
},
|
|
5459
|
-
true);
|
|
5527
|
+
wrapInPicture(img, sources);
|
|
5528
|
+
setSourceProps(el, img);
|
|
5529
|
+
img.onload = () => {
|
|
5530
|
+
setSrcAttrs(el, img.currentSrc);
|
|
5531
|
+
};
|
|
5532
|
+
attr(img, 'src', src);
|
|
5533
|
+
return img;
|
|
5534
|
+
}
|
|
5460
5535
|
|
|
5461
|
-
|
|
5462
|
-
|
|
5536
|
+
function wrapInPicture(img, sources) {
|
|
5537
|
+
sources = parseSources(sources);
|
|
5463
5538
|
|
|
5464
|
-
|
|
5539
|
+
if (sources.length) {
|
|
5540
|
+
const picture = fragment('<picture>');
|
|
5541
|
+
for (const attrs of sources) {
|
|
5542
|
+
const source = fragment('<source>');
|
|
5543
|
+
attr(source, attrs);
|
|
5544
|
+
append(picture, source);
|
|
5545
|
+
}
|
|
5546
|
+
append(picture, img);
|
|
5547
|
+
}
|
|
5548
|
+
}
|
|
5465
5549
|
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5470
|
-
on(document, 'keydown', (e) => {
|
|
5471
|
-
if (e.keyCode === 27 && last(active) === this) {
|
|
5472
|
-
this.hide();
|
|
5473
|
-
}
|
|
5474
|
-
}),
|
|
5475
|
-
{ self: true });
|
|
5550
|
+
function parseSources(sources) {
|
|
5551
|
+
if (!sources) {
|
|
5552
|
+
return [];
|
|
5553
|
+
}
|
|
5476
5554
|
|
|
5477
|
-
|
|
5478
|
-
|
|
5555
|
+
if (startsWith(sources, '[')) {
|
|
5556
|
+
try {
|
|
5557
|
+
sources = JSON.parse(sources);
|
|
5558
|
+
} catch (e) {
|
|
5559
|
+
sources = [];
|
|
5560
|
+
}
|
|
5561
|
+
} else {
|
|
5562
|
+
sources = parseOptions(sources);
|
|
5563
|
+
}
|
|
5479
5564
|
|
|
5565
|
+
if (!isArray(sources)) {
|
|
5566
|
+
sources = [sources];
|
|
5567
|
+
}
|
|
5480
5568
|
|
|
5481
|
-
|
|
5482
|
-
|
|
5569
|
+
return sources.filter((source) => !isEmpty(source));
|
|
5570
|
+
}
|
|
5483
5571
|
|
|
5484
|
-
|
|
5572
|
+
function ensureSrcAttribute(el) {
|
|
5573
|
+
if (isImg(el) && !hasAttr(el, 'src')) {
|
|
5574
|
+
attr(el, 'src', 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"></svg>');
|
|
5575
|
+
}
|
|
5576
|
+
}
|
|
5485
5577
|
|
|
5486
|
-
|
|
5487
|
-
|
|
5488
|
-
|
|
5489
|
-
}
|
|
5578
|
+
function isPicture(el) {
|
|
5579
|
+
return isTag(el, 'picture');
|
|
5580
|
+
}
|
|
5490
5581
|
|
|
5491
|
-
|
|
5492
|
-
|
|
5493
|
-
|
|
5494
|
-
} },
|
|
5582
|
+
function isImg(el) {
|
|
5583
|
+
return isTag(el, 'img');
|
|
5584
|
+
}
|
|
5495
5585
|
|
|
5586
|
+
var Media = {
|
|
5587
|
+
props: {
|
|
5588
|
+
media: Boolean },
|
|
5496
5589
|
|
|
5497
|
-
{
|
|
5498
|
-
name: 'hidden',
|
|
5499
5590
|
|
|
5500
|
-
|
|
5591
|
+
data: {
|
|
5592
|
+
media: false },
|
|
5501
5593
|
|
|
5502
|
-
handler() {
|
|
5503
|
-
if (includes(active, this)) {
|
|
5504
|
-
active.splice(active.indexOf(this), 1);
|
|
5505
|
-
}
|
|
5506
5594
|
|
|
5507
|
-
|
|
5508
|
-
|
|
5509
|
-
|
|
5595
|
+
connected() {
|
|
5596
|
+
const media = toMedia(this.media, this.$el);
|
|
5597
|
+
this.matchMedia = true;
|
|
5598
|
+
if (media) {
|
|
5599
|
+
this.mediaObj = window.matchMedia(media);
|
|
5600
|
+
const handler = () => {
|
|
5601
|
+
this.matchMedia = this.mediaObj.matches;
|
|
5602
|
+
trigger(this.$el, createEvent('mediachange', false, true, [this.mediaObj]));
|
|
5603
|
+
};
|
|
5604
|
+
this.offMediaObj = on(this.mediaObj, 'change', () => {
|
|
5605
|
+
handler();
|
|
5606
|
+
this.$emit('resize');
|
|
5607
|
+
});
|
|
5608
|
+
handler();
|
|
5609
|
+
}
|
|
5610
|
+
},
|
|
5510
5611
|
|
|
5511
|
-
|
|
5612
|
+
disconnected() {var _this$offMediaObj;
|
|
5613
|
+
(_this$offMediaObj = this.offMediaObj) == null ? void 0 : _this$offMediaObj.call(this);
|
|
5614
|
+
} };
|
|
5512
5615
|
|
|
5513
|
-
if (!active.some((modal) => modal.clsPage === this.clsPage)) {
|
|
5514
|
-
removeClass(document.documentElement, this.clsPage);
|
|
5515
|
-
}
|
|
5516
|
-
} }],
|
|
5517
5616
|
|
|
5617
|
+
function toMedia(value, element) {
|
|
5618
|
+
if (isString(value)) {
|
|
5619
|
+
if (startsWith(value, '@')) {
|
|
5620
|
+
value = toFloat(css(element, "--uk-breakpoint-" + value.substr(1)));
|
|
5621
|
+
} else if (isNaN(value)) {
|
|
5622
|
+
return value;
|
|
5623
|
+
}
|
|
5624
|
+
}
|
|
5518
5625
|
|
|
5626
|
+
return value && isNumeric(value) ? "(min-width: " + value + "px)" : '';
|
|
5627
|
+
}
|
|
5519
5628
|
|
|
5520
|
-
|
|
5521
|
-
|
|
5522
|
-
return this.isToggled() ? this.hide() : this.show();
|
|
5523
|
-
},
|
|
5629
|
+
var leader = {
|
|
5630
|
+
mixins: [Class, Media, Resize],
|
|
5524
5631
|
|
|
5525
|
-
|
|
5526
|
-
|
|
5527
|
-
append(this.container, this.$el);
|
|
5528
|
-
return new Promise((resolve) =>
|
|
5529
|
-
requestAnimationFrame(() => this.show().then(resolve)));
|
|
5632
|
+
props: {
|
|
5633
|
+
fill: String },
|
|
5530
5634
|
|
|
5531
|
-
}
|
|
5532
5635
|
|
|
5533
|
-
|
|
5534
|
-
|
|
5636
|
+
data: {
|
|
5637
|
+
fill: '',
|
|
5638
|
+
clsWrapper: 'uk-leader-fill',
|
|
5639
|
+
clsHide: 'uk-leader-hide',
|
|
5640
|
+
attrFill: 'data-fill' },
|
|
5535
5641
|
|
|
5536
|
-
hide() {
|
|
5537
|
-
return this.toggleElement(this.$el, false, animate(this));
|
|
5538
|
-
} } };
|
|
5539
5642
|
|
|
5643
|
+
computed: {
|
|
5644
|
+
fill(_ref) {let { fill } = _ref;
|
|
5645
|
+
return fill || css(this.$el, '--uk-leader-fill-content');
|
|
5646
|
+
} },
|
|
5540
5647
|
|
|
5541
5648
|
|
|
5542
|
-
|
|
5543
|
-
|
|
5544
|
-
|
|
5545
|
-
once(el, 'show hide', () => {
|
|
5546
|
-
el._reject == null ? void 0 : el._reject();
|
|
5547
|
-
el._reject = reject;
|
|
5649
|
+
connected() {
|
|
5650
|
+
[this.wrapper] = wrapInner(this.$el, "<span class=\"" + this.clsWrapper + "\">");
|
|
5651
|
+
},
|
|
5548
5652
|
|
|
5549
|
-
|
|
5653
|
+
disconnected() {
|
|
5654
|
+
unwrap(this.wrapper.childNodes);
|
|
5655
|
+
},
|
|
5550
5656
|
|
|
5551
|
-
|
|
5552
|
-
|
|
5553
|
-
|
|
5554
|
-
() => {
|
|
5555
|
-
once(transitionElement, 'transitionend transitioncancel', resolve, {
|
|
5556
|
-
self: true });
|
|
5657
|
+
update: {
|
|
5658
|
+
read() {
|
|
5659
|
+
const width = Math.trunc(this.$el.offsetWidth / 2);
|
|
5557
5660
|
|
|
5558
|
-
|
|
5559
|
-
|
|
5560
|
-
|
|
5661
|
+
return {
|
|
5662
|
+
width,
|
|
5663
|
+
fill: this.fill,
|
|
5664
|
+
hide: !this.matchMedia };
|
|
5561
5665
|
|
|
5666
|
+
},
|
|
5562
5667
|
|
|
5563
|
-
|
|
5564
|
-
|
|
5565
|
-
|
|
5566
|
-
},
|
|
5567
|
-
})).
|
|
5568
|
-
then(() => delete el._reject);
|
|
5569
|
-
}
|
|
5668
|
+
write(_ref2) {let { width, fill, hide } = _ref2;
|
|
5669
|
+
toggleClass(this.wrapper, this.clsHide, hide);
|
|
5670
|
+
attr(this.wrapper, this.attrFill, new Array(width).join(fill));
|
|
5671
|
+
},
|
|
5570
5672
|
|
|
5571
|
-
|
|
5572
|
-
return time ? endsWith(time, 'ms') ? toFloat(time) : toFloat(time) * 1000 : 0;
|
|
5573
|
-
}
|
|
5673
|
+
events: ['resize'] } };
|
|
5574
5674
|
|
|
5575
5675
|
var modal = {
|
|
5576
5676
|
install,
|
|
@@ -5734,7 +5834,9 @@
|
|
|
5734
5834
|
align: String,
|
|
5735
5835
|
offset: Number,
|
|
5736
5836
|
boundary: Boolean,
|
|
5737
|
-
|
|
5837
|
+
target: Boolean,
|
|
5838
|
+
targetX: Boolean,
|
|
5839
|
+
targetY: Boolean,
|
|
5738
5840
|
clsDrop: String,
|
|
5739
5841
|
delayShow: Number,
|
|
5740
5842
|
delayHide: Number,
|
|
@@ -5751,9 +5853,12 @@
|
|
|
5751
5853
|
offset: undefined,
|
|
5752
5854
|
delayShow: undefined,
|
|
5753
5855
|
delayHide: undefined,
|
|
5754
|
-
|
|
5755
|
-
|
|
5856
|
+
flip: false,
|
|
5857
|
+
shift: true,
|
|
5756
5858
|
boundary: true,
|
|
5859
|
+
target: false,
|
|
5860
|
+
targetX: false,
|
|
5861
|
+
targetY: false,
|
|
5757
5862
|
dropbar: false,
|
|
5758
5863
|
dropbarAnchor: false,
|
|
5759
5864
|
duration: 200,
|
|
@@ -5788,7 +5893,7 @@
|
|
|
5788
5893
|
},
|
|
5789
5894
|
|
|
5790
5895
|
watch(dropbar) {
|
|
5791
|
-
addClass(dropbar, 'uk-navbar-dropbar');
|
|
5896
|
+
addClass(dropbar, 'uk-dropbar', 'uk-dropbar-top', 'uk-navbar-dropbar');
|
|
5792
5897
|
},
|
|
5793
5898
|
|
|
5794
5899
|
immediate: true },
|
|
@@ -5804,7 +5909,7 @@
|
|
|
5804
5909
|
|
|
5805
5910
|
if (this.dropContainer !== $el) {
|
|
5806
5911
|
for (const el of $$("." + clsDrop, this.dropContainer)) {var _this$getDropdown;
|
|
5807
|
-
const target = (_this$getDropdown = this.getDropdown(el)) == null ? void 0 : _this$getDropdown.
|
|
5912
|
+
const target = (_this$getDropdown = this.getDropdown(el)) == null ? void 0 : _this$getDropdown.targetEl;
|
|
5808
5913
|
if (!includes(dropdowns, el) && target && within(target, this.$el)) {
|
|
5809
5914
|
dropdowns.push(el);
|
|
5810
5915
|
}
|
|
@@ -5821,8 +5926,7 @@
|
|
|
5821
5926
|
{
|
|
5822
5927
|
...this.$props,
|
|
5823
5928
|
boundary: this.boundary,
|
|
5824
|
-
pos: this.pos
|
|
5825
|
-
offset: this.dropbar || this.offset });
|
|
5929
|
+
pos: this.pos });
|
|
5826
5930
|
|
|
5827
5931
|
|
|
5828
5932
|
},
|
|
@@ -5867,8 +5971,8 @@
|
|
|
5867
5971
|
if (
|
|
5868
5972
|
active &&
|
|
5869
5973
|
includes(active.mode, 'hover') &&
|
|
5870
|
-
active.
|
|
5871
|
-
!within(active.
|
|
5974
|
+
active.targetEl &&
|
|
5975
|
+
!within(active.targetEl, current) &&
|
|
5872
5976
|
!active.isDelaying)
|
|
5873
5977
|
{
|
|
5874
5978
|
active.hide(false);
|
|
@@ -5890,7 +5994,7 @@
|
|
|
5890
5994
|
if (keyCode === keyMap.DOWN && hasAttr(current, 'aria-expanded')) {
|
|
5891
5995
|
e.preventDefault();
|
|
5892
5996
|
|
|
5893
|
-
if (!active || active.
|
|
5997
|
+
if (!active || active.targetEl !== current) {
|
|
5894
5998
|
current.click();
|
|
5895
5999
|
once(this.dropContainer, 'show', (_ref8) => {let { target } = _ref8;return (
|
|
5896
6000
|
focusFirstFocusableElement(target));});
|
|
@@ -5940,8 +6044,8 @@
|
|
|
5940
6044
|
}
|
|
5941
6045
|
}
|
|
5942
6046
|
|
|
5943
|
-
if (keyCode === keyMap.ESC) {var _active$
|
|
5944
|
-
active == null ? void 0 : (_active$
|
|
6047
|
+
if (keyCode === keyMap.ESC) {var _active$targetEl;
|
|
6048
|
+
active == null ? void 0 : (_active$targetEl = active.targetEl) == null ? void 0 : _active$targetEl.focus();
|
|
5945
6049
|
}
|
|
5946
6050
|
|
|
5947
6051
|
handleNavItemNavigation(e, this.toggles, active);
|
|
@@ -5983,8 +6087,8 @@
|
|
|
5983
6087
|
return this.dropbar;
|
|
5984
6088
|
},
|
|
5985
6089
|
|
|
5986
|
-
handler(
|
|
5987
|
-
if (!
|
|
6090
|
+
handler(_ref9) {let { target } = _ref9;
|
|
6091
|
+
if (!this.isDropbarDrop(target)) {
|
|
5988
6092
|
return;
|
|
5989
6093
|
}
|
|
5990
6094
|
|
|
@@ -5992,7 +6096,7 @@
|
|
|
5992
6096
|
after(this.dropbarAnchor || this.$el, this.dropbar);
|
|
5993
6097
|
}
|
|
5994
6098
|
|
|
5995
|
-
addClass(
|
|
6099
|
+
addClass(target, this.clsDrop + "-dropbar");
|
|
5996
6100
|
} },
|
|
5997
6101
|
|
|
5998
6102
|
|
|
@@ -6007,19 +6111,24 @@
|
|
|
6007
6111
|
return this.dropbar;
|
|
6008
6112
|
},
|
|
6009
6113
|
|
|
6010
|
-
handler(
|
|
6011
|
-
if (!
|
|
6114
|
+
handler(_ref10) {let { target } = _ref10;
|
|
6115
|
+
if (!this.isDropbarDrop(target)) {
|
|
6012
6116
|
return;
|
|
6013
6117
|
}
|
|
6014
6118
|
|
|
6015
|
-
this._observer = observeResize(
|
|
6016
|
-
|
|
6017
|
-
|
|
6018
|
-
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6119
|
+
this._observer = observeResize(target, () => {
|
|
6120
|
+
const targetOffsets = parents(target, "." + this.clsDrop).
|
|
6121
|
+
concat(target).
|
|
6122
|
+
map((el) => offset(el));
|
|
6123
|
+
const minTop = Math.min(...targetOffsets.map((_ref11) => {let { top } = _ref11;return top;}));
|
|
6124
|
+
const maxBottom = Math.max(...targetOffsets.map((_ref12) => {let { bottom } = _ref12;return bottom;}));
|
|
6125
|
+
const dropbarOffset = offset(this.dropbar);
|
|
6126
|
+
css(this.dropbar, 'top', this.dropbar.offsetTop - (dropbarOffset.top - minTop));
|
|
6127
|
+
this.transitionTo(
|
|
6128
|
+
maxBottom - minTop + toFloat(css(target, 'marginBottom')),
|
|
6129
|
+
target);
|
|
6022
6130
|
|
|
6131
|
+
});
|
|
6023
6132
|
} },
|
|
6024
6133
|
|
|
6025
6134
|
|
|
@@ -6034,13 +6143,13 @@
|
|
|
6034
6143
|
return this.dropbar;
|
|
6035
6144
|
},
|
|
6036
6145
|
|
|
6037
|
-
handler(e
|
|
6146
|
+
handler(e) {
|
|
6038
6147
|
const active = this.getActive();
|
|
6039
6148
|
|
|
6040
6149
|
if (
|
|
6041
6150
|
matches(this.dropbar, ':hover') &&
|
|
6042
|
-
(active == null ? void 0 : active.$el) ===
|
|
6043
|
-
!this.toggles.some((el) => active.
|
|
6151
|
+
(active == null ? void 0 : active.$el) === e.target &&
|
|
6152
|
+
!this.toggles.some((el) => active.targetEl !== el && matches(el, ':focus')))
|
|
6044
6153
|
{
|
|
6045
6154
|
e.preventDefault();
|
|
6046
6155
|
}
|
|
@@ -6058,8 +6167,8 @@
|
|
|
6058
6167
|
return this.dropbar;
|
|
6059
6168
|
},
|
|
6060
6169
|
|
|
6061
|
-
handler(
|
|
6062
|
-
if (!
|
|
6170
|
+
handler(_ref13) {let { target } = _ref13;
|
|
6171
|
+
if (!this.isDropbarDrop(target)) {
|
|
6063
6172
|
return;
|
|
6064
6173
|
}
|
|
6065
6174
|
|
|
@@ -6067,7 +6176,7 @@
|
|
|
6067
6176
|
|
|
6068
6177
|
const active = this.getActive();
|
|
6069
6178
|
|
|
6070
|
-
if (!active || (active == null ? void 0 : active.$el) ===
|
|
6179
|
+
if (!active || (active == null ? void 0 : active.$el) === target) {
|
|
6071
6180
|
this.transitionTo(0);
|
|
6072
6181
|
}
|
|
6073
6182
|
} }],
|
|
@@ -6076,7 +6185,7 @@
|
|
|
6076
6185
|
|
|
6077
6186
|
methods: {
|
|
6078
6187
|
getActive() {
|
|
6079
|
-
return active
|
|
6188
|
+
return active && within(active.targetEl, this.$el) && active;
|
|
6080
6189
|
},
|
|
6081
6190
|
|
|
6082
6191
|
transitionTo(newHeight, el) {
|
|
@@ -6106,13 +6215,17 @@
|
|
|
6106
6215
|
|
|
6107
6216
|
getDropdown(el) {
|
|
6108
6217
|
return this.$getComponent(el, 'drop') || this.$getComponent(el, 'dropdown');
|
|
6218
|
+
},
|
|
6219
|
+
|
|
6220
|
+
isDropbarDrop(el) {
|
|
6221
|
+
return this.getDropdown(el) && hasClass(el, this.clsDrop);
|
|
6109
6222
|
} } };
|
|
6110
6223
|
|
|
6111
6224
|
|
|
6112
6225
|
|
|
6113
6226
|
function handleNavItemNavigation(e, toggles, active) {
|
|
6114
6227
|
const { current, keyCode } = e;
|
|
6115
|
-
const target = (active == null ? void 0 : active.
|
|
6228
|
+
const target = (active == null ? void 0 : active.targetEl) || current;
|
|
6116
6229
|
const i = toggles.indexOf(target);
|
|
6117
6230
|
|
|
6118
6231
|
// Left
|
|
@@ -6286,22 +6399,6 @@
|
|
|
6286
6399
|
} },
|
|
6287
6400
|
|
|
6288
6401
|
|
|
6289
|
-
{
|
|
6290
|
-
name: 'touchstart',
|
|
6291
|
-
|
|
6292
|
-
passive: true,
|
|
6293
|
-
|
|
6294
|
-
el() {
|
|
6295
|
-
return this.panel;
|
|
6296
|
-
},
|
|
6297
|
-
|
|
6298
|
-
handler(_ref8) {let { targetTouches } = _ref8;
|
|
6299
|
-
if (targetTouches.length === 1) {
|
|
6300
|
-
this.clientY = targetTouches[0].clientY;
|
|
6301
|
-
}
|
|
6302
|
-
} },
|
|
6303
|
-
|
|
6304
|
-
|
|
6305
6402
|
{
|
|
6306
6403
|
name: 'touchmove',
|
|
6307
6404
|
|
|
@@ -6317,33 +6414,6 @@
|
|
|
6317
6414
|
} },
|
|
6318
6415
|
|
|
6319
6416
|
|
|
6320
|
-
{
|
|
6321
|
-
name: 'touchmove',
|
|
6322
|
-
|
|
6323
|
-
passive: false,
|
|
6324
|
-
|
|
6325
|
-
el() {
|
|
6326
|
-
return this.panel;
|
|
6327
|
-
},
|
|
6328
|
-
|
|
6329
|
-
handler(e) {
|
|
6330
|
-
if (e.targetTouches.length !== 1) {
|
|
6331
|
-
return;
|
|
6332
|
-
}
|
|
6333
|
-
|
|
6334
|
-
const clientY = e.targetTouches[0].clientY - this.clientY;
|
|
6335
|
-
const { scrollTop, scrollHeight, clientHeight } = this.panel;
|
|
6336
|
-
|
|
6337
|
-
if (
|
|
6338
|
-
clientHeight >= scrollHeight ||
|
|
6339
|
-
scrollTop === 0 && clientY > 0 ||
|
|
6340
|
-
scrollHeight - scrollTop <= clientHeight && clientY < 0)
|
|
6341
|
-
{
|
|
6342
|
-
e.cancelable && e.preventDefault();
|
|
6343
|
-
}
|
|
6344
|
-
} },
|
|
6345
|
-
|
|
6346
|
-
|
|
6347
6417
|
{
|
|
6348
6418
|
name: 'show',
|
|
6349
6419
|
|
|
@@ -6355,7 +6425,6 @@
|
|
|
6355
6425
|
addClass(parent(this.panel), this.clsMode);
|
|
6356
6426
|
}
|
|
6357
6427
|
|
|
6358
|
-
css(document.documentElement, 'overflowY', this.overlay ? 'hidden' : '');
|
|
6359
6428
|
addClass(document.body, this.clsContainer, this.clsFlip);
|
|
6360
6429
|
css(document.body, 'touch-action', 'pan-y pinch-zoom');
|
|
6361
6430
|
css(this.$el, 'display', 'block');
|
|
@@ -6363,7 +6432,7 @@
|
|
|
6363
6432
|
addClass(
|
|
6364
6433
|
this.panel,
|
|
6365
6434
|
this.clsSidebarAnimation,
|
|
6366
|
-
this.mode
|
|
6435
|
+
this.mode === 'reveal' ? '' : this.clsMode);
|
|
6367
6436
|
|
|
6368
6437
|
|
|
6369
6438
|
height(document.body); // force reflow
|
|
@@ -6400,8 +6469,6 @@
|
|
|
6400
6469
|
removeClass(this.$el, this.clsOverlay);
|
|
6401
6470
|
css(this.$el, 'display', '');
|
|
6402
6471
|
removeClass(document.body, this.clsContainer, this.clsFlip);
|
|
6403
|
-
|
|
6404
|
-
css(document.documentElement, 'overflowY', '');
|
|
6405
6472
|
} },
|
|
6406
6473
|
|
|
6407
6474
|
|
|
@@ -6526,6 +6593,14 @@
|
|
|
6526
6593
|
offset: 0 },
|
|
6527
6594
|
|
|
6528
6595
|
|
|
6596
|
+
connected() {
|
|
6597
|
+
registerClick(this);
|
|
6598
|
+
},
|
|
6599
|
+
|
|
6600
|
+
disconnected() {
|
|
6601
|
+
unregisterClick(this);
|
|
6602
|
+
},
|
|
6603
|
+
|
|
6529
6604
|
methods: {
|
|
6530
6605
|
async scrollTo(el) {
|
|
6531
6606
|
el = el && $(el) || document.body;
|
|
@@ -6534,20 +6609,39 @@
|
|
|
6534
6609
|
await scrollIntoView(el, { offset: this.offset });
|
|
6535
6610
|
trigger(this.$el, 'scrolled', [this, el]);
|
|
6536
6611
|
}
|
|
6537
|
-
} }
|
|
6612
|
+
} } };
|
|
6538
6613
|
|
|
6539
6614
|
|
|
6540
|
-
events: {
|
|
6541
|
-
click(e) {
|
|
6542
|
-
if (e.defaultPrevented) {
|
|
6543
|
-
return;
|
|
6544
|
-
}
|
|
6545
6615
|
|
|
6546
|
-
|
|
6547
|
-
|
|
6548
|
-
|
|
6616
|
+
const components$1 = new Set();
|
|
6617
|
+
function registerClick(cmp) {
|
|
6618
|
+
if (!components$1.size) {
|
|
6619
|
+
on(document, 'click', clickHandler);
|
|
6620
|
+
}
|
|
6621
|
+
|
|
6622
|
+
components$1.add(cmp);
|
|
6623
|
+
}
|
|
6624
|
+
|
|
6625
|
+
function unregisterClick(cmp) {
|
|
6626
|
+
components$1.delete(cmp);
|
|
6627
|
+
|
|
6628
|
+
if (!components$1.length) {
|
|
6629
|
+
off(document, 'click', clickHandler);
|
|
6630
|
+
}
|
|
6631
|
+
}
|
|
6549
6632
|
|
|
6633
|
+
function clickHandler(e) {
|
|
6634
|
+
if (e.defaultPrevented) {
|
|
6635
|
+
return;
|
|
6636
|
+
}
|
|
6550
6637
|
|
|
6638
|
+
for (const component of components$1) {
|
|
6639
|
+
if (within(e.target, component.$el)) {
|
|
6640
|
+
e.preventDefault();
|
|
6641
|
+
component.scrollTo(getTargetElement(component.$el));
|
|
6642
|
+
}
|
|
6643
|
+
}
|
|
6644
|
+
}
|
|
6551
6645
|
|
|
6552
6646
|
function getTargetElement(el) {
|
|
6553
6647
|
return document.getElementById(decodeURIComponent(el.hash).substring(1));
|
|
@@ -6877,7 +6971,9 @@
|
|
|
6877
6971
|
},
|
|
6878
6972
|
|
|
6879
6973
|
handler() {
|
|
6880
|
-
|
|
6974
|
+
const { scrollingElement } = document;
|
|
6975
|
+
|
|
6976
|
+
if (!location.hash || scrollingElement.scrollTop === 0) {
|
|
6881
6977
|
return;
|
|
6882
6978
|
}
|
|
6883
6979
|
|
|
@@ -6886,13 +6982,11 @@
|
|
|
6886
6982
|
const elOffset = offset(this.$el);
|
|
6887
6983
|
|
|
6888
6984
|
if (this.isFixed && intersectRect(targetOffset, elOffset)) {
|
|
6889
|
-
scrollTop
|
|
6890
|
-
window,
|
|
6985
|
+
scrollingElement.scrollTop =
|
|
6891
6986
|
targetOffset.top -
|
|
6892
6987
|
elOffset.height -
|
|
6893
6988
|
toPx(this.targetOffset, 'height', this.placeholder) -
|
|
6894
|
-
toPx(this.offset, 'height', this.placeholder)
|
|
6895
|
-
|
|
6989
|
+
toPx(this.offset, 'height', this.placeholder);
|
|
6896
6990
|
}
|
|
6897
6991
|
});
|
|
6898
6992
|
} }],
|
|
@@ -6990,7 +7084,7 @@
|
|
|
6990
7084
|
|
|
6991
7085
|
|
|
6992
7086
|
{let { scroll: prevScroll = 0, dir: prevDir = 'down', overflow, overflowScroll = 0, start, end } = _ref4;
|
|
6993
|
-
const scroll = scrollTop
|
|
7087
|
+
const scroll = document.scrollingElement.scrollTop;
|
|
6994
7088
|
const dir = prevScroll <= scroll ? 'down' : 'up';
|
|
6995
7089
|
|
|
6996
7090
|
return {
|
|
@@ -7510,7 +7604,7 @@
|
|
|
7510
7604
|
|
|
7511
7605
|
|
|
7512
7606
|
{
|
|
7513
|
-
name: '
|
|
7607
|
+
name: 'hide show',
|
|
7514
7608
|
|
|
7515
7609
|
self: true,
|
|
7516
7610
|
|
|
@@ -7518,10 +7612,8 @@
|
|
|
7518
7612
|
return this.target;
|
|
7519
7613
|
},
|
|
7520
7614
|
|
|
7521
|
-
handler(
|
|
7522
|
-
|
|
7523
|
-
this.updateAria(toggled);
|
|
7524
|
-
}
|
|
7615
|
+
handler(_ref2) {let { type } = _ref2;
|
|
7616
|
+
this.updateAria(type === 'show');
|
|
7525
7617
|
} },
|
|
7526
7618
|
|
|
7527
7619
|
|
|
@@ -7616,10 +7708,12 @@
|
|
|
7616
7708
|
Video: Video,
|
|
7617
7709
|
Close: Close,
|
|
7618
7710
|
Spinner: Spinner,
|
|
7711
|
+
NavParentIcon: NavParentIcon,
|
|
7619
7712
|
SlidenavNext: Slidenav,
|
|
7620
7713
|
SlidenavPrevious: Slidenav,
|
|
7621
7714
|
SearchIcon: Search,
|
|
7622
7715
|
Marker: IconComponent,
|
|
7716
|
+
NavbarParentIcon: IconComponent,
|
|
7623
7717
|
NavbarToggleIcon: IconComponent,
|
|
7624
7718
|
OverlayIcon: IconComponent,
|
|
7625
7719
|
PaginationNext: IconComponent,
|