uikit 3.13.9 → 3.13.11-dev.2c16b47b1
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 -1
- package/build/build.js +4 -1
- package/dist/css/uikit-core-rtl.css +49 -8
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +49 -8
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +49 -6
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +49 -6
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +1 -1
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +1 -1
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +7 -3
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +7 -3
- 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 +21 -12
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +21 -12
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +2 -2
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +21 -12
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +1 -1
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +2 -2
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +62 -30
- 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 +415 -307
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +1 -1
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +462 -315
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/components/slider.js +1 -1
- package/src/js/components/sortable.js +2 -3
- package/src/js/components/tooltip.js +38 -3
- package/src/js/core/cover.js +27 -14
- package/src/js/core/drop.js +31 -16
- package/src/js/core/height-match.js +1 -1
- package/src/js/core/margin.js +9 -2
- package/src/js/core/navbar.js +18 -6
- package/src/js/core/scrollspy-nav.js +6 -11
- package/src/js/core/sticky.js +58 -22
- package/src/js/core/toggle.js +8 -8
- package/src/js/mixin/media.js +12 -9
- package/src/js/mixin/modal.js +6 -2
- package/src/js/mixin/parallax.js +8 -3
- package/src/js/mixin/position.js +24 -24
- package/src/js/uikit-core.js +0 -4
- package/src/js/util/lang.js +34 -42
- package/src/js/util/position.js +177 -125
- package/src/js/util/viewport.js +42 -22
- package/src/less/components/drop.less +0 -1
- package/src/less/components/dropdown.less +11 -1
- package/src/less/components/icon.less +3 -0
- package/src/less/components/nav.less +23 -0
- package/src/less/components/navbar.less +26 -2
- package/src/less/components/search.less +2 -0
- package/src/less/components/sticky.less +8 -3
- package/src/less/components/utility.less +1 -0
- package/src/less/theme/dropdown.less +4 -0
- package/src/less/theme/nav.less +6 -0
- package/src/less/theme/navbar.less +4 -0
- package/src/less/theme/search.less +6 -0
- package/src/scss/components/drop.scss +0 -1
- package/src/scss/components/dropdown.scss +11 -1
- package/src/scss/components/icon.scss +3 -0
- package/src/scss/components/nav.scss +23 -0
- package/src/scss/components/navbar.scss +26 -2
- package/src/scss/components/search.scss +2 -0
- package/src/scss/components/sticky.scss +8 -3
- package/src/scss/components/utility.scss +1 -0
- package/src/scss/mixins-theme.scss +5 -0
- package/src/scss/mixins.scss +5 -0
- package/src/scss/theme/dropdown.scss +4 -0
- package/src/scss/theme/nav.scss +6 -0
- package/src/scss/theme/navbar.scss +4 -0
- package/src/scss/theme/search.scss +6 -0
- package/src/scss/variables-theme.scss +5 -1
- package/src/scss/variables.scss +5 -1
- package/tests/alert.html +1 -1
- package/tests/animation.html +216 -214
- package/tests/drop.html +135 -80
- package/tests/dropdown.html +16 -2
- package/tests/nav.html +27 -0
- package/tests/navbar.html +56 -5
- package/tests/parallax.html +5 -5
- package/tests/position.html +38 -39
- package/tests/sticky-navbar.html +6 -6
- package/tests/sticky-parallax.html +29 -13
- package/tests/sticky.html +300 -49
- package/src/js/core/core.js +0 -25
package/dist/js/uikit.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.13.
|
|
1
|
+
/*! UIkit 3.13.11-dev.2c16b47b1 | 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() :
|
|
@@ -141,10 +141,6 @@
|
|
|
141
141
|
return (document == null ? void 0 : document.defaultView) || window;
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
function toMs(time) {
|
|
145
|
-
return time ? endsWith(time, 'ms') ? toFloat(time) : toFloat(time) * 1000 : 0;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
144
|
function isEqual(value, other) {
|
|
149
145
|
return (
|
|
150
146
|
value === other ||
|
|
@@ -212,48 +208,44 @@
|
|
|
212
208
|
|
|
213
209
|
}
|
|
214
210
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
const aProp = prop === 'width' ? 'height' : 'width';
|
|
211
|
+
function ratio(dimensions, prop, value) {
|
|
212
|
+
const aProp = prop === 'width' ? 'height' : 'width';
|
|
218
213
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
214
|
+
return {
|
|
215
|
+
[aProp]: dimensions[prop] ?
|
|
216
|
+
Math.round(value * dimensions[aProp] / dimensions[prop]) :
|
|
217
|
+
dimensions[aProp],
|
|
218
|
+
[prop]: value };
|
|
224
219
|
|
|
225
|
-
|
|
220
|
+
}
|
|
226
221
|
|
|
227
|
-
|
|
228
|
-
|
|
222
|
+
function contain(dimensions, maxDimensions) {
|
|
223
|
+
dimensions = { ...dimensions };
|
|
229
224
|
|
|
230
|
-
|
|
231
|
-
dimensions,
|
|
232
|
-
(_, prop) =>
|
|
225
|
+
for (const prop in dimensions) {
|
|
233
226
|
dimensions =
|
|
234
227
|
dimensions[prop] > maxDimensions[prop] ?
|
|
235
|
-
|
|
236
|
-
dimensions
|
|
237
|
-
|
|
228
|
+
ratio(dimensions, prop, maxDimensions[prop]) :
|
|
229
|
+
dimensions;
|
|
230
|
+
}
|
|
238
231
|
|
|
239
|
-
|
|
240
|
-
|
|
232
|
+
return dimensions;
|
|
233
|
+
}
|
|
241
234
|
|
|
242
|
-
|
|
243
|
-
|
|
235
|
+
function cover$1(dimensions, maxDimensions) {
|
|
236
|
+
dimensions = contain(dimensions, maxDimensions);
|
|
244
237
|
|
|
245
|
-
|
|
246
|
-
dimensions,
|
|
247
|
-
(_, prop) =>
|
|
238
|
+
for (const prop in dimensions) {
|
|
248
239
|
dimensions =
|
|
249
240
|
dimensions[prop] < maxDimensions[prop] ?
|
|
250
|
-
|
|
251
|
-
dimensions
|
|
252
|
-
|
|
241
|
+
ratio(dimensions, prop, maxDimensions[prop]) :
|
|
242
|
+
dimensions;
|
|
243
|
+
}
|
|
253
244
|
|
|
254
|
-
|
|
255
|
-
|
|
245
|
+
return dimensions;
|
|
246
|
+
}
|
|
256
247
|
|
|
248
|
+
const Dimensions = { ratio, contain, cover: cover$1 };
|
|
257
249
|
|
|
258
250
|
function getIndex(i, elements, current, finite) {if (current === void 0) {current = 0;}if (finite === void 0) {finite = false;}
|
|
259
251
|
elements = toNodes(elements);
|
|
@@ -1788,7 +1780,7 @@
|
|
|
1788
1780
|
return intersectRect(
|
|
1789
1781
|
...scrollParents(element).
|
|
1790
1782
|
map((parent) => {
|
|
1791
|
-
const { top, left, bottom, right } =
|
|
1783
|
+
const { top, left, bottom, right } = offsetViewport(parent);
|
|
1792
1784
|
|
|
1793
1785
|
return {
|
|
1794
1786
|
top: top - offsetTop,
|
|
@@ -1803,7 +1795,7 @@
|
|
|
1803
1795
|
|
|
1804
1796
|
function scrollTop(element, top) {
|
|
1805
1797
|
if (isWindow(element) || isDocument(element)) {
|
|
1806
|
-
element =
|
|
1798
|
+
element = scrollingElement(element);
|
|
1807
1799
|
} else {
|
|
1808
1800
|
element = toNode(element);
|
|
1809
1801
|
}
|
|
@@ -1820,12 +1812,13 @@
|
|
|
1820
1812
|
return parents.reduce(
|
|
1821
1813
|
(fn, scrollElement, i) => {
|
|
1822
1814
|
const { scrollTop, scrollHeight, offsetHeight } = scrollElement;
|
|
1823
|
-
const
|
|
1824
|
-
const
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1815
|
+
const viewport = offsetViewport(scrollElement);
|
|
1816
|
+
const maxScroll = scrollHeight - viewport.height;
|
|
1817
|
+
const { height: elHeight, top: elTop } = parents[i - 1] ?
|
|
1818
|
+
offsetViewport(parents[i - 1]) :
|
|
1819
|
+
offset(element);
|
|
1828
1820
|
|
|
1821
|
+
let top = Math.ceil(elTop - viewport.top - offsetBy + scrollTop);
|
|
1829
1822
|
|
|
1830
1823
|
if (offsetBy > 0 && offsetHeight < elHeight + offsetBy) {
|
|
1831
1824
|
top += offsetBy;
|
|
@@ -1883,7 +1876,7 @@
|
|
|
1883
1876
|
|
|
1884
1877
|
const [scrollElement] = scrollParents(element, /auto|scroll/, true);
|
|
1885
1878
|
const { scrollHeight, scrollTop } = scrollElement;
|
|
1886
|
-
const viewportHeight =
|
|
1879
|
+
const { height: viewportHeight } = offsetViewport(scrollElement);
|
|
1887
1880
|
const maxScroll = scrollHeight - viewportHeight;
|
|
1888
1881
|
const elementOffsetTop = offsetPosition(element)[0] - offsetPosition(scrollElement)[0];
|
|
1889
1882
|
|
|
@@ -1894,7 +1887,7 @@
|
|
|
1894
1887
|
}
|
|
1895
1888
|
|
|
1896
1889
|
function scrollParents(element, overflowRe, scrollable) {if (overflowRe === void 0) {overflowRe = /auto|scroll|hidden/;}if (scrollable === void 0) {scrollable = false;}
|
|
1897
|
-
const scrollEl =
|
|
1890
|
+
const scrollEl = scrollingElement(element);
|
|
1898
1891
|
|
|
1899
1892
|
let ancestors = parents(element).reverse();
|
|
1900
1893
|
ancestors = ancestors.slice(ancestors.indexOf(scrollEl) + 1);
|
|
@@ -1909,181 +1902,250 @@
|
|
|
1909
1902
|
ancestors.filter(
|
|
1910
1903
|
(parent) =>
|
|
1911
1904
|
overflowRe.test(css(parent, 'overflow')) && (
|
|
1912
|
-
!scrollable || parent.scrollHeight >
|
|
1905
|
+
!scrollable || parent.scrollHeight > offsetViewport(parent).height))).
|
|
1913
1906
|
|
|
1914
1907
|
|
|
1915
1908
|
reverse();
|
|
1916
1909
|
}
|
|
1917
1910
|
|
|
1918
|
-
function
|
|
1919
|
-
|
|
1911
|
+
function offsetViewport(scrollElement) {
|
|
1912
|
+
let viewportElement = getViewport$1(scrollElement);
|
|
1913
|
+
|
|
1914
|
+
// iOS 12 returns <body> as scrollingElement
|
|
1915
|
+
if (viewportElement === scrollingElement(viewportElement)) {
|
|
1916
|
+
viewportElement = document.documentElement;
|
|
1917
|
+
}
|
|
1918
|
+
|
|
1919
|
+
let rect = offset(viewportElement);
|
|
1920
|
+
for (let [prop, dir, start, end] of [
|
|
1921
|
+
['width', 'x', 'left', 'right'],
|
|
1922
|
+
['height', 'y', 'top', 'bottom']])
|
|
1923
|
+
{
|
|
1924
|
+
if (!isWindow(getViewport$1(viewportElement))) {
|
|
1925
|
+
rect[start] += toFloat(css(viewportElement, "border" + ucfirst(start) + "Width"));
|
|
1926
|
+
}
|
|
1927
|
+
rect[prop] = rect[dir] = (
|
|
1928
|
+
isWindow(viewportElement) ? scrollingElement(viewportElement) : viewportElement)["client" +
|
|
1929
|
+
ucfirst(prop)];
|
|
1930
|
+
rect[end] = rect[prop] + rect[start];
|
|
1931
|
+
}
|
|
1932
|
+
return rect;
|
|
1920
1933
|
}
|
|
1921
1934
|
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
scrollElement).
|
|
1928
|
-
clientHeight;
|
|
1935
|
+
function scrollingElement(element) {
|
|
1936
|
+
const {
|
|
1937
|
+
document: { scrollingElement } } =
|
|
1938
|
+
toWindow(element);
|
|
1939
|
+
return scrollingElement;
|
|
1929
1940
|
}
|
|
1930
1941
|
|
|
1931
|
-
function
|
|
1932
|
-
|
|
1933
|
-
return document.scrollingElement || document.documentElement;
|
|
1942
|
+
function getViewport$1(scrollElement) {
|
|
1943
|
+
return scrollElement === scrollingElement(scrollElement) ? window : scrollElement;
|
|
1934
1944
|
}
|
|
1935
1945
|
|
|
1936
|
-
const dirs =
|
|
1937
|
-
|
|
1938
|
-
|
|
1946
|
+
const dirs = [
|
|
1947
|
+
['width', 'x', 'left', 'right'],
|
|
1948
|
+
['height', 'y', 'top', 'bottom']];
|
|
1949
|
+
|
|
1950
|
+
|
|
1951
|
+
function positionAt(element, target, options) {
|
|
1952
|
+
options = {
|
|
1953
|
+
attach: {
|
|
1954
|
+
element: ['left', 'top'],
|
|
1955
|
+
target: ['left', 'top'],
|
|
1956
|
+
...options.attach },
|
|
1957
|
+
|
|
1958
|
+
offset: [0, 0],
|
|
1959
|
+
...options };
|
|
1960
|
+
|
|
1961
|
+
|
|
1962
|
+
const dim = options.flip ?
|
|
1963
|
+
attachToWithFlip(element, target, options) :
|
|
1964
|
+
attachTo(element, target, options);
|
|
1939
1965
|
|
|
1966
|
+
offset(element, dim);
|
|
1967
|
+
}
|
|
1968
|
+
|
|
1969
|
+
function attachTo(element, target, options) {
|
|
1970
|
+
let { attach, offset: offsetBy } = {
|
|
1971
|
+
attach: {
|
|
1972
|
+
element: ['left', 'top'],
|
|
1973
|
+
target: ['left', 'top'],
|
|
1974
|
+
...options.attach },
|
|
1940
1975
|
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
target,
|
|
1944
|
-
elAttach,
|
|
1945
|
-
targetAttach,
|
|
1946
|
-
elOffset,
|
|
1947
|
-
targetOffset,
|
|
1948
|
-
flip,
|
|
1949
|
-
boundary)
|
|
1950
|
-
{
|
|
1951
|
-
elAttach = getPos(elAttach);
|
|
1952
|
-
targetAttach = getPos(targetAttach);
|
|
1976
|
+
offset: [0, 0],
|
|
1977
|
+
...options };
|
|
1953
1978
|
|
|
1954
|
-
const flipped = { element: elAttach, target: targetAttach };
|
|
1955
1979
|
|
|
1956
|
-
|
|
1957
|
-
|
|
1980
|
+
const position = offset(element);
|
|
1981
|
+
const targetOffset = offset(target);
|
|
1982
|
+
for (const [i, [prop, dir, start, end]] of Object.entries(dirs)) {
|
|
1983
|
+
position[start] = position[dir] =
|
|
1984
|
+
targetOffset[start] +
|
|
1985
|
+
moveBy(attach.target[i], end, targetOffset[prop]) -
|
|
1986
|
+
moveBy(attach.element[i], end, position[prop]) +
|
|
1987
|
+
+offsetBy[i];
|
|
1988
|
+
position[end] = position[start] + position[prop];
|
|
1958
1989
|
}
|
|
1990
|
+
return position;
|
|
1991
|
+
}
|
|
1959
1992
|
|
|
1960
|
-
|
|
1993
|
+
function attachToWithFlip(element, target, options) {
|
|
1994
|
+
const position = attachTo(element, target, options);
|
|
1961
1995
|
const targetDim = offset(target);
|
|
1962
|
-
const
|
|
1996
|
+
const viewports = scrollParents(element);
|
|
1997
|
+
const [scrollElement] = viewports;
|
|
1998
|
+
|
|
1999
|
+
let {
|
|
2000
|
+
flip,
|
|
2001
|
+
attach: { element: elAttach, target: targetAttach },
|
|
2002
|
+
offset: elOffset,
|
|
2003
|
+
boundary,
|
|
2004
|
+
viewport,
|
|
2005
|
+
viewportPadding } =
|
|
2006
|
+
options;
|
|
2007
|
+
|
|
2008
|
+
viewports.push(viewport);
|
|
2009
|
+
|
|
2010
|
+
const offsetPosition = { ...position };
|
|
2011
|
+
for (const [i, [prop, dir, start, end]] of Object.entries(dirs)) {
|
|
2012
|
+
if (flip !== true && !includes(flip, dir)) {
|
|
2013
|
+
continue;
|
|
2014
|
+
}
|
|
1963
2015
|
|
|
1964
|
-
|
|
1965
|
-
|
|
2016
|
+
const willFlip =
|
|
2017
|
+
!intersectLine(position, targetDim, i) && intersectLine(position, targetDim, 1 - i);
|
|
1966
2018
|
|
|
1967
|
-
|
|
1968
|
-
targetOffset = getOffsets(targetOffset, targetDim.width, targetDim.height);
|
|
2019
|
+
viewport = getIntersectionArea(...viewports.filter(Boolean).map(offsetViewport));
|
|
1969
2020
|
|
|
1970
|
-
|
|
1971
|
-
|
|
2021
|
+
if (viewportPadding) {
|
|
2022
|
+
viewport[start] += viewportPadding;
|
|
2023
|
+
viewport[end] -= viewportPadding;
|
|
2024
|
+
}
|
|
1972
2025
|
|
|
1973
|
-
|
|
1974
|
-
|
|
2026
|
+
if (boundary && !(willFlip || position[prop] > offset(boundary)[prop])) {
|
|
2027
|
+
viewport = getIntersectionArea(viewport, offset(boundary));
|
|
2028
|
+
}
|
|
1975
2029
|
|
|
1976
|
-
|
|
1977
|
-
|
|
2030
|
+
const isInStartBoundary = position[start] >= viewport[start];
|
|
2031
|
+
const isInEndBoundary = position[end] <= viewport[end];
|
|
1978
2032
|
|
|
1979
|
-
if (
|
|
1980
|
-
|
|
2033
|
+
if (isInStartBoundary && isInEndBoundary) {
|
|
2034
|
+
continue;
|
|
1981
2035
|
}
|
|
1982
2036
|
|
|
1983
|
-
|
|
2037
|
+
let offsetBy;
|
|
1984
2038
|
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
2039
|
+
// Flip
|
|
2040
|
+
if (willFlip) {
|
|
2041
|
+
if (
|
|
2042
|
+
elAttach[i] === end && isInStartBoundary ||
|
|
2043
|
+
elAttach[i] === start && isInEndBoundary)
|
|
2044
|
+
{
|
|
2045
|
+
continue;
|
|
1988
2046
|
}
|
|
1989
2047
|
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
2048
|
+
offsetBy =
|
|
2049
|
+
(elAttach[i] === start ?
|
|
2050
|
+
-position[prop] :
|
|
2051
|
+
elAttach[i] === end ?
|
|
2052
|
+
position[prop] :
|
|
2053
|
+
0) + (
|
|
2054
|
+
targetAttach[i] === start ?
|
|
2055
|
+
targetDim[prop] :
|
|
2056
|
+
targetAttach[i] === end ?
|
|
2057
|
+
-targetDim[prop] :
|
|
2058
|
+
0) -
|
|
2059
|
+
elOffset[i] * 2;
|
|
1997
2060
|
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
if (
|
|
2006
|
-
position[align] < boundary[align] ||
|
|
2007
|
-
position[align] + dim[prop] > boundary[alignFlip])
|
|
2008
|
-
{
|
|
2009
|
-
const centerOffset = dim[prop] / 2;
|
|
2010
|
-
const centerTargetOffset =
|
|
2011
|
-
targetAttach[dir] === 'center' ? -targetDim[prop] / 2 : 0;
|
|
2061
|
+
if (
|
|
2062
|
+
!isInScrollArea(
|
|
2063
|
+
{
|
|
2064
|
+
...position,
|
|
2065
|
+
[start]: position[start] + offsetBy,
|
|
2066
|
+
[end]: position[end] + offsetBy },
|
|
2012
2067
|
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
apply(centerOffset, centerTargetOffset) ||
|
|
2016
|
-
apply(-centerOffset, -centerTargetOffset)) ||
|
|
2017
|
-
apply(elemOffset, targetOffset));
|
|
2068
|
+
scrollElement,
|
|
2069
|
+
i))
|
|
2018
2070
|
|
|
2071
|
+
{
|
|
2072
|
+
if (isInScrollArea(position, scrollElement, i)) {
|
|
2073
|
+
continue;
|
|
2019
2074
|
}
|
|
2020
2075
|
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2076
|
+
if (options.recursion) {
|
|
2077
|
+
return false;
|
|
2078
|
+
}
|
|
2024
2079
|
|
|
2080
|
+
const newPos = attachToWithFlip(element, target, {
|
|
2081
|
+
...options,
|
|
2082
|
+
attach: {
|
|
2083
|
+
element: elAttach.map(flipDir).reverse(),
|
|
2084
|
+
target: targetAttach.map(flipDir).reverse() },
|
|
2025
2085
|
|
|
2026
|
-
|
|
2027
|
-
|
|
2086
|
+
offset: elOffset.reverse(),
|
|
2087
|
+
flip: flip === true ? flip : [...flip, dirs[1 - i][1]],
|
|
2088
|
+
recursion: true });
|
|
2028
2089
|
|
|
2029
|
-
for (const el of ['element', 'target']) {
|
|
2030
|
-
if (elemOffset) {
|
|
2031
|
-
flipped[el][dir] =
|
|
2032
|
-
flipped[el][dir] === dirs[prop][1] ?
|
|
2033
|
-
dirs[prop][2] :
|
|
2034
|
-
dirs[prop][1];
|
|
2035
|
-
}
|
|
2036
|
-
}
|
|
2037
2090
|
|
|
2038
|
-
|
|
2039
|
-
|
|
2091
|
+
if (newPos && isInScrollArea(newPos, scrollElement, 1 - i)) {
|
|
2092
|
+
return newPos;
|
|
2040
2093
|
}
|
|
2041
|
-
}
|
|
2042
|
-
|
|
2043
|
-
|
|
2094
|
+
}
|
|
2095
|
+
|
|
2096
|
+
// Move
|
|
2097
|
+
} else {
|
|
2098
|
+
offsetBy =
|
|
2099
|
+
clamp(
|
|
2100
|
+
clamp(position[start], viewport[start], viewport[end] - position[prop]),
|
|
2101
|
+
targetDim[start] - position[prop] + elOffset[i],
|
|
2102
|
+
targetDim[end] - elOffset[i]) -
|
|
2103
|
+
position[start];
|
|
2104
|
+
}
|
|
2044
2105
|
|
|
2045
|
-
|
|
2106
|
+
offsetPosition[start] = position[dir] = position[start] + offsetBy;
|
|
2107
|
+
offsetPosition[end] += offsetBy;
|
|
2108
|
+
}
|
|
2046
2109
|
|
|
2047
|
-
return
|
|
2110
|
+
return offsetPosition;
|
|
2048
2111
|
}
|
|
2049
2112
|
|
|
2050
|
-
function
|
|
2051
|
-
|
|
2052
|
-
if (attach[dir] === alignFlip) {
|
|
2053
|
-
position[align] += dim[prop] * factor;
|
|
2054
|
-
} else if (attach[dir] === 'center') {
|
|
2055
|
-
position[align] += dim[prop] * factor / 2;
|
|
2056
|
-
}
|
|
2057
|
-
});
|
|
2113
|
+
function moveBy(start, end, dim) {
|
|
2114
|
+
return start === 'center' ? dim / 2 : start === end ? dim : 0;
|
|
2058
2115
|
}
|
|
2059
2116
|
|
|
2060
|
-
function
|
|
2061
|
-
|
|
2062
|
-
const
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
pos = x.test(pos[0]) ?
|
|
2068
|
-
pos.concat('center') :
|
|
2069
|
-
y.test(pos[0]) ?
|
|
2070
|
-
['center'].concat(pos) :
|
|
2071
|
-
['center', 'center'];
|
|
2117
|
+
function getIntersectionArea() {
|
|
2118
|
+
let area = {};for (var _len = arguments.length, rects = new Array(_len), _key = 0; _key < _len; _key++) {rects[_key] = arguments[_key];}
|
|
2119
|
+
for (const rect of rects) {
|
|
2120
|
+
for (const [,, start, end] of dirs) {
|
|
2121
|
+
area[start] = Math.max(area[start] || 0, rect[start]);
|
|
2122
|
+
area[end] = Math.min(...[area[end], rect[end]].filter(Boolean));
|
|
2123
|
+
}
|
|
2072
2124
|
}
|
|
2125
|
+
return area;
|
|
2126
|
+
}
|
|
2073
2127
|
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2128
|
+
function isInScrollArea(position, scrollElement, dir) {
|
|
2129
|
+
const viewport = offsetViewport(scrollElement);
|
|
2130
|
+
const [prop,, start, end] = dirs[dir];
|
|
2131
|
+
viewport[start] -= scrollElement["scroll" + ucfirst(start)];
|
|
2132
|
+
viewport[end] = viewport[start] + scrollElement["scroll" + ucfirst(prop)];
|
|
2077
2133
|
|
|
2134
|
+
return position[start] >= viewport[start] && position[end] <= viewport[end];
|
|
2078
2135
|
}
|
|
2079
2136
|
|
|
2080
|
-
function
|
|
2081
|
-
const [
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
x: x ? toFloat(x) * (endsWith(x, '%') ? width / 100 : 1) : 0,
|
|
2085
|
-
y: y ? toFloat(y) * (endsWith(y, '%') ? height / 100 : 1) : 0 };
|
|
2137
|
+
function intersectLine(dimA, dimB, dir) {
|
|
2138
|
+
const [,, start, end] = dirs[dir];
|
|
2139
|
+
return dimA[end] > dimB[start] && dimB[end] > dimA[start];
|
|
2140
|
+
}
|
|
2086
2141
|
|
|
2142
|
+
function flipDir(prop) {
|
|
2143
|
+
for (let i = 0; i < dirs.length; i++) {
|
|
2144
|
+
const index = dirs[i].indexOf(prop);
|
|
2145
|
+
if (~index) {
|
|
2146
|
+
return dirs[1 - i][index % 2 + 2];
|
|
2147
|
+
}
|
|
2148
|
+
}
|
|
2087
2149
|
}
|
|
2088
2150
|
|
|
2089
2151
|
var util = /*#__PURE__*/Object.freeze({
|
|
@@ -2192,7 +2254,6 @@
|
|
|
2192
2254
|
toNode: toNode,
|
|
2193
2255
|
toNodes: toNodes,
|
|
2194
2256
|
toWindow: toWindow,
|
|
2195
|
-
toMs: toMs,
|
|
2196
2257
|
isEqual: isEqual,
|
|
2197
2258
|
swap: swap,
|
|
2198
2259
|
last: last,
|
|
@@ -2231,9 +2292,7 @@
|
|
|
2231
2292
|
scrollIntoView: scrollIntoView,
|
|
2232
2293
|
scrolledOver: scrolledOver,
|
|
2233
2294
|
scrollParents: scrollParents,
|
|
2234
|
-
|
|
2235
|
-
getViewportClientHeight: getViewportClientHeight,
|
|
2236
|
-
getScrollingElement: getScrollingElement
|
|
2295
|
+
offsetViewport: offsetViewport
|
|
2237
2296
|
});
|
|
2238
2297
|
|
|
2239
2298
|
function globalAPI (UIkit) {
|
|
@@ -2550,7 +2609,7 @@
|
|
|
2550
2609
|
continue;
|
|
2551
2610
|
}
|
|
2552
2611
|
|
|
2553
|
-
value = props[key] === Boolean && value === '' ? true : coerce(props[key], value);
|
|
2612
|
+
value = props[key] === Boolean && value === '' ? true : coerce$1(props[key], value);
|
|
2554
2613
|
|
|
2555
2614
|
if (prop === 'target' && (!value || startsWith(value, '_'))) {
|
|
2556
2615
|
continue;
|
|
@@ -2564,7 +2623,7 @@
|
|
|
2564
2623
|
for (const key in options) {
|
|
2565
2624
|
const prop = camelize(key);
|
|
2566
2625
|
if (props[prop] !== undefined) {
|
|
2567
|
-
data$1[prop] = coerce(props[prop], options[key]);
|
|
2626
|
+
data$1[prop] = coerce$1(props[prop], options[key]);
|
|
2568
2627
|
}
|
|
2569
2628
|
}
|
|
2570
2629
|
|
|
@@ -2629,7 +2688,7 @@
|
|
|
2629
2688
|
return options.every((arr) => !arr || !hasOwn(arr, key));
|
|
2630
2689
|
}
|
|
2631
2690
|
|
|
2632
|
-
function coerce(type, value) {
|
|
2691
|
+
function coerce$1(type, value) {
|
|
2633
2692
|
if (type === Boolean) {
|
|
2634
2693
|
return toBoolean(value);
|
|
2635
2694
|
} else if (type === Number) {
|
|
@@ -2667,7 +2726,7 @@
|
|
|
2667
2726
|
if (isUndefined(data[key])) {
|
|
2668
2727
|
delete data[key];
|
|
2669
2728
|
} else if (props[key]) {
|
|
2670
|
-
data[key] = coerce(props[key], data[key]);
|
|
2729
|
+
data[key] = coerce$1(props[key], data[key]);
|
|
2671
2730
|
}
|
|
2672
2731
|
}
|
|
2673
2732
|
|
|
@@ -2892,7 +2951,7 @@
|
|
|
2892
2951
|
UIkit.data = '__uikit__';
|
|
2893
2952
|
UIkit.prefix = 'uk-';
|
|
2894
2953
|
UIkit.options = {};
|
|
2895
|
-
UIkit.version = '3.13.
|
|
2954
|
+
UIkit.version = '3.13.11-dev.2c16b47b1';
|
|
2896
2955
|
|
|
2897
2956
|
globalAPI(UIkit);
|
|
2898
2957
|
hooksAPI(UIkit);
|
|
@@ -2900,30 +2959,6 @@
|
|
|
2900
2959
|
componentAPI(UIkit);
|
|
2901
2960
|
instanceAPI(UIkit);
|
|
2902
2961
|
|
|
2903
|
-
function Core () {
|
|
2904
|
-
if (!inBrowser) {
|
|
2905
|
-
return;
|
|
2906
|
-
}
|
|
2907
|
-
|
|
2908
|
-
let started = 0;
|
|
2909
|
-
on(
|
|
2910
|
-
document,
|
|
2911
|
-
'animationstart',
|
|
2912
|
-
(_ref) => {let { target } = _ref;
|
|
2913
|
-
if ((css(target, 'animationName') || '').match(/^uk-.*(left|right)/)) {
|
|
2914
|
-
started++;
|
|
2915
|
-
css(document.documentElement, 'overflowX', 'hidden');
|
|
2916
|
-
setTimeout(() => {
|
|
2917
|
-
if (! --started) {
|
|
2918
|
-
css(document.documentElement, 'overflowX', '');
|
|
2919
|
-
}
|
|
2920
|
-
}, toMs(css(target, 'animationDuration')) + 100);
|
|
2921
|
-
}
|
|
2922
|
-
},
|
|
2923
|
-
true);
|
|
2924
|
-
|
|
2925
|
-
}
|
|
2926
|
-
|
|
2927
2962
|
function boot (UIkit) {
|
|
2928
2963
|
const { connect, disconnect } = UIkit;
|
|
2929
2964
|
|
|
@@ -3440,25 +3475,38 @@
|
|
|
3440
3475
|
|
|
3441
3476
|
update: {
|
|
3442
3477
|
read() {
|
|
3443
|
-
const
|
|
3444
|
-
const {
|
|
3445
|
-
getPositionedParent(el) || parent(el);
|
|
3446
|
-
const dim = Dimensions.cover(
|
|
3447
|
-
{
|
|
3448
|
-
width: this.width || el.naturalWidth || el.videoWidth || el.clientWidth,
|
|
3449
|
-
height: this.height || el.naturalHeight || el.videoHeight || el.clientHeight },
|
|
3478
|
+
const { ratio, cover } = Dimensions;
|
|
3479
|
+
const { $el, width, height } = this;
|
|
3450
3480
|
|
|
3451
|
-
{
|
|
3452
|
-
width: width + (width % 2 ? 1 : 0),
|
|
3453
|
-
height: height + (height % 2 ? 1 : 0) });
|
|
3481
|
+
let dim = { width, height };
|
|
3454
3482
|
|
|
3483
|
+
if (!dim.width || !dim.height) {
|
|
3484
|
+
const intrinsic = {
|
|
3485
|
+
width: $el.naturalWidth || $el.videoWidth || $el.clientWidth,
|
|
3486
|
+
height: $el.naturalHeight || $el.videoHeight || $el.clientHeight };
|
|
3455
3487
|
|
|
3456
3488
|
|
|
3457
|
-
|
|
3489
|
+
if (dim.width) {
|
|
3490
|
+
dim = ratio(intrinsic, 'width', dim.width);
|
|
3491
|
+
} else if (height) {
|
|
3492
|
+
dim = ratio(intrinsic, 'height', dim.height);
|
|
3493
|
+
} else {
|
|
3494
|
+
dim = intrinsic;
|
|
3495
|
+
}
|
|
3496
|
+
}
|
|
3497
|
+
|
|
3498
|
+
const { offsetHeight: coverHeight, offsetWidth: coverWidth } =
|
|
3499
|
+
getPositionedParent($el) || parent($el);
|
|
3500
|
+
const coverDim = cover(dim, {
|
|
3501
|
+
width: coverWidth + (coverWidth % 2 ? 1 : 0),
|
|
3502
|
+
height: coverHeight + (coverHeight % 2 ? 1 : 0) });
|
|
3503
|
+
|
|
3504
|
+
|
|
3505
|
+
if (!coverDim.width || !coverDim.height) {
|
|
3458
3506
|
return false;
|
|
3459
3507
|
}
|
|
3460
3508
|
|
|
3461
|
-
return
|
|
3509
|
+
return coverDim;
|
|
3462
3510
|
},
|
|
3463
3511
|
|
|
3464
3512
|
write(_ref) {let { height, width } = _ref;
|
|
@@ -3501,50 +3549,49 @@
|
|
|
3501
3549
|
data: {
|
|
3502
3550
|
pos: "bottom-" + (isRtl ? 'right' : 'left'),
|
|
3503
3551
|
flip: true,
|
|
3504
|
-
offset: false
|
|
3552
|
+
offset: false,
|
|
3553
|
+
viewportPadding: 10 },
|
|
3505
3554
|
|
|
3506
3555
|
|
|
3507
3556
|
connected() {
|
|
3508
3557
|
this.pos = this.$props.pos.split('-').concat('center').slice(0, 2);
|
|
3509
|
-
this.
|
|
3510
|
-
this.align = this.pos[1];
|
|
3558
|
+
this.axis = includes(['top', 'bottom'], this.pos[0]) ? 'y' : 'x';
|
|
3511
3559
|
},
|
|
3512
3560
|
|
|
3513
3561
|
methods: {
|
|
3514
3562
|
positionAt(element, target, boundary) {
|
|
3515
|
-
const
|
|
3516
|
-
const dir = this.pos[0];
|
|
3517
|
-
const align = this.pos[1];
|
|
3563
|
+
const [dir, align] = this.pos;
|
|
3518
3564
|
|
|
3519
3565
|
let { offset: offset$1 } = this;
|
|
3520
3566
|
if (!isNumeric(offset$1)) {
|
|
3521
3567
|
const node = $(offset$1);
|
|
3522
3568
|
offset$1 = node ?
|
|
3523
|
-
offset(node)[axis === 'x' ? 'left' : 'top'] -
|
|
3524
|
-
offset(target)[axis === 'x' ? 'right' : 'bottom'] :
|
|
3569
|
+
offset(node)[this.axis === 'x' ? 'left' : 'top'] -
|
|
3570
|
+
offset(target)[this.axis === 'x' ? 'right' : 'bottom'] :
|
|
3525
3571
|
0;
|
|
3526
3572
|
}
|
|
3527
3573
|
offset$1 = toPx(offset$1) + toPx(getCssVar('position-offset', element));
|
|
3574
|
+
offset$1 = [includes(['left', 'top'], dir) ? -offset$1 : +offset$1, 0];
|
|
3575
|
+
|
|
3576
|
+
const attach = {
|
|
3577
|
+
element: [flipPosition(dir), align],
|
|
3578
|
+
target: [dir, align] };
|
|
3579
|
+
|
|
3580
|
+
|
|
3581
|
+
if (this.axis === 'y') {
|
|
3582
|
+
for (const prop in attach) {
|
|
3583
|
+
attach[prop] = attach[prop].reverse();
|
|
3584
|
+
}
|
|
3585
|
+
offset$1 = offset$1.reverse();
|
|
3586
|
+
}
|
|
3587
|
+
|
|
3588
|
+
positionAt(element, target, {
|
|
3589
|
+
attach,
|
|
3590
|
+
offset: offset$1,
|
|
3591
|
+
boundary,
|
|
3592
|
+
viewportPadding: this.viewportPadding,
|
|
3593
|
+
flip: this.flip });
|
|
3528
3594
|
|
|
3529
|
-
const { x, y } = positionAt(
|
|
3530
|
-
element,
|
|
3531
|
-
target,
|
|
3532
|
-
axis === 'x' ? flipPosition(dir) + " " + align : align + " " + flipPosition(dir),
|
|
3533
|
-
axis === 'x' ? dir + " " + align : align + " " + dir,
|
|
3534
|
-
axis === 'x' ? "" + (
|
|
3535
|
-
dir === 'left' ? -offset$1 : offset$1) : " " + (
|
|
3536
|
-
dir === 'top' ? -offset$1 : offset$1),
|
|
3537
|
-
null,
|
|
3538
|
-
this.flip,
|
|
3539
|
-
boundary).
|
|
3540
|
-
target;
|
|
3541
|
-
|
|
3542
|
-
this.dir = axis === 'x' ? x : y;
|
|
3543
|
-
this.align = axis === 'x' ? y : x;
|
|
3544
|
-
},
|
|
3545
|
-
|
|
3546
|
-
getAxis() {
|
|
3547
|
-
return this.dir === 'top' || this.dir === 'bottom' ? 'y' : 'x';
|
|
3548
3595
|
} } };
|
|
3549
3596
|
|
|
3550
3597
|
let active$1;
|
|
@@ -3561,6 +3608,7 @@
|
|
|
3561
3608
|
boundaryAlign: Boolean,
|
|
3562
3609
|
delayShow: Number,
|
|
3563
3610
|
delayHide: Number,
|
|
3611
|
+
display: String,
|
|
3564
3612
|
clsDrop: String },
|
|
3565
3613
|
|
|
3566
3614
|
|
|
@@ -3571,6 +3619,7 @@
|
|
|
3571
3619
|
boundaryAlign: false,
|
|
3572
3620
|
delayShow: 0,
|
|
3573
3621
|
delayHide: 800,
|
|
3622
|
+
display: null,
|
|
3574
3623
|
clsDrop: false,
|
|
3575
3624
|
animation: ['uk-animation-fade'],
|
|
3576
3625
|
cls: 'uk-open',
|
|
@@ -3762,6 +3811,8 @@
|
|
|
3762
3811
|
}
|
|
3763
3812
|
}),
|
|
3764
3813
|
on(window, 'resize', () => this.$emit()),
|
|
3814
|
+
this.display === 'static' ?
|
|
3815
|
+
noop :
|
|
3765
3816
|
on(
|
|
3766
3817
|
document,
|
|
3767
3818
|
'scroll',
|
|
@@ -3878,25 +3929,33 @@
|
|
|
3878
3929
|
},
|
|
3879
3930
|
|
|
3880
3931
|
position() {
|
|
3881
|
-
const boundary = query(this.boundary, this.$el) || window;
|
|
3882
3932
|
removeClass(this.$el, this.clsDrop + "-stack");
|
|
3883
3933
|
toggleClass(this.$el, this.clsDrop + "-boundary", this.boundaryAlign);
|
|
3884
3934
|
|
|
3885
|
-
const
|
|
3886
|
-
const
|
|
3887
|
-
const
|
|
3935
|
+
const boundary = query(this.boundary, this.$el);
|
|
3936
|
+
const [scrollParent] = scrollParents(this.$el);
|
|
3937
|
+
const scrollParentOffset = offsetViewport(scrollParent);
|
|
3938
|
+
const boundaryOffset = boundary ? offset(boundary) : scrollParentOffset;
|
|
3939
|
+
|
|
3940
|
+
css(this.$el, 'maxWidth', '');
|
|
3941
|
+
const maxWidth = scrollParentOffset.width - (boundary ? 0 : 2 * this.viewportPadding);
|
|
3888
3942
|
|
|
3889
3943
|
if (this.pos[1] === 'justify') {
|
|
3890
|
-
const prop = this.
|
|
3944
|
+
const prop = this.axis === 'y' ? 'width' : 'height';
|
|
3945
|
+
const targetOffset = offset(this.target);
|
|
3946
|
+
const alignTo = this.boundaryAlign ? boundaryOffset : targetOffset;
|
|
3891
3947
|
css(this.$el, prop, alignTo[prop]);
|
|
3892
|
-
} else if (
|
|
3893
|
-
this.$el.offsetWidth >
|
|
3894
|
-
Math.max(boundaryOffset.right - alignTo.left, alignTo.right - boundaryOffset.left))
|
|
3895
|
-
{
|
|
3948
|
+
} else if (this.$el.offsetWidth > maxWidth) {
|
|
3896
3949
|
addClass(this.$el, this.clsDrop + "-stack");
|
|
3897
3950
|
}
|
|
3898
3951
|
|
|
3899
|
-
|
|
3952
|
+
css(this.$el, 'maxWidth', maxWidth);
|
|
3953
|
+
|
|
3954
|
+
this.positionAt(
|
|
3955
|
+
this.$el,
|
|
3956
|
+
boundary && this.boundaryAlign ? boundary : this.target,
|
|
3957
|
+
boundary);
|
|
3958
|
+
|
|
3900
3959
|
} } };
|
|
3901
3960
|
|
|
3902
3961
|
|
|
@@ -3994,7 +4053,7 @@
|
|
|
3994
4053
|
|
|
3995
4054
|
|
|
3996
4055
|
resizeTargets() {
|
|
3997
|
-
return [this.$el, this.$el.children];
|
|
4056
|
+
return [this.$el, ...toArray(this.$el.children)];
|
|
3998
4057
|
},
|
|
3999
4058
|
|
|
4000
4059
|
connected() {
|
|
@@ -4311,7 +4370,7 @@
|
|
|
4311
4370
|
|
|
4312
4371
|
|
|
4313
4372
|
resizeTargets() {
|
|
4314
|
-
return [this.$el, this.elements];
|
|
4373
|
+
return [this.$el, ...this.elements];
|
|
4315
4374
|
},
|
|
4316
4375
|
|
|
4317
4376
|
update: {
|
|
@@ -5000,16 +5059,19 @@
|
|
|
5000
5059
|
|
|
5001
5060
|
connected() {
|
|
5002
5061
|
const media = toMedia(this.media);
|
|
5003
|
-
this.
|
|
5004
|
-
|
|
5005
|
-
this.
|
|
5006
|
-
|
|
5007
|
-
|
|
5008
|
-
|
|
5062
|
+
this.matchMedia = true;
|
|
5063
|
+
if (media) {
|
|
5064
|
+
this.mediaObj = window.matchMedia(media);
|
|
5065
|
+
const handler = () => {
|
|
5066
|
+
this.matchMedia = this.mediaObj.matches;
|
|
5067
|
+
trigger(this.$el, createEvent('mediachange', false, true, [this.mediaObj]));
|
|
5068
|
+
};
|
|
5069
|
+
this.offMediaObj = on(this.mediaObj, 'change', () => {
|
|
5070
|
+
handler();
|
|
5071
|
+
this.$emit('resize');
|
|
5072
|
+
});
|
|
5009
5073
|
handler();
|
|
5010
|
-
|
|
5011
|
-
});
|
|
5012
|
-
handler();
|
|
5074
|
+
}
|
|
5013
5075
|
},
|
|
5014
5076
|
|
|
5015
5077
|
disconnected() {var _this$offMediaObj;
|
|
@@ -5298,7 +5360,7 @@
|
|
|
5298
5360
|
return (el, show) =>
|
|
5299
5361
|
new Promise((resolve, reject) =>
|
|
5300
5362
|
once(el, 'show hide', () => {
|
|
5301
|
-
el._reject
|
|
5363
|
+
el._reject == null ? void 0 : el._reject();
|
|
5302
5364
|
el._reject = reject;
|
|
5303
5365
|
|
|
5304
5366
|
_toggle(el, show);
|
|
@@ -5323,6 +5385,10 @@
|
|
|
5323
5385
|
then(() => delete el._reject);
|
|
5324
5386
|
}
|
|
5325
5387
|
|
|
5388
|
+
function toMs(time) {
|
|
5389
|
+
return time ? endsWith(time, 'ms') ? toFloat(time) : toFloat(time) * 1000 : 0;
|
|
5390
|
+
}
|
|
5391
|
+
|
|
5326
5392
|
var modal = {
|
|
5327
5393
|
install: install$2,
|
|
5328
5394
|
|
|
@@ -5476,8 +5542,6 @@
|
|
|
5476
5542
|
toggle: '> a',
|
|
5477
5543
|
content: '> ul' } };
|
|
5478
5544
|
|
|
5479
|
-
const navItem = '.uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle';
|
|
5480
|
-
|
|
5481
5545
|
var navbar = {
|
|
5482
5546
|
mixins: [Class, Container],
|
|
5483
5547
|
|
|
@@ -5497,7 +5561,7 @@
|
|
|
5497
5561
|
|
|
5498
5562
|
|
|
5499
5563
|
data: {
|
|
5500
|
-
dropdown:
|
|
5564
|
+
dropdown: '.uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle',
|
|
5501
5565
|
align: isRtl ? 'right' : 'left',
|
|
5502
5566
|
clsDrop: 'uk-navbar-dropdown',
|
|
5503
5567
|
mode: undefined,
|
|
@@ -5583,9 +5647,23 @@
|
|
|
5583
5647
|
immediate: true },
|
|
5584
5648
|
|
|
5585
5649
|
|
|
5586
|
-
toggles
|
|
5587
|
-
|
|
5588
|
-
|
|
5650
|
+
toggles: {
|
|
5651
|
+
get(_ref6, $el) {let { dropdown } = _ref6;
|
|
5652
|
+
return $$(dropdown, $el);
|
|
5653
|
+
},
|
|
5654
|
+
|
|
5655
|
+
watch() {
|
|
5656
|
+
const justify = hasClass(this.$el, 'uk-navbar-justify');
|
|
5657
|
+
for (const container of $$(
|
|
5658
|
+
'.uk-navbar-nav, .uk-navbar-left, .uk-navbar-right',
|
|
5659
|
+
this.$el))
|
|
5660
|
+
{
|
|
5661
|
+
css(container, 'flexGrow', justify ? $$(this.dropdown, container).length : '');
|
|
5662
|
+
}
|
|
5663
|
+
},
|
|
5664
|
+
|
|
5665
|
+
immediate: true } },
|
|
5666
|
+
|
|
5589
5667
|
|
|
5590
5668
|
|
|
5591
5669
|
disconnected() {
|
|
@@ -5746,7 +5824,7 @@
|
|
|
5746
5824
|
return this.dropbar;
|
|
5747
5825
|
},
|
|
5748
5826
|
|
|
5749
|
-
handler(_, _ref10) {let { $el, dir } = _ref10;
|
|
5827
|
+
handler(_, _ref10) {let { $el, pos: [dir] = [] } = _ref10;
|
|
5750
5828
|
if (!hasClass($el, this.clsDrop)) {
|
|
5751
5829
|
return;
|
|
5752
5830
|
}
|
|
@@ -6480,19 +6558,15 @@
|
|
|
6480
6558
|
|
|
6481
6559
|
const [scrollElement] = scrollParents(targets, /auto|scroll/, true);
|
|
6482
6560
|
const { scrollTop, scrollHeight } = scrollElement;
|
|
6483
|
-
const
|
|
6561
|
+
const viewport = offsetViewport(scrollElement);
|
|
6562
|
+
const max = scrollHeight - viewport.height;
|
|
6484
6563
|
let active = false;
|
|
6485
6564
|
|
|
6486
6565
|
if (scrollTop === max) {
|
|
6487
6566
|
active = length - 1;
|
|
6488
6567
|
} else {
|
|
6489
|
-
for (
|
|
6490
|
-
if (
|
|
6491
|
-
offset(targets[i]).top -
|
|
6492
|
-
offset(getViewport$1(scrollElement)).top -
|
|
6493
|
-
this.offset >
|
|
6494
|
-
0)
|
|
6495
|
-
{
|
|
6568
|
+
for (let i = 0; i < targets.length; i++) {
|
|
6569
|
+
if (offset(targets[i]).top - viewport.top - this.offset > 0) {
|
|
6496
6570
|
break;
|
|
6497
6571
|
}
|
|
6498
6572
|
active = +i;
|
|
@@ -6510,7 +6584,7 @@
|
|
|
6510
6584
|
const changed = active !== false && !hasClass(this.elements[active], this.cls);
|
|
6511
6585
|
|
|
6512
6586
|
this.links.forEach((el) => el.blur());
|
|
6513
|
-
for (
|
|
6587
|
+
for (let i = 0; i < this.elements.length; i++) {
|
|
6514
6588
|
toggleClass(this.elements[i], this.cls, +i === active);
|
|
6515
6589
|
}
|
|
6516
6590
|
|
|
@@ -6527,8 +6601,11 @@
|
|
|
6527
6601
|
props: {
|
|
6528
6602
|
position: String,
|
|
6529
6603
|
top: null,
|
|
6530
|
-
bottom:
|
|
6604
|
+
bottom: null,
|
|
6605
|
+
start: null,
|
|
6606
|
+
end: null,
|
|
6531
6607
|
offset: String,
|
|
6608
|
+
overflowFlip: Boolean,
|
|
6532
6609
|
animation: String,
|
|
6533
6610
|
clsActive: String,
|
|
6534
6611
|
clsInactive: String,
|
|
@@ -6541,9 +6618,12 @@
|
|
|
6541
6618
|
|
|
6542
6619
|
data: {
|
|
6543
6620
|
position: 'top',
|
|
6544
|
-
top:
|
|
6621
|
+
top: false,
|
|
6545
6622
|
bottom: false,
|
|
6623
|
+
start: false,
|
|
6624
|
+
end: false,
|
|
6546
6625
|
offset: 0,
|
|
6626
|
+
overflowFlip: false,
|
|
6547
6627
|
animation: '',
|
|
6548
6628
|
clsActive: 'uk-active',
|
|
6549
6629
|
clsInactive: '',
|
|
@@ -6565,6 +6645,9 @@
|
|
|
6565
6645
|
},
|
|
6566
6646
|
|
|
6567
6647
|
connected() {
|
|
6648
|
+
this.start = coerce(this.start || this.top);
|
|
6649
|
+
this.end = coerce(this.end || this.bottom);
|
|
6650
|
+
|
|
6568
6651
|
this.placeholder =
|
|
6569
6652
|
$('+ .uk-sticky-placeholder', this.$el) ||
|
|
6570
6653
|
$('<div class="uk-sticky-placeholder"></div>');
|
|
@@ -6583,6 +6666,17 @@
|
|
|
6583
6666
|
},
|
|
6584
6667
|
|
|
6585
6668
|
events: [
|
|
6669
|
+
{
|
|
6670
|
+
name: 'resize',
|
|
6671
|
+
|
|
6672
|
+
el() {
|
|
6673
|
+
return window;
|
|
6674
|
+
},
|
|
6675
|
+
|
|
6676
|
+
handler() {
|
|
6677
|
+
this.$emit('resize');
|
|
6678
|
+
} },
|
|
6679
|
+
|
|
6586
6680
|
{
|
|
6587
6681
|
name: 'load hashchange popstate',
|
|
6588
6682
|
|
|
@@ -6599,7 +6693,7 @@
|
|
|
6599
6693
|
return;
|
|
6600
6694
|
}
|
|
6601
6695
|
|
|
6602
|
-
|
|
6696
|
+
setTimeout(() => {
|
|
6603
6697
|
const targetOffset = offset($(location.hash));
|
|
6604
6698
|
const elOffset = offset(this.$el);
|
|
6605
6699
|
|
|
@@ -6608,8 +6702,8 @@
|
|
|
6608
6702
|
window,
|
|
6609
6703
|
targetOffset.top -
|
|
6610
6704
|
elOffset.height -
|
|
6611
|
-
toPx(this.targetOffset, 'height') -
|
|
6612
|
-
toPx(this.offset, 'height'));
|
|
6705
|
+
toPx(this.targetOffset, 'height', this.placeholder) -
|
|
6706
|
+
toPx(this.offset, 'height', this.placeholder));
|
|
6613
6707
|
|
|
6614
6708
|
}
|
|
6615
6709
|
});
|
|
@@ -6639,32 +6733,38 @@
|
|
|
6639
6733
|
|
|
6640
6734
|
if (hide) {
|
|
6641
6735
|
this.show();
|
|
6642
|
-
|
|
6736
|
+
requestAnimationFrame(() => css(this.selTarget, 'transition', ''));
|
|
6643
6737
|
}
|
|
6644
6738
|
|
|
6645
6739
|
const referenceElement = this.isFixed ? this.placeholder : this.$el;
|
|
6646
6740
|
const windowHeight = height(window);
|
|
6647
6741
|
|
|
6648
6742
|
let position = this.position;
|
|
6649
|
-
if (
|
|
6650
|
-
position = 'bottom';
|
|
6743
|
+
if (this.overflowFlip && height$1 > windowHeight) {
|
|
6744
|
+
position = position === 'top' ? 'bottom' : 'top';
|
|
6651
6745
|
}
|
|
6652
6746
|
|
|
6653
6747
|
let offset$1 = toPx(this.offset, 'height', referenceElement);
|
|
6654
|
-
if (position === 'bottom') {
|
|
6748
|
+
if (position === 'bottom' && (height$1 < windowHeight || this.overflowFlip)) {
|
|
6655
6749
|
offset$1 += windowHeight - height$1;
|
|
6656
6750
|
}
|
|
6657
6751
|
|
|
6658
|
-
const overflow =
|
|
6752
|
+
const overflow = this.overflowFlip ?
|
|
6753
|
+
0 :
|
|
6754
|
+
Math.max(0, height$1 + offset$1 - windowHeight);
|
|
6659
6755
|
const topOffset = offset(referenceElement).top;
|
|
6660
6756
|
|
|
6661
|
-
const
|
|
6662
|
-
|
|
6663
|
-
|
|
6664
|
-
|
|
6665
|
-
const end =
|
|
6666
|
-
|
|
6667
|
-
|
|
6757
|
+
const start =
|
|
6758
|
+
(this.start === false ?
|
|
6759
|
+
topOffset :
|
|
6760
|
+
parseProp(this.start, this.$el, topOffset)) - offset$1;
|
|
6761
|
+
const end =
|
|
6762
|
+
this.end === false ?
|
|
6763
|
+
document.scrollingElement.scrollHeight - windowHeight :
|
|
6764
|
+
parseProp(this.end, this.$el, topOffset + height$1, true) -
|
|
6765
|
+
offset(this.$el).height +
|
|
6766
|
+
overflow -
|
|
6767
|
+
offset$1;
|
|
6668
6768
|
|
|
6669
6769
|
return {
|
|
6670
6770
|
start,
|
|
@@ -6710,7 +6810,9 @@
|
|
|
6710
6810
|
prevDir,
|
|
6711
6811
|
scroll,
|
|
6712
6812
|
prevScroll,
|
|
6713
|
-
offsetParentTop: offset(
|
|
6813
|
+
offsetParentTop: offset(
|
|
6814
|
+
(this.isFixed ? this.placeholder : this.$el).offsetParent).
|
|
6815
|
+
top,
|
|
6714
6816
|
overflowScroll: clamp(
|
|
6715
6817
|
overflowScroll + clamp(scroll, start, end) - clamp(prevScroll, start, end),
|
|
6716
6818
|
0,
|
|
@@ -6865,8 +6967,8 @@
|
|
|
6865
6967
|
return 0;
|
|
6866
6968
|
}
|
|
6867
6969
|
|
|
6868
|
-
if (isString(value) && value.match(/^-?\d/)) {
|
|
6869
|
-
return propOffset + toPx(value);
|
|
6970
|
+
if (isNumeric(value) || isString(value) && value.match(/^-?\d/)) {
|
|
6971
|
+
return propOffset + toPx(value, 'height', el, true);
|
|
6870
6972
|
} else {
|
|
6871
6973
|
const refElement = value === true ? parent(el) : query(value, el);
|
|
6872
6974
|
return (
|
|
@@ -6878,6 +6980,15 @@
|
|
|
6878
6980
|
}
|
|
6879
6981
|
}
|
|
6880
6982
|
|
|
6983
|
+
function coerce(value) {
|
|
6984
|
+
if (value === 'true') {
|
|
6985
|
+
return true;
|
|
6986
|
+
} else if (value === 'false') {
|
|
6987
|
+
return false;
|
|
6988
|
+
}
|
|
6989
|
+
return value;
|
|
6990
|
+
}
|
|
6991
|
+
|
|
6881
6992
|
var Switcher = {
|
|
6882
6993
|
mixins: [Lazyload, Swipe, Togglable],
|
|
6883
6994
|
|
|
@@ -7186,15 +7297,7 @@
|
|
|
7186
7297
|
{
|
|
7187
7298
|
name: 'click',
|
|
7188
7299
|
|
|
7189
|
-
filter() {
|
|
7190
|
-
return includes(this.mode, 'click');
|
|
7191
|
-
},
|
|
7192
|
-
|
|
7193
7300
|
handler(e) {
|
|
7194
|
-
if (this._preventClick) {
|
|
7195
|
-
return this._preventClick = null;
|
|
7196
|
-
}
|
|
7197
|
-
|
|
7198
7301
|
let link;
|
|
7199
7302
|
if (
|
|
7200
7303
|
closest(e.target, 'a[href="#"], a[href=""]') ||
|
|
@@ -7205,6 +7308,14 @@
|
|
|
7205
7308
|
e.preventDefault();
|
|
7206
7309
|
}
|
|
7207
7310
|
|
|
7311
|
+
if (this._preventClick) {
|
|
7312
|
+
return this._preventClick = null;
|
|
7313
|
+
}
|
|
7314
|
+
|
|
7315
|
+
if (!includes(this.mode, 'click')) {
|
|
7316
|
+
return;
|
|
7317
|
+
}
|
|
7318
|
+
|
|
7208
7319
|
this.toggle();
|
|
7209
7320
|
} },
|
|
7210
7321
|
|
|
@@ -7330,9 +7441,6 @@
|
|
|
7330
7441
|
// register components
|
|
7331
7442
|
each(components$1, (component, name) => UIkit.component(name, component));
|
|
7332
7443
|
|
|
7333
|
-
// core functionality
|
|
7334
|
-
UIkit.use(Core);
|
|
7335
|
-
|
|
7336
7444
|
boot(UIkit);
|
|
7337
7445
|
|
|
7338
7446
|
const units = ['days', 'hours', 'minutes', 'seconds'];
|
|
@@ -9213,7 +9321,9 @@
|
|
|
9213
9321
|
|
|
9214
9322
|
methods: {
|
|
9215
9323
|
reset() {
|
|
9216
|
-
|
|
9324
|
+
for (const prop in this.getCss(0)) {
|
|
9325
|
+
css(this.$el, prop, '');
|
|
9326
|
+
}
|
|
9217
9327
|
},
|
|
9218
9328
|
|
|
9219
9329
|
getCss(percent) {
|
|
@@ -9227,12 +9337,16 @@
|
|
|
9227
9337
|
|
|
9228
9338
|
|
|
9229
9339
|
function transformFn(prop, el, stops) {
|
|
9230
|
-
|
|
9340
|
+
let unit = getUnit(stops) || { x: 'px', y: 'px', rotate: 'deg' }[prop] || '';
|
|
9231
9341
|
let transformFn;
|
|
9232
9342
|
|
|
9233
9343
|
if (prop === 'x' || prop === 'y') {
|
|
9234
9344
|
prop = "translate" + ucfirst(prop);
|
|
9235
9345
|
transformFn = (stop) => toFloat(toFloat(stop).toFixed(unit === 'px' ? 0 : 6));
|
|
9346
|
+
} else if (prop === 'scale') {
|
|
9347
|
+
unit = '';
|
|
9348
|
+
transformFn = (stop) =>
|
|
9349
|
+
getUnit([stop]) ? toPx(stop, 'width', el, true) / el.offsetWidth : stop;
|
|
9236
9350
|
}
|
|
9237
9351
|
|
|
9238
9352
|
if (stops.length === 1) {
|
|
@@ -9829,7 +9943,7 @@
|
|
|
9829
9943
|
let left = 0;
|
|
9830
9944
|
const sets = [];
|
|
9831
9945
|
const width = dimensions$1(this.list).width;
|
|
9832
|
-
for (let i
|
|
9946
|
+
for (let i = 0; i < this.slides.length; i++) {
|
|
9833
9947
|
const slideWidth = dimensions$1(this.slides[i]).width;
|
|
9834
9948
|
|
|
9835
9949
|
if (left + slideWidth > width) {
|
|
@@ -10546,7 +10660,7 @@
|
|
|
10546
10660
|
some((scrollEl) => {
|
|
10547
10661
|
let { scrollTop: scroll, scrollHeight } = scrollEl;
|
|
10548
10662
|
|
|
10549
|
-
const { top, bottom, height } =
|
|
10663
|
+
const { top, bottom, height } = offsetViewport(scrollEl);
|
|
10550
10664
|
|
|
10551
10665
|
if (top < y && top + 35 > y) {
|
|
10552
10666
|
scroll -= dist;
|
|
@@ -10749,10 +10863,12 @@
|
|
|
10749
10863
|
|
|
10750
10864
|
this.positionAt(this.tooltip, this.$el);
|
|
10751
10865
|
|
|
10866
|
+
const [dir, align] = getAlignment(this.tooltip, this.$el, this.pos);
|
|
10867
|
+
|
|
10752
10868
|
this.origin =
|
|
10753
|
-
this.
|
|
10754
|
-
flipPosition(
|
|
10755
|
-
|
|
10869
|
+
this.axis === 'y' ?
|
|
10870
|
+
flipPosition(dir) + "-" + align :
|
|
10871
|
+
align + "-" + flipPosition(dir);
|
|
10756
10872
|
});
|
|
10757
10873
|
|
|
10758
10874
|
this.toggleElement(this.tooltip, true);
|
|
@@ -10789,6 +10905,37 @@
|
|
|
10789
10905
|
}
|
|
10790
10906
|
}
|
|
10791
10907
|
|
|
10908
|
+
function getAlignment(el, target, _ref) {let [dir, align] = _ref;
|
|
10909
|
+
const elOffset = offset(el);
|
|
10910
|
+
const targetOffset = offset(target);
|
|
10911
|
+
const properties = [
|
|
10912
|
+
['left', 'right'],
|
|
10913
|
+
['top', 'bottom']];
|
|
10914
|
+
|
|
10915
|
+
|
|
10916
|
+
for (const props of properties) {
|
|
10917
|
+
if (elOffset[props[0]] >= targetOffset[props[1]]) {
|
|
10918
|
+
dir = props[1];
|
|
10919
|
+
break;
|
|
10920
|
+
}
|
|
10921
|
+
if (elOffset[props[1]] <= targetOffset[props[0]]) {
|
|
10922
|
+
dir = props[0];
|
|
10923
|
+
break;
|
|
10924
|
+
}
|
|
10925
|
+
}
|
|
10926
|
+
|
|
10927
|
+
const props = includes(properties[0], dir) ? properties[1] : properties[0];
|
|
10928
|
+
if (elOffset[props[0]] === targetOffset[props[0]]) {
|
|
10929
|
+
align = props[0];
|
|
10930
|
+
} else if (elOffset[props[1]] === targetOffset[props[1]]) {
|
|
10931
|
+
align = props[1];
|
|
10932
|
+
} else {
|
|
10933
|
+
align = 'center';
|
|
10934
|
+
}
|
|
10935
|
+
|
|
10936
|
+
return [dir, align];
|
|
10937
|
+
}
|
|
10938
|
+
|
|
10792
10939
|
var upload = {
|
|
10793
10940
|
props: {
|
|
10794
10941
|
allow: String,
|