uikit 3.11.1 → 3.11.2-dev.28b7953b9
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 +29 -0
- package/dist/css/uikit-core-rtl.css +1 -1
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +1 -1
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +1 -1
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +1 -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 +37 -41
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +32 -25
- 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 +32 -25
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +36 -1
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +2 -3
- 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 +285 -224
- 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 +383 -292
- package/dist/js/uikit.min.js +1 -1
- package/package.json +1 -1
- package/src/js/api/component.js +1 -1
- package/src/js/api/state.js +20 -24
- package/src/js/components/parallax.js +5 -16
- package/src/js/components/slider.js +1 -1
- package/src/js/components/slideshow.js +32 -1
- package/src/js/components/sortable.js +1 -2
- package/src/js/core/core.js +2 -2
- package/src/js/core/drop.js +1 -1
- package/src/js/core/height-viewport.js +2 -2
- package/src/js/core/img.js +114 -98
- package/src/js/core/navbar.js +6 -2
- package/src/js/core/sticky.js +82 -50
- package/src/js/mixin/parallax.js +32 -21
- package/src/js/util/dimensions.js +28 -12
- package/src/js/util/fastdom.js +2 -2
- package/src/js/util/options.js +4 -4
- package/src/js/util/viewport.js +7 -3
- package/tests/image.html +31 -41
- package/tests/images/test.avif +0 -0
- package/tests/images/test.webp +0 -0
- package/tests/sticky-parallax.html +44 -41
- package/tests/sticky.html +56 -24
package/dist/js/uikit-core.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! UIkit 3.11.
|
|
1
|
+
/*! UIkit 3.11.2-dev.28b7953b9 | 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() :
|
|
@@ -1750,19 +1750,35 @@
|
|
|
1750
1750
|
if ( element === void 0 ) element = window;
|
|
1751
1751
|
if ( offsetDim === void 0 ) offsetDim = false;
|
|
1752
1752
|
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1753
|
+
|
|
1754
|
+
if (!isString(value)) {
|
|
1755
|
+
return toFloat(value);
|
|
1756
|
+
}
|
|
1757
|
+
|
|
1758
|
+
return parseCalc(value).reduce(function (result, value) {
|
|
1759
|
+
var unit = parseUnit(value);
|
|
1760
|
+
if (unit) {
|
|
1761
|
+
value = percent(
|
|
1762
|
+
unit === 'vh'
|
|
1763
|
+
? height(toWindow(element))
|
|
1764
|
+
: unit === 'vw'
|
|
1765
|
+
? width(toWindow(element))
|
|
1766
|
+
: offsetDim
|
|
1767
|
+
? element[("offset" + (ucfirst(property)))]
|
|
1768
|
+
: dimensions(element)[property],
|
|
1769
|
+
value
|
|
1770
|
+
);
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1773
|
+
return result + toFloat(value);
|
|
1774
|
+
}, 0);
|
|
1764
1775
|
}
|
|
1765
1776
|
|
|
1777
|
+
var calcRe = /-?\d+(?:\.\d+)?(?:v[wh]|%|px)?/g;
|
|
1778
|
+
var parseCalc = memoize(function (calc) { return calc.toString().replace(/\s/g, '').match(calcRe) || []; });
|
|
1779
|
+
var unitRe = /(?:v[hw]|%)$/;
|
|
1780
|
+
var parseUnit = memoize(function (str) { return (str.match(unitRe) || [])[0]; });
|
|
1781
|
+
|
|
1766
1782
|
function percent(base, value) {
|
|
1767
1783
|
return base * toFloat(value) / 100;
|
|
1768
1784
|
}
|
|
@@ -1800,8 +1816,6 @@
|
|
|
1800
1816
|
};
|
|
1801
1817
|
|
|
1802
1818
|
function flush(recursion) {
|
|
1803
|
-
if ( recursion === void 0 ) recursion = 1;
|
|
1804
|
-
|
|
1805
1819
|
runTasks(fastdom.reads);
|
|
1806
1820
|
runTasks(fastdom.writes.splice(0));
|
|
1807
1821
|
|
|
@@ -1823,7 +1837,7 @@
|
|
|
1823
1837
|
if (recursion && recursion < RECURSION_LIMIT) {
|
|
1824
1838
|
Promise$1.resolve().then(function () { return flush(recursion); });
|
|
1825
1839
|
} else {
|
|
1826
|
-
requestAnimationFrame(function () { return flush(); });
|
|
1840
|
+
requestAnimationFrame(function () { return flush(1); });
|
|
1827
1841
|
}
|
|
1828
1842
|
|
|
1829
1843
|
}
|
|
@@ -2079,9 +2093,8 @@
|
|
|
2079
2093
|
|
|
2080
2094
|
try {
|
|
2081
2095
|
|
|
2082
|
-
return
|
|
2083
|
-
? {
|
|
2084
|
-
: startsWith(options, '{')
|
|
2096
|
+
return options
|
|
2097
|
+
? startsWith(options, '{')
|
|
2085
2098
|
? JSON.parse(options)
|
|
2086
2099
|
: args.length && !includes(options, ':')
|
|
2087
2100
|
? (( obj = {}, obj[args[0]] = options, obj ))
|
|
@@ -2093,7 +2106,8 @@
|
|
|
2093
2106
|
options[key.trim()] = value.trim();
|
|
2094
2107
|
}
|
|
2095
2108
|
return options;
|
|
2096
|
-
}, {})
|
|
2109
|
+
}, {})
|
|
2110
|
+
: {};
|
|
2097
2111
|
|
|
2098
2112
|
} catch (e) {
|
|
2099
2113
|
return {};
|
|
@@ -2241,7 +2255,11 @@
|
|
|
2241
2255
|
element = toNode(element);
|
|
2242
2256
|
}
|
|
2243
2257
|
|
|
2244
|
-
|
|
2258
|
+
if (isUndefined(top)) {
|
|
2259
|
+
return element.scrollTop;
|
|
2260
|
+
} else {
|
|
2261
|
+
element.scrollTop = top;
|
|
2262
|
+
}
|
|
2245
2263
|
}
|
|
2246
2264
|
|
|
2247
2265
|
function scrollIntoView(element, ref) {
|
|
@@ -2673,7 +2691,8 @@
|
|
|
2673
2691
|
scrolledOver: scrolledOver,
|
|
2674
2692
|
scrollParents: scrollParents,
|
|
2675
2693
|
getViewport: getViewport$1,
|
|
2676
|
-
getViewportClientHeight: getViewportClientHeight
|
|
2694
|
+
getViewportClientHeight: getViewportClientHeight,
|
|
2695
|
+
getScrollingElement: getScrollingElement
|
|
2677
2696
|
});
|
|
2678
2697
|
|
|
2679
2698
|
function globalAPI (UIkit) {
|
|
@@ -3137,11 +3156,11 @@
|
|
|
3137
3156
|
on(
|
|
3138
3157
|
el,
|
|
3139
3158
|
name,
|
|
3140
|
-
|
|
3141
|
-
?
|
|
3142
|
-
: isString(delegate)
|
|
3159
|
+
delegate
|
|
3160
|
+
? isString(delegate)
|
|
3143
3161
|
? delegate
|
|
3144
|
-
: delegate.call(component)
|
|
3162
|
+
: delegate.call(component)
|
|
3163
|
+
: null,
|
|
3145
3164
|
isString(handler) ? component[handler] : handler.bind(component),
|
|
3146
3165
|
{passive: passive, capture: capture, self: self}
|
|
3147
3166
|
)
|
|
@@ -3177,30 +3196,26 @@
|
|
|
3177
3196
|
}
|
|
3178
3197
|
|
|
3179
3198
|
function normalizeData(ref, ref$1) {
|
|
3180
|
-
var data = ref.data;
|
|
3181
|
-
var args = ref$1.args;
|
|
3199
|
+
var data = ref.data; if ( data === void 0 ) data = {};
|
|
3200
|
+
var args = ref$1.args; if ( args === void 0 ) args = [];
|
|
3182
3201
|
var props = ref$1.props; if ( props === void 0 ) props = {};
|
|
3183
3202
|
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
assign(data, value);
|
|
3189
|
-
} else {
|
|
3190
|
-
data[args[index]] = value;
|
|
3191
|
-
}
|
|
3192
|
-
return data;
|
|
3193
|
-
}, {})
|
|
3194
|
-
: undefined
|
|
3195
|
-
: data;
|
|
3196
|
-
|
|
3197
|
-
if (data) {
|
|
3198
|
-
for (var key in data) {
|
|
3199
|
-
if (isUndefined(data[key])) {
|
|
3200
|
-
delete data[key];
|
|
3203
|
+
if (isArray(data)) {
|
|
3204
|
+
data = data.slice(0, args.length).reduce(function (data, value, index) {
|
|
3205
|
+
if (isPlainObject(value)) {
|
|
3206
|
+
assign(data, value);
|
|
3201
3207
|
} else {
|
|
3202
|
-
data[
|
|
3208
|
+
data[args[index]] = value;
|
|
3203
3209
|
}
|
|
3210
|
+
return data;
|
|
3211
|
+
}, {});
|
|
3212
|
+
}
|
|
3213
|
+
|
|
3214
|
+
for (var key in data) {
|
|
3215
|
+
if (isUndefined(data[key])) {
|
|
3216
|
+
delete data[key];
|
|
3217
|
+
} else if (props[key]) {
|
|
3218
|
+
data[key] = coerce(props[key], data[key]);
|
|
3204
3219
|
}
|
|
3205
3220
|
}
|
|
3206
3221
|
|
|
@@ -3382,7 +3397,7 @@
|
|
|
3382
3397
|
|
|
3383
3398
|
return component.options.functional
|
|
3384
3399
|
? new component({data: isPlainObject(element) ? element : [].concat( argsArray )})
|
|
3385
|
-
:
|
|
3400
|
+
: element ? $$(element).map(init)[0] : init();
|
|
3386
3401
|
|
|
3387
3402
|
function init(element) {
|
|
3388
3403
|
|
|
@@ -3462,7 +3477,7 @@
|
|
|
3462
3477
|
UIkit.data = '__uikit__';
|
|
3463
3478
|
UIkit.prefix = 'uk-';
|
|
3464
3479
|
UIkit.options = {};
|
|
3465
|
-
UIkit.version = '3.11.
|
|
3480
|
+
UIkit.version = '3.11.2-dev.28b7953b9';
|
|
3466
3481
|
|
|
3467
3482
|
globalAPI(UIkit);
|
|
3468
3483
|
hooksAPI(UIkit);
|
|
@@ -3483,7 +3498,7 @@
|
|
|
3483
3498
|
return;
|
|
3484
3499
|
}
|
|
3485
3500
|
pendingResize = true;
|
|
3486
|
-
fastdom.
|
|
3501
|
+
fastdom.read(function () { return pendingResize = false; });
|
|
3487
3502
|
UIkit.update(null, 'resize');
|
|
3488
3503
|
};
|
|
3489
3504
|
|
|
@@ -3502,7 +3517,7 @@
|
|
|
3502
3517
|
return;
|
|
3503
3518
|
}
|
|
3504
3519
|
pending = true;
|
|
3505
|
-
fastdom.
|
|
3520
|
+
fastdom.read(function () { return pending = false; });
|
|
3506
3521
|
|
|
3507
3522
|
UIkit.update(null, e.type);
|
|
3508
3523
|
|
|
@@ -4588,7 +4603,7 @@
|
|
|
4588
4603
|
if (active$1) {
|
|
4589
4604
|
|
|
4590
4605
|
if (delay && active$1.isDelaying) {
|
|
4591
|
-
this.showTimer = setTimeout(this.show, 10);
|
|
4606
|
+
this.showTimer = setTimeout(function () { return matches(target, ':hover') && this$1$1.show(); }, 10);
|
|
4592
4607
|
return;
|
|
4593
4608
|
}
|
|
4594
4609
|
|
|
@@ -5312,7 +5327,7 @@
|
|
|
5312
5327
|
css(this.$el, {minHeight: minHeight});
|
|
5313
5328
|
|
|
5314
5329
|
if (minHeight !== prev) {
|
|
5315
|
-
|
|
5330
|
+
trigger(this.$el, 'resize');
|
|
5316
5331
|
}
|
|
5317
5332
|
|
|
5318
5333
|
if (this.minHeight && toFloat(css(this.$el, 'minHeight')) < this.minHeight) {
|
|
@@ -5783,16 +5798,16 @@
|
|
|
5783
5798
|
return isRtl ? swap(swap(icon, 'left', 'right'), 'previous', 'next') : icon;
|
|
5784
5799
|
}
|
|
5785
5800
|
|
|
5801
|
+
var nativeLazyLoad = 'loading' in HTMLImageElement.prototype;
|
|
5802
|
+
var nativeIsIntersecting = 'isIntersecting' in IntersectionObserverEntry.prototype; // Old chromium based browsers (UC Browser) did not implement `isIntersecting`
|
|
5803
|
+
|
|
5786
5804
|
var img = {
|
|
5787
5805
|
|
|
5788
5806
|
args: 'dataSrc',
|
|
5789
5807
|
|
|
5790
5808
|
props: {
|
|
5791
5809
|
dataSrc: String,
|
|
5792
|
-
|
|
5793
|
-
sizes: String,
|
|
5794
|
-
width: Number,
|
|
5795
|
-
height: Number,
|
|
5810
|
+
dataSources: String,
|
|
5796
5811
|
offsetTop: String,
|
|
5797
5812
|
offsetLeft: String,
|
|
5798
5813
|
target: String
|
|
@@ -5800,10 +5815,7 @@
|
|
|
5800
5815
|
|
|
5801
5816
|
data: {
|
|
5802
5817
|
dataSrc: '',
|
|
5803
|
-
|
|
5804
|
-
sizes: false,
|
|
5805
|
-
width: false,
|
|
5806
|
-
height: false,
|
|
5818
|
+
dataSources: [],
|
|
5807
5819
|
offsetTop: '50vh',
|
|
5808
5820
|
offsetLeft: '50vw',
|
|
5809
5821
|
target: false
|
|
@@ -5811,37 +5823,6 @@
|
|
|
5811
5823
|
|
|
5812
5824
|
computed: {
|
|
5813
5825
|
|
|
5814
|
-
cacheKey: function(ref) {
|
|
5815
|
-
var dataSrc = ref.dataSrc;
|
|
5816
|
-
|
|
5817
|
-
return ((this.$name) + "." + dataSrc);
|
|
5818
|
-
},
|
|
5819
|
-
|
|
5820
|
-
width: function(ref) {
|
|
5821
|
-
var width = ref.width;
|
|
5822
|
-
var dataWidth = ref.dataWidth;
|
|
5823
|
-
|
|
5824
|
-
return width || dataWidth;
|
|
5825
|
-
},
|
|
5826
|
-
|
|
5827
|
-
height: function(ref) {
|
|
5828
|
-
var height = ref.height;
|
|
5829
|
-
var dataHeight = ref.dataHeight;
|
|
5830
|
-
|
|
5831
|
-
return height || dataHeight;
|
|
5832
|
-
},
|
|
5833
|
-
|
|
5834
|
-
sizes: function(ref) {
|
|
5835
|
-
var sizes = ref.sizes;
|
|
5836
|
-
var dataSizes = ref.dataSizes;
|
|
5837
|
-
|
|
5838
|
-
return sizes || dataSizes;
|
|
5839
|
-
},
|
|
5840
|
-
|
|
5841
|
-
isImg: function(_, $el) {
|
|
5842
|
-
return isImg($el);
|
|
5843
|
-
},
|
|
5844
|
-
|
|
5845
5826
|
target: {
|
|
5846
5827
|
|
|
5847
5828
|
get: function(ref) {
|
|
@@ -5854,40 +5835,31 @@
|
|
|
5854
5835
|
this.observe();
|
|
5855
5836
|
}
|
|
5856
5837
|
|
|
5857
|
-
},
|
|
5858
|
-
|
|
5859
|
-
offsetTop: function(ref) {
|
|
5860
|
-
var offsetTop = ref.offsetTop;
|
|
5861
|
-
|
|
5862
|
-
return toPx(offsetTop, 'height');
|
|
5863
|
-
},
|
|
5864
|
-
|
|
5865
|
-
offsetLeft: function(ref) {
|
|
5866
|
-
var offsetLeft = ref.offsetLeft;
|
|
5867
|
-
|
|
5868
|
-
return toPx(offsetLeft, 'width');
|
|
5869
5838
|
}
|
|
5870
5839
|
|
|
5871
5840
|
},
|
|
5872
5841
|
|
|
5873
5842
|
connected: function() {
|
|
5874
5843
|
|
|
5875
|
-
if (!window.IntersectionObserver) {
|
|
5876
|
-
setSrcAttrs(this.$el, this.dataSrc
|
|
5844
|
+
if (!window.IntersectionObserver || !nativeIsIntersecting) {
|
|
5845
|
+
setSrcAttrs(this.$el, this.dataSrc);
|
|
5877
5846
|
return;
|
|
5878
5847
|
}
|
|
5879
5848
|
|
|
5880
|
-
if (
|
|
5881
|
-
|
|
5882
|
-
|
|
5883
|
-
|
|
5849
|
+
if (nativeLazyLoad && isImg(this.$el)) {
|
|
5850
|
+
this.$el.loading = 'lazy';
|
|
5851
|
+
setSrcAttrs(this.$el);
|
|
5852
|
+
|
|
5853
|
+
if (this.target.length === 1) {
|
|
5854
|
+
return;
|
|
5855
|
+
}
|
|
5884
5856
|
}
|
|
5885
5857
|
|
|
5886
|
-
|
|
5887
|
-
rootMargin: ((this.offsetTop) + "px " + (this.offsetLeft) + "px")
|
|
5888
|
-
});
|
|
5858
|
+
ensureSrcAttribute(this.$el);
|
|
5889
5859
|
|
|
5890
|
-
|
|
5860
|
+
var rootMargin = (toPx(this.offsetTop, 'height')) + "px " + (toPx(this.offsetLeft, 'width')) + "px";
|
|
5861
|
+
this.observer = new IntersectionObserver(this.load, {rootMargin: rootMargin});
|
|
5862
|
+
this.observe();
|
|
5891
5863
|
|
|
5892
5864
|
},
|
|
5893
5865
|
|
|
@@ -5897,35 +5869,17 @@
|
|
|
5897
5869
|
|
|
5898
5870
|
update: {
|
|
5899
5871
|
|
|
5900
|
-
|
|
5901
|
-
|
|
5902
|
-
var image = ref.image;
|
|
5903
|
-
|
|
5904
|
-
|
|
5905
|
-
if (!this.observer) {
|
|
5872
|
+
write: function(store) {
|
|
5873
|
+
if (!this.observer || isImg(this.$el)) {
|
|
5906
5874
|
return false;
|
|
5907
5875
|
}
|
|
5908
|
-
|
|
5909
|
-
if (
|
|
5910
|
-
this.load(this.observer.takeRecords());
|
|
5911
|
-
}
|
|
5912
|
-
|
|
5913
|
-
if (this.isImg) {
|
|
5914
|
-
return false;
|
|
5915
|
-
}
|
|
5916
|
-
|
|
5917
|
-
image && image.then(function (img) { return img && img.currentSrc !== '' && setSrcAttrs(this$1$1.$el, currentSrc(img)); });
|
|
5918
|
-
|
|
5919
|
-
},
|
|
5920
|
-
|
|
5921
|
-
write: function(data) {
|
|
5922
|
-
|
|
5923
|
-
if (this.dataSrcset && window.devicePixelRatio !== 1) {
|
|
5876
|
+
var srcset = data(this.$el, 'data-srcset');
|
|
5877
|
+
if (srcset && window.devicePixelRatio !== 1) {
|
|
5924
5878
|
|
|
5925
5879
|
var bgSize = css(this.$el, 'backgroundSize');
|
|
5926
|
-
if (bgSize.match(/^(auto\s?)+$/) || toFloat(bgSize) ===
|
|
5927
|
-
|
|
5928
|
-
css(this.$el, 'backgroundSize', ((
|
|
5880
|
+
if (bgSize.match(/^(auto\s?)+$/) || toFloat(bgSize) === store.bgSize) {
|
|
5881
|
+
store.bgSize = getSourceSize(srcset, data(this.$el, 'sizes'));
|
|
5882
|
+
css(this.$el, 'backgroundSize', ((store.bgSize) + "px"));
|
|
5929
5883
|
}
|
|
5930
5884
|
|
|
5931
5885
|
}
|
|
@@ -5939,21 +5893,26 @@
|
|
|
5939
5893
|
methods: {
|
|
5940
5894
|
|
|
5941
5895
|
load: function(entries) {
|
|
5942
|
-
var this$1$1 = this;
|
|
5943
5896
|
|
|
5944
|
-
|
|
5945
|
-
// Old chromium based browsers (UC Browser) did not implement `isIntersecting`
|
|
5946
|
-
if (!entries.some(function (entry) { return isUndefined(entry.isIntersecting) || entry.isIntersecting; })) {
|
|
5897
|
+
if (!entries.some(function (entry) { return entry.isIntersecting; })) {
|
|
5947
5898
|
return;
|
|
5948
5899
|
}
|
|
5949
5900
|
|
|
5950
|
-
this._data.image
|
|
5901
|
+
if (this._data.image) {
|
|
5902
|
+
return this._data.image;
|
|
5903
|
+
}
|
|
5951
5904
|
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5905
|
+
var image = isImg(this.$el)
|
|
5906
|
+
? this.$el
|
|
5907
|
+
: getImageFromElement(
|
|
5908
|
+
this.$el,
|
|
5909
|
+
this.dataSrc,
|
|
5910
|
+
this.dataSources
|
|
5911
|
+
);
|
|
5955
5912
|
|
|
5956
|
-
|
|
5913
|
+
this._data.image = image;
|
|
5914
|
+
image.loading = 'eager';
|
|
5915
|
+
setSrcAttrs(this.$el, image.currentSrc);
|
|
5957
5916
|
|
|
5958
5917
|
this.observer.disconnect();
|
|
5959
5918
|
},
|
|
@@ -5970,13 +5929,14 @@
|
|
|
5970
5929
|
|
|
5971
5930
|
};
|
|
5972
5931
|
|
|
5973
|
-
function setSrcAttrs(el, src
|
|
5932
|
+
function setSrcAttrs(el, src) {
|
|
5974
5933
|
|
|
5975
5934
|
if (isImg(el)) {
|
|
5976
|
-
|
|
5977
|
-
|
|
5978
|
-
|
|
5979
|
-
|
|
5935
|
+
|
|
5936
|
+
var parentNode = parent(el);
|
|
5937
|
+
var elements = isPicture(parentNode) ? children(parentNode) : [el];
|
|
5938
|
+
elements.forEach(function (el) { return setSourceProps(el, el); });
|
|
5939
|
+
|
|
5980
5940
|
} else if (src) {
|
|
5981
5941
|
|
|
5982
5942
|
var change = !includes(el.style.backgroundImage, src);
|
|
@@ -5989,15 +5949,66 @@
|
|
|
5989
5949
|
|
|
5990
5950
|
}
|
|
5991
5951
|
|
|
5992
|
-
|
|
5993
|
-
|
|
5952
|
+
var srcProps = ['data-src', 'data-srcset', 'sizes'];
|
|
5953
|
+
function setSourceProps(sourceEl, targetEl) {
|
|
5954
|
+
srcProps.forEach(function (prop) {
|
|
5955
|
+
var value = data(sourceEl, prop);
|
|
5956
|
+
if (value) {
|
|
5957
|
+
attr(targetEl, prop.replace(/^(data-)+/, ''), value);
|
|
5958
|
+
}
|
|
5959
|
+
});
|
|
5960
|
+
}
|
|
5961
|
+
|
|
5962
|
+
function getImageFromElement(el, src, sources) {
|
|
5963
|
+
|
|
5964
|
+
if (!src) {
|
|
5965
|
+
return false;
|
|
5966
|
+
}
|
|
5967
|
+
|
|
5968
|
+
var img = new Image();
|
|
5994
5969
|
|
|
5970
|
+
wrapInPicture(img, sources);
|
|
5971
|
+
setSourceProps(el, img);
|
|
5972
|
+
img.onload = function () { return setSrcAttrs(el, img.currentSrc); };
|
|
5973
|
+
attr(img, 'src', src);
|
|
5974
|
+
return img;
|
|
5975
|
+
}
|
|
5976
|
+
|
|
5977
|
+
function wrapInPicture(img, sources) {
|
|
5978
|
+
|
|
5979
|
+
sources = parseSources(sources);
|
|
5980
|
+
|
|
5981
|
+
if (sources.length) {
|
|
5982
|
+
var picture = fragment('<picture>');
|
|
5983
|
+
sources.forEach(function (attrs) {
|
|
5984
|
+
var source = fragment('<source>');
|
|
5985
|
+
attr(source, attrs);
|
|
5986
|
+
append(picture, source);
|
|
5987
|
+
});
|
|
5988
|
+
append(picture, img);
|
|
5989
|
+
}
|
|
5990
|
+
}
|
|
5991
|
+
|
|
5992
|
+
function parseSources(sources) {
|
|
5993
|
+
if (!sources) {
|
|
5994
|
+
return [];
|
|
5995
|
+
}
|
|
5996
|
+
|
|
5997
|
+
if (startsWith(sources, '[')) {
|
|
5998
|
+
try {
|
|
5999
|
+
sources = JSON.parse(sources);
|
|
6000
|
+
} catch (e) {
|
|
6001
|
+
sources = [];
|
|
6002
|
+
}
|
|
6003
|
+
} else {
|
|
6004
|
+
sources = parseOptions(sources);
|
|
6005
|
+
}
|
|
5995
6006
|
|
|
5996
|
-
if (
|
|
5997
|
-
|
|
6007
|
+
if (!isArray(sources)) {
|
|
6008
|
+
sources = [sources];
|
|
5998
6009
|
}
|
|
5999
6010
|
|
|
6000
|
-
return (
|
|
6011
|
+
return sources.filter(function (source) { return !isEmpty(source); });
|
|
6001
6012
|
}
|
|
6002
6013
|
|
|
6003
6014
|
var sizesRe = /\s*(.*?)\s*(\w+|calc\(.*?\))\s*(?:,|$)/g;
|
|
@@ -6037,24 +6048,22 @@
|
|
|
6037
6048
|
return descriptors.filter(function (size) { return size >= srcSize; })[0] || descriptors.pop() || '';
|
|
6038
6049
|
}
|
|
6039
6050
|
|
|
6040
|
-
function
|
|
6041
|
-
|
|
6051
|
+
function ensureSrcAttribute(el) {
|
|
6052
|
+
if (isImg(el) && !hasAttr(el, 'src')) {
|
|
6053
|
+
attr(el, 'src', 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"></svg>');
|
|
6054
|
+
}
|
|
6042
6055
|
}
|
|
6043
6056
|
|
|
6044
|
-
function
|
|
6045
|
-
return el
|
|
6057
|
+
function isPicture(el) {
|
|
6058
|
+
return isA(el, 'PICTURE');
|
|
6046
6059
|
}
|
|
6047
6060
|
|
|
6048
|
-
|
|
6049
|
-
|
|
6061
|
+
function isImg(el) {
|
|
6062
|
+
return isA(el, 'IMG');
|
|
6063
|
+
}
|
|
6050
6064
|
|
|
6051
|
-
|
|
6052
|
-
|
|
6053
|
-
storage = window.sessionStorage || {};
|
|
6054
|
-
storage[key] = 1;
|
|
6055
|
-
delete storage[key];
|
|
6056
|
-
} catch (e) {
|
|
6057
|
-
storage = {};
|
|
6065
|
+
function isA(el, tagName) {
|
|
6066
|
+
return el && el.tagName === tagName;
|
|
6058
6067
|
}
|
|
6059
6068
|
|
|
6060
6069
|
var Media = {
|
|
@@ -6720,7 +6729,7 @@
|
|
|
6720
6729
|
var current = ref.current;
|
|
6721
6730
|
|
|
6722
6731
|
var active = this.getActive();
|
|
6723
|
-
if (active && includes(active.mode, 'hover') && active.target && !within(active.target, current) && !active.
|
|
6732
|
+
if (active && includes(active.mode, 'hover') && active.target && !within(active.target, current) && !active.isDelaying) {
|
|
6724
6733
|
active.hide(false);
|
|
6725
6734
|
}
|
|
6726
6735
|
}
|
|
@@ -6895,7 +6904,11 @@
|
|
|
6895
6904
|
|
|
6896
6905
|
var active = this.getActive();
|
|
6897
6906
|
|
|
6898
|
-
if (matches(this.dropbar, ':hover')
|
|
6907
|
+
if (matches(this.dropbar, ':hover')
|
|
6908
|
+
&& active
|
|
6909
|
+
&& active.$el === $el
|
|
6910
|
+
&& !this.toggles.some(function (el) { return active.target !== el && matches(el, ':focus'); })
|
|
6911
|
+
) {
|
|
6899
6912
|
e.preventDefault();
|
|
6900
6913
|
}
|
|
6901
6914
|
}
|
|
@@ -7687,6 +7700,7 @@
|
|
|
7687
7700
|
mixins: [Class, Media],
|
|
7688
7701
|
|
|
7689
7702
|
props: {
|
|
7703
|
+
position: String,
|
|
7690
7704
|
top: null,
|
|
7691
7705
|
bottom: Boolean,
|
|
7692
7706
|
offset: String,
|
|
@@ -7702,6 +7716,7 @@
|
|
|
7702
7716
|
},
|
|
7703
7717
|
|
|
7704
7718
|
data: {
|
|
7719
|
+
position: 'top',
|
|
7705
7720
|
top: 0,
|
|
7706
7721
|
bottom: false,
|
|
7707
7722
|
offset: 0,
|
|
@@ -7718,10 +7733,23 @@
|
|
|
7718
7733
|
|
|
7719
7734
|
computed: {
|
|
7720
7735
|
|
|
7721
|
-
|
|
7736
|
+
position: function(ref, $el) {
|
|
7737
|
+
var position = ref.position;
|
|
7738
|
+
|
|
7739
|
+
return position === 'auto'
|
|
7740
|
+
? (this.isFixed ? this.placeholder : $el).offsetHeight > height(window)
|
|
7741
|
+
? 'bottom'
|
|
7742
|
+
: 'top'
|
|
7743
|
+
: position;
|
|
7744
|
+
},
|
|
7745
|
+
|
|
7746
|
+
offset: function(ref, $el) {
|
|
7722
7747
|
var offset = ref.offset;
|
|
7723
7748
|
|
|
7724
|
-
|
|
7749
|
+
if (this.position === 'bottom') {
|
|
7750
|
+
offset += '+100vh-100%';
|
|
7751
|
+
}
|
|
7752
|
+
return toPx(offset, 'height', $el);
|
|
7725
7753
|
},
|
|
7726
7754
|
|
|
7727
7755
|
selTarget: function(ref, $el) {
|
|
@@ -7788,7 +7816,7 @@
|
|
|
7788
7816
|
var this$1$1 = this;
|
|
7789
7817
|
|
|
7790
7818
|
|
|
7791
|
-
if (!(this.targetOffset !== false && location.hash && window
|
|
7819
|
+
if (!(this.targetOffset !== false && location.hash && scrollTop(window) > 0)) {
|
|
7792
7820
|
return;
|
|
7793
7821
|
}
|
|
7794
7822
|
|
|
@@ -7821,6 +7849,7 @@
|
|
|
7821
7849
|
|
|
7822
7850
|
read: function(ref, types) {
|
|
7823
7851
|
var height$1 = ref.height;
|
|
7852
|
+
var margin = ref.margin;
|
|
7824
7853
|
|
|
7825
7854
|
|
|
7826
7855
|
this.inactive = !this.matchMedia || !isVisible(this.$el);
|
|
@@ -7829,46 +7858,56 @@
|
|
|
7829
7858
|
return false;
|
|
7830
7859
|
}
|
|
7831
7860
|
|
|
7832
|
-
|
|
7861
|
+
var hide = this.isActive && types.has('resize');
|
|
7862
|
+
if (hide) {
|
|
7833
7863
|
this.hide();
|
|
7834
|
-
height$1 = this.$el.offsetHeight;
|
|
7835
|
-
this.show();
|
|
7836
7864
|
}
|
|
7837
7865
|
|
|
7838
|
-
|
|
7866
|
+
if (!this.isActive) {
|
|
7867
|
+
height$1 = this.$el.offsetHeight;
|
|
7868
|
+
margin = css(this.$el, 'margin');
|
|
7869
|
+
}
|
|
7839
7870
|
|
|
7840
|
-
if (
|
|
7841
|
-
this.
|
|
7842
|
-
return false;
|
|
7871
|
+
if (hide) {
|
|
7872
|
+
this.show();
|
|
7843
7873
|
}
|
|
7844
7874
|
|
|
7875
|
+
var overflow = Math.max(0, height$1 + this.offset - height(window));
|
|
7876
|
+
|
|
7845
7877
|
var referenceElement = this.isFixed ? this.placeholder : this.$el;
|
|
7846
|
-
|
|
7847
|
-
|
|
7848
|
-
this.offsetParentTop = offset(referenceElement.offsetParent).top;
|
|
7878
|
+
var topOffset = offset(referenceElement).top;
|
|
7879
|
+
var offsetParentTop = offset(referenceElement.offsetParent).top;
|
|
7849
7880
|
|
|
7850
|
-
var
|
|
7881
|
+
var top = parseProp(this.top, this.$el, topOffset);
|
|
7882
|
+
var bottom = parseProp(this.bottom, this.$el, topOffset + height$1);
|
|
7851
7883
|
|
|
7852
|
-
|
|
7853
|
-
|
|
7854
|
-
|
|
7884
|
+
var start = Math.max(top, topOffset) - this.offset;
|
|
7885
|
+
var end = bottom
|
|
7886
|
+
? bottom - this.$el.offsetHeight + overflow - this.offset
|
|
7887
|
+
: getScrollingElement(this.$el).scrollHeight - height(window);
|
|
7855
7888
|
|
|
7856
7889
|
return {
|
|
7890
|
+
start: start,
|
|
7891
|
+
end: end,
|
|
7892
|
+
overflow: overflow,
|
|
7893
|
+
topOffset: topOffset,
|
|
7894
|
+
offsetParentTop: offsetParentTop,
|
|
7857
7895
|
height: height$1,
|
|
7858
|
-
|
|
7859
|
-
|
|
7896
|
+
margin: margin,
|
|
7897
|
+
width: dimensions(isVisible(this.widthElement) ? this.widthElement : this.$el).width,
|
|
7898
|
+
top: offsetPosition(this.placeholder)[0]
|
|
7860
7899
|
};
|
|
7861
7900
|
},
|
|
7862
7901
|
|
|
7863
7902
|
write: function(ref) {
|
|
7864
7903
|
var height = ref.height;
|
|
7865
|
-
var
|
|
7904
|
+
var margin = ref.margin;
|
|
7866
7905
|
|
|
7867
7906
|
|
|
7868
7907
|
var ref$1 = this;
|
|
7869
7908
|
var placeholder = ref$1.placeholder;
|
|
7870
7909
|
|
|
7871
|
-
css(placeholder,
|
|
7910
|
+
css(placeholder, {height: height, margin: margin});
|
|
7872
7911
|
|
|
7873
7912
|
if (!within(placeholder, document)) {
|
|
7874
7913
|
after(this.$el, placeholder);
|
|
@@ -7886,14 +7925,29 @@
|
|
|
7886
7925
|
{
|
|
7887
7926
|
|
|
7888
7927
|
read: function(ref) {
|
|
7889
|
-
var
|
|
7928
|
+
var prevScroll = ref.scroll; if ( prevScroll === void 0 ) prevScroll = 0;
|
|
7929
|
+
var prevDir = ref.dir; if ( prevDir === void 0 ) prevDir = 'down';
|
|
7930
|
+
var overflow = ref.overflow;
|
|
7931
|
+
var overflowScroll = ref.overflowScroll; if ( overflowScroll === void 0 ) overflowScroll = 0;
|
|
7932
|
+
var start = ref.start;
|
|
7933
|
+
var end = ref.end;
|
|
7890
7934
|
|
|
7891
7935
|
|
|
7892
|
-
|
|
7936
|
+
var scroll = scrollTop(window);
|
|
7937
|
+
var dir = prevScroll <= scroll ? 'down' : 'up';
|
|
7893
7938
|
|
|
7894
7939
|
return {
|
|
7895
|
-
dir:
|
|
7896
|
-
|
|
7940
|
+
dir: dir,
|
|
7941
|
+
prevDir: prevDir,
|
|
7942
|
+
scroll: scroll,
|
|
7943
|
+
prevScroll: prevScroll,
|
|
7944
|
+
overflowScroll: clamp(
|
|
7945
|
+
overflowScroll
|
|
7946
|
+
+ clamp(scroll, start, end)
|
|
7947
|
+
- clamp(prevScroll, start, end),
|
|
7948
|
+
0,
|
|
7949
|
+
overflow
|
|
7950
|
+
)
|
|
7897
7951
|
};
|
|
7898
7952
|
},
|
|
7899
7953
|
|
|
@@ -7901,35 +7955,34 @@
|
|
|
7901
7955
|
var this$1$1 = this;
|
|
7902
7956
|
|
|
7903
7957
|
|
|
7904
|
-
var now = Date.now();
|
|
7905
7958
|
var isScrollUpdate = types.has('scroll');
|
|
7906
7959
|
var initTimestamp = data.initTimestamp; if ( initTimestamp === void 0 ) initTimestamp = 0;
|
|
7907
7960
|
var dir = data.dir;
|
|
7908
|
-
var
|
|
7909
|
-
var lastScroll = data.lastScroll;
|
|
7961
|
+
var prevDir = data.prevDir;
|
|
7910
7962
|
var scroll = data.scroll;
|
|
7963
|
+
var prevScroll = data.prevScroll; if ( prevScroll === void 0 ) prevScroll = 0;
|
|
7911
7964
|
var top = data.top;
|
|
7965
|
+
var start = data.start;
|
|
7966
|
+
var topOffset = data.topOffset;
|
|
7967
|
+
var height = data.height;
|
|
7912
7968
|
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
-
if (scroll < 0 || scroll === lastScroll && isScrollUpdate || this.showOnUp && !isScrollUpdate && !this.isFixed) {
|
|
7969
|
+
if (scroll < 0 || scroll === prevScroll && isScrollUpdate || this.showOnUp && !isScrollUpdate && !this.isFixed) {
|
|
7916
7970
|
return;
|
|
7917
7971
|
}
|
|
7918
7972
|
|
|
7919
|
-
|
|
7973
|
+
var now = Date.now();
|
|
7974
|
+
if (now - initTimestamp > 300 || dir !== prevDir) {
|
|
7920
7975
|
data.initScroll = scroll;
|
|
7921
7976
|
data.initTimestamp = now;
|
|
7922
7977
|
}
|
|
7923
7978
|
|
|
7924
|
-
data.
|
|
7925
|
-
|
|
7926
|
-
if (this.showOnUp && !this.isFixed && Math.abs(data.initScroll - scroll) <= 30 && Math.abs(lastScroll - scroll) <= 10) {
|
|
7979
|
+
if (this.showOnUp && !this.isFixed && Math.abs(data.initScroll - scroll) <= 30 && Math.abs(prevScroll - scroll) <= 10) {
|
|
7927
7980
|
return;
|
|
7928
7981
|
}
|
|
7929
7982
|
|
|
7930
7983
|
if (this.inactive
|
|
7931
|
-
|| scroll <
|
|
7932
|
-
|| this.showOnUp && (scroll <=
|
|
7984
|
+
|| scroll < start
|
|
7985
|
+
|| this.showOnUp && (scroll <= start || dir === 'down' && isScrollUpdate || dir === 'up' && !this.isFixed && scroll <= topOffset + height)
|
|
7933
7986
|
) {
|
|
7934
7987
|
|
|
7935
7988
|
if (!this.isFixed) {
|
|
@@ -7944,7 +7997,7 @@
|
|
|
7944
7997
|
|
|
7945
7998
|
this.isFixed = false;
|
|
7946
7999
|
|
|
7947
|
-
if (this.animation && scroll >
|
|
8000
|
+
if (this.animation && scroll > topOffset) {
|
|
7948
8001
|
Animation.cancel(this.$el);
|
|
7949
8002
|
Animation.out(this.$el, this.animation).then(function () { return this$1$1.hide(); }, noop);
|
|
7950
8003
|
} else {
|
|
@@ -7994,23 +8047,37 @@
|
|
|
7994
8047
|
|
|
7995
8048
|
update: function() {
|
|
7996
8049
|
|
|
7997
|
-
var
|
|
7998
|
-
var
|
|
8050
|
+
var ref = this._data;
|
|
8051
|
+
var width = ref.width;
|
|
8052
|
+
var scroll = ref.scroll; if ( scroll === void 0 ) scroll = 0;
|
|
8053
|
+
var overflow = ref.overflow;
|
|
8054
|
+
var overflowScroll = ref.overflowScroll; if ( overflowScroll === void 0 ) overflowScroll = 0;
|
|
8055
|
+
var start = ref.start;
|
|
8056
|
+
var end = ref.end;
|
|
8057
|
+
var topOffset = ref.topOffset;
|
|
8058
|
+
var height = ref.height;
|
|
8059
|
+
var offsetParentTop = ref.offsetParentTop;
|
|
8060
|
+
var active = start !== 0 || scroll > start;
|
|
8061
|
+
var top = this.offset;
|
|
7999
8062
|
var position = 'fixed';
|
|
8000
8063
|
|
|
8001
|
-
if (
|
|
8002
|
-
top = this.
|
|
8064
|
+
if (scroll > end) {
|
|
8065
|
+
top = end + this.offset - offsetParentTop;
|
|
8003
8066
|
position = 'absolute';
|
|
8004
8067
|
}
|
|
8005
8068
|
|
|
8069
|
+
if (overflow) {
|
|
8070
|
+
top -= overflowScroll;
|
|
8071
|
+
}
|
|
8072
|
+
|
|
8006
8073
|
css(this.$el, {
|
|
8007
8074
|
position: position,
|
|
8008
8075
|
top: (top + "px"),
|
|
8009
|
-
width:
|
|
8076
|
+
width: width
|
|
8010
8077
|
});
|
|
8011
8078
|
|
|
8012
8079
|
this.isActive = active;
|
|
8013
|
-
toggleClass(this.$el, this.clsBelow,
|
|
8080
|
+
toggleClass(this.$el, this.clsBelow, scroll > topOffset + height);
|
|
8014
8081
|
addClass(this.$el, this.clsFixed);
|
|
8015
8082
|
|
|
8016
8083
|
}
|
|
@@ -8019,16 +8086,10 @@
|
|
|
8019
8086
|
|
|
8020
8087
|
};
|
|
8021
8088
|
|
|
8022
|
-
function parseProp(
|
|
8023
|
-
var $props = ref.$props;
|
|
8024
|
-
var $el = ref.$el;
|
|
8025
|
-
var propOffset = ref[(prop + "Offset")];
|
|
8026
|
-
|
|
8027
|
-
|
|
8028
|
-
var value = $props[prop];
|
|
8089
|
+
function parseProp(value, el, propOffset) {
|
|
8029
8090
|
|
|
8030
8091
|
if (!value) {
|
|
8031
|
-
return;
|
|
8092
|
+
return 0;
|
|
8032
8093
|
}
|
|
8033
8094
|
|
|
8034
8095
|
if (isString(value) && value.match(/^-?\d/)) {
|
|
@@ -8037,7 +8098,7 @@
|
|
|
8037
8098
|
|
|
8038
8099
|
} else {
|
|
8039
8100
|
|
|
8040
|
-
return offset(value === true ? parent(
|
|
8101
|
+
return offset(value === true ? parent(el) : query(value, el)).bottom;
|
|
8041
8102
|
|
|
8042
8103
|
}
|
|
8043
8104
|
}
|