uikit 3.13.10 → 3.13.11-dev.3b88fea57
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 +30 -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 +373 -284
- 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 +420 -292
- 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/drop.js +20 -10
- package/src/js/core/navbar.js +18 -6
- package/src/js/core/scrollspy-nav.js +6 -11
- package/src/js/core/sticky.js +55 -21
- 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 +129 -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 +169 -148
- package/tests/sticky.html +300 -49
- package/src/js/core/core.js +0 -25
package/dist/js/uikit-core.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.13.
|
|
1
|
+
/*! UIkit 3.13.11-dev.3b88fea57 | 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']];
|
|
1939
1949
|
|
|
1940
1950
|
|
|
1941
|
-
function positionAt(
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
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);
|
|
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 },
|
|
1975
|
+
|
|
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.3b88fea57';
|
|
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
|
|
|
@@ -3501,50 +3536,49 @@
|
|
|
3501
3536
|
data: {
|
|
3502
3537
|
pos: "bottom-" + (isRtl ? 'right' : 'left'),
|
|
3503
3538
|
flip: true,
|
|
3504
|
-
offset: false
|
|
3539
|
+
offset: false,
|
|
3540
|
+
viewportPadding: 10 },
|
|
3505
3541
|
|
|
3506
3542
|
|
|
3507
3543
|
connected() {
|
|
3508
3544
|
this.pos = this.$props.pos.split('-').concat('center').slice(0, 2);
|
|
3509
|
-
this.
|
|
3510
|
-
this.align = this.pos[1];
|
|
3545
|
+
this.axis = includes(['top', 'bottom'], this.pos[0]) ? 'y' : 'x';
|
|
3511
3546
|
},
|
|
3512
3547
|
|
|
3513
3548
|
methods: {
|
|
3514
3549
|
positionAt(element, target, boundary) {
|
|
3515
|
-
const
|
|
3516
|
-
const dir = this.pos[0];
|
|
3517
|
-
const align = this.pos[1];
|
|
3550
|
+
const [dir, align] = this.pos;
|
|
3518
3551
|
|
|
3519
3552
|
let { offset: offset$1 } = this;
|
|
3520
3553
|
if (!isNumeric(offset$1)) {
|
|
3521
3554
|
const node = $(offset$1);
|
|
3522
3555
|
offset$1 = node ?
|
|
3523
|
-
offset(node)[axis === 'x' ? 'left' : 'top'] -
|
|
3524
|
-
offset(target)[axis === 'x' ? 'right' : 'bottom'] :
|
|
3556
|
+
offset(node)[this.axis === 'x' ? 'left' : 'top'] -
|
|
3557
|
+
offset(target)[this.axis === 'x' ? 'right' : 'bottom'] :
|
|
3525
3558
|
0;
|
|
3526
3559
|
}
|
|
3527
3560
|
offset$1 = toPx(offset$1) + toPx(getCssVar('position-offset', element));
|
|
3561
|
+
offset$1 = [includes(['left', 'top'], dir) ? -offset$1 : +offset$1, 0];
|
|
3528
3562
|
|
|
3529
|
-
const
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
axis === '
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3563
|
+
const attach = {
|
|
3564
|
+
element: [flipPosition(dir), align],
|
|
3565
|
+
target: [dir, align] };
|
|
3566
|
+
|
|
3567
|
+
|
|
3568
|
+
if (this.axis === 'y') {
|
|
3569
|
+
for (const prop in attach) {
|
|
3570
|
+
attach[prop] = attach[prop].reverse();
|
|
3571
|
+
}
|
|
3572
|
+
offset$1 = offset$1.reverse();
|
|
3573
|
+
}
|
|
3574
|
+
|
|
3575
|
+
positionAt(element, target, {
|
|
3576
|
+
attach,
|
|
3577
|
+
offset: offset$1,
|
|
3578
|
+
boundary,
|
|
3579
|
+
viewportPadding: this.viewportPadding,
|
|
3580
|
+
flip: this.flip });
|
|
3545
3581
|
|
|
3546
|
-
getAxis() {
|
|
3547
|
-
return this.dir === 'top' || this.dir === 'bottom' ? 'y' : 'x';
|
|
3548
3582
|
} } };
|
|
3549
3583
|
|
|
3550
3584
|
let active$1;
|
|
@@ -3872,25 +3906,33 @@
|
|
|
3872
3906
|
},
|
|
3873
3907
|
|
|
3874
3908
|
position() {
|
|
3875
|
-
const boundary = query(this.boundary, this.$el) || window;
|
|
3876
3909
|
removeClass(this.$el, this.clsDrop + "-stack");
|
|
3877
3910
|
toggleClass(this.$el, this.clsDrop + "-boundary", this.boundaryAlign);
|
|
3878
3911
|
|
|
3879
|
-
const
|
|
3880
|
-
const
|
|
3881
|
-
const
|
|
3912
|
+
const boundary = query(this.boundary, this.$el);
|
|
3913
|
+
const [scrollParent] = scrollParents(this.$el);
|
|
3914
|
+
const scrollParentOffset = offsetViewport(scrollParent);
|
|
3915
|
+
const boundaryOffset = boundary ? offset(boundary) : scrollParentOffset;
|
|
3916
|
+
|
|
3917
|
+
css(this.$el, 'maxWidth', '');
|
|
3918
|
+
const maxWidth = scrollParentOffset.width - (boundary ? 0 : 2 * this.viewportPadding);
|
|
3882
3919
|
|
|
3883
3920
|
if (this.pos[1] === 'justify') {
|
|
3884
|
-
const prop = this.
|
|
3921
|
+
const prop = this.axis === 'y' ? 'width' : 'height';
|
|
3922
|
+
const targetOffset = offset(this.target);
|
|
3923
|
+
const alignTo = this.boundaryAlign ? boundaryOffset : targetOffset;
|
|
3885
3924
|
css(this.$el, prop, alignTo[prop]);
|
|
3886
|
-
} else if (
|
|
3887
|
-
this.$el.offsetWidth >
|
|
3888
|
-
Math.max(boundaryOffset.right - alignTo.left, alignTo.right - boundaryOffset.left))
|
|
3889
|
-
{
|
|
3925
|
+
} else if (this.$el.offsetWidth > maxWidth) {
|
|
3890
3926
|
addClass(this.$el, this.clsDrop + "-stack");
|
|
3891
3927
|
}
|
|
3892
3928
|
|
|
3893
|
-
|
|
3929
|
+
css(this.$el, 'maxWidth', maxWidth);
|
|
3930
|
+
|
|
3931
|
+
this.positionAt(
|
|
3932
|
+
this.$el,
|
|
3933
|
+
boundary && this.boundaryAlign ? boundary : this.target,
|
|
3934
|
+
boundary);
|
|
3935
|
+
|
|
3894
3936
|
} } };
|
|
3895
3937
|
|
|
3896
3938
|
|
|
@@ -4994,16 +5036,19 @@
|
|
|
4994
5036
|
|
|
4995
5037
|
connected() {
|
|
4996
5038
|
const media = toMedia(this.media);
|
|
4997
|
-
this.
|
|
4998
|
-
|
|
4999
|
-
this.
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
|
|
5039
|
+
this.matchMedia = true;
|
|
5040
|
+
if (media) {
|
|
5041
|
+
this.mediaObj = window.matchMedia(media);
|
|
5042
|
+
const handler = () => {
|
|
5043
|
+
this.matchMedia = this.mediaObj.matches;
|
|
5044
|
+
trigger(this.$el, createEvent('mediachange', false, true, [this.mediaObj]));
|
|
5045
|
+
};
|
|
5046
|
+
this.offMediaObj = on(this.mediaObj, 'change', () => {
|
|
5047
|
+
handler();
|
|
5048
|
+
this.$emit('resize');
|
|
5049
|
+
});
|
|
5003
5050
|
handler();
|
|
5004
|
-
|
|
5005
|
-
});
|
|
5006
|
-
handler();
|
|
5051
|
+
}
|
|
5007
5052
|
},
|
|
5008
5053
|
|
|
5009
5054
|
disconnected() {var _this$offMediaObj;
|
|
@@ -5292,7 +5337,7 @@
|
|
|
5292
5337
|
return (el, show) =>
|
|
5293
5338
|
new Promise((resolve, reject) =>
|
|
5294
5339
|
once(el, 'show hide', () => {
|
|
5295
|
-
el._reject
|
|
5340
|
+
el._reject == null ? void 0 : el._reject();
|
|
5296
5341
|
el._reject = reject;
|
|
5297
5342
|
|
|
5298
5343
|
_toggle(el, show);
|
|
@@ -5317,6 +5362,10 @@
|
|
|
5317
5362
|
then(() => delete el._reject);
|
|
5318
5363
|
}
|
|
5319
5364
|
|
|
5365
|
+
function toMs(time) {
|
|
5366
|
+
return time ? endsWith(time, 'ms') ? toFloat(time) : toFloat(time) * 1000 : 0;
|
|
5367
|
+
}
|
|
5368
|
+
|
|
5320
5369
|
var modal = {
|
|
5321
5370
|
install,
|
|
5322
5371
|
|
|
@@ -5470,8 +5519,6 @@
|
|
|
5470
5519
|
toggle: '> a',
|
|
5471
5520
|
content: '> ul' } };
|
|
5472
5521
|
|
|
5473
|
-
const navItem = '.uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle';
|
|
5474
|
-
|
|
5475
5522
|
var navbar = {
|
|
5476
5523
|
mixins: [Class, Container],
|
|
5477
5524
|
|
|
@@ -5491,7 +5538,7 @@
|
|
|
5491
5538
|
|
|
5492
5539
|
|
|
5493
5540
|
data: {
|
|
5494
|
-
dropdown:
|
|
5541
|
+
dropdown: '.uk-navbar-nav > li > a, .uk-navbar-item, .uk-navbar-toggle',
|
|
5495
5542
|
align: isRtl ? 'right' : 'left',
|
|
5496
5543
|
clsDrop: 'uk-navbar-dropdown',
|
|
5497
5544
|
mode: undefined,
|
|
@@ -5577,9 +5624,23 @@
|
|
|
5577
5624
|
immediate: true },
|
|
5578
5625
|
|
|
5579
5626
|
|
|
5580
|
-
toggles
|
|
5581
|
-
|
|
5582
|
-
|
|
5627
|
+
toggles: {
|
|
5628
|
+
get(_ref6, $el) {let { dropdown } = _ref6;
|
|
5629
|
+
return $$(dropdown, $el);
|
|
5630
|
+
},
|
|
5631
|
+
|
|
5632
|
+
watch() {
|
|
5633
|
+
const justify = hasClass(this.$el, 'uk-navbar-justify');
|
|
5634
|
+
for (const container of $$(
|
|
5635
|
+
'.uk-navbar-nav, .uk-navbar-left, .uk-navbar-right',
|
|
5636
|
+
this.$el))
|
|
5637
|
+
{
|
|
5638
|
+
css(container, 'flexGrow', justify ? $$(this.dropdown, container).length : '');
|
|
5639
|
+
}
|
|
5640
|
+
},
|
|
5641
|
+
|
|
5642
|
+
immediate: true } },
|
|
5643
|
+
|
|
5583
5644
|
|
|
5584
5645
|
|
|
5585
5646
|
disconnected() {
|
|
@@ -5740,7 +5801,7 @@
|
|
|
5740
5801
|
return this.dropbar;
|
|
5741
5802
|
},
|
|
5742
5803
|
|
|
5743
|
-
handler(_, _ref10) {let { $el, dir } = _ref10;
|
|
5804
|
+
handler(_, _ref10) {let { $el, pos: [dir] = [] } = _ref10;
|
|
5744
5805
|
if (!hasClass($el, this.clsDrop)) {
|
|
5745
5806
|
return;
|
|
5746
5807
|
}
|
|
@@ -6474,19 +6535,15 @@
|
|
|
6474
6535
|
|
|
6475
6536
|
const [scrollElement] = scrollParents(targets, /auto|scroll/, true);
|
|
6476
6537
|
const { scrollTop, scrollHeight } = scrollElement;
|
|
6477
|
-
const
|
|
6538
|
+
const viewport = offsetViewport(scrollElement);
|
|
6539
|
+
const max = scrollHeight - viewport.height;
|
|
6478
6540
|
let active = false;
|
|
6479
6541
|
|
|
6480
6542
|
if (scrollTop === max) {
|
|
6481
6543
|
active = length - 1;
|
|
6482
6544
|
} else {
|
|
6483
|
-
for (
|
|
6484
|
-
if (
|
|
6485
|
-
offset(targets[i]).top -
|
|
6486
|
-
offset(getViewport$1(scrollElement)).top -
|
|
6487
|
-
this.offset >
|
|
6488
|
-
0)
|
|
6489
|
-
{
|
|
6545
|
+
for (let i = 0; i < targets.length; i++) {
|
|
6546
|
+
if (offset(targets[i]).top - viewport.top - this.offset > 0) {
|
|
6490
6547
|
break;
|
|
6491
6548
|
}
|
|
6492
6549
|
active = +i;
|
|
@@ -6504,7 +6561,7 @@
|
|
|
6504
6561
|
const changed = active !== false && !hasClass(this.elements[active], this.cls);
|
|
6505
6562
|
|
|
6506
6563
|
this.links.forEach((el) => el.blur());
|
|
6507
|
-
for (
|
|
6564
|
+
for (let i = 0; i < this.elements.length; i++) {
|
|
6508
6565
|
toggleClass(this.elements[i], this.cls, +i === active);
|
|
6509
6566
|
}
|
|
6510
6567
|
|
|
@@ -6521,8 +6578,11 @@
|
|
|
6521
6578
|
props: {
|
|
6522
6579
|
position: String,
|
|
6523
6580
|
top: null,
|
|
6524
|
-
bottom:
|
|
6581
|
+
bottom: null,
|
|
6582
|
+
start: null,
|
|
6583
|
+
end: null,
|
|
6525
6584
|
offset: String,
|
|
6585
|
+
overflowFlip: Boolean,
|
|
6526
6586
|
animation: String,
|
|
6527
6587
|
clsActive: String,
|
|
6528
6588
|
clsInactive: String,
|
|
@@ -6535,9 +6595,12 @@
|
|
|
6535
6595
|
|
|
6536
6596
|
data: {
|
|
6537
6597
|
position: 'top',
|
|
6538
|
-
top:
|
|
6598
|
+
top: false,
|
|
6539
6599
|
bottom: false,
|
|
6600
|
+
start: false,
|
|
6601
|
+
end: false,
|
|
6540
6602
|
offset: 0,
|
|
6603
|
+
overflowFlip: false,
|
|
6541
6604
|
animation: '',
|
|
6542
6605
|
clsActive: 'uk-active',
|
|
6543
6606
|
clsInactive: '',
|
|
@@ -6559,6 +6622,9 @@
|
|
|
6559
6622
|
},
|
|
6560
6623
|
|
|
6561
6624
|
connected() {
|
|
6625
|
+
this.start = coerce(this.start || this.top);
|
|
6626
|
+
this.end = coerce(this.end || this.bottom);
|
|
6627
|
+
|
|
6562
6628
|
this.placeholder =
|
|
6563
6629
|
$('+ .uk-sticky-placeholder', this.$el) ||
|
|
6564
6630
|
$('<div class="uk-sticky-placeholder"></div>');
|
|
@@ -6577,6 +6643,17 @@
|
|
|
6577
6643
|
},
|
|
6578
6644
|
|
|
6579
6645
|
events: [
|
|
6646
|
+
{
|
|
6647
|
+
name: 'resize',
|
|
6648
|
+
|
|
6649
|
+
el() {
|
|
6650
|
+
return window;
|
|
6651
|
+
},
|
|
6652
|
+
|
|
6653
|
+
handler() {
|
|
6654
|
+
this.$emit('resize');
|
|
6655
|
+
} },
|
|
6656
|
+
|
|
6580
6657
|
{
|
|
6581
6658
|
name: 'load hashchange popstate',
|
|
6582
6659
|
|
|
@@ -6593,7 +6670,7 @@
|
|
|
6593
6670
|
return;
|
|
6594
6671
|
}
|
|
6595
6672
|
|
|
6596
|
-
|
|
6673
|
+
setTimeout(() => {
|
|
6597
6674
|
const targetOffset = offset($(location.hash));
|
|
6598
6675
|
const elOffset = offset(this.$el);
|
|
6599
6676
|
|
|
@@ -6602,8 +6679,8 @@
|
|
|
6602
6679
|
window,
|
|
6603
6680
|
targetOffset.top -
|
|
6604
6681
|
elOffset.height -
|
|
6605
|
-
toPx(this.targetOffset, 'height') -
|
|
6606
|
-
toPx(this.offset, 'height'));
|
|
6682
|
+
toPx(this.targetOffset, 'height', this.placeholder) -
|
|
6683
|
+
toPx(this.offset, 'height', this.placeholder));
|
|
6607
6684
|
|
|
6608
6685
|
}
|
|
6609
6686
|
});
|
|
@@ -6633,32 +6710,38 @@
|
|
|
6633
6710
|
|
|
6634
6711
|
if (hide) {
|
|
6635
6712
|
this.show();
|
|
6636
|
-
|
|
6713
|
+
requestAnimationFrame(() => css(this.selTarget, 'transition', ''));
|
|
6637
6714
|
}
|
|
6638
6715
|
|
|
6639
6716
|
const referenceElement = this.isFixed ? this.placeholder : this.$el;
|
|
6640
6717
|
const windowHeight = height(window);
|
|
6641
6718
|
|
|
6642
6719
|
let position = this.position;
|
|
6643
|
-
if (
|
|
6644
|
-
position = 'bottom';
|
|
6720
|
+
if (this.overflowFlip && height$1 > windowHeight) {
|
|
6721
|
+
position = position === 'top' ? 'bottom' : 'top';
|
|
6645
6722
|
}
|
|
6646
6723
|
|
|
6647
6724
|
let offset$1 = toPx(this.offset, 'height', referenceElement);
|
|
6648
|
-
if (position === 'bottom') {
|
|
6725
|
+
if (position === 'bottom' && (height$1 < windowHeight || this.overflowFlip)) {
|
|
6649
6726
|
offset$1 += windowHeight - height$1;
|
|
6650
6727
|
}
|
|
6651
6728
|
|
|
6652
|
-
const overflow =
|
|
6729
|
+
const overflow = this.overflowFlip ?
|
|
6730
|
+
0 :
|
|
6731
|
+
Math.max(0, height$1 + offset$1 - windowHeight);
|
|
6653
6732
|
const topOffset = offset(referenceElement).top;
|
|
6654
6733
|
|
|
6655
|
-
const
|
|
6656
|
-
|
|
6657
|
-
|
|
6658
|
-
|
|
6659
|
-
const end =
|
|
6660
|
-
|
|
6661
|
-
|
|
6734
|
+
const start =
|
|
6735
|
+
(this.start === false ?
|
|
6736
|
+
topOffset :
|
|
6737
|
+
parseProp(this.start, this.$el, topOffset)) - offset$1;
|
|
6738
|
+
const end =
|
|
6739
|
+
this.end === false ?
|
|
6740
|
+
document.scrollingElement.scrollHeight - windowHeight :
|
|
6741
|
+
parseProp(this.end, this.$el, topOffset + height$1, true) -
|
|
6742
|
+
offset(this.$el).height +
|
|
6743
|
+
overflow -
|
|
6744
|
+
offset$1;
|
|
6662
6745
|
|
|
6663
6746
|
return {
|
|
6664
6747
|
start,
|
|
@@ -6861,8 +6944,8 @@
|
|
|
6861
6944
|
return 0;
|
|
6862
6945
|
}
|
|
6863
6946
|
|
|
6864
|
-
if (isString(value) && value.match(/^-?\d/)) {
|
|
6865
|
-
return propOffset + toPx(value);
|
|
6947
|
+
if (isNumeric(value) || isString(value) && value.match(/^-?\d/)) {
|
|
6948
|
+
return propOffset + toPx(value, 'height', el, true);
|
|
6866
6949
|
} else {
|
|
6867
6950
|
const refElement = value === true ? parent(el) : query(value, el);
|
|
6868
6951
|
return (
|
|
@@ -6874,6 +6957,15 @@
|
|
|
6874
6957
|
}
|
|
6875
6958
|
}
|
|
6876
6959
|
|
|
6960
|
+
function coerce(value) {
|
|
6961
|
+
if (value === 'true') {
|
|
6962
|
+
return true;
|
|
6963
|
+
} else if (value === 'false') {
|
|
6964
|
+
return false;
|
|
6965
|
+
}
|
|
6966
|
+
return value;
|
|
6967
|
+
}
|
|
6968
|
+
|
|
6877
6969
|
var Switcher = {
|
|
6878
6970
|
mixins: [Lazyload, Swipe, Togglable],
|
|
6879
6971
|
|
|
@@ -7326,9 +7418,6 @@
|
|
|
7326
7418
|
// register components
|
|
7327
7419
|
each(components, (component, name) => UIkit.component(name, component));
|
|
7328
7420
|
|
|
7329
|
-
// core functionality
|
|
7330
|
-
UIkit.use(Core);
|
|
7331
|
-
|
|
7332
7421
|
boot(UIkit);
|
|
7333
7422
|
|
|
7334
7423
|
return UIkit;
|