ext_yarn 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +41 -47
- data/README.md +10 -0
- data/bin/yarn_after +12 -0
- data/lib/ext_yarn/version.rb +1 -1
- data/package.json +14 -13
- data/vendor/.yarn-integrity +35 -39
- data/vendor/bootswatch-sass/package.json +1 -1
- data/vendor/chart.js/dist/Chart.bundle.js +5754 -5711
- data/vendor/chart.js/dist/Chart.js +2118 -2046
- data/vendor/chart.js/package.json +1 -1
- data/vendor/chartkick/LICENSE.txt +1 -1
- data/vendor/chartkick/dist/chartkick.js +2239 -0
- data/vendor/chartkick/package.json +18 -8
- data/vendor/file-saver/dist/FileSaver.js +180 -0
- data/vendor/file-saver/package.json +16 -4
- data/vendor/jquery/dist/jquery.js +453 -342
- data/vendor/jquery/dist/jquery.slim.js +428 -319
- data/vendor/jquery/package.json +32 -21
- data/vendor/{tempusdominus-bootstrap-4 → jquery-touch-events}/LICENSE +21 -21
- data/vendor/jquery-touch-events/package.json +32 -0
- data/vendor/jquery-touch-events/src/jquery.mobile-events.js +920 -0
- data/vendor/jquery-ui-touch-punch-zoom-fork/jquery.ui.touch-punch.js +186 -0
- data/vendor/jquery-ujs/package.json +1 -1
- data/vendor/jquery-ujs/src/rails.js +14 -4
- data/vendor/{bootswatch → jquery.iframe-transport}/LICENSE +2 -2
- data/vendor/jquery.iframe-transport/jquery.iframe-transport.js +247 -0
- data/vendor/jquery.iframe-transport/package.json +28 -0
- data/vendor/jstz/dist/jstz.js +9 -1
- data/vendor/jstz/package.json +6 -4
- data/vendor/lazysizes/LICENSE +22 -0
- data/vendor/lazysizes/lazysizes-umd.js +706 -0
- data/vendor/lazysizes/lazysizes.js +703 -0
- data/vendor/lazysizes/package.json +65 -0
- data/vendor/lazysizes/plugins/artdirect/ls.artdirect.js +160 -0
- data/vendor/lazysizes/plugins/aspectratio/ls.aspectratio.js +209 -0
- data/vendor/lazysizes/plugins/attrchange/ls.attrchange.js +129 -0
- data/vendor/lazysizes/plugins/bgset/ls.bgset.js +198 -0
- data/vendor/lazysizes/plugins/blur-up/ls.blur-up.js +191 -0
- data/vendor/lazysizes/plugins/custommedia/ls.custommedia.js +75 -0
- data/vendor/lazysizes/plugins/fix-ios-sizes/fix-ios-sizes.js +80 -0
- data/vendor/lazysizes/plugins/include/ls.include.js +589 -0
- data/vendor/lazysizes/plugins/noscript/ls.noscript.js +87 -0
- data/vendor/lazysizes/plugins/object-fit/ls.object-fit.js +149 -0
- data/vendor/lazysizes/plugins/optimumx/ls.optimumx.js +273 -0
- data/vendor/lazysizes/plugins/parent-fit/ls.parent-fit.js +157 -0
- data/vendor/lazysizes/plugins/print/ls.print.js +51 -0
- data/vendor/lazysizes/plugins/progressive/ls.progressive.js +49 -0
- data/vendor/lazysizes/plugins/respimg/ls.respimg.js +314 -0
- data/vendor/lazysizes/plugins/rias/ls.rias.js +391 -0
- data/vendor/lazysizes/plugins/static-gecko-picture/ls.static-gecko-picture.js +82 -0
- data/vendor/lazysizes/plugins/twitter/ls.twitter.js +63 -0
- data/vendor/lazysizes/plugins/unload/ls.unload.js +155 -0
- data/vendor/lazysizes/plugins/unveilhooks/ls.unveilhooks.js +145 -0
- data/vendor/lazysizes/plugins/video-embed/ls.video-embed.js +114 -0
- data/vendor/lodash/core.js +75 -57
- data/vendor/lodash/lodash.js +105 -82
- data/vendor/lodash/package.json +2 -2
- data/vendor/moment/locale/af.js +58 -60
- data/vendor/moment/locale/ar-dz.js +45 -47
- data/vendor/moment/locale/ar-kw.js +45 -47
- data/vendor/moment/locale/ar-ly.js +106 -112
- data/vendor/moment/locale/ar-ma.js +45 -48
- data/vendor/moment/locale/ar-sa.js +88 -91
- data/vendor/moment/locale/ar-tn.js +45 -47
- data/vendor/moment/locale/ar.js +119 -128
- data/vendor/moment/locale/az.js +89 -91
- data/vendor/moment/locale/be.js +111 -115
- data/vendor/moment/locale/bg.js +73 -75
- data/vendor/moment/locale/bm.js +44 -47
- data/vendor/moment/locale/bn.js +103 -105
- data/vendor/moment/locale/bo.js +103 -105
- data/vendor/moment/locale/br.js +88 -90
- data/vendor/moment/locale/bs.js +133 -136
- data/vendor/moment/locale/ca.js +68 -70
- data/vendor/moment/locale/cs.js +160 -162
- data/vendor/moment/locale/cv.js +48 -50
- data/vendor/moment/locale/cy.js +64 -67
- data/vendor/moment/locale/da.js +46 -48
- data/vendor/moment/locale/de-at.js +61 -66
- data/vendor/moment/locale/de-ch.js +61 -65
- data/vendor/moment/locale/de.js +61 -65
- data/vendor/moment/locale/dv.js +82 -85
- data/vendor/moment/locale/el.js +82 -84
- data/vendor/moment/locale/en-au.js +53 -55
- data/vendor/moment/locale/en-ca.js +49 -51
- data/vendor/moment/locale/en-gb.js +53 -55
- data/vendor/moment/locale/en-ie.js +53 -55
- data/vendor/moment/locale/en-il.js +61 -0
- data/vendor/moment/locale/en-nz.js +53 -55
- data/vendor/moment/locale/eo.js +56 -60
- data/vendor/moment/locale/es-do.js +72 -73
- data/vendor/moment/locale/es-us.js +64 -66
- data/vendor/moment/locale/es.js +72 -74
- data/vendor/moment/locale/et.js +64 -67
- data/vendor/moment/locale/eu.js +52 -54
- data/vendor/moment/locale/fa.js +90 -93
- data/vendor/moment/locale/fi.js +93 -95
- data/vendor/moment/locale/fo.js +46 -48
- data/vendor/moment/locale/fr-ca.js +58 -60
- data/vendor/moment/locale/fr-ch.js +62 -64
- data/vendor/moment/locale/fr.js +66 -68
- data/vendor/moment/locale/fy.js +59 -61
- data/vendor/moment/locale/gd.js +57 -59
- data/vendor/moment/locale/gl.js +60 -62
- data/vendor/moment/locale/gom-latn.js +107 -109
- data/vendor/moment/locale/gu.js +108 -110
- data/vendor/moment/locale/he.js +77 -81
- data/vendor/moment/locale/hi.js +108 -110
- data/vendor/moment/locale/hr.js +136 -138
- data/vendor/moment/locale/hu.js +92 -94
- data/vendor/moment/locale/hy-am.js +78 -80
- data/vendor/moment/locale/id.js +67 -70
- data/vendor/moment/locale/is.js +110 -112
- data/vendor/moment/locale/it.js +53 -56
- data/vendor/moment/locale/ja.js +77 -67
- data/vendor/moment/locale/jv.js +67 -70
- data/vendor/moment/locale/ka.js +70 -72
- data/vendor/moment/locale/kk.js +72 -74
- data/vendor/moment/locale/km.js +96 -46
- data/vendor/moment/locale/kn.js +110 -112
- data/vendor/moment/locale/ko.js +66 -69
- data/vendor/moment/locale/ky.js +72 -75
- data/vendor/moment/locale/lb.js +113 -116
- data/vendor/moment/locale/lo.js +55 -57
- data/vendor/moment/locale/lt.js +100 -102
- data/vendor/moment/locale/lv.js +81 -84
- data/vendor/moment/locale/me.js +93 -95
- data/vendor/moment/locale/mi.js +50 -52
- data/vendor/moment/locale/mk.js +73 -75
- data/vendor/moment/locale/ml.js +66 -68
- data/vendor/moment/locale/mn.js +103 -0
- data/vendor/moment/locale/mr.js +140 -143
- data/vendor/moment/locale/ms-my.js +67 -70
- data/vendor/moment/locale/ms.js +67 -69
- data/vendor/moment/locale/mt.js +46 -48
- data/vendor/moment/locale/my.js +77 -82
- data/vendor/moment/locale/nb.js +48 -51
- data/vendor/moment/locale/ne.js +107 -109
- data/vendor/moment/locale/nl-be.js +68 -71
- data/vendor/moment/locale/nl.js +68 -71
- data/vendor/moment/locale/nn.js +46 -48
- data/vendor/moment/locale/pa-in.js +108 -110
- data/vendor/moment/locale/pl.js +104 -106
- data/vendor/moment/locale/pt-br.js +46 -48
- data/vendor/moment/locale/pt.js +50 -52
- data/vendor/moment/locale/ro.js +59 -62
- data/vendor/moment/locale/ru.js +153 -157
- data/vendor/moment/locale/sd.js +82 -84
- data/vendor/moment/locale/se.js +46 -49
- data/vendor/moment/locale/si.js +56 -58
- data/vendor/moment/locale/sk.js +138 -141
- data/vendor/moment/locale/sl.js +154 -156
- data/vendor/moment/locale/sq.js +54 -58
- data/vendor/moment/locale/sr-cyrl.js +93 -95
- data/vendor/moment/locale/sr.js +93 -95
- data/vendor/moment/locale/ss.js +72 -75
- data/vendor/moment/locale/sv.js +55 -57
- data/vendor/moment/locale/sw.js +45 -47
- data/vendor/moment/locale/ta.js +113 -116
- data/vendor/moment/locale/te.js +74 -76
- data/vendor/moment/locale/tet.js +53 -56
- data/vendor/moment/locale/tg.js +115 -0
- data/vendor/moment/locale/th.js +52 -54
- data/vendor/moment/locale/tl-ph.js +48 -50
- data/vendor/moment/locale/tlh.js +101 -103
- data/vendor/moment/locale/tr.js +80 -78
- data/vendor/moment/locale/tzl.js +75 -78
- data/vendor/moment/locale/tzm-latn.js +44 -46
- data/vendor/moment/locale/tzm.js +44 -46
- data/vendor/moment/locale/ug-cn.js +118 -0
- data/vendor/moment/locale/uk.js +129 -132
- data/vendor/moment/locale/ur.js +82 -85
- data/vendor/moment/locale/uz-latn.js +44 -46
- data/vendor/moment/locale/uz.js +44 -46
- data/vendor/moment/locale/vi.js +64 -66
- data/vendor/moment/locale/x-pseudo.js +54 -56
- data/vendor/moment/locale/yo.js +46 -48
- data/vendor/moment/locale/zh-cn.js +95 -98
- data/vendor/moment/locale/zh-hk.js +88 -92
- data/vendor/moment/locale/zh-tw.js +88 -91
- data/vendor/moment/min/locales.js +9701 -9581
- data/vendor/moment/min/moment-with-locales.js +13426 -13335
- data/vendor/moment/moment.js +3780 -3809
- data/vendor/moment/package.json +10 -10
- data/vendor/moment-timezone/builds/moment-timezone-with-data-2012-2022.js +43 -35
- data/vendor/moment-timezone/builds/moment-timezone-with-data.js +290 -282
- data/vendor/moment-timezone/moment-timezone-utils.js +12 -10
- data/vendor/moment-timezone/moment-timezone.js +15 -7
- data/vendor/moment-timezone/package.json +5 -3
- data/vendor/{bootstrap → pako}/LICENSE +2 -3
- data/vendor/pako/dist/pako.js +6811 -0
- data/vendor/pako/dist/pako_deflate.js +3995 -0
- data/vendor/pako/dist/pako_inflate.js +3295 -0
- data/vendor/pako/package.json +48 -0
- data/yarn.lock +51 -78
- metadata +45 -155
- data/vendor/bootstrap/dist/js/bootstrap.bundle.js +0 -6461
- data/vendor/bootstrap/dist/js/bootstrap.js +0 -3944
- data/vendor/bootstrap/js/dist/alert.js +0 -204
- data/vendor/bootstrap/js/dist/button.js +0 -192
- data/vendor/bootstrap/js/dist/carousel.js +0 -567
- data/vendor/bootstrap/js/dist/collapse.js +0 -431
- data/vendor/bootstrap/js/dist/dropdown.js +0 -552
- data/vendor/bootstrap/js/dist/index.js +0 -23
- data/vendor/bootstrap/js/dist/modal.js +0 -634
- data/vendor/bootstrap/js/dist/popover.js +0 -266
- data/vendor/bootstrap/js/dist/scrollspy.js +0 -379
- data/vendor/bootstrap/js/dist/tab.js +0 -278
- data/vendor/bootstrap/js/dist/tooltip.js +0 -734
- data/vendor/bootstrap/js/dist/util.js +0 -144
- data/vendor/bootstrap/package.json +0 -217
- data/vendor/bootstrap/scss/_alert.scss +0 -51
- data/vendor/bootstrap/scss/_badge.scss +0 -47
- data/vendor/bootstrap/scss/_breadcrumb.scss +0 -41
- data/vendor/bootstrap/scss/_button-group.scss +0 -172
- data/vendor/bootstrap/scss/_buttons.scss +0 -143
- data/vendor/bootstrap/scss/_card.scss +0 -301
- data/vendor/bootstrap/scss/_carousel.scss +0 -236
- data/vendor/bootstrap/scss/_close.scss +0 -35
- data/vendor/bootstrap/scss/_code.scss +0 -48
- data/vendor/bootstrap/scss/_custom-forms.scss +0 -433
- data/vendor/bootstrap/scss/_dropdown.scss +0 -166
- data/vendor/bootstrap/scss/_forms.scss +0 -333
- data/vendor/bootstrap/scss/_functions.scss +0 -86
- data/vendor/bootstrap/scss/_grid.scss +0 -52
- data/vendor/bootstrap/scss/_images.scss +0 -42
- data/vendor/bootstrap/scss/_input-group.scss +0 -173
- data/vendor/bootstrap/scss/_jumbotron.scss +0 -16
- data/vendor/bootstrap/scss/_list-group.scss +0 -115
- data/vendor/bootstrap/scss/_media.scss +0 -8
- data/vendor/bootstrap/scss/_mixins.scss +0 -41
- data/vendor/bootstrap/scss/_modal.scss +0 -180
- data/vendor/bootstrap/scss/_nav.scss +0 -118
- data/vendor/bootstrap/scss/_navbar.scss +0 -299
- data/vendor/bootstrap/scss/_pagination.scss +0 -78
- data/vendor/bootstrap/scss/_popover.scss +0 -183
- data/vendor/bootstrap/scss/_print.scss +0 -141
- data/vendor/bootstrap/scss/_progress.scss +0 -34
- data/vendor/bootstrap/scss/_reboot.scss +0 -483
- data/vendor/bootstrap/scss/_root.scss +0 -19
- data/vendor/bootstrap/scss/_tables.scss +0 -187
- data/vendor/bootstrap/scss/_tooltip.scss +0 -115
- data/vendor/bootstrap/scss/_transitions.scss +0 -22
- data/vendor/bootstrap/scss/_type.scss +0 -125
- data/vendor/bootstrap/scss/_utilities.scss +0 -15
- data/vendor/bootstrap/scss/_variables.scss +0 -952
- data/vendor/bootstrap/scss/bootstrap-grid.scss +0 -32
- data/vendor/bootstrap/scss/bootstrap-reboot.scss +0 -12
- data/vendor/bootstrap/scss/bootstrap.scss +0 -42
- data/vendor/bootstrap/scss/mixins/_alert.scss +0 -13
- data/vendor/bootstrap/scss/mixins/_background-variant.scss +0 -21
- data/vendor/bootstrap/scss/mixins/_badge.scss +0 -12
- data/vendor/bootstrap/scss/mixins/_border-radius.scss +0 -35
- data/vendor/bootstrap/scss/mixins/_box-shadow.scss +0 -5
- data/vendor/bootstrap/scss/mixins/_breakpoints.scss +0 -123
- data/vendor/bootstrap/scss/mixins/_buttons.scss +0 -109
- data/vendor/bootstrap/scss/mixins/_caret.scss +0 -66
- data/vendor/bootstrap/scss/mixins/_clearfix.scss +0 -7
- data/vendor/bootstrap/scss/mixins/_float.scss +0 -11
- data/vendor/bootstrap/scss/mixins/_forms.scss +0 -147
- data/vendor/bootstrap/scss/mixins/_gradients.scss +0 -45
- data/vendor/bootstrap/scss/mixins/_grid-framework.scss +0 -67
- data/vendor/bootstrap/scss/mixins/_grid.scss +0 -52
- data/vendor/bootstrap/scss/mixins/_hover.scss +0 -37
- data/vendor/bootstrap/scss/mixins/_image.scss +0 -36
- data/vendor/bootstrap/scss/mixins/_list-group.scss +0 -21
- data/vendor/bootstrap/scss/mixins/_lists.scss +0 -7
- data/vendor/bootstrap/scss/mixins/_nav-divider.scss +0 -10
- data/vendor/bootstrap/scss/mixins/_pagination.scss +0 -22
- data/vendor/bootstrap/scss/mixins/_reset-text.scss +0 -17
- data/vendor/bootstrap/scss/mixins/_resize.scss +0 -6
- data/vendor/bootstrap/scss/mixins/_screen-reader.scss +0 -33
- data/vendor/bootstrap/scss/mixins/_size.scss +0 -6
- data/vendor/bootstrap/scss/mixins/_table-row.scss +0 -30
- data/vendor/bootstrap/scss/mixins/_text-emphasis.scss +0 -14
- data/vendor/bootstrap/scss/mixins/_text-hide.scss +0 -13
- data/vendor/bootstrap/scss/mixins/_text-truncate.scss +0 -8
- data/vendor/bootstrap/scss/mixins/_transition.scss +0 -13
- data/vendor/bootstrap/scss/mixins/_visibility.scss +0 -7
- data/vendor/bootstrap/scss/utilities/_align.scss +0 -8
- data/vendor/bootstrap/scss/utilities/_background.scss +0 -19
- data/vendor/bootstrap/scss/utilities/_borders.scss +0 -59
- data/vendor/bootstrap/scss/utilities/_clearfix.scss +0 -3
- data/vendor/bootstrap/scss/utilities/_display.scss +0 -38
- data/vendor/bootstrap/scss/utilities/_embed.scss +0 -52
- data/vendor/bootstrap/scss/utilities/_flex.scss +0 -51
- data/vendor/bootstrap/scss/utilities/_float.scss +0 -9
- data/vendor/bootstrap/scss/utilities/_position.scss +0 -37
- data/vendor/bootstrap/scss/utilities/_screenreaders.scss +0 -11
- data/vendor/bootstrap/scss/utilities/_shadows.scss +0 -6
- data/vendor/bootstrap/scss/utilities/_sizing.scss +0 -12
- data/vendor/bootstrap/scss/utilities/_spacing.scss +0 -51
- data/vendor/bootstrap/scss/utilities/_text.scss +0 -58
- data/vendor/bootstrap/scss/utilities/_visibility.scss +0 -11
- data/vendor/bootswatch/dist/cerulean/_bootswatch.scss +0 -99
- data/vendor/bootswatch/dist/cerulean/_variables.scss +0 -57
- data/vendor/bootswatch/dist/cosmo/_bootswatch.scss +0 -38
- data/vendor/bootswatch/dist/cosmo/_variables.scss +0 -68
- data/vendor/bootswatch/dist/cyborg/_bootswatch.scss +0 -230
- data/vendor/bootswatch/dist/cyborg/_variables.scss +0 -173
- data/vendor/bootswatch/dist/darkly/_bootswatch.scss +0 -186
- data/vendor/bootswatch/dist/darkly/_variables.scss +0 -178
- data/vendor/bootswatch/dist/flatly/_bootswatch.scss +0 -185
- data/vendor/bootswatch/dist/flatly/_variables.scss +0 -113
- data/vendor/bootswatch/dist/journal/_bootswatch.scss +0 -73
- data/vendor/bootswatch/dist/journal/_variables.scss +0 -60
- data/vendor/bootswatch/dist/litera/_bootswatch.scss +0 -212
- data/vendor/bootswatch/dist/litera/_variables.scss +0 -77
- data/vendor/bootswatch/dist/lumen/_bootswatch.scss +0 -429
- data/vendor/bootswatch/dist/lumen/_variables.scss +0 -82
- data/vendor/bootswatch/dist/lux/_bootswatch.scss +0 -157
- data/vendor/bootswatch/dist/lux/_variables.scss +0 -120
- data/vendor/bootswatch/dist/materia/_bootswatch.scss +0 -677
- data/vendor/bootswatch/dist/materia/_variables.scss +0 -131
- data/vendor/bootswatch/dist/minty/_bootswatch.scss +0 -258
- data/vendor/bootswatch/dist/minty/_variables.scss +0 -97
- data/vendor/bootswatch/dist/pulse/_bootswatch.scss +0 -154
- data/vendor/bootswatch/dist/pulse/_variables.scss +0 -100
- data/vendor/bootswatch/dist/sandstone/_bootswatch.scss +0 -235
- data/vendor/bootswatch/dist/sandstone/_variables.scss +0 -143
- data/vendor/bootswatch/dist/simplex/_bootswatch.scss +0 -130
- data/vendor/bootswatch/dist/simplex/_variables.scss +0 -108
- data/vendor/bootswatch/dist/sketchy/_bootswatch.scss +0 -411
- data/vendor/bootswatch/dist/sketchy/_variables.scss +0 -164
- data/vendor/bootswatch/dist/slate/_bootswatch.scss +0 -425
- data/vendor/bootswatch/dist/slate/_variables.scss +0 -160
- data/vendor/bootswatch/dist/solar/_bootswatch.scss +0 -119
- data/vendor/bootswatch/dist/solar/_variables.scss +0 -175
- data/vendor/bootswatch/dist/spacelab/_bootswatch.scss +0 -167
- data/vendor/bootswatch/dist/spacelab/_variables.scss +0 -63
- data/vendor/bootswatch/dist/superhero/_bootswatch.scss +0 -200
- data/vendor/bootswatch/dist/superhero/_variables.scss +0 -148
- data/vendor/bootswatch/dist/united/_bootswatch.scss +0 -26
- data/vendor/bootswatch/dist/united/_variables.scss +0 -53
- data/vendor/bootswatch/dist/yeti/_bootswatch.scss +0 -468
- data/vendor/bootswatch/dist/yeti/_variables.scss +0 -110
- data/vendor/bootswatch/package.json +0 -38
- data/vendor/chartkick/chartkick.js +0 -1872
- data/vendor/file-saver/FileSaver.js +0 -188
- data/vendor/popper.js/dist/umd/popper-utils.js +0 -1133
- data/vendor/popper.js/dist/umd/popper.js +0 -2540
- data/vendor/popper.js/package.json +0 -54
- data/vendor/tempusdominus-bootstrap-4/build/js/tempusdominus-bootstrap-4.js +0 -2779
- data/vendor/tempusdominus-bootstrap-4/package.json +0 -79
- data/vendor/tempusdominus-bootstrap-4/src/sass/_tempusdominus-bootstrap-4.scss +0 -342
- data/vendor/tempusdominus-bootstrap-4/src/sass/tempusdominus-bootstrap-4-build.scss +0 -12
@@ -0,0 +1,589 @@
|
|
1
|
+
/*
|
2
|
+
This plugin extends lazySizes to lazyLoad and/or conditionally load content
|
3
|
+
*/
|
4
|
+
|
5
|
+
(function(window, factory) {
|
6
|
+
var globalInstall = function(){
|
7
|
+
factory(window.lazySizes);
|
8
|
+
window.removeEventListener('lazyunveilread', globalInstall, true);
|
9
|
+
};
|
10
|
+
|
11
|
+
factory = factory.bind(null, window, window.document);
|
12
|
+
|
13
|
+
if(typeof module == 'object' && module.exports){
|
14
|
+
factory(require('lazysizes'));
|
15
|
+
} else if(window.lazySizes) {
|
16
|
+
globalInstall();
|
17
|
+
} else {
|
18
|
+
window.addEventListener('lazyunveilread', globalInstall, true);
|
19
|
+
}
|
20
|
+
}(window, function(window, document, lazySizes) {
|
21
|
+
/*jshint eqnull:true */
|
22
|
+
'use strict';
|
23
|
+
|
24
|
+
if(!document.getElementsByClassName) {
|
25
|
+
return;
|
26
|
+
}
|
27
|
+
var config, includeConfig, baseContentElement, basePseudos;
|
28
|
+
var regSplitCan = /\s*,+\s+/;
|
29
|
+
var cssComplete = {complete: 1, loaded: 1};
|
30
|
+
var uniqueUrls = {};
|
31
|
+
var regWhite = /\s+/;
|
32
|
+
var regTypes = /^(amd|css|module)\:(.+)/i;
|
33
|
+
var regUrlCan = /(.+)\s+(\(\s*(.+)\s*\))/;
|
34
|
+
var regCleanPseudos = /['"]/g;
|
35
|
+
var docElem = document.documentElement;
|
36
|
+
var conditionalIncludes = document.getElementsByClassName('lazyconditionalinclude');
|
37
|
+
|
38
|
+
var getStyles = function (element, pseudo) {
|
39
|
+
var view = element.ownerDocument.defaultView;
|
40
|
+
|
41
|
+
if (!view.opener) {
|
42
|
+
view = window;
|
43
|
+
}
|
44
|
+
|
45
|
+
return view.getComputedStyle(element, pseudo || null) || {getPropertyValue: function(){}, isNull: true};
|
46
|
+
};
|
47
|
+
|
48
|
+
var queue = (function(){
|
49
|
+
var lowTreshold = 2;
|
50
|
+
var highTreshold = 3;
|
51
|
+
var queueThreshold = lowTreshold;
|
52
|
+
var inProgress = 0;
|
53
|
+
var priosInProgress = 0;
|
54
|
+
var queue = [];
|
55
|
+
var resetQueue = (function(){
|
56
|
+
var timer;
|
57
|
+
var reset = function(){
|
58
|
+
if(queue.length){
|
59
|
+
inProgress = 0;
|
60
|
+
queue.d();
|
61
|
+
}
|
62
|
+
};
|
63
|
+
|
64
|
+
return function(){
|
65
|
+
clearTimeout(timer);
|
66
|
+
timer = setTimeout(reset, 999);
|
67
|
+
};
|
68
|
+
})();
|
69
|
+
|
70
|
+
return {
|
71
|
+
q: function(element){
|
72
|
+
var isPrio = element.getAttribute('data-lazyqueue') == null;
|
73
|
+
if(isPrio){
|
74
|
+
priosInProgress++;
|
75
|
+
queueThreshold = highTreshold;
|
76
|
+
}
|
77
|
+
|
78
|
+
if(inProgress > queueThreshold){
|
79
|
+
queue[isPrio ? 'unshift' : 'push'](element);
|
80
|
+
} else if(findLoadCandidate(element)) {
|
81
|
+
inProgress++;
|
82
|
+
resetQueue();
|
83
|
+
}
|
84
|
+
},
|
85
|
+
d: function(){
|
86
|
+
if(inProgress){
|
87
|
+
inProgress--;
|
88
|
+
}
|
89
|
+
if(priosInProgress > 0){
|
90
|
+
priosInProgress--;
|
91
|
+
|
92
|
+
if(!priosInProgress){
|
93
|
+
queueThreshold = lowTreshold;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
if(inProgress > queueThreshold){
|
98
|
+
return;
|
99
|
+
}
|
100
|
+
|
101
|
+
while(queue.length){
|
102
|
+
if(findLoadCandidate(queue.shift())){
|
103
|
+
inProgress++;
|
104
|
+
break;
|
105
|
+
}
|
106
|
+
}
|
107
|
+
resetQueue();
|
108
|
+
}
|
109
|
+
};
|
110
|
+
})();
|
111
|
+
var refreshIncludes = (function(){
|
112
|
+
var timer;
|
113
|
+
var run = function(){
|
114
|
+
var i = 0;
|
115
|
+
var len = conditionalIncludes.length;
|
116
|
+
for(; i < len; i++){
|
117
|
+
if(!lazySizes.hC(conditionalIncludes[i], config.lazyClass) && findCandidate(conditionalIncludes[i])){
|
118
|
+
lazySizes.aC(conditionalIncludes[i], config.lazyClass);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
};
|
122
|
+
return function(e){
|
123
|
+
clearTimeout(timer);
|
124
|
+
basePseudos = null;
|
125
|
+
timer = setTimeout(run, e.type == 'resize' ? 31 : 0);
|
126
|
+
};
|
127
|
+
})();
|
128
|
+
|
129
|
+
config = (lazySizes && lazySizes.cfg) || window.lazySizesConfig;
|
130
|
+
|
131
|
+
if(!config){
|
132
|
+
config = {};
|
133
|
+
window.lazySizesConfig = config;
|
134
|
+
}
|
135
|
+
|
136
|
+
if(!config.include){
|
137
|
+
config.include = {};
|
138
|
+
}
|
139
|
+
|
140
|
+
includeConfig = config.include;
|
141
|
+
|
142
|
+
if(!includeConfig.contentElement){
|
143
|
+
includeConfig.contentElement = 'html';
|
144
|
+
}
|
145
|
+
|
146
|
+
if(!includeConfig.conditions){
|
147
|
+
includeConfig.conditions = {};
|
148
|
+
}
|
149
|
+
|
150
|
+
if(!includeConfig.map){
|
151
|
+
includeConfig.map = {};
|
152
|
+
}
|
153
|
+
|
154
|
+
function addUrl(url){
|
155
|
+
/*jshint validthis:true */
|
156
|
+
var match;
|
157
|
+
if((match = url.match(regTypes))){
|
158
|
+
this.urls[match[1]] = includeConfig.map[match[2]] || match[2];
|
159
|
+
} else {
|
160
|
+
this.urls.include = includeConfig.map[url] || url;
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
function parseCandidate(input){
|
165
|
+
var output, map, url;
|
166
|
+
input = input.trim();
|
167
|
+
|
168
|
+
input = includeConfig.map[input] || input;
|
169
|
+
|
170
|
+
map = input.match(regUrlCan);
|
171
|
+
|
172
|
+
if(map){
|
173
|
+
url = map[1];
|
174
|
+
output = {
|
175
|
+
condition: config.include.conditions[map[3]] || config.customMedia[map[3]] || map[2] || null,
|
176
|
+
name: map[3]
|
177
|
+
};
|
178
|
+
} else {
|
179
|
+
url = input;
|
180
|
+
output = {
|
181
|
+
condition: null,
|
182
|
+
name: ''
|
183
|
+
};
|
184
|
+
}
|
185
|
+
|
186
|
+
output.urls = {};
|
187
|
+
|
188
|
+
(includeConfig.map[url] || url).split(regWhite).forEach(addUrl, output);
|
189
|
+
|
190
|
+
if(!output.urls.include && output.urls.amd){
|
191
|
+
/*jshint validthis:true */
|
192
|
+
this.saved = true;
|
193
|
+
output.initial = this;
|
194
|
+
}
|
195
|
+
|
196
|
+
return output;
|
197
|
+
}
|
198
|
+
|
199
|
+
function getIncludeData(elem){
|
200
|
+
var len;
|
201
|
+
var includeStr = (elem.getAttribute('data-include') || '');
|
202
|
+
var includeData = elem.lazyInclude;
|
203
|
+
var initialContent;
|
204
|
+
if(!includeData || includeData.str != includeStr || includeConfig.allowReload){
|
205
|
+
initialContent = {saved: false, content: null};
|
206
|
+
includeData = {
|
207
|
+
str: includeStr,
|
208
|
+
candidates: (includeConfig.map[includeStr] || includeStr).split(regSplitCan).map(parseCandidate, initialContent)
|
209
|
+
};
|
210
|
+
|
211
|
+
if(!(len = includeData.candidates.length) || includeData.candidates[len - 1].condition){
|
212
|
+
initialContent.saved = true;
|
213
|
+
|
214
|
+
includeData.candidates.push({
|
215
|
+
urls: {},
|
216
|
+
condition: null,
|
217
|
+
name: 'initial',
|
218
|
+
content: initialContent
|
219
|
+
});
|
220
|
+
} else if(initialContent.saved && includeData.candidates.length == 1){
|
221
|
+
initialContent.saved = false;
|
222
|
+
}
|
223
|
+
|
224
|
+
includeData.initialContent = initialContent;
|
225
|
+
if(initialContent.saved){
|
226
|
+
initialContent.content = elem.innerHTML;
|
227
|
+
}
|
228
|
+
|
229
|
+
elem.lazyInclude = includeData;
|
230
|
+
if(includeData.candidates.length > 1){
|
231
|
+
lazySizes.aC(elem, 'lazyconditionalinclude');
|
232
|
+
} else {
|
233
|
+
lazySizes.rC(elem, 'lazyconditionalinclude');
|
234
|
+
}
|
235
|
+
}
|
236
|
+
return includeData;
|
237
|
+
}
|
238
|
+
|
239
|
+
function matchesCondition(elem, candidate){
|
240
|
+
var matches = !candidate.condition;
|
241
|
+
|
242
|
+
if(candidate.condition){
|
243
|
+
createPseudoCondition();
|
244
|
+
if(basePseudos[candidate.name]){
|
245
|
+
matches = true;
|
246
|
+
} else if(window.matchMedia && typeof candidate.condition == 'string'){
|
247
|
+
matches = (matchMedia(candidate.condition) || {}).matches;
|
248
|
+
} else if(typeof candidate.condition == 'function'){
|
249
|
+
matches = candidate.condition(elem, candidate);
|
250
|
+
}
|
251
|
+
}
|
252
|
+
return matches;
|
253
|
+
}
|
254
|
+
|
255
|
+
|
256
|
+
function createPseudoCondition(){
|
257
|
+
var cStyle;
|
258
|
+
|
259
|
+
if(!basePseudos){
|
260
|
+
|
261
|
+
if(!baseContentElement){
|
262
|
+
baseContentElement = document.querySelector(includeConfig.contentElement);
|
263
|
+
}
|
264
|
+
|
265
|
+
if(baseContentElement){
|
266
|
+
cStyle = (getStyles(baseContentElement, ':after').getPropertyValue('content') || 'none').replace(regCleanPseudos, '');
|
267
|
+
|
268
|
+
basePseudos = {};
|
269
|
+
|
270
|
+
if(cStyle){
|
271
|
+
basePseudos[cStyle] = 1;
|
272
|
+
}
|
273
|
+
cStyle = (getStyles(baseContentElement, ':before').getPropertyValue('content') || 'none').replace(regCleanPseudos, '');
|
274
|
+
if(cStyle){
|
275
|
+
basePseudos[cStyle] = 1;
|
276
|
+
}
|
277
|
+
} else {
|
278
|
+
basePseudos = {};
|
279
|
+
}
|
280
|
+
}
|
281
|
+
|
282
|
+
}
|
283
|
+
|
284
|
+
function findCandidate(elem){
|
285
|
+
var i, candidate;
|
286
|
+
var includeData = elem.lazyInclude;
|
287
|
+
if(includeData && includeData.candidates){
|
288
|
+
for(i = 0; i < includeData.candidates.length; i++){
|
289
|
+
candidate = includeData.candidates[i];
|
290
|
+
if(matchesCondition(elem, candidate)){
|
291
|
+
break;
|
292
|
+
}
|
293
|
+
}
|
294
|
+
}
|
295
|
+
if(!candidate || candidate == includeData.current){
|
296
|
+
candidate = null;
|
297
|
+
}
|
298
|
+
return candidate;
|
299
|
+
}
|
300
|
+
|
301
|
+
function loadInclude(detail, includeCallback){
|
302
|
+
var request = new XMLHttpRequest();
|
303
|
+
|
304
|
+
request.addEventListener('readystatechange', function () {
|
305
|
+
var DONE = this.DONE || 4;
|
306
|
+
if (this.readyState === DONE){
|
307
|
+
|
308
|
+
includeCallback(request);
|
309
|
+
request = null;
|
310
|
+
}
|
311
|
+
}, false);
|
312
|
+
|
313
|
+
request.open.apply(request, detail.openArgs);
|
314
|
+
request.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
|
315
|
+
if(detail.xhrModifier){
|
316
|
+
detail.xhrModifier(request, detail.candidate);
|
317
|
+
}
|
318
|
+
request.send(detail.sendData);
|
319
|
+
}
|
320
|
+
|
321
|
+
function loadRequire(urls, callback){
|
322
|
+
urls = urls.split('|,|');
|
323
|
+
|
324
|
+
var last = urls.length - 1;
|
325
|
+
|
326
|
+
if(lazySizes.cfg.requireJs){
|
327
|
+
lazySizes.cfg.requireJs(urls, callback);
|
328
|
+
} else {
|
329
|
+
urls.forEach(function(url, index){
|
330
|
+
loadStyleScript(url, index == last ? callback : null);
|
331
|
+
});
|
332
|
+
}
|
333
|
+
}
|
334
|
+
|
335
|
+
function loadSystemJs(url, callback){
|
336
|
+
if(lazySizes.cfg.systemJs){
|
337
|
+
lazySizes.cfg.systemJs(url, callback);
|
338
|
+
} else {
|
339
|
+
loadStyleScript(url, callback);
|
340
|
+
}
|
341
|
+
}
|
342
|
+
|
343
|
+
function isStyleReady(link){
|
344
|
+
var ready = false;
|
345
|
+
var sheets = document.styleSheets;
|
346
|
+
var href = link.href;
|
347
|
+
|
348
|
+
for(var i = 0, length = sheets.length; i < length; i++){
|
349
|
+
if(sheets[i].href == href){
|
350
|
+
ready = true;
|
351
|
+
break;
|
352
|
+
}
|
353
|
+
}
|
354
|
+
|
355
|
+
|
356
|
+
return ready;
|
357
|
+
}
|
358
|
+
|
359
|
+
function loadStyleScript(url, isScript, cb){
|
360
|
+
if(!uniqueUrls[url]){
|
361
|
+
var elem = document.createElement(isScript === true ? 'script' : 'link');
|
362
|
+
var insertElem = document.getElementsByTagName('script')[0];
|
363
|
+
|
364
|
+
if(isScript){
|
365
|
+
elem.src = url;
|
366
|
+
elem.async = false;
|
367
|
+
} else {
|
368
|
+
elem.rel = 'stylesheet';
|
369
|
+
elem.href = url;
|
370
|
+
}
|
371
|
+
|
372
|
+
uniqueUrls[url] = [];
|
373
|
+
uniqueUrls[elem.href] = true;
|
374
|
+
|
375
|
+
if(cb){
|
376
|
+
var timer;
|
377
|
+
var load = function(e){
|
378
|
+
if(e.type == 'readystatechange' && !cssComplete[e.target.readyState]){return;}
|
379
|
+
|
380
|
+
var cbs = uniqueUrls[url];
|
381
|
+
|
382
|
+
elem.removeEventListener('load', load);
|
383
|
+
elem.removeEventListener('error', load);
|
384
|
+
elem.removeEventListener('readystatechange', load);
|
385
|
+
elem.removeEventListener('loadcssdefined', load);
|
386
|
+
|
387
|
+
if(timer){
|
388
|
+
clearInterval(timer);
|
389
|
+
}
|
390
|
+
|
391
|
+
uniqueUrls[url] = true;
|
392
|
+
|
393
|
+
while(cbs.length){
|
394
|
+
cbs.shift()();
|
395
|
+
}
|
396
|
+
};
|
397
|
+
|
398
|
+
if(!isScript){
|
399
|
+
timer = setInterval(function(){
|
400
|
+
if(isStyleReady(elem)){
|
401
|
+
load({});
|
402
|
+
}
|
403
|
+
}, 60);
|
404
|
+
}
|
405
|
+
|
406
|
+
elem.addEventListener('load', load);
|
407
|
+
elem.addEventListener('error', load);
|
408
|
+
elem.addEventListener('readystatechange', load);
|
409
|
+
elem.addEventListener('loadcssdefined', load);
|
410
|
+
|
411
|
+
uniqueUrls[url][0] = cb;
|
412
|
+
}
|
413
|
+
|
414
|
+
insertElem.parentNode.insertBefore(elem, insertElem);
|
415
|
+
} else if(cb){
|
416
|
+
if(uniqueUrls[url] === true){
|
417
|
+
setTimeout(cb);
|
418
|
+
} else {
|
419
|
+
uniqueUrls[url].push(cb);
|
420
|
+
}
|
421
|
+
}
|
422
|
+
}
|
423
|
+
|
424
|
+
function loadStyles(urls, cb){
|
425
|
+
urls = urls.split('|,|');
|
426
|
+
|
427
|
+
var last = urls.length - 1;
|
428
|
+
|
429
|
+
urls.forEach(function(url, index){
|
430
|
+
loadStyleScript(url, false, index == last ? cb : null);
|
431
|
+
});
|
432
|
+
}
|
433
|
+
|
434
|
+
function transformInclude(module){
|
435
|
+
if(module && typeof module.lazytransform == 'function'){
|
436
|
+
/*jshint validthis:true */
|
437
|
+
module.lazytransform(this);
|
438
|
+
}
|
439
|
+
}
|
440
|
+
|
441
|
+
function unloadModule(module){
|
442
|
+
if(module && typeof module.lazyunload == 'function'){
|
443
|
+
/*jshint validthis:true */
|
444
|
+
module.lazyunload(this);
|
445
|
+
}
|
446
|
+
}
|
447
|
+
|
448
|
+
function loadModule(module){
|
449
|
+
if(module && typeof module.lazyload == 'function'){
|
450
|
+
/*jshint validthis:true */
|
451
|
+
module.lazyload(this);
|
452
|
+
}
|
453
|
+
}
|
454
|
+
|
455
|
+
function loadCandidate(elem, candidate){
|
456
|
+
var include, xhrObj, modules, waitCss, runInclude;
|
457
|
+
var old = elem.lazyInclude.current || null;
|
458
|
+
var detail = {
|
459
|
+
candidate: candidate,
|
460
|
+
openArgs: ['GET', candidate.urls.include, true],
|
461
|
+
sendData: null,
|
462
|
+
xhrModifier: null,
|
463
|
+
content: candidate.content && candidate.content.content || candidate.content,
|
464
|
+
oldCandidate: old
|
465
|
+
};
|
466
|
+
var event = lazySizes.fire(elem, 'lazyincludeload', detail);
|
467
|
+
|
468
|
+
if(event.defaultPrevented){
|
469
|
+
queue.d();
|
470
|
+
return;
|
471
|
+
}
|
472
|
+
|
473
|
+
runInclude = function(){
|
474
|
+
if(xhrObj && modules && !waitCss){
|
475
|
+
include();
|
476
|
+
}
|
477
|
+
};
|
478
|
+
|
479
|
+
include = function(){
|
480
|
+
var event;
|
481
|
+
var status = xhrObj.status;
|
482
|
+
var content = xhrObj.content || xhrObj.responseText;
|
483
|
+
var reset = !!(content == null && old && old.urls.include);
|
484
|
+
var detail = {
|
485
|
+
candidate: candidate,
|
486
|
+
content: content,
|
487
|
+
text: xhrObj.responseText || xhrObj.content,
|
488
|
+
response: xhrObj.response,
|
489
|
+
xml: xhrObj.responseXML,
|
490
|
+
isSuccess: ('status' in xhrObj) ? status >= 200 && status < 300 || status === 304 : true,
|
491
|
+
oldCandidate: old,
|
492
|
+
insert: true,
|
493
|
+
resetHTML: reset
|
494
|
+
};
|
495
|
+
var moduleObj = {target: elem, details: detail, detail: detail};
|
496
|
+
|
497
|
+
candidate.modules = modules;
|
498
|
+
|
499
|
+
if(old && old.modules){
|
500
|
+
old.modules.forEach(unloadModule, moduleObj);
|
501
|
+
old.modules = null;
|
502
|
+
|
503
|
+
if(detail.resetHTML && detail.content == null && candidate.initial && candidate.initial.saved){
|
504
|
+
detail.content = candidate.initial.content;
|
505
|
+
}
|
506
|
+
}
|
507
|
+
|
508
|
+
|
509
|
+
modules.forEach(transformInclude, moduleObj);
|
510
|
+
|
511
|
+
event = lazySizes.fire(elem, 'lazyincludeloaded', detail);
|
512
|
+
|
513
|
+
if(detail.insert && detail.isSuccess && !event.defaultPrevented && detail.content != null && detail.content != elem.innerHTML){
|
514
|
+
elem.innerHTML = detail.content;
|
515
|
+
}
|
516
|
+
|
517
|
+
queue.d();
|
518
|
+
|
519
|
+
modules.forEach(loadModule, moduleObj);
|
520
|
+
|
521
|
+
setTimeout(function(){
|
522
|
+
lazySizes.fire(elem, 'lazyincluded', detail);
|
523
|
+
});
|
524
|
+
|
525
|
+
xhrObj = null;
|
526
|
+
modules = null;
|
527
|
+
};
|
528
|
+
|
529
|
+
elem.lazyInclude.current = candidate;
|
530
|
+
elem.setAttribute('data-currentinclude', candidate.name);
|
531
|
+
|
532
|
+
if(candidate.urls.css){
|
533
|
+
waitCss = true;
|
534
|
+
loadStyles(candidate.urls.css, function () {
|
535
|
+
waitCss = false;
|
536
|
+
runInclude();
|
537
|
+
});
|
538
|
+
}
|
539
|
+
if(detail.content == null && candidate.urls.include){
|
540
|
+
loadInclude(detail, function(data){
|
541
|
+
xhrObj = data;
|
542
|
+
runInclude();
|
543
|
+
});
|
544
|
+
} else {
|
545
|
+
xhrObj = detail;
|
546
|
+
}
|
547
|
+
|
548
|
+
if(candidate.urls.amd || candidate.urls.module){
|
549
|
+
var loadRequireImportCB = function(){
|
550
|
+
modules = Array.prototype.slice.call(arguments);
|
551
|
+
runInclude();
|
552
|
+
};
|
553
|
+
|
554
|
+
if(candidate.urls.amd){
|
555
|
+
loadRequire(candidate.urls.amd, loadRequireImportCB);
|
556
|
+
} else {
|
557
|
+
loadSystemJs(candidate.urls.module, loadRequireImportCB);
|
558
|
+
}
|
559
|
+
|
560
|
+
} else {
|
561
|
+
modules = [];
|
562
|
+
}
|
563
|
+
|
564
|
+
runInclude();
|
565
|
+
}
|
566
|
+
|
567
|
+
function findLoadCandidate(elem){
|
568
|
+
var candidate;
|
569
|
+
var includeData = getIncludeData(elem);
|
570
|
+
if(!includeData.candidates.length || !docElem.contains(elem) ){return;}
|
571
|
+
candidate = findCandidate(elem);
|
572
|
+
if(candidate){
|
573
|
+
loadCandidate(elem, candidate);
|
574
|
+
}
|
575
|
+
return true;
|
576
|
+
}
|
577
|
+
|
578
|
+
function beforeUnveil(e){
|
579
|
+
if(e.detail.instance != lazySizes || e.defaultPrevented || !e.target.getAttribute('data-include')){return;}
|
580
|
+
queue.q(e.target);
|
581
|
+
e.detail.firesLoad = true;
|
582
|
+
}
|
583
|
+
|
584
|
+
addEventListener('lazybeforeunveil', beforeUnveil, false);
|
585
|
+
|
586
|
+
addEventListener('resize', refreshIncludes, false);
|
587
|
+
addEventListener('lazyrefreshincludes', refreshIncludes, false);
|
588
|
+
|
589
|
+
}));
|
@@ -0,0 +1,87 @@
|
|
1
|
+
(function(window, factory) {
|
2
|
+
var globalInstall = function(){
|
3
|
+
factory(window.lazySizes);
|
4
|
+
window.removeEventListener('lazyunveilread', globalInstall, true);
|
5
|
+
};
|
6
|
+
|
7
|
+
factory = factory.bind(null, window, window.document);
|
8
|
+
|
9
|
+
if(typeof module == 'object' && module.exports){
|
10
|
+
factory(require('lazysizes'));
|
11
|
+
} else if(window.lazySizes) {
|
12
|
+
globalInstall();
|
13
|
+
} else {
|
14
|
+
window.addEventListener('lazyunveilread', globalInstall, true);
|
15
|
+
}
|
16
|
+
}(window, function(window, document, lazySizes) {
|
17
|
+
/*jshint eqnull:true */
|
18
|
+
'use strict';
|
19
|
+
|
20
|
+
var dummyParent = {nodeName: ''};
|
21
|
+
var supportPicture = !!window.HTMLPictureElement && ('sizes' in document.createElement('img'));
|
22
|
+
var config = (window.lazySizes && lazySizes.cfg) || window.lazySizesConfig;
|
23
|
+
|
24
|
+
var handleLoadingElements = function(e){
|
25
|
+
var i, isResponsive, hasTriggered, onload, loading;
|
26
|
+
|
27
|
+
var loadElements = e.target.querySelectorAll('img, iframe');
|
28
|
+
|
29
|
+
for(i = 0; i < loadElements.length; i++){
|
30
|
+
isResponsive = loadElements[i].getAttribute('srcset') || (loadElements[i].parentNode || dummyParent).nodeName.toLowerCase() == 'picture';
|
31
|
+
|
32
|
+
if(!supportPicture && isResponsive){
|
33
|
+
lazySizes.uP(loadElements[i]);
|
34
|
+
}
|
35
|
+
|
36
|
+
if(!loadElements[i].complete && (isResponsive || loadElements[i].src)){
|
37
|
+
e.detail.firesLoad = true;
|
38
|
+
|
39
|
+
if(!onload || !loading){
|
40
|
+
loading = 0;
|
41
|
+
/*jshint loopfunc:true */
|
42
|
+
onload = function(evt){
|
43
|
+
loading--;
|
44
|
+
if((!evt || loading < 1) && !hasTriggered){
|
45
|
+
hasTriggered = true;
|
46
|
+
e.detail.firesLoad = false;
|
47
|
+
lazySizes.fire(e.target, '_lazyloaded', {}, false, true);
|
48
|
+
}
|
49
|
+
|
50
|
+
if(evt && evt.target){
|
51
|
+
evt.target.removeEventListener('load', onload);
|
52
|
+
evt.target.removeEventListener('error', onload);
|
53
|
+
}
|
54
|
+
};
|
55
|
+
|
56
|
+
setTimeout(onload, 3500);
|
57
|
+
}
|
58
|
+
|
59
|
+
loading++;
|
60
|
+
|
61
|
+
loadElements[i].addEventListener('load', onload);
|
62
|
+
loadElements[i].addEventListener('error', onload);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
};
|
66
|
+
|
67
|
+
if(!config){
|
68
|
+
config = {};
|
69
|
+
window.lazySizesConfig = config;
|
70
|
+
}
|
71
|
+
|
72
|
+
config.getNoscriptContent = function(noScript){
|
73
|
+
return noScript.textContent || noScript.innerText;
|
74
|
+
};
|
75
|
+
|
76
|
+
window.addEventListener('lazybeforeunveil', function(e){
|
77
|
+
if(e.detail.instance != lazySizes || e.defaultPrevented || e.target.getAttribute('data-noscript') == null){return;}
|
78
|
+
|
79
|
+
var noScript = e.target.querySelector('noscript, script[type*="html"]') || {};
|
80
|
+
var content = config.getNoscriptContent(noScript);
|
81
|
+
|
82
|
+
if(content){
|
83
|
+
e.target.innerHTML = content;
|
84
|
+
handleLoadingElements(e);
|
85
|
+
}
|
86
|
+
});
|
87
|
+
}));
|