uikit 3.10.2-dev.c8aa7eda2 → 3.11.1
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 +35 -14
- package/build/icons.js +4 -4
- package/build/scope.js +4 -6
- package/dist/css/uikit-core-rtl.css +10 -1
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +10 -1
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +10 -1
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +10 -1
- 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 +1 -1
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +1 -1
- 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 +257 -264
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +215 -257
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +1 -1
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +215 -257
- 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 +1 -1
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +1 -1
- 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 +28 -26
- 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 +284 -289
- package/dist/js/uikit.min.js +1 -1
- package/package.json +5 -5
- package/src/js/components/parallax.js +38 -8
- package/src/js/core/grid.js +2 -2
- package/src/js/core/svg.js +9 -7
- package/src/js/mixin/parallax.js +209 -242
- package/src/js/util/dimensions.js +4 -2
- package/src/js/util/viewport.js +9 -13
- package/src/less/components/position.less +2 -0
- package/src/less/components/sticky.less +6 -0
- package/src/scss/components/position.scss +2 -0
- package/src/scss/components/sticky.scss +6 -0
- package/tests/index.html +1 -1
- package/tests/js/index.js +1 -1
- package/tests/notification.html +5 -5
- package/tests/parallax.html +66 -50
- package/tests/sticky-parallax.html +274 -0
- package/tests/sticky.html +2 -2
- package/tests/tab.html +1 -1
package/dist/js/uikit.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.
|
|
1
|
+
/*! UIkit 3.11.1 | 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() :
|
|
@@ -1745,9 +1745,10 @@
|
|
|
1745
1745
|
return pos;
|
|
1746
1746
|
}
|
|
1747
1747
|
|
|
1748
|
-
function toPx(value, property, element) {
|
|
1748
|
+
function toPx(value, property, element, offsetDim) {
|
|
1749
1749
|
if ( property === void 0 ) property = 'width';
|
|
1750
1750
|
if ( element === void 0 ) element = window;
|
|
1751
|
+
if ( offsetDim === void 0 ) offsetDim = false;
|
|
1751
1752
|
|
|
1752
1753
|
return isNumeric(value)
|
|
1753
1754
|
? +value
|
|
@@ -1756,7 +1757,9 @@
|
|
|
1756
1757
|
: endsWith(value, 'vw')
|
|
1757
1758
|
? percent(width(toWindow(element)), value)
|
|
1758
1759
|
: endsWith(value, '%')
|
|
1759
|
-
? percent(
|
|
1760
|
+
? percent(offsetDim
|
|
1761
|
+
? element[("offset" + (ucfirst(property)))]
|
|
1762
|
+
: dimensions(element)[property], value)
|
|
1760
1763
|
: toFloat(value);
|
|
1761
1764
|
}
|
|
1762
1765
|
|
|
@@ -2316,8 +2319,9 @@
|
|
|
2316
2319
|
|
|
2317
2320
|
}
|
|
2318
2321
|
|
|
2319
|
-
function scrolledOver(element,
|
|
2320
|
-
if (
|
|
2322
|
+
function scrolledOver(element, startOffset, endOffset) {
|
|
2323
|
+
if ( startOffset === void 0 ) startOffset = 0;
|
|
2324
|
+
if ( endOffset === void 0 ) endOffset = 0;
|
|
2321
2325
|
|
|
2322
2326
|
|
|
2323
2327
|
if (!isVisible(element)) {
|
|
@@ -2328,18 +2332,14 @@
|
|
|
2328
2332
|
var scrollElement = ref[0];
|
|
2329
2333
|
var scrollHeight = scrollElement.scrollHeight;
|
|
2330
2334
|
var scrollTop = scrollElement.scrollTop;
|
|
2331
|
-
var
|
|
2332
|
-
var
|
|
2333
|
-
var
|
|
2334
|
-
|
|
2335
|
-
var
|
|
2336
|
-
var
|
|
2337
|
-
element.offsetHeight + heightOffset + viewportDist,
|
|
2338
|
-
scrollHeight - (viewportTop + scrollTop),
|
|
2339
|
-
scrollHeight - clientHeight
|
|
2340
|
-
);
|
|
2335
|
+
var viewportHeight = getViewportClientHeight(scrollElement);
|
|
2336
|
+
var maxScroll = scrollHeight - viewportHeight;
|
|
2337
|
+
var elementOffsetTop = offsetPosition(element)[0] - offsetPosition(scrollElement)[0];
|
|
2338
|
+
|
|
2339
|
+
var start = Math.max(0, elementOffsetTop - viewportHeight + startOffset);
|
|
2340
|
+
var end = Math.min(maxScroll, elementOffsetTop + element.offsetHeight - endOffset);
|
|
2341
2341
|
|
|
2342
|
-
return clamp(-
|
|
2342
|
+
return clamp((scrollTop - start) / (end - start));
|
|
2343
2343
|
}
|
|
2344
2344
|
|
|
2345
2345
|
function scrollParents(element, overflowRe, scrollable) {
|
|
@@ -3462,7 +3462,7 @@
|
|
|
3462
3462
|
UIkit.data = '__uikit__';
|
|
3463
3463
|
UIkit.prefix = 'uk-';
|
|
3464
3464
|
UIkit.options = {};
|
|
3465
|
-
UIkit.version = '3.
|
|
3465
|
+
UIkit.version = '3.11.1';
|
|
3466
3466
|
|
|
3467
3467
|
globalAPI(UIkit);
|
|
3468
3468
|
hooksAPI(UIkit);
|
|
@@ -5007,7 +5007,7 @@
|
|
|
5007
5007
|
{
|
|
5008
5008
|
|
|
5009
5009
|
read: function(ref) {
|
|
5010
|
-
|
|
5010
|
+
ref.height;
|
|
5011
5011
|
|
|
5012
5012
|
|
|
5013
5013
|
if (positionedAbsolute(this.$el)) {
|
|
@@ -5016,7 +5016,7 @@
|
|
|
5016
5016
|
|
|
5017
5017
|
return {
|
|
5018
5018
|
scrolled: this.parallax
|
|
5019
|
-
? scrolledOver(this.$el
|
|
5019
|
+
? scrolledOver(this.$el) * Math.abs(this.parallax)
|
|
5020
5020
|
: false
|
|
5021
5021
|
};
|
|
5022
5022
|
},
|
|
@@ -5389,15 +5389,17 @@
|
|
|
5389
5389
|
|
|
5390
5390
|
|
|
5391
5391
|
this.svg.then(function (svg) {
|
|
5392
|
-
if (
|
|
5393
|
-
|
|
5394
|
-
|
|
5395
|
-
this$1$1.$el.hidden = false;
|
|
5396
|
-
}
|
|
5392
|
+
if (this$1$1._connected) {
|
|
5393
|
+
return;
|
|
5394
|
+
}
|
|
5397
5395
|
|
|
5398
|
-
|
|
5399
|
-
this$1$1.
|
|
5396
|
+
if (isVoidElement(this$1$1.$el)) {
|
|
5397
|
+
this$1$1.$el.hidden = false;
|
|
5400
5398
|
}
|
|
5399
|
+
|
|
5400
|
+
remove$1(svg);
|
|
5401
|
+
this$1$1.svgEl = null;
|
|
5402
|
+
|
|
5401
5403
|
});
|
|
5402
5404
|
|
|
5403
5405
|
this.svg = null;
|
|
@@ -10698,357 +10700,315 @@
|
|
|
10698
10700
|
};
|
|
10699
10701
|
}
|
|
10700
10702
|
|
|
10701
|
-
var props =
|
|
10703
|
+
var props = {
|
|
10704
|
+
x: transformFn,
|
|
10705
|
+
y: transformFn,
|
|
10706
|
+
rotate: transformFn,
|
|
10707
|
+
scale: transformFn,
|
|
10708
|
+
color: colorFn,
|
|
10709
|
+
backgroundColor: colorFn,
|
|
10710
|
+
borderColor: colorFn,
|
|
10711
|
+
blur: filterFn,
|
|
10712
|
+
hue: filterFn,
|
|
10713
|
+
fopacity: filterFn,
|
|
10714
|
+
grayscale: filterFn,
|
|
10715
|
+
invert: filterFn,
|
|
10716
|
+
saturate: filterFn,
|
|
10717
|
+
sepia: filterFn,
|
|
10718
|
+
opacity: cssPropFn,
|
|
10719
|
+
stroke: strokeFn,
|
|
10720
|
+
bgx: backgroundFn,
|
|
10721
|
+
bgy: backgroundFn
|
|
10722
|
+
};
|
|
10723
|
+
|
|
10724
|
+
var keys = Object.keys;
|
|
10702
10725
|
|
|
10703
10726
|
var Parallax = {
|
|
10704
10727
|
|
|
10705
10728
|
mixins: [Media],
|
|
10706
10729
|
|
|
10707
|
-
props:
|
|
10708
|
-
props[prop] = 'list';
|
|
10709
|
-
return props;
|
|
10710
|
-
}, {}),
|
|
10730
|
+
props: fillObject(keys(props), 'list'),
|
|
10711
10731
|
|
|
10712
|
-
data:
|
|
10713
|
-
data[prop] = undefined;
|
|
10714
|
-
return data;
|
|
10715
|
-
}, {}),
|
|
10732
|
+
data: fillObject(keys(props), undefined),
|
|
10716
10733
|
|
|
10717
10734
|
computed: {
|
|
10718
10735
|
|
|
10719
10736
|
props: function(properties, $el) {
|
|
10720
10737
|
var this$1$1 = this;
|
|
10721
10738
|
|
|
10722
|
-
|
|
10723
|
-
|
|
10724
|
-
|
|
10725
|
-
if (isUndefined(properties[prop])) {
|
|
10726
|
-
return props;
|
|
10739
|
+
return keys(props).reduce(function (result, prop) {
|
|
10740
|
+
if (!isUndefined(properties[prop])) {
|
|
10741
|
+
result[prop] = props[prop].call(this$1$1, prop, $el, properties[prop].slice());
|
|
10727
10742
|
}
|
|
10743
|
+
return result;
|
|
10744
|
+
}, {});
|
|
10745
|
+
}
|
|
10728
10746
|
|
|
10729
|
-
|
|
10730
|
-
var isCssProp = isColor || prop === 'opacity';
|
|
10731
|
-
|
|
10732
|
-
var pos, bgPos, diff;
|
|
10733
|
-
var steps = properties[prop].slice();
|
|
10734
|
-
|
|
10735
|
-
if (isCssProp) {
|
|
10736
|
-
css($el, prop, '');
|
|
10737
|
-
}
|
|
10738
|
-
|
|
10739
|
-
if (steps.length < 2) {
|
|
10740
|
-
steps.unshift((prop === 'scale'
|
|
10741
|
-
? 1
|
|
10742
|
-
: isCssProp
|
|
10743
|
-
? css($el, prop)
|
|
10744
|
-
: 0) || 0);
|
|
10745
|
-
}
|
|
10746
|
-
|
|
10747
|
-
var unit = getUnit(steps);
|
|
10748
|
-
|
|
10749
|
-
if (isColor) {
|
|
10750
|
-
|
|
10751
|
-
var ref = $el.style;
|
|
10752
|
-
var color = ref.color;
|
|
10753
|
-
steps = steps.map(function (step) { return parseColor($el, step); });
|
|
10754
|
-
$el.style.color = color;
|
|
10755
|
-
|
|
10756
|
-
} else if (startsWith(prop, 'bg')) {
|
|
10757
|
-
|
|
10758
|
-
var attr = prop === 'bgy' ? 'height' : 'width';
|
|
10759
|
-
steps = steps.map(function (step) { return toPx(step, attr, $el); });
|
|
10760
|
-
|
|
10761
|
-
css($el, ("background-position-" + (prop[2])), '');
|
|
10762
|
-
bgPos = css($el, 'backgroundPosition').split(' ')[prop[2] === 'x' ? 0 : 1]; // IE 11 can't read background-position-[x|y]
|
|
10763
|
-
|
|
10764
|
-
if (this$1$1.covers) {
|
|
10747
|
+
},
|
|
10765
10748
|
|
|
10766
|
-
|
|
10767
|
-
var max = Math.max.apply(Math, steps);
|
|
10768
|
-
var down = steps.indexOf(min) < steps.indexOf(max);
|
|
10749
|
+
methods: {
|
|
10769
10750
|
|
|
10770
|
-
|
|
10751
|
+
reset: function() {
|
|
10752
|
+
var this$1$1 = this;
|
|
10771
10753
|
|
|
10772
|
-
|
|
10773
|
-
|
|
10754
|
+
each(this.getCss(0), function (_, prop) { return css(this$1$1.$el, prop, ''); });
|
|
10755
|
+
},
|
|
10774
10756
|
|
|
10775
|
-
|
|
10757
|
+
getCss: function(percent) {
|
|
10758
|
+
var this$1$1 = this;
|
|
10776
10759
|
|
|
10777
|
-
|
|
10760
|
+
return keys(this.props).reduce(function (css, prop) {
|
|
10761
|
+
this$1$1.props[prop](css, percent);
|
|
10762
|
+
return css;
|
|
10763
|
+
}, {transform: '', filter: ''});
|
|
10764
|
+
}
|
|
10778
10765
|
|
|
10779
|
-
|
|
10766
|
+
}
|
|
10780
10767
|
|
|
10781
|
-
|
|
10768
|
+
};
|
|
10782
10769
|
|
|
10783
|
-
|
|
10770
|
+
function transformFn(prop, el, steps) {
|
|
10784
10771
|
|
|
10785
|
-
|
|
10772
|
+
var unit = getUnit(steps) || {x: 'px', y: 'px', rotate: 'deg'}[prop] || '';
|
|
10786
10773
|
|
|
10787
|
-
|
|
10774
|
+
if (prop === 'x' || prop === 'y') {
|
|
10775
|
+
prop = "translate" + (ucfirst(prop));
|
|
10776
|
+
}
|
|
10788
10777
|
|
|
10789
|
-
|
|
10790
|
-
return props;
|
|
10791
|
-
}
|
|
10778
|
+
steps = steps.map(toFloat);
|
|
10792
10779
|
|
|
10793
|
-
|
|
10794
|
-
|
|
10780
|
+
if (steps.length === 1) {
|
|
10781
|
+
steps.unshift(prop === 'scale' ? 1 : 0);
|
|
10782
|
+
}
|
|
10795
10783
|
|
|
10796
|
-
|
|
10797
|
-
|
|
10798
|
-
}
|
|
10784
|
+
return function (css, percent) {
|
|
10785
|
+
var value = getValue(steps, percent);
|
|
10799
10786
|
|
|
10800
|
-
|
|
10787
|
+
if (startsWith(prop, 'translate')) {
|
|
10788
|
+
value = toFloat(value).toFixed(unit === 'px' ? 0 : 6);
|
|
10789
|
+
}
|
|
10801
10790
|
|
|
10802
|
-
|
|
10803
|
-
|
|
10791
|
+
css.transform += " " + prop + "(" + value + unit + ")";
|
|
10792
|
+
};
|
|
10793
|
+
}
|
|
10804
10794
|
|
|
10805
|
-
|
|
10795
|
+
function colorFn(prop, el, steps) {
|
|
10806
10796
|
|
|
10807
|
-
|
|
10797
|
+
if (steps.length === 1) {
|
|
10798
|
+
steps.unshift(getCssValue(el, prop, ''));
|
|
10799
|
+
}
|
|
10808
10800
|
|
|
10809
|
-
|
|
10801
|
+
steps = steps.map(function (step) { return parseColor(el, step); });
|
|
10810
10802
|
|
|
10811
|
-
|
|
10803
|
+
return function (css, percent) {
|
|
10812
10804
|
|
|
10813
|
-
|
|
10814
|
-
|
|
10805
|
+
var ref = getStep(steps, percent);
|
|
10806
|
+
var start = ref[0];
|
|
10807
|
+
var end = ref[1];
|
|
10808
|
+
var p = ref[2];
|
|
10809
|
+
var value = start.map(function (value, i) {
|
|
10810
|
+
value += p * (end[i] - value);
|
|
10811
|
+
return i === 3 ? toFloat(value) : parseInt(value, 10);
|
|
10812
|
+
}).join(',');
|
|
10813
|
+
css[prop] = "rgba(" + value + ")";
|
|
10814
|
+
};
|
|
10815
|
+
}
|
|
10815
10816
|
|
|
10816
|
-
|
|
10817
|
-
|
|
10817
|
+
function parseColor(el, color) {
|
|
10818
|
+
return getCssValue(el, 'color', color)
|
|
10819
|
+
.split(/[(),]/g)
|
|
10820
|
+
.slice(1, -1)
|
|
10821
|
+
.concat(1)
|
|
10822
|
+
.slice(0, 4)
|
|
10823
|
+
.map(toFloat);
|
|
10824
|
+
}
|
|
10818
10825
|
|
|
10819
|
-
|
|
10820
|
-
return covers($el);
|
|
10821
|
-
}
|
|
10826
|
+
function filterFn(prop, el, steps) {
|
|
10822
10827
|
|
|
10823
|
-
|
|
10828
|
+
if (steps.length === 1) {
|
|
10829
|
+
steps.unshift(0);
|
|
10830
|
+
}
|
|
10824
10831
|
|
|
10825
|
-
|
|
10826
|
-
|
|
10827
|
-
|
|
10832
|
+
var unit = getUnit(steps) || {blur: 'px', hue: 'deg'}[prop] || '%';
|
|
10833
|
+
prop = {fopacity: 'opacity', hue: 'hue-rotate'}[prop] || prop;
|
|
10834
|
+
steps = steps.map(toFloat);
|
|
10828
10835
|
|
|
10829
|
-
|
|
10836
|
+
return function (css, percent) {
|
|
10837
|
+
var value = getValue(steps, percent);
|
|
10838
|
+
css.filter += " " + prop + "(" + (value + unit) + ")";
|
|
10839
|
+
};
|
|
10840
|
+
}
|
|
10830
10841
|
|
|
10831
|
-
|
|
10832
|
-
var this$1$1 = this;
|
|
10842
|
+
function cssPropFn(prop, el, steps) {
|
|
10833
10843
|
|
|
10844
|
+
if (steps.length === 1) {
|
|
10845
|
+
steps.unshift(getCssValue(el, prop, ''));
|
|
10846
|
+
}
|
|
10834
10847
|
|
|
10835
|
-
|
|
10836
|
-
return;
|
|
10837
|
-
}
|
|
10848
|
+
steps = steps.map(toFloat);
|
|
10838
10849
|
|
|
10839
|
-
|
|
10840
|
-
|
|
10850
|
+
return function (css, percent) {
|
|
10851
|
+
css[prop] = getValue(steps, percent);
|
|
10852
|
+
};
|
|
10853
|
+
}
|
|
10841
10854
|
|
|
10842
|
-
|
|
10843
|
-
var img = new Image();
|
|
10844
|
-
img.src = src;
|
|
10845
|
-
data.image = img;
|
|
10855
|
+
function strokeFn(prop, el, steps) {
|
|
10846
10856
|
|
|
10847
|
-
|
|
10848
|
-
|
|
10849
|
-
|
|
10850
|
-
}
|
|
10851
|
-
|
|
10852
|
-
}
|
|
10857
|
+
if (steps.length === 1) {
|
|
10858
|
+
steps.unshift(0);
|
|
10859
|
+
}
|
|
10853
10860
|
|
|
10854
|
-
|
|
10861
|
+
var unit = getUnit(steps);
|
|
10862
|
+
steps = steps.map(toFloat);
|
|
10855
10863
|
|
|
10856
|
-
|
|
10857
|
-
|
|
10858
|
-
|
|
10864
|
+
if (!steps.some(function (step) { return step; })) {
|
|
10865
|
+
return noop;
|
|
10866
|
+
}
|
|
10859
10867
|
|
|
10860
|
-
|
|
10861
|
-
|
|
10862
|
-
height: this.$el.offsetHeight
|
|
10863
|
-
};
|
|
10864
|
-
var dimImage = {
|
|
10865
|
-
width: image.naturalWidth,
|
|
10866
|
-
height: image.naturalHeight
|
|
10867
|
-
};
|
|
10868
|
+
var length = getMaxPathLength(el);
|
|
10869
|
+
css(el, 'strokeDasharray', length);
|
|
10868
10870
|
|
|
10869
|
-
|
|
10871
|
+
if (unit === '%') {
|
|
10872
|
+
steps = steps.map(function (step) { return step * length / 100; });
|
|
10873
|
+
}
|
|
10870
10874
|
|
|
10871
|
-
|
|
10875
|
+
steps = steps.reverse();
|
|
10872
10876
|
|
|
10873
|
-
|
|
10874
|
-
|
|
10875
|
-
|
|
10876
|
-
|
|
10877
|
-
var attr = prop === 'bgy' ? 'height' : 'width';
|
|
10878
|
-
var span = dim[attr] - dimEl[attr];
|
|
10877
|
+
return function (css, percent) {
|
|
10878
|
+
css.strokeDashoffset = getValue(steps, percent);
|
|
10879
|
+
};
|
|
10880
|
+
}
|
|
10879
10881
|
|
|
10880
|
-
|
|
10881
|
-
dimEl[attr] = dim[attr] + diff - span;
|
|
10882
|
-
} else if (span > diff) {
|
|
10882
|
+
function backgroundFn(prop, el, steps) {
|
|
10883
10883
|
|
|
10884
|
-
|
|
10884
|
+
if (steps.length === 1) {
|
|
10885
|
+
steps.unshift(0);
|
|
10886
|
+
}
|
|
10885
10887
|
|
|
10886
|
-
|
|
10887
|
-
|
|
10888
|
-
|
|
10889
|
-
}
|
|
10888
|
+
prop = prop.substr(-1);
|
|
10889
|
+
var attr = prop === 'y' ? 'height' : 'width';
|
|
10890
|
+
steps = steps.map(function (step) { return toPx(step, attr, el); });
|
|
10890
10891
|
|
|
10891
|
-
|
|
10892
|
-
|
|
10892
|
+
css(el, ("background-position-" + prop), '');
|
|
10893
|
+
var bgPos = css(el, 'backgroundPosition').split(' ')[prop === 'x' ? 0 : 1]; // IE 11 can't read background-position-[x|y]
|
|
10893
10894
|
|
|
10894
|
-
|
|
10895
|
-
|
|
10895
|
+
return getCssValue(el, 'backgroundSize', '') === 'cover'
|
|
10896
|
+
? backgroundCoverFn.call(this, prop, el, steps, bgPos, attr)
|
|
10897
|
+
: setBackgroundPosFn(prop, steps, bgPos);
|
|
10898
|
+
}
|
|
10896
10899
|
|
|
10897
|
-
|
|
10898
|
-
var dim = ref.dim;
|
|
10900
|
+
function backgroundCoverFn(prop, el, steps, bgPos, attr) {
|
|
10899
10901
|
|
|
10902
|
+
var image = getBackgroundImage.call(this, el);
|
|
10900
10903
|
|
|
10901
|
-
|
|
10902
|
-
|
|
10903
|
-
|
|
10904
|
-
}
|
|
10904
|
+
if (!image.naturalWidth) {
|
|
10905
|
+
return noop;
|
|
10906
|
+
}
|
|
10905
10907
|
|
|
10906
|
-
|
|
10907
|
-
|
|
10908
|
-
|
|
10909
|
-
});
|
|
10908
|
+
var min = Math.min.apply(Math, steps);
|
|
10909
|
+
var max = Math.max.apply(Math, steps);
|
|
10910
|
+
var down = steps.indexOf(min) < steps.indexOf(max);
|
|
10910
10911
|
|
|
10911
|
-
|
|
10912
|
+
var diff = max - min;
|
|
10913
|
+
var pos = (down ? -diff : 0) - (down ? min : max);
|
|
10912
10914
|
|
|
10913
|
-
|
|
10915
|
+
var dimEl = {
|
|
10916
|
+
width: el.offsetWidth,
|
|
10917
|
+
height: el.offsetHeight
|
|
10918
|
+
};
|
|
10914
10919
|
|
|
10915
|
-
|
|
10920
|
+
var dimImage = {
|
|
10921
|
+
width: image.naturalWidth,
|
|
10922
|
+
height: image.naturalHeight
|
|
10923
|
+
};
|
|
10916
10924
|
|
|
10917
|
-
|
|
10925
|
+
var baseDim = Dimensions.cover(dimImage, dimEl);
|
|
10926
|
+
var span = baseDim[attr] - dimEl[attr];
|
|
10918
10927
|
|
|
10919
|
-
|
|
10920
|
-
|
|
10928
|
+
if (span < diff) {
|
|
10929
|
+
dimEl[attr] = baseDim[attr] + diff - span;
|
|
10930
|
+
} else if (span > diff) {
|
|
10921
10931
|
|
|
10922
|
-
|
|
10923
|
-
},
|
|
10932
|
+
var posPercentage = dimEl[attr] / toPx(bgPos, attr, el, true);
|
|
10924
10933
|
|
|
10925
|
-
|
|
10934
|
+
if (posPercentage) {
|
|
10935
|
+
pos -= (span - diff) / posPercentage;
|
|
10936
|
+
}
|
|
10937
|
+
}
|
|
10926
10938
|
|
|
10927
|
-
|
|
10928
|
-
var props = ref.props;
|
|
10929
|
-
return Object.keys(props).reduce(function (css, prop) {
|
|
10930
|
-
|
|
10931
|
-
var ref = props[prop];
|
|
10932
|
-
var steps = ref.steps;
|
|
10933
|
-
var unit = ref.unit;
|
|
10934
|
-
var pos = ref.pos;
|
|
10935
|
-
var value = getValue(steps, percent);
|
|
10936
|
-
|
|
10937
|
-
switch (prop) {
|
|
10938
|
-
|
|
10939
|
-
// transforms
|
|
10940
|
-
case 'x':
|
|
10941
|
-
case 'y': {
|
|
10942
|
-
unit = unit || 'px';
|
|
10943
|
-
css.transform += " translate" + (ucfirst(prop)) + "(" + (toFloat(value).toFixed(unit === 'px' ? 0 : 2)) + unit + ")";
|
|
10944
|
-
break;
|
|
10945
|
-
}
|
|
10946
|
-
case 'rotate':
|
|
10947
|
-
unit = unit || 'deg';
|
|
10948
|
-
css.transform += " rotate(" + (value + unit) + ")";
|
|
10949
|
-
break;
|
|
10950
|
-
case 'scale':
|
|
10951
|
-
css.transform += " scale(" + value + ")";
|
|
10952
|
-
break;
|
|
10939
|
+
var dim = Dimensions.cover(dimImage, dimEl);
|
|
10953
10940
|
|
|
10954
|
-
|
|
10955
|
-
|
|
10956
|
-
|
|
10957
|
-
|
|
10958
|
-
|
|
10941
|
+
var fn = setBackgroundPosFn(prop, steps, (pos + "px"));
|
|
10942
|
+
return function (css, percent) {
|
|
10943
|
+
fn(css, percent);
|
|
10944
|
+
css.backgroundSize = (dim.width) + "px " + (dim.height) + "px";
|
|
10945
|
+
css.backgroundRepeat = 'no-repeat';
|
|
10946
|
+
};
|
|
10947
|
+
}
|
|
10959
10948
|
|
|
10960
|
-
|
|
10961
|
-
|
|
10962
|
-
|
|
10963
|
-
|
|
10949
|
+
function setBackgroundPosFn(prop, steps, pos) {
|
|
10950
|
+
return function (css, percent) {
|
|
10951
|
+
css[("background-position-" + prop)] = "calc(" + pos + " + " + (getValue(steps, percent)) + "px)";
|
|
10952
|
+
};
|
|
10953
|
+
}
|
|
10964
10954
|
|
|
10965
|
-
|
|
10966
|
-
|
|
10967
|
-
var end = ref$1[1];
|
|
10968
|
-
var p = ref$1[2];
|
|
10955
|
+
function getBackgroundImage(el) {
|
|
10956
|
+
var this$1$1 = this;
|
|
10969
10957
|
|
|
10970
|
-
|
|
10971
|
-
value += p * (end[i] - value);
|
|
10972
|
-
return i === 3 ? toFloat(value) : parseInt(value, 10);
|
|
10973
|
-
}).join(',')) + ")";
|
|
10974
|
-
break;
|
|
10975
|
-
}
|
|
10976
|
-
// CSS Filter
|
|
10977
|
-
case 'blur':
|
|
10978
|
-
unit = unit || 'px';
|
|
10979
|
-
css.filter += " blur(" + (value + unit) + ")";
|
|
10980
|
-
break;
|
|
10981
|
-
case 'hue':
|
|
10982
|
-
unit = unit || 'deg';
|
|
10983
|
-
css.filter += " hue-rotate(" + (value + unit) + ")";
|
|
10984
|
-
break;
|
|
10985
|
-
case 'fopacity':
|
|
10986
|
-
unit = unit || '%';
|
|
10987
|
-
css.filter += " opacity(" + (value + unit) + ")";
|
|
10988
|
-
break;
|
|
10989
|
-
case 'grayscale':
|
|
10990
|
-
case 'invert':
|
|
10991
|
-
case 'saturate':
|
|
10992
|
-
case 'sepia':
|
|
10993
|
-
unit = unit || '%';
|
|
10994
|
-
css.filter += " " + prop + "(" + (value + unit) + ")";
|
|
10995
|
-
break;
|
|
10996
|
-
default:
|
|
10997
|
-
css[prop] = value;
|
|
10998
|
-
}
|
|
10958
|
+
var src = css(el, 'backgroundImage').replace(/^none|url\(["']?(.+?)["']?\)$/, '$1');
|
|
10999
10959
|
|
|
11000
|
-
|
|
10960
|
+
var data = this._data;
|
|
11001
10961
|
|
|
11002
|
-
|
|
10962
|
+
if (data[src]) {
|
|
10963
|
+
return data[src];
|
|
10964
|
+
}
|
|
11003
10965
|
|
|
10966
|
+
if (src) {
|
|
10967
|
+
var img = new Image();
|
|
10968
|
+
img.src = src;
|
|
10969
|
+
if (!img.naturalWidth) {
|
|
10970
|
+
img.onload = function () { return this$1$1.$update(); };
|
|
11004
10971
|
}
|
|
11005
10972
|
|
|
10973
|
+
return data[src] = img;
|
|
11006
10974
|
}
|
|
11007
|
-
|
|
11008
|
-
};
|
|
11009
|
-
|
|
11010
|
-
function parseColor(el, color) {
|
|
11011
|
-
return css(css(el, 'color', color), 'color')
|
|
11012
|
-
.split(/[(),]/g)
|
|
11013
|
-
.slice(1, -1)
|
|
11014
|
-
.concat(1)
|
|
11015
|
-
.slice(0, 4)
|
|
11016
|
-
.map(toFloat);
|
|
11017
10975
|
}
|
|
11018
10976
|
|
|
11019
10977
|
function getStep(steps, percent) {
|
|
11020
10978
|
var count = steps.length - 1;
|
|
11021
10979
|
var index = Math.min(Math.floor(count * percent), count - 1);
|
|
11022
|
-
var step = steps.slice(index, index + 2);
|
|
11023
|
-
|
|
11024
|
-
step.push(percent === 1 ? 1 : percent % (1 / count) * count);
|
|
11025
10980
|
|
|
11026
|
-
return
|
|
10981
|
+
return steps
|
|
10982
|
+
.slice(index, index + 2)
|
|
10983
|
+
.concat(percent === 1 ? 1 : percent % (1 / count) * count);
|
|
11027
10984
|
}
|
|
11028
10985
|
|
|
11029
|
-
function getValue(steps, percent
|
|
11030
|
-
if ( digits === void 0 ) digits = 2;
|
|
11031
|
-
|
|
10986
|
+
function getValue(steps, percent) {
|
|
11032
10987
|
var ref = getStep(steps, percent);
|
|
11033
10988
|
var start = ref[0];
|
|
11034
10989
|
var end = ref[1];
|
|
11035
10990
|
var p = ref[2];
|
|
11036
|
-
return
|
|
10991
|
+
return isNumber(start)
|
|
11037
10992
|
? start + Math.abs(start - end) * p * (start < end ? 1 : -1)
|
|
11038
|
-
: +end
|
|
11039
|
-
).toFixed(digits);
|
|
10993
|
+
: +end;
|
|
11040
10994
|
}
|
|
11041
10995
|
|
|
11042
|
-
function getUnit(steps) {
|
|
11043
|
-
return steps.reduce(function (unit, step) { return isString(step) && step.replace(
|
|
10996
|
+
function getUnit(steps, defaultUnit) {
|
|
10997
|
+
return steps.reduce(function (unit, step) { return unit || isString(step) && step.replace(/[\d-]/g, '').trim(); }, '') || defaultUnit;
|
|
11044
10998
|
}
|
|
11045
10999
|
|
|
11046
|
-
function
|
|
11047
|
-
var
|
|
11048
|
-
var
|
|
11049
|
-
|
|
11050
|
-
|
|
11051
|
-
|
|
11000
|
+
function getCssValue(el, prop, value) {
|
|
11001
|
+
var prev = el.style[prop];
|
|
11002
|
+
var val = css(css(el, prop, value), prop);
|
|
11003
|
+
el.style[prop] = prev;
|
|
11004
|
+
return val;
|
|
11005
|
+
}
|
|
11006
|
+
|
|
11007
|
+
function fillObject(keys, value) {
|
|
11008
|
+
return keys.reduce(function (data, prop) {
|
|
11009
|
+
data[prop] = value;
|
|
11010
|
+
return data;
|
|
11011
|
+
}, {});
|
|
11052
11012
|
}
|
|
11053
11013
|
|
|
11054
11014
|
var parallax = {
|
|
@@ -11057,14 +11017,18 @@
|
|
|
11057
11017
|
|
|
11058
11018
|
props: {
|
|
11059
11019
|
target: String,
|
|
11060
|
-
viewport: Number,
|
|
11061
|
-
easing: Number
|
|
11020
|
+
viewport: Number, // Deprecated
|
|
11021
|
+
easing: Number,
|
|
11022
|
+
start: String,
|
|
11023
|
+
end: String
|
|
11062
11024
|
},
|
|
11063
11025
|
|
|
11064
11026
|
data: {
|
|
11065
11027
|
target: false,
|
|
11066
11028
|
viewport: 1,
|
|
11067
|
-
easing: 1
|
|
11029
|
+
easing: 1,
|
|
11030
|
+
start: 0,
|
|
11031
|
+
end: 0
|
|
11068
11032
|
},
|
|
11069
11033
|
|
|
11070
11034
|
computed: {
|
|
@@ -11073,6 +11037,22 @@
|
|
|
11073
11037
|
var target = ref.target;
|
|
11074
11038
|
|
|
11075
11039
|
return getOffsetElement(target && query(target, $el) || $el);
|
|
11040
|
+
},
|
|
11041
|
+
|
|
11042
|
+
start: function(ref) {
|
|
11043
|
+
var start = ref.start;
|
|
11044
|
+
|
|
11045
|
+
return parseCalc(start, this.target);
|
|
11046
|
+
},
|
|
11047
|
+
|
|
11048
|
+
end: function(ref) {
|
|
11049
|
+
var end = ref.end;
|
|
11050
|
+
var viewport = ref.viewport;
|
|
11051
|
+
|
|
11052
|
+
return parseCalc(
|
|
11053
|
+
end || (viewport = (1 - viewport) * 100) && (viewport + "vh+" + viewport + "%"),
|
|
11054
|
+
this.target
|
|
11055
|
+
);
|
|
11076
11056
|
}
|
|
11077
11057
|
|
|
11078
11058
|
},
|
|
@@ -11092,11 +11072,11 @@
|
|
|
11092
11072
|
}
|
|
11093
11073
|
|
|
11094
11074
|
var prev = percent;
|
|
11095
|
-
percent = ease(scrolledOver(this.target
|
|
11075
|
+
percent = ease(scrolledOver(this.target, this.start, this.end), this.easing);
|
|
11096
11076
|
|
|
11097
11077
|
return {
|
|
11098
11078
|
percent: percent,
|
|
11099
|
-
style: prev
|
|
11079
|
+
style: prev === percent ? false : this.getCss(percent)
|
|
11100
11080
|
};
|
|
11101
11081
|
},
|
|
11102
11082
|
|
|
@@ -11118,8 +11098,23 @@
|
|
|
11118
11098
|
|
|
11119
11099
|
};
|
|
11120
11100
|
|
|
11101
|
+
var calcRe = /-?\d+(?:\.\d+)?(?:v[wh]|%|px)?/g;
|
|
11102
|
+
function parseCalc(calc, el) {
|
|
11103
|
+
var match;
|
|
11104
|
+
var result = 0;
|
|
11105
|
+
calc = calc.toString().replace(/\s/g, '');
|
|
11106
|
+
calcRe.lastIndex = 0;
|
|
11107
|
+
while ((match = calcRe.exec(calc)) !== null) {
|
|
11108
|
+
result += toPx(match[0], 'height', el, true);
|
|
11109
|
+
}
|
|
11110
|
+
|
|
11111
|
+
return result;
|
|
11112
|
+
}
|
|
11113
|
+
|
|
11121
11114
|
function ease(percent, easing) {
|
|
11122
|
-
return
|
|
11115
|
+
return easing >= 0
|
|
11116
|
+
? Math.pow(percent, easing + 1)
|
|
11117
|
+
: 1 - Math.pow(1 - percent, -easing + 1);
|
|
11123
11118
|
}
|
|
11124
11119
|
|
|
11125
11120
|
// SVG elements do not inherit from HTMLElement
|
|
@@ -11128,7 +11123,7 @@
|
|
|
11128
11123
|
? 'offsetTop' in el
|
|
11129
11124
|
? el
|
|
11130
11125
|
: getOffsetElement(parent(el))
|
|
11131
|
-
: document.
|
|
11126
|
+
: document.documentElement;
|
|
11132
11127
|
}
|
|
11133
11128
|
|
|
11134
11129
|
var SliderReactive = {
|