uikit 3.14.4-dev.838f092aa → 3.14.4-dev.8a6d8c5ed
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 +41 -12
- package/build/util.js +1 -0
- package/dist/css/uikit-core-rtl.css +380 -101
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +380 -101
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +397 -106
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +397 -106
- 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 +111 -139
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +111 -139
- 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 +107 -137
- 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 +516 -458
- 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 +569 -494
- 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 +89 -62
- 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/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 +10 -7
- 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 +88 -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 +73 -27
- 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 +4 -10
- 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 +61 -27
- 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 +4 -7
- package/src/scss/variables-theme.scss +69 -17
- package/src/scss/variables.scss +58 -13
- package/tests/accordion.html +2 -2
- package/tests/alert.html +2 -2
- package/tests/countdown.html +1 -1
- package/tests/drop.html +451 -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 +2001 -1130
- 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.8a6d8c5ed | 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.8a6d8c5ed';
|
|
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,105 @@
|
|
|
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)
|
|
3141
|
+
function toggleTransition(cmp) {var _cmp$animation$;
|
|
3142
|
+
const [mode = 'reveal', startProp = 'top'] = ((_cmp$animation$ = cmp.animation[0]) == null ? void 0 : _cmp$animation$.split('-')) || [];
|
|
3202
3143
|
|
|
3144
|
+
const dirs = [
|
|
3145
|
+
['left', 'right'],
|
|
3146
|
+
['top', 'bottom']];
|
|
3203
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;
|
|
3204
3154
|
|
|
3155
|
+
return async (el, show) => {
|
|
3156
|
+
let { duration, velocity, transition, _toggle } = cmp;
|
|
3205
3157
|
|
|
3158
|
+
let currentDim = dimensions(el)[dimProp];
|
|
3206
3159
|
|
|
3207
|
-
|
|
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;
|
|
3161
|
+
await Transition.cancel(el);
|
|
3218
3162
|
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
Transition.cancel(el);
|
|
3222
|
-
|
|
3223
|
-
if (!isToggled(el)) {
|
|
3163
|
+
if (show) {
|
|
3224
3164
|
_toggle(el, true);
|
|
3225
3165
|
}
|
|
3226
3166
|
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
el
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
css(scrollElement, 'overflowX', 'hidden');
|
|
3264
|
-
|
|
3265
|
-
if (!isToggled(el)) {
|
|
3266
|
-
_toggle(el, true);
|
|
3267
|
-
}
|
|
3167
|
+
const prevProps = Object.fromEntries(
|
|
3168
|
+
[
|
|
3169
|
+
'padding',
|
|
3170
|
+
'border',
|
|
3171
|
+
'width',
|
|
3172
|
+
'height',
|
|
3173
|
+
'overflowY',
|
|
3174
|
+
'overflowX',
|
|
3175
|
+
marginProp,
|
|
3176
|
+
marginStartProp].
|
|
3177
|
+
map((key) => [key, el.style[key]]));
|
|
3178
|
+
|
|
3179
|
+
|
|
3180
|
+
const dim = dimensions(el);
|
|
3181
|
+
const currentMargin = toFloat(css(el, marginProp));
|
|
3182
|
+
const marginStart = toFloat(css(el, marginStartProp));
|
|
3183
|
+
const endDim = dim[dimProp] + marginStart;
|
|
3184
|
+
|
|
3185
|
+
if (!inProgress && !show) {
|
|
3186
|
+
currentDim += marginStart;
|
|
3187
|
+
}
|
|
3188
|
+
|
|
3189
|
+
const [wrapper] = wrapInner(el, '<div>');
|
|
3190
|
+
css(wrapper, {
|
|
3191
|
+
boxSizing: 'border-box',
|
|
3192
|
+
height: dim.height,
|
|
3193
|
+
width: dim.width,
|
|
3194
|
+
...css(el, [
|
|
3195
|
+
'overflow',
|
|
3196
|
+
'padding',
|
|
3197
|
+
'borderTop',
|
|
3198
|
+
'borderRight',
|
|
3199
|
+
'borderBottom',
|
|
3200
|
+
'borderLeft',
|
|
3201
|
+
'borderImage',
|
|
3202
|
+
marginStartProp]) });
|
|
3268
3203
|
|
|
3269
|
-
const width = toFloat(css(el, 'width'));
|
|
3270
|
-
duration = velocity * width + duration;
|
|
3271
3204
|
|
|
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
3205
|
|
|
3278
3206
|
css(el, {
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3207
|
+
padding: 0,
|
|
3208
|
+
border: 0,
|
|
3209
|
+
[marginStartProp]: 0,
|
|
3210
|
+
width: dim.width,
|
|
3211
|
+
height: dim.height,
|
|
3212
|
+
overflow: 'hidden',
|
|
3213
|
+
[dimProp]: currentDim });
|
|
3286
3214
|
|
|
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
3215
|
|
|
3295
|
-
|
|
3296
|
-
|
|
3216
|
+
const percent = currentDim / endDim;
|
|
3217
|
+
duration = (velocity * endDim + duration) * (show ? 1 - percent : percent);
|
|
3218
|
+
const endProps = { [dimProp]: show ? endDim : 0 };
|
|
3297
3219
|
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
right ? "polygon(0 0,0 0,0 100%,0 100%)" : "polygon(100% 0,100% 0,100% 100%,100% 100%)" :
|
|
3220
|
+
if (end) {
|
|
3221
|
+
css(el, marginProp, endDim - currentDim + currentMargin);
|
|
3222
|
+
endProps[marginProp] = show ? currentMargin : endDim + currentMargin;
|
|
3223
|
+
}
|
|
3303
3224
|
|
|
3225
|
+
if (!end ^ mode === 'reveal') {
|
|
3226
|
+
css(wrapper, marginProp, -endDim + currentDim);
|
|
3227
|
+
Transition.start(wrapper, { [marginProp]: show ? 0 : -endDim }, duration, transition);
|
|
3228
|
+
}
|
|
3304
3229
|
|
|
3305
|
-
|
|
3306
|
-
|
|
3230
|
+
try {
|
|
3231
|
+
await Transition.start(el, endProps, duration, transition);
|
|
3232
|
+
} finally {
|
|
3233
|
+
css(el, prevProps);
|
|
3234
|
+
unwrap(wrapper.firstChild);
|
|
3307
3235
|
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
css(scrollElement, 'overflowX', '');
|
|
3313
|
-
css(el, { clipPath: '', marginLeft: '' });
|
|
3314
|
-
});
|
|
3236
|
+
if (!show) {
|
|
3237
|
+
_toggle(el, false);
|
|
3238
|
+
}
|
|
3239
|
+
}
|
|
3315
3240
|
};
|
|
3316
3241
|
}
|
|
3317
3242
|
|
|
@@ -3336,6 +3261,7 @@
|
|
|
3336
3261
|
mixins: [Class, Lazyload, Togglable],
|
|
3337
3262
|
|
|
3338
3263
|
props: {
|
|
3264
|
+
animation: Boolean,
|
|
3339
3265
|
targets: String,
|
|
3340
3266
|
active: null,
|
|
3341
3267
|
collapsible: Boolean,
|
|
@@ -3348,7 +3274,7 @@
|
|
|
3348
3274
|
data: {
|
|
3349
3275
|
targets: '> *',
|
|
3350
3276
|
active: false,
|
|
3351
|
-
animation:
|
|
3277
|
+
animation: true,
|
|
3352
3278
|
collapsible: true,
|
|
3353
3279
|
multiple: false,
|
|
3354
3280
|
clsOpen: 'uk-open',
|
|
@@ -3394,7 +3320,7 @@
|
|
|
3394
3320
|
hide(
|
|
3395
3321
|
el,
|
|
3396
3322
|
!hasClass(
|
|
3397
|
-
this.items.find((item) =>
|
|
3323
|
+
this.items.find((item) => within(el, item)),
|
|
3398
3324
|
this.clsOpen));
|
|
3399
3325
|
|
|
3400
3326
|
|
|
@@ -3446,23 +3372,15 @@
|
|
|
3446
3372
|
toggleClass(el, this.clsOpen, show);
|
|
3447
3373
|
attr($(this.$props.toggle, el), 'aria-expanded', show);
|
|
3448
3374
|
|
|
3449
|
-
const content = $(
|
|
3375
|
+
const content = $(this.content, el);
|
|
3450
3376
|
|
|
3451
|
-
if (animate === false || !this.
|
|
3377
|
+
if (animate === false || !this.animation) {
|
|
3378
|
+
content.hidden = !show;
|
|
3452
3379
|
hide(content, !show);
|
|
3453
3380
|
return;
|
|
3454
3381
|
}
|
|
3455
3382
|
|
|
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);
|
|
3383
|
+
await toggleTransition(this)(content, show);
|
|
3466
3384
|
|
|
3467
3385
|
if (show) {
|
|
3468
3386
|
const toggle = $(this.$props.toggle, el);
|
|
@@ -3488,18 +3406,17 @@
|
|
|
3488
3406
|
args: 'animation',
|
|
3489
3407
|
|
|
3490
3408
|
props: {
|
|
3409
|
+
animation: Boolean,
|
|
3491
3410
|
close: String },
|
|
3492
3411
|
|
|
3493
3412
|
|
|
3494
3413
|
data: {
|
|
3495
|
-
animation:
|
|
3414
|
+
animation: true,
|
|
3496
3415
|
selClose: '.uk-alert-close',
|
|
3497
|
-
duration: 150,
|
|
3498
|
-
hideProps: { opacity: 0, ...Togglable.data.hideProps } },
|
|
3416
|
+
duration: 150 },
|
|
3499
3417
|
|
|
3500
3418
|
|
|
3501
|
-
events:
|
|
3502
|
-
{
|
|
3419
|
+
events: {
|
|
3503
3420
|
name: 'click',
|
|
3504
3421
|
|
|
3505
3422
|
delegate() {
|
|
@@ -3509,16 +3426,39 @@
|
|
|
3509
3426
|
handler(e) {
|
|
3510
3427
|
e.preventDefault();
|
|
3511
3428
|
this.close();
|
|
3512
|
-
} }
|
|
3513
|
-
|
|
3429
|
+
} },
|
|
3514
3430
|
|
|
3515
3431
|
|
|
3516
3432
|
methods: {
|
|
3517
3433
|
async close() {
|
|
3518
|
-
await this.toggleElement(this.$el);
|
|
3434
|
+
await this.toggleElement(this.$el, false, animate$1(this));
|
|
3519
3435
|
this.$destroy(true);
|
|
3520
3436
|
} } };
|
|
3521
3437
|
|
|
3438
|
+
|
|
3439
|
+
|
|
3440
|
+
function animate$1(_ref) {let { duration, transition, velocity } = _ref;
|
|
3441
|
+
return (el) => {
|
|
3442
|
+
const height = toFloat(css(el, 'height'));
|
|
3443
|
+
css(el, 'height', height);
|
|
3444
|
+
return Transition.start(
|
|
3445
|
+
el,
|
|
3446
|
+
{
|
|
3447
|
+
height: 0,
|
|
3448
|
+
marginTop: 0,
|
|
3449
|
+
marginBottom: 0,
|
|
3450
|
+
paddingTop: 0,
|
|
3451
|
+
paddingBottom: 0,
|
|
3452
|
+
borderTop: 0,
|
|
3453
|
+
borderBottom: 0,
|
|
3454
|
+
opacity: 0 },
|
|
3455
|
+
|
|
3456
|
+
velocity * height + duration,
|
|
3457
|
+
transition);
|
|
3458
|
+
|
|
3459
|
+
};
|
|
3460
|
+
}
|
|
3461
|
+
|
|
3522
3462
|
var Video = {
|
|
3523
3463
|
args: 'autoplay',
|
|
3524
3464
|
|
|
@@ -3667,13 +3607,17 @@
|
|
|
3667
3607
|
props: {
|
|
3668
3608
|
pos: String,
|
|
3669
3609
|
offset: null,
|
|
3670
|
-
flip: Boolean
|
|
3610
|
+
flip: Boolean,
|
|
3611
|
+
shift: Boolean,
|
|
3612
|
+
inset: Boolean },
|
|
3671
3613
|
|
|
3672
3614
|
|
|
3673
3615
|
data: {
|
|
3674
3616
|
pos: "bottom-" + (isRtl ? 'right' : 'left'),
|
|
3617
|
+
offset: false,
|
|
3675
3618
|
flip: true,
|
|
3676
|
-
|
|
3619
|
+
shift: true,
|
|
3620
|
+
inset: false },
|
|
3677
3621
|
|
|
3678
3622
|
|
|
3679
3623
|
connected() {
|
|
@@ -3685,19 +3629,24 @@
|
|
|
3685
3629
|
methods: {
|
|
3686
3630
|
positionAt(element, target, boundary) {
|
|
3687
3631
|
let offset = [this.getPositionOffset(element), this.getShiftOffset(element)];
|
|
3632
|
+
const placement = [this.flip && 'flip', this.shift && 'shift'];
|
|
3688
3633
|
|
|
3689
3634
|
const attach = {
|
|
3690
|
-
element: [flipPosition(this.dir), this.align],
|
|
3635
|
+
element: [this.inset ? this.dir : flipPosition(this.dir), this.align],
|
|
3691
3636
|
target: [this.dir, this.align] };
|
|
3692
3637
|
|
|
3693
3638
|
|
|
3694
3639
|
if (this.axis === 'y') {
|
|
3695
3640
|
for (const prop in attach) {
|
|
3696
|
-
attach[prop]
|
|
3641
|
+
attach[prop].reverse();
|
|
3697
3642
|
}
|
|
3698
|
-
offset
|
|
3643
|
+
offset.reverse();
|
|
3644
|
+
placement.reverse();
|
|
3699
3645
|
}
|
|
3700
3646
|
|
|
3647
|
+
const [scrollElement] = scrollParents(element, /auto|scroll/);
|
|
3648
|
+
const { scrollTop, scrollLeft } = scrollElement;
|
|
3649
|
+
|
|
3701
3650
|
// Ensure none positioned element does not generate scrollbars
|
|
3702
3651
|
const elDim = dimensions(element);
|
|
3703
3652
|
css(element, { top: -elDim.height, left: -elDim.width });
|
|
@@ -3706,35 +3655,50 @@
|
|
|
3706
3655
|
attach,
|
|
3707
3656
|
offset,
|
|
3708
3657
|
boundary,
|
|
3709
|
-
|
|
3658
|
+
placement,
|
|
3710
3659
|
viewportOffset: this.getViewportOffset(element) });
|
|
3711
3660
|
|
|
3661
|
+
|
|
3662
|
+
// Restore scroll position
|
|
3663
|
+
scrollElement.scrollTop = scrollTop;
|
|
3664
|
+
scrollElement.scrollLeft = scrollLeft;
|
|
3712
3665
|
},
|
|
3713
3666
|
|
|
3714
3667
|
getPositionOffset(element) {
|
|
3715
3668
|
return (
|
|
3716
3669
|
toPx(
|
|
3717
|
-
this.offset === false ?
|
|
3670
|
+
this.offset === false ? css(element, '--uk-position-offset') : this.offset,
|
|
3718
3671
|
this.axis === 'x' ? 'width' : 'height',
|
|
3719
3672
|
element) * (
|
|
3720
|
-
|
|
3673
|
+
|
|
3674
|
+
includes(['left', 'top'], this.dir) ? -1 : 1) * (
|
|
3675
|
+
this.inset ? -1 : 1));
|
|
3721
3676
|
|
|
3722
3677
|
},
|
|
3723
3678
|
|
|
3724
3679
|
getShiftOffset(element) {
|
|
3725
|
-
return
|
|
3680
|
+
return this.align === 'center' ?
|
|
3726
3681
|
0 :
|
|
3727
3682
|
toPx(
|
|
3728
|
-
|
|
3683
|
+
css(element, '--uk-position-shift-offset'),
|
|
3729
3684
|
this.axis === 'y' ? 'width' : 'height',
|
|
3730
3685
|
element) * (
|
|
3731
3686
|
includes(['left', 'top'], this.align) ? 1 : -1);
|
|
3732
3687
|
},
|
|
3733
3688
|
|
|
3734
3689
|
getViewportOffset(element) {
|
|
3735
|
-
return toPx(
|
|
3690
|
+
return toPx(css(element, '--uk-position-viewport-offset'));
|
|
3736
3691
|
} } };
|
|
3737
3692
|
|
|
3693
|
+
var Style = {
|
|
3694
|
+
beforeConnect() {
|
|
3695
|
+
this._style = attr(this.$el, 'style');
|
|
3696
|
+
},
|
|
3697
|
+
|
|
3698
|
+
disconnected() {
|
|
3699
|
+
attr(this.$el, 'style', this._style);
|
|
3700
|
+
} };
|
|
3701
|
+
|
|
3738
3702
|
const active$1 = [];
|
|
3739
3703
|
|
|
3740
3704
|
var Modal = {
|
|
@@ -3837,15 +3801,15 @@
|
|
|
3837
3801
|
this.$el,
|
|
3838
3802
|
'hide',
|
|
3839
3803
|
on(document, 'focusin', (e) => {
|
|
3840
|
-
if (!within(e.target, this
|
|
3804
|
+
if (last(active$1) === this && !within(e.target, this.$el)) {
|
|
3841
3805
|
this.$el.focus();
|
|
3842
3806
|
}
|
|
3843
3807
|
}));
|
|
3844
3808
|
|
|
3845
3809
|
|
|
3846
3810
|
if (this.overlay) {
|
|
3847
|
-
once(this.$el, '
|
|
3848
|
-
once(this.$el, '
|
|
3811
|
+
once(this.$el, 'hidden', preventOverscroll(this.$el), { self: true });
|
|
3812
|
+
once(this.$el, 'hidden', preventBackgroundScroll(), { self: true });
|
|
3849
3813
|
}
|
|
3850
3814
|
|
|
3851
3815
|
if (this.stack) {
|
|
@@ -3927,10 +3891,6 @@
|
|
|
3927
3891
|
active$1.splice(active$1.indexOf(this), 1);
|
|
3928
3892
|
}
|
|
3929
3893
|
|
|
3930
|
-
if (!active$1.length) {
|
|
3931
|
-
css(document.body, 'overflowY', '');
|
|
3932
|
-
}
|
|
3933
|
-
|
|
3934
3894
|
css(this.$el, 'zIndex', '');
|
|
3935
3895
|
|
|
3936
3896
|
if (!active$1.some((modal) => modal.clsPage === this.clsPage)) {
|
|
@@ -4047,7 +4007,12 @@
|
|
|
4047
4007
|
return () => events.forEach((fn) => fn());
|
|
4048
4008
|
}
|
|
4049
4009
|
|
|
4010
|
+
let prevented;
|
|
4050
4011
|
function preventBackgroundScroll() {
|
|
4012
|
+
if (prevented) {
|
|
4013
|
+
return noop;
|
|
4014
|
+
}
|
|
4015
|
+
prevented = true;
|
|
4051
4016
|
const { body, documentElement } = document;
|
|
4052
4017
|
css(body, {
|
|
4053
4018
|
overflowY: width(window) > documentElement.clientWidth ? 'scroll' : '',
|
|
@@ -4055,6 +4020,7 @@
|
|
|
4055
4020
|
|
|
4056
4021
|
css(documentElement, 'overflowY', 'hidden');
|
|
4057
4022
|
return () => {
|
|
4023
|
+
prevented = false;
|
|
4058
4024
|
css(documentElement, 'overflowY', '');
|
|
4059
4025
|
css(body, { overflowY: '', touchAction: '' });
|
|
4060
4026
|
};
|
|
@@ -4073,7 +4039,7 @@
|
|
|
4073
4039
|
let active;
|
|
4074
4040
|
|
|
4075
4041
|
var drop = {
|
|
4076
|
-
mixins: [Container, Lazyload, Position, Togglable],
|
|
4042
|
+
mixins: [Container, Lazyload, Position, Style, Togglable],
|
|
4077
4043
|
|
|
4078
4044
|
args: 'pos',
|
|
4079
4045
|
|
|
@@ -4081,7 +4047,10 @@
|
|
|
4081
4047
|
mode: 'list',
|
|
4082
4048
|
toggle: Boolean,
|
|
4083
4049
|
boundary: Boolean,
|
|
4084
|
-
|
|
4050
|
+
target: Boolean,
|
|
4051
|
+
targetX: Boolean,
|
|
4052
|
+
targetY: Boolean,
|
|
4053
|
+
stretch: Boolean,
|
|
4085
4054
|
delayShow: Number,
|
|
4086
4055
|
delayHide: Number,
|
|
4087
4056
|
display: String,
|
|
@@ -4093,17 +4062,32 @@
|
|
|
4093
4062
|
data: {
|
|
4094
4063
|
mode: ['click', 'hover'],
|
|
4095
4064
|
toggle: '- *',
|
|
4096
|
-
boundary:
|
|
4097
|
-
|
|
4065
|
+
boundary: false,
|
|
4066
|
+
target: false,
|
|
4067
|
+
targetX: false,
|
|
4068
|
+
targetY: false,
|
|
4069
|
+
stretch: false,
|
|
4098
4070
|
delayShow: 0,
|
|
4099
4071
|
delayHide: 800,
|
|
4100
4072
|
display: null,
|
|
4101
4073
|
clsDrop: false,
|
|
4074
|
+
animateOut: false,
|
|
4075
|
+
bgScroll: true,
|
|
4102
4076
|
animation: ['uk-animation-fade'],
|
|
4103
4077
|
cls: 'uk-open',
|
|
4104
|
-
container: false,
|
|
4105
|
-
|
|
4106
|
-
|
|
4078
|
+
container: false },
|
|
4079
|
+
|
|
4080
|
+
|
|
4081
|
+
computed: {
|
|
4082
|
+
target(_ref, $el) {let { target, targetX, targetY } = _ref;
|
|
4083
|
+
targetX = targetX || target || this.targetEl;
|
|
4084
|
+
targetY = targetY || target || this.targetEl;
|
|
4085
|
+
|
|
4086
|
+
return [
|
|
4087
|
+
targetX === true ? window : query(targetX, $el),
|
|
4088
|
+
targetY === true ? window : query(targetY, $el)];
|
|
4089
|
+
|
|
4090
|
+
} },
|
|
4107
4091
|
|
|
4108
4092
|
|
|
4109
4093
|
created() {
|
|
@@ -4117,13 +4101,13 @@
|
|
|
4117
4101
|
connected() {
|
|
4118
4102
|
addClass(this.$el, this.clsDrop);
|
|
4119
4103
|
|
|
4120
|
-
if (this.toggle && !this.
|
|
4121
|
-
this.
|
|
4104
|
+
if (this.toggle && !this.targetEl) {
|
|
4105
|
+
this.targetEl = this.$create('toggle', query(this.toggle, this.$el), {
|
|
4122
4106
|
target: this.$el,
|
|
4123
4107
|
mode: this.mode }).
|
|
4124
4108
|
$el;
|
|
4125
|
-
attr(this.
|
|
4126
|
-
this.lazyload(this.
|
|
4109
|
+
attr(this.targetEl, 'aria-haspopup', true);
|
|
4110
|
+
this.lazyload(this.targetEl);
|
|
4127
4111
|
}
|
|
4128
4112
|
},
|
|
4129
4113
|
|
|
@@ -4154,7 +4138,7 @@
|
|
|
4154
4138
|
return 'a[href^="#"]';
|
|
4155
4139
|
},
|
|
4156
4140
|
|
|
4157
|
-
handler(
|
|
4141
|
+
handler(_ref2) {let { defaultPrevented, current: { hash } } = _ref2;
|
|
4158
4142
|
if (!defaultPrevented && hash && !within(hash, this.$el)) {
|
|
4159
4143
|
this.hide(false);
|
|
4160
4144
|
}
|
|
@@ -4266,17 +4250,17 @@
|
|
|
4266
4250
|
on(
|
|
4267
4251
|
document,
|
|
4268
4252
|
pointerDown,
|
|
4269
|
-
(
|
|
4253
|
+
(_ref3) => {let { target } = _ref3;return (
|
|
4270
4254
|
!within(target, this.$el) &&
|
|
4271
4255
|
once(
|
|
4272
4256
|
document,
|
|
4273
4257
|
pointerUp + " " + pointerCancel + " scroll",
|
|
4274
|
-
(
|
|
4258
|
+
(_ref4) => {let { defaultPrevented, type, target: newTarget } = _ref4;
|
|
4275
4259
|
if (
|
|
4276
4260
|
!defaultPrevented &&
|
|
4277
4261
|
type === pointerUp &&
|
|
4278
4262
|
target === newTarget &&
|
|
4279
|
-
!(this.
|
|
4263
|
+
!(this.targetEl && within(target, this.targetEl)))
|
|
4280
4264
|
{
|
|
4281
4265
|
this.hide(false);
|
|
4282
4266
|
}
|
|
@@ -4295,13 +4279,13 @@
|
|
|
4295
4279
|
[] :
|
|
4296
4280
|
[preventOverscroll(this.$el), preventBackgroundScroll()]),
|
|
4297
4281
|
|
|
4298
|
-
...(this.display === 'static'
|
|
4282
|
+
...(this.display === 'static' ?
|
|
4299
4283
|
[] :
|
|
4300
4284
|
(() => {
|
|
4301
4285
|
const handler = () => this.$emit();
|
|
4302
4286
|
return [
|
|
4303
4287
|
on(window, 'resize', handler),
|
|
4304
|
-
on(document, 'scroll', handler
|
|
4288
|
+
on([document, scrollParents(this.$el)], 'scroll', handler),
|
|
4305
4289
|
(() => {
|
|
4306
4290
|
const observer = observeResize(
|
|
4307
4291
|
scrollParents(this.$el),
|
|
@@ -4330,7 +4314,7 @@
|
|
|
4330
4314
|
{
|
|
4331
4315
|
name: 'hide',
|
|
4332
4316
|
|
|
4333
|
-
handler(
|
|
4317
|
+
handler(_ref5) {let { target } = _ref5;
|
|
4334
4318
|
if (this.$el !== target) {
|
|
4335
4319
|
active =
|
|
4336
4320
|
active === null && within(target, this.$el) && this.isToggled() ?
|
|
@@ -4354,12 +4338,12 @@
|
|
|
4354
4338
|
|
|
4355
4339
|
|
|
4356
4340
|
methods: {
|
|
4357
|
-
show(target, delay) {if (target === void 0) {target = this.
|
|
4358
|
-
if (this.isToggled() && target && this.
|
|
4341
|
+
show(target, delay) {if (target === void 0) {target = this.targetEl;}if (delay === void 0) {delay = true;}
|
|
4342
|
+
if (this.isToggled() && target && this.targetEl && target !== this.targetEl) {
|
|
4359
4343
|
this.hide(false, false);
|
|
4360
4344
|
}
|
|
4361
4345
|
|
|
4362
|
-
this.
|
|
4346
|
+
this.targetEl = target;
|
|
4363
4347
|
|
|
4364
4348
|
this.clearTimers();
|
|
4365
4349
|
|
|
@@ -4422,60 +4406,69 @@
|
|
|
4422
4406
|
|
|
4423
4407
|
position() {
|
|
4424
4408
|
removeClass(this.$el, this.clsDrop + "-stack");
|
|
4425
|
-
|
|
4426
|
-
toggleClass(this.$el, this.clsDrop + "-stretch", this.align === 'stretch');
|
|
4409
|
+
attr(this.$el, 'style', this._style);
|
|
4427
4410
|
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
const [scrollParent] = scrollParents(
|
|
4431
|
-
boundary && this.boundaryAlign ? boundary : this.$el);
|
|
4411
|
+
// Ensure none positioned element does not generate scrollbars
|
|
4412
|
+
this.$el.hidden = true;
|
|
4432
4413
|
|
|
4433
|
-
const
|
|
4434
|
-
const boundaryOffset = boundary
|
|
4414
|
+
const boundary = query(this.boundary, this.$el);
|
|
4415
|
+
const boundaryOffset = offsetViewport(boundary || window);
|
|
4416
|
+
const viewports = this.target.map((target) => offsetViewport(scrollParents(target)[0]));
|
|
4435
4417
|
const viewportOffset = this.getViewportOffset(this.$el);
|
|
4436
4418
|
|
|
4437
|
-
|
|
4438
|
-
|
|
4419
|
+
const dirs = [
|
|
4420
|
+
[0, ['x', 'width', 'left', 'right']],
|
|
4421
|
+
[1, ['y', 'height', 'top', 'bottom']]];
|
|
4439
4422
|
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
const elOffset = Math.abs(this.getPositionOffset(this.$el)) + viewportOffset;
|
|
4457
|
-
|
|
4458
|
-
css(this.$el, {
|
|
4459
|
-
width:
|
|
4460
|
-
this.axis === 'y' ?
|
|
4461
|
-
viewport.width :
|
|
4462
|
-
(this.dir === 'left' ?
|
|
4463
|
-
targetDim.left - viewport.left :
|
|
4464
|
-
viewport.right - targetDim.right) - elOffset,
|
|
4465
|
-
height:
|
|
4466
|
-
this.axis === 'x' ?
|
|
4467
|
-
viewport.height :
|
|
4468
|
-
(this.dir === 'top' ?
|
|
4469
|
-
targetDim.top - viewport.top :
|
|
4470
|
-
viewport.bottom - targetDim.bottom) - elOffset });
|
|
4471
|
-
|
|
4472
|
-
} else if (this.$el.offsetWidth > maxWidth) {
|
|
4423
|
+
|
|
4424
|
+
for (const [i, [axis, prop]] of dirs) {
|
|
4425
|
+
if (this.axis !== axis && includes([axis, true], this.stretch)) {
|
|
4426
|
+
css(this.$el, {
|
|
4427
|
+
[prop]: Math.min(
|
|
4428
|
+
boundaryOffset[prop],
|
|
4429
|
+
viewports[i][prop] - 2 * viewportOffset),
|
|
4430
|
+
|
|
4431
|
+
["overflow-" + axis]: 'auto' });
|
|
4432
|
+
|
|
4433
|
+
}
|
|
4434
|
+
}
|
|
4435
|
+
|
|
4436
|
+
const maxWidth = viewports[0].width - 2 * viewportOffset;
|
|
4437
|
+
|
|
4438
|
+
if (this.$el.offsetWidth > maxWidth) {
|
|
4473
4439
|
addClass(this.$el, this.clsDrop + "-stack");
|
|
4474
4440
|
}
|
|
4475
4441
|
|
|
4476
4442
|
css(this.$el, 'maxWidth', maxWidth);
|
|
4477
4443
|
|
|
4478
|
-
this
|
|
4444
|
+
this.$el.hidden = false;
|
|
4445
|
+
|
|
4446
|
+
this.positionAt(this.$el, this.target, boundary);
|
|
4447
|
+
|
|
4448
|
+
for (const [i, [axis, prop, start, end]] of dirs) {
|
|
4449
|
+
if (this.axis === axis && includes([axis, true], this.stretch)) {
|
|
4450
|
+
const positionOffset = Math.abs(this.getPositionOffset(this.$el));
|
|
4451
|
+
const targetOffset = offset(this.target[i]);
|
|
4452
|
+
const elOffset = offset(this.$el);
|
|
4453
|
+
|
|
4454
|
+
css(this.$el, {
|
|
4455
|
+
[prop]:
|
|
4456
|
+
(targetOffset[start] > elOffset[start] ?
|
|
4457
|
+
targetOffset[start] -
|
|
4458
|
+
Math.max(
|
|
4459
|
+
boundaryOffset[start],
|
|
4460
|
+
viewports[i][start] + viewportOffset) :
|
|
4461
|
+
|
|
4462
|
+
Math.min(
|
|
4463
|
+
boundaryOffset[end],
|
|
4464
|
+
viewports[i][end] - viewportOffset) -
|
|
4465
|
+
targetOffset[end]) - positionOffset,
|
|
4466
|
+
["overflow-" + axis]: 'auto' });
|
|
4467
|
+
|
|
4468
|
+
|
|
4469
|
+
this.positionAt(this.$el, this.target, boundary);
|
|
4470
|
+
}
|
|
4471
|
+
}
|
|
4479
4472
|
} } };
|
|
4480
4473
|
|
|
4481
4474
|
|
|
@@ -4972,8 +4965,11 @@
|
|
|
4972
4965
|
let minHeight = '';
|
|
4973
4966
|
const box = boxModelAdjust(this.$el, 'height', 'content-box');
|
|
4974
4967
|
|
|
4968
|
+
const { body, scrollingElement } = document;
|
|
4975
4969
|
const [scrollElement] = scrollParents(this.$el, /auto|scroll/);
|
|
4976
|
-
const { height: viewportHeight } = offsetViewport(
|
|
4970
|
+
const { height: viewportHeight } = offsetViewport(
|
|
4971
|
+
scrollElement === body ? scrollingElement : scrollElement);
|
|
4972
|
+
|
|
4977
4973
|
|
|
4978
4974
|
if (this.expand) {
|
|
4979
4975
|
minHeight = Math.max(
|
|
@@ -4983,14 +4979,19 @@
|
|
|
4983
4979
|
0);
|
|
4984
4980
|
|
|
4985
4981
|
} else {
|
|
4986
|
-
|
|
4987
|
-
|
|
4988
|
-
document.scrollingElement === scrollElement ? '100vh' : viewportHeight + "px");
|
|
4982
|
+
const isScrollingElement =
|
|
4983
|
+
scrollingElement === scrollElement || body === scrollElement;
|
|
4989
4984
|
|
|
4985
|
+
// on mobile devices (iOS and Android) window.innerHeight !== 100vh
|
|
4986
|
+
minHeight = "calc(" + (isScrollingElement ? '100vh' : viewportHeight + "px");
|
|
4990
4987
|
|
|
4991
4988
|
if (this.offsetTop) {
|
|
4992
|
-
|
|
4993
|
-
|
|
4989
|
+
if (isScrollingElement) {
|
|
4990
|
+
const top = offsetPosition(this.$el)[0] - offsetPosition(scrollElement)[0];
|
|
4991
|
+
minHeight += top > 0 && top < viewportHeight / 2 ? " - " + top + "px" : '';
|
|
4992
|
+
} else {
|
|
4993
|
+
minHeight += " - " + css(scrollElement, 'paddingTop');
|
|
4994
|
+
}
|
|
4994
4995
|
}
|
|
4995
4996
|
|
|
4996
4997
|
if (this.offsetBottom === true) {
|
|
@@ -5233,7 +5234,13 @@
|
|
|
5233
5234
|
|
|
5234
5235
|
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>";
|
|
5235
5236
|
|
|
5236
|
-
var
|
|
5237
|
+
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>";
|
|
5238
|
+
|
|
5239
|
+
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>";
|
|
5240
|
+
|
|
5241
|
+
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>";
|
|
5242
|
+
|
|
5243
|
+
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>";
|
|
5237
5244
|
|
|
5238
5245
|
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>";
|
|
5239
5246
|
|
|
@@ -5265,6 +5272,9 @@
|
|
|
5265
5272
|
marker,
|
|
5266
5273
|
'close-icon': closeIcon,
|
|
5267
5274
|
'close-large': closeLarge,
|
|
5275
|
+
'nav-parent-icon': navParentIcon,
|
|
5276
|
+
'nav-parent-icon-large': navParentIconLarge,
|
|
5277
|
+
'navbar-parent-icon': navbarParentIcon,
|
|
5268
5278
|
'navbar-toggle-icon': navbarToggleIcon,
|
|
5269
5279
|
'overlay-icon': overlayIcon,
|
|
5270
5280
|
'pagination-next': paginationNext,
|
|
@@ -5322,6 +5332,15 @@
|
|
|
5322
5332
|
} };
|
|
5323
5333
|
|
|
5324
5334
|
|
|
5335
|
+
const NavParentIcon = {
|
|
5336
|
+
extends: IconComponent,
|
|
5337
|
+
|
|
5338
|
+
beforeConnect() {
|
|
5339
|
+
const icon = this.$props.icon;
|
|
5340
|
+
this.icon = closest(this.$el, '.uk-nav-primary') ? icon + "-large" : icon;
|
|
5341
|
+
} };
|
|
5342
|
+
|
|
5343
|
+
|
|
5325
5344
|
const Slidenav = {
|
|
5326
5345
|
extends: IconComponent,
|
|
5327
5346
|
|
|
@@ -5582,7 +5601,7 @@
|
|
|
5582
5601
|
|
|
5583
5602
|
|
|
5584
5603
|
connected() {
|
|
5585
|
-
const media = toMedia(this.media);
|
|
5604
|
+
const media = toMedia(this.media, this.$el);
|
|
5586
5605
|
this.matchMedia = true;
|
|
5587
5606
|
if (media) {
|
|
5588
5607
|
this.mediaObj = window.matchMedia(media);
|
|
@@ -5603,11 +5622,10 @@
|
|
|
5603
5622
|
} };
|
|
5604
5623
|
|
|
5605
5624
|
|
|
5606
|
-
function toMedia(value) {
|
|
5625
|
+
function toMedia(value, element) {
|
|
5607
5626
|
if (isString(value)) {
|
|
5608
5627
|
if (startsWith(value, '@')) {
|
|
5609
|
-
|
|
5610
|
-
value = toFloat(getCssVar(name));
|
|
5628
|
+
value = toFloat(css(element, "--uk-breakpoint-" + value.substr(1)));
|
|
5611
5629
|
} else if (isNaN(value)) {
|
|
5612
5630
|
return value;
|
|
5613
5631
|
}
|
|
@@ -5632,7 +5650,7 @@
|
|
|
5632
5650
|
|
|
5633
5651
|
computed: {
|
|
5634
5652
|
fill(_ref) {let { fill } = _ref;
|
|
5635
|
-
return fill ||
|
|
5653
|
+
return fill || css(this.$el, '--uk-leader-fill-content');
|
|
5636
5654
|
} },
|
|
5637
5655
|
|
|
5638
5656
|
|
|
@@ -5824,7 +5842,9 @@
|
|
|
5824
5842
|
align: String,
|
|
5825
5843
|
offset: Number,
|
|
5826
5844
|
boundary: Boolean,
|
|
5827
|
-
|
|
5845
|
+
target: Boolean,
|
|
5846
|
+
targetX: Boolean,
|
|
5847
|
+
targetY: Boolean,
|
|
5828
5848
|
clsDrop: String,
|
|
5829
5849
|
delayShow: Number,
|
|
5830
5850
|
delayHide: Number,
|
|
@@ -5841,9 +5861,12 @@
|
|
|
5841
5861
|
offset: undefined,
|
|
5842
5862
|
delayShow: undefined,
|
|
5843
5863
|
delayHide: undefined,
|
|
5844
|
-
|
|
5845
|
-
|
|
5864
|
+
flip: false,
|
|
5865
|
+
shift: true,
|
|
5846
5866
|
boundary: true,
|
|
5867
|
+
target: false,
|
|
5868
|
+
targetX: false,
|
|
5869
|
+
targetY: false,
|
|
5847
5870
|
dropbar: false,
|
|
5848
5871
|
dropbarAnchor: false,
|
|
5849
5872
|
duration: 200,
|
|
@@ -5878,7 +5901,7 @@
|
|
|
5878
5901
|
},
|
|
5879
5902
|
|
|
5880
5903
|
watch(dropbar) {
|
|
5881
|
-
addClass(dropbar, 'uk-navbar-dropbar');
|
|
5904
|
+
addClass(dropbar, 'uk-dropbar', 'uk-dropbar-top', 'uk-navbar-dropbar');
|
|
5882
5905
|
},
|
|
5883
5906
|
|
|
5884
5907
|
immediate: true },
|
|
@@ -5894,7 +5917,7 @@
|
|
|
5894
5917
|
|
|
5895
5918
|
if (this.dropContainer !== $el) {
|
|
5896
5919
|
for (const el of $$("." + clsDrop, this.dropContainer)) {var _this$getDropdown;
|
|
5897
|
-
const target = (_this$getDropdown = this.getDropdown(el)) == null ? void 0 : _this$getDropdown.
|
|
5920
|
+
const target = (_this$getDropdown = this.getDropdown(el)) == null ? void 0 : _this$getDropdown.targetEl;
|
|
5898
5921
|
if (!includes(dropdowns, el) && target && within(target, this.$el)) {
|
|
5899
5922
|
dropdowns.push(el);
|
|
5900
5923
|
}
|
|
@@ -5911,8 +5934,7 @@
|
|
|
5911
5934
|
{
|
|
5912
5935
|
...this.$props,
|
|
5913
5936
|
boundary: this.boundary,
|
|
5914
|
-
pos: this.pos
|
|
5915
|
-
offset: this.dropbar || this.offset });
|
|
5937
|
+
pos: this.pos });
|
|
5916
5938
|
|
|
5917
5939
|
|
|
5918
5940
|
},
|
|
@@ -5957,8 +5979,8 @@
|
|
|
5957
5979
|
if (
|
|
5958
5980
|
active &&
|
|
5959
5981
|
includes(active.mode, 'hover') &&
|
|
5960
|
-
active.
|
|
5961
|
-
!within(active.
|
|
5982
|
+
active.targetEl &&
|
|
5983
|
+
!within(active.targetEl, current) &&
|
|
5962
5984
|
!active.isDelaying)
|
|
5963
5985
|
{
|
|
5964
5986
|
active.hide(false);
|
|
@@ -5980,7 +6002,7 @@
|
|
|
5980
6002
|
if (keyCode === keyMap.DOWN && hasAttr(current, 'aria-expanded')) {
|
|
5981
6003
|
e.preventDefault();
|
|
5982
6004
|
|
|
5983
|
-
if (!active || active.
|
|
6005
|
+
if (!active || active.targetEl !== current) {
|
|
5984
6006
|
current.click();
|
|
5985
6007
|
once(this.dropContainer, 'show', (_ref8) => {let { target } = _ref8;return (
|
|
5986
6008
|
focusFirstFocusableElement(target));});
|
|
@@ -6030,8 +6052,8 @@
|
|
|
6030
6052
|
}
|
|
6031
6053
|
}
|
|
6032
6054
|
|
|
6033
|
-
if (keyCode === keyMap.ESC) {var _active$
|
|
6034
|
-
active == null ? void 0 : (_active$
|
|
6055
|
+
if (keyCode === keyMap.ESC) {var _active$targetEl;
|
|
6056
|
+
active == null ? void 0 : (_active$targetEl = active.targetEl) == null ? void 0 : _active$targetEl.focus();
|
|
6035
6057
|
}
|
|
6036
6058
|
|
|
6037
6059
|
handleNavItemNavigation(e, this.toggles, active);
|
|
@@ -6073,8 +6095,8 @@
|
|
|
6073
6095
|
return this.dropbar;
|
|
6074
6096
|
},
|
|
6075
6097
|
|
|
6076
|
-
handler(
|
|
6077
|
-
if (!
|
|
6098
|
+
handler(_ref9) {let { target } = _ref9;
|
|
6099
|
+
if (!this.isDropbarDrop(target)) {
|
|
6078
6100
|
return;
|
|
6079
6101
|
}
|
|
6080
6102
|
|
|
@@ -6082,7 +6104,7 @@
|
|
|
6082
6104
|
after(this.dropbarAnchor || this.$el, this.dropbar);
|
|
6083
6105
|
}
|
|
6084
6106
|
|
|
6085
|
-
addClass(
|
|
6107
|
+
addClass(target, this.clsDrop + "-dropbar");
|
|
6086
6108
|
} },
|
|
6087
6109
|
|
|
6088
6110
|
|
|
@@ -6097,19 +6119,24 @@
|
|
|
6097
6119
|
return this.dropbar;
|
|
6098
6120
|
},
|
|
6099
6121
|
|
|
6100
|
-
handler(
|
|
6101
|
-
if (!
|
|
6122
|
+
handler(_ref10) {let { target } = _ref10;
|
|
6123
|
+
if (!this.isDropbarDrop(target)) {
|
|
6102
6124
|
return;
|
|
6103
6125
|
}
|
|
6104
6126
|
|
|
6105
|
-
this._observer = observeResize(
|
|
6106
|
-
|
|
6107
|
-
|
|
6108
|
-
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
|
|
6127
|
+
this._observer = observeResize(target, () => {
|
|
6128
|
+
const targetOffsets = parents(target, "." + this.clsDrop).
|
|
6129
|
+
concat(target).
|
|
6130
|
+
map((el) => offset(el));
|
|
6131
|
+
const minTop = Math.min(...targetOffsets.map((_ref11) => {let { top } = _ref11;return top;}));
|
|
6132
|
+
const maxBottom = Math.max(...targetOffsets.map((_ref12) => {let { bottom } = _ref12;return bottom;}));
|
|
6133
|
+
const dropbarOffset = offset(this.dropbar);
|
|
6134
|
+
css(this.dropbar, 'top', this.dropbar.offsetTop - (dropbarOffset.top - minTop));
|
|
6135
|
+
this.transitionTo(
|
|
6136
|
+
maxBottom - minTop + toFloat(css(target, 'marginBottom')),
|
|
6137
|
+
target);
|
|
6112
6138
|
|
|
6139
|
+
});
|
|
6113
6140
|
} },
|
|
6114
6141
|
|
|
6115
6142
|
|
|
@@ -6124,13 +6151,13 @@
|
|
|
6124
6151
|
return this.dropbar;
|
|
6125
6152
|
},
|
|
6126
6153
|
|
|
6127
|
-
handler(e
|
|
6154
|
+
handler(e) {
|
|
6128
6155
|
const active = this.getActive();
|
|
6129
6156
|
|
|
6130
6157
|
if (
|
|
6131
6158
|
matches(this.dropbar, ':hover') &&
|
|
6132
|
-
(active == null ? void 0 : active.$el) ===
|
|
6133
|
-
!this.toggles.some((el) => active.
|
|
6159
|
+
(active == null ? void 0 : active.$el) === e.target &&
|
|
6160
|
+
!this.toggles.some((el) => active.targetEl !== el && matches(el, ':focus')))
|
|
6134
6161
|
{
|
|
6135
6162
|
e.preventDefault();
|
|
6136
6163
|
}
|
|
@@ -6148,8 +6175,8 @@
|
|
|
6148
6175
|
return this.dropbar;
|
|
6149
6176
|
},
|
|
6150
6177
|
|
|
6151
|
-
handler(
|
|
6152
|
-
if (!
|
|
6178
|
+
handler(_ref13) {let { target } = _ref13;
|
|
6179
|
+
if (!this.isDropbarDrop(target)) {
|
|
6153
6180
|
return;
|
|
6154
6181
|
}
|
|
6155
6182
|
|
|
@@ -6157,7 +6184,7 @@
|
|
|
6157
6184
|
|
|
6158
6185
|
const active = this.getActive();
|
|
6159
6186
|
|
|
6160
|
-
if (!active || (active == null ? void 0 : active.$el) ===
|
|
6187
|
+
if (!active || (active == null ? void 0 : active.$el) === target) {
|
|
6161
6188
|
this.transitionTo(0);
|
|
6162
6189
|
}
|
|
6163
6190
|
} }],
|
|
@@ -6166,7 +6193,7 @@
|
|
|
6166
6193
|
|
|
6167
6194
|
methods: {
|
|
6168
6195
|
getActive() {
|
|
6169
|
-
return active && within(active.
|
|
6196
|
+
return active && within(active.targetEl, this.$el) && active;
|
|
6170
6197
|
},
|
|
6171
6198
|
|
|
6172
6199
|
transitionTo(newHeight, el) {
|
|
@@ -6196,13 +6223,17 @@
|
|
|
6196
6223
|
|
|
6197
6224
|
getDropdown(el) {
|
|
6198
6225
|
return this.$getComponent(el, 'drop') || this.$getComponent(el, 'dropdown');
|
|
6226
|
+
},
|
|
6227
|
+
|
|
6228
|
+
isDropbarDrop(el) {
|
|
6229
|
+
return this.getDropdown(el) && hasClass(el, this.clsDrop);
|
|
6199
6230
|
} } };
|
|
6200
6231
|
|
|
6201
6232
|
|
|
6202
6233
|
|
|
6203
6234
|
function handleNavItemNavigation(e, toggles, active) {
|
|
6204
6235
|
const { current, keyCode } = e;
|
|
6205
|
-
const target = (active == null ? void 0 : active.
|
|
6236
|
+
const target = (active == null ? void 0 : active.targetEl) || current;
|
|
6206
6237
|
const i = toggles.indexOf(target);
|
|
6207
6238
|
|
|
6208
6239
|
// Left
|
|
@@ -6570,6 +6601,14 @@
|
|
|
6570
6601
|
offset: 0 },
|
|
6571
6602
|
|
|
6572
6603
|
|
|
6604
|
+
connected() {
|
|
6605
|
+
registerClick(this);
|
|
6606
|
+
},
|
|
6607
|
+
|
|
6608
|
+
disconnected() {
|
|
6609
|
+
unregisterClick(this);
|
|
6610
|
+
},
|
|
6611
|
+
|
|
6573
6612
|
methods: {
|
|
6574
6613
|
async scrollTo(el) {
|
|
6575
6614
|
el = el && $(el) || document.body;
|
|
@@ -6578,20 +6617,39 @@
|
|
|
6578
6617
|
await scrollIntoView(el, { offset: this.offset });
|
|
6579
6618
|
trigger(this.$el, 'scrolled', [this, el]);
|
|
6580
6619
|
}
|
|
6581
|
-
} }
|
|
6620
|
+
} } };
|
|
6582
6621
|
|
|
6583
6622
|
|
|
6584
|
-
events: {
|
|
6585
|
-
click(e) {
|
|
6586
|
-
if (e.defaultPrevented) {
|
|
6587
|
-
return;
|
|
6588
|
-
}
|
|
6589
6623
|
|
|
6590
|
-
|
|
6591
|
-
|
|
6592
|
-
|
|
6624
|
+
const components$1 = new Set();
|
|
6625
|
+
function registerClick(cmp) {
|
|
6626
|
+
if (!components$1.size) {
|
|
6627
|
+
on(document, 'click', clickHandler);
|
|
6628
|
+
}
|
|
6593
6629
|
|
|
6630
|
+
components$1.add(cmp);
|
|
6631
|
+
}
|
|
6594
6632
|
|
|
6633
|
+
function unregisterClick(cmp) {
|
|
6634
|
+
components$1.delete(cmp);
|
|
6635
|
+
|
|
6636
|
+
if (!components$1.length) {
|
|
6637
|
+
off(document, 'click', clickHandler);
|
|
6638
|
+
}
|
|
6639
|
+
}
|
|
6640
|
+
|
|
6641
|
+
function clickHandler(e) {
|
|
6642
|
+
if (e.defaultPrevented) {
|
|
6643
|
+
return;
|
|
6644
|
+
}
|
|
6645
|
+
|
|
6646
|
+
for (const component of components$1) {
|
|
6647
|
+
if (within(e.target, component.$el)) {
|
|
6648
|
+
e.preventDefault();
|
|
6649
|
+
component.scrollTo(getTargetElement(component.$el));
|
|
6650
|
+
}
|
|
6651
|
+
}
|
|
6652
|
+
}
|
|
6595
6653
|
|
|
6596
6654
|
function getTargetElement(el) {
|
|
6597
6655
|
return document.getElementById(decodeURIComponent(el.hash).substring(1));
|
|
@@ -6921,7 +6979,9 @@
|
|
|
6921
6979
|
},
|
|
6922
6980
|
|
|
6923
6981
|
handler() {
|
|
6924
|
-
|
|
6982
|
+
const { scrollingElement } = document;
|
|
6983
|
+
|
|
6984
|
+
if (!location.hash || scrollingElement.scrollTop === 0) {
|
|
6925
6985
|
return;
|
|
6926
6986
|
}
|
|
6927
6987
|
|
|
@@ -6930,13 +6990,11 @@
|
|
|
6930
6990
|
const elOffset = offset(this.$el);
|
|
6931
6991
|
|
|
6932
6992
|
if (this.isFixed && intersectRect(targetOffset, elOffset)) {
|
|
6933
|
-
scrollTop
|
|
6934
|
-
window,
|
|
6993
|
+
scrollingElement.scrollTop =
|
|
6935
6994
|
targetOffset.top -
|
|
6936
6995
|
elOffset.height -
|
|
6937
6996
|
toPx(this.targetOffset, 'height', this.placeholder) -
|
|
6938
|
-
toPx(this.offset, 'height', this.placeholder)
|
|
6939
|
-
|
|
6997
|
+
toPx(this.offset, 'height', this.placeholder);
|
|
6940
6998
|
}
|
|
6941
6999
|
});
|
|
6942
7000
|
} }],
|
|
@@ -7034,7 +7092,7 @@
|
|
|
7034
7092
|
|
|
7035
7093
|
|
|
7036
7094
|
{let { scroll: prevScroll = 0, dir: prevDir = 'down', overflow, overflowScroll = 0, start, end } = _ref4;
|
|
7037
|
-
const scroll = scrollTop
|
|
7095
|
+
const scroll = document.scrollingElement.scrollTop;
|
|
7038
7096
|
const dir = prevScroll <= scroll ? 'down' : 'up';
|
|
7039
7097
|
|
|
7040
7098
|
return {
|
|
@@ -7554,7 +7612,7 @@
|
|
|
7554
7612
|
|
|
7555
7613
|
|
|
7556
7614
|
{
|
|
7557
|
-
name: '
|
|
7615
|
+
name: 'hide show',
|
|
7558
7616
|
|
|
7559
7617
|
self: true,
|
|
7560
7618
|
|
|
@@ -7562,10 +7620,8 @@
|
|
|
7562
7620
|
return this.target;
|
|
7563
7621
|
},
|
|
7564
7622
|
|
|
7565
|
-
handler(
|
|
7566
|
-
|
|
7567
|
-
this.updateAria(toggled);
|
|
7568
|
-
}
|
|
7623
|
+
handler(_ref2) {let { type } = _ref2;
|
|
7624
|
+
this.updateAria(type === 'show');
|
|
7569
7625
|
} },
|
|
7570
7626
|
|
|
7571
7627
|
|
|
@@ -7660,10 +7716,12 @@
|
|
|
7660
7716
|
Video: Video,
|
|
7661
7717
|
Close: Close,
|
|
7662
7718
|
Spinner: Spinner,
|
|
7719
|
+
NavParentIcon: NavParentIcon,
|
|
7663
7720
|
SlidenavNext: Slidenav,
|
|
7664
7721
|
SlidenavPrevious: Slidenav,
|
|
7665
7722
|
SearchIcon: Search,
|
|
7666
7723
|
Marker: IconComponent,
|
|
7724
|
+
NavbarParentIcon: IconComponent,
|
|
7667
7725
|
NavbarToggleIcon: IconComponent,
|
|
7668
7726
|
OverlayIcon: IconComponent,
|
|
7669
7727
|
PaginationNext: IconComponent,
|