From 0103a2e198f4bec533630e628c6b34f6ffcd37e1 Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Thu, 12 Mar 2026 12:57:16 +0200 Subject: [PATCH 1/9] Force proxy `media` param --- src/lazy-img-placeholder.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lazy-img-placeholder.js b/src/lazy-img-placeholder.js index 1582c05..56c9458 100644 --- a/src/lazy-img-placeholder.js +++ b/src/lazy-img-placeholder.js @@ -70,6 +70,11 @@ function addPlaceholderThumbnail(widget, href, imageUrl) { _params[param] = query[param]; } } + + // Force proxy `media` param. + if (query.media) { + _params.media = query.media; + } // need to run through getEndpoint at least to avoid file:/// if (href.match(/\/api\/iframe/)) { @@ -259,4 +264,4 @@ WaitingWidget.prototype.registerLoadingTimeout = function() { this.timeoutId = setTimeout(function() { that.iframeOnLoad(); }, iframely.LAZY_IFRAME_SHOW_TIMEOUT); -}; \ No newline at end of file +}; From d541ab1f07e9f00f2f4eff065e5a264ec22a88ad Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Thu, 12 Mar 2026 12:57:20 +0200 Subject: [PATCH 2/9] build --- dist/embed-options.min.js | 2 +- dist/embed.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/embed-options.min.js b/dist/embed-options.min.js index c8a0726..b998d37 100644 --- a/dist/embed-options.min.js +++ b/dist/embed-options.min.js @@ -1 +1 @@ -!function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=31)}([function(e,t){var n=window.iframely=window.iframely||{};n.config=n.config||{},e.exports=n},function(e,t,n){var a=n(0),r=n(2);a.on("init",(function(){a.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return r}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),a.config.theme&&a.setTheme(a.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||a.DOMAINS).join('"], iframe[src*="')+'"]'),n=0;n2||t&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS||!t&&"relative"!==n.style.position&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS)){var r=n.parentNode;if(!(!r||"DIV"!==r.nodeName||c(r)>1||t&&r.getAttribute("class")&&-1===r.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)||!t&&r.getAttribute("class")&&!r.getAttribute("class").match(/iframely/i)))return{aspectWrapper:n,maxWidthWrapper:r}}};t.addDefaultWrappers=function(e){var t=e.parentNode,n=document.createElement("div");n.className=a.MAXWIDTH_WRAPPER_CLASS;var r=document.createElement("div");return r.className=a.ASPECT_WRAPPER_CLASS,n.appendChild(r),t.insertBefore(n,e),{aspectWrapper:r,maxWidthWrapper:n}},t.getWidget=function(e){var t=i(e);if(t){var n={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))n.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var a=s(e.getAttribute("src"));a.url&&(n.url=a.url)}return n}},a.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(n){var r=t[n];("number"==typeof r||"string"==typeof r&&/^(\d+)?\.?(\d+)$/.test(r))&&(r+="px");var i=e.style[n];window.getComputedStyle&&(a.getElementComputedStyle(e,n)==r||"iframely-responsive"==e.className&&"paddingBottom"===n&&!i&&/^56\.2\d+%$/.test(r)||"max-width"===n&&"keep"===r)||(e.style[n]=r||"")}))};var o=t.applyNonce=function(e){a.config.nonce&&(e.nonce=a.config.nonce)};var l=t.addQueryString=function(e,t){var n="";return Object.keys(t).forEach((function(a){var r=t[a];if("[object Array]"===Object.prototype.toString.call(r)){var i=r.map((function(e){return a+"="+encodeURIComponent(e)}));n+="&"+i.join("&")}else void 0!==r&&-1===e.indexOf(a+"=")&&("boolean"==typeof r&&"_"!==a.charAt(0)&&(r=r?1:0),n+="&"+a+"="+encodeURIComponent(r))})),e+(""!==n?(e.indexOf("?")>-1?"&":"?")+n.replace(/^&/,""):"")};function c(e){for(var t=0,n=0;n-1?t?"IFRAME"===t.tagName?i(t,e):o(t,e):(a.extendOptions({theme:e}),o(document,e),a.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+a.SUPPORTED_THEMES.join(", "))}},function(e,t,n){var a=n(1),r=n(0),i={};function o(e,t,n){var i,o=e.cancel,l=e.shadow,p=e.renderEvent,s=a.getIframeWrapper(t,!0);if(o)i=a.getWidget(t),r.cancelWidget(i||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var d,u;if((i=document.createElement("div")).innerHTML=e.html,s&&!p?(d=s.aspectWrapper.parentNode,u=s.aspectWrapper,s.maxWidthWrapper.removeAttribute("style")):(d=t.parentNode,u=t),l){var f=document.createElement("div"),m=f.attachShadow({mode:"open"});m.appendChild(i);var _={shadowRoot:m,shadowContainer:f,container:d,context:e.context,stylesIds:e.stylesIds,stylesDict:n.commonShadowStyles};r.trigger("import-shadow-widget-before-render",_),d.insertBefore(f,u),r.trigger("import-shadow-widget-after-render",_)}else d.insertBefore(i,u),function e(t){function n(e){var n=e.text||e.textContent||e.innerHTML||"",r=a.createScript();r.type="text/javascript";for(var i=0;i4&&(t=null);var a=t&&t.parentNode;a&&a.getAttribute("class")&&a.getAttribute("class").split(" ").indexOf(r.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),a.removeAttribute("style"))}r.on("load",(function(e){if(!e&&!1!==r.config.import&&document.head.attachShadow&&document.location&&(r.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!r.config.playerjs&&!r.config.lazy&&!r.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=a.createScript(),n=[],o=[],c=null;function p(e,t){i[e]||(i[e]=[]),i[e].push(t)}function s(e){var t=e.getAttribute("data-iframely-url"),i=t.match(r.ID_RE),l=i&&i[1],s=a.parseQueryString(t,r.SUPPORTED_QUERY_STRING.concat("url")),d=s.url;delete s.url;var u="0"===s.import||"false"===s.import||"1"===s.playerjs||"true"===s.playerjs;if(!u){var f=t.match(r.BASE_RE);s.CDN=f&&f[0],c?JSON.stringify(s,Object.keys(s).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(u=!0):c=s}if(u)r.trigger("load",e);else if(l)e.setAttribute("data-import-uri",l),-1===o.indexOf(l)&&o.push(l),p(l,e);else{d||(d=e.getAttribute("href")),(c.key||c.api_key||r.config.api_key||r.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===n.indexOf(d)&&n.push(d),p(d,e)):r.trigger("load",e)}}for(var d=0;d0||o.length>0?((c=c||{}).touch=r.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,r.config.theme&&(c.theme=r.config.theme),n.length>0&&(c.uri=n),o.length>0&&(c.ids=o.join("&")),c.v=r.VERSION,t.src=a.getEndpoint("/api/import/v2",c,r.SUPPORTED_QUERY_STRING),t.onerror=function(){l()},document.head.appendChild(t),r.import=t):(l(),r.trigger("load"))}(t)}})),r.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var n=i[e.uri];if(n)for(var a=0;a1&&function(e,t){for(var n=0,a=0;a=0;return n&&e}(e.maxWidthWrapper,a.config.parent);r&&(t=r.parentNode,n=r)}if(e.url){var i=e.iframe&&(e.iframe.textContent||e.iframe.innerText);a.triggerAsync("cancel",e.url,t,i,n.nextSibling)}t.removeChild(n)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,n){var a=n(1),r=n(0);r.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var n=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((n=n||{})[t[0].trim()]=t[1].trim())}})),l(e,n)):"setIframelyEmbedData"===t.method&&l(e,null);var i=t.data&&t.data.media;!i&&t.height&&(i={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var n=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,n=t&&t.match(/(\d+)px/)||0;n&&(n=parseInt(n[1]),n*=2);return n}(e),i=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=n),a.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+n,width:t.width&&t.width+n}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var l=t["aspect-ratio"];(l||t.height)&&a.setStyles(e.aspectWrapper,{paddingBottom:l?Math.round(1e5/l)/1e3+"%":0,paddingTop:l&&t["padding-bottom"],height:l?0:t.height&&t.height+n});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");i&&i!==c&&r.triggerAsync("heightChanged",e.iframe,i,c)}}(e,i)}}));var i={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function l(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",a.setStyles(e.aspectWrapper,t)):a.setStyles(e.iframe,t):!t&&e&&e.iframe&&(a.setStyles(e.aspectWrapper,i),a.setStyles(e.iframe,o))}},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||a.trigger(t.method,t.href)})),a.openHref||(a.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),a.on("open-href",(function(e){a.triggerAsync("click",e),a.openHref(e)}))},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&a.trigger("options",e,t.data)}))},function(e,t,n){var a=n(0);a.widgets=a.widgets||{},a.widgets.load=a.load,a.events||(a.events={},a.events.on=a.on,a.events.trigger=a.trigger),a.on("cancel",(function(e,t,n,r){if(a.RECOVER_HREFS_ON_CANCEL&&!n&&(n=e),e&&t&&n&&""!==n){var i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("target","_blank"),i.setAttribute("rel","noopener"),i.textContent=n,r?t.insertBefore(i,r):t.appendChild(i)}}))},function(e,t,n){var a,r=!!(a=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(a[2],10);n(0).SUPPORT_IFRAME_LOADING_ATTR=r&&r>=77},function(e,t,n){var a=n(0),r=n(20),i=n(22);a.buildOptionsForm=function(e,t,n,a){r({id:e,formContainer:t,options:n,renderer:i,translator:a})},t.iframely=a},function(e,t,n){var a=n(21),r=n(0),i={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];r.addEventListener(n,"click",(function(){n.select()})),r.addEventListener(n,"blur",t),r.addEventListener(n,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},o={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var l=a(t,e.translator),c=e.id,p=e.renderer,s=o[c]=o[c]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(s[e]=t[e].value)}));var d=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=d(e.context.elements)),t+=p(e.type,e.context||{})})),t};n.innerHTML=d(l);var u=function(e){e.forEach((function(e){if(e.context&&e.context.elements)u(e.context.elements);else{var t=i[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach((function(e){r.addEventListener(e,"change",f)})):console.warn("No inputs found for option",e.key))}}))};u(l)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(n){n.forEach((function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var a,r=i[n.type];a=r&&r.getValue?r.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(a))}}))};return t(l),e}();Object.keys(s).forEach((function(t){s[t]!==e[t]&&void 0!==e[t]||delete e[t]})),r.trigger("options-changed",c,n,e)}}},function(e,t){var n=/^_./,a=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var r=[],i=Object.keys(e),o=0;if(i.forEach((function(i){var l,c,p={},s=e[i];s.key=i;var d,u,f=s.values&&Object.keys(s.values);if(f&&1===f.length&&(c=!0,d=f[0],u=s.values[d]),p.label=a(u||s.label,t),p.key=s.key,c||"boolean"==typeof s.value)p.checked=c?d===s.value||!d&&!s.value:s.value,o++,r.push({type:"checkbox",context:p,order:n.test(i)?0:1,getQuery:function(e){var t;t=c?e?d:"":e;var n={};return c?""===t||(n[s.key]=t):n[s.key]=e,n}});else if("number"!=typeof s.value&&"string"!=typeof s.value||s.values){if(s.values)if(p.value=s.value+"",l=function(e){var t={};return""===e||(t[s.key]=e),t},Object.keys(s.values).length<=3){s.label?p.label=a(s.label,t):p.label=!1;for(var m=0,_=!1,h=Object.values(s.values);m8,m++}p.inline=!_,p.items=[],Object.keys(s.values).forEach((function(e,n){p.items.push({id:p.key+"-"+n,value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"radio",context:p,order:_?-3:/theme/.test(i)?-1:-2,getQuery:l})}else p.items=[],Object.keys(s.values).forEach((function(e){p.items.push({value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"select",context:p,order:5,getQuery:l})}else{var g=s.range&&"number"==typeof s.range.min&&"number"==typeof s.range.max,v="number"==typeof s.value;p.value=s.value,l=function(e){var t={};return""===e||(t[s.key]=e),t},g?(p.min=s.range.min,p.max=s.range.max,r.push({type:"range",context:p,order:9,getQuery:l})):(p.placeholder=a(s.placeholder||"",t),p.inputType=v?"number":"text",r.push({type:"text",context:p,order:/start/i.test(i)?7:8,getQuery:l}))}})),r.sort((function(e,t){return e.order-t.order})),r.forEach((function(e){delete e.order})),o>0){var l,c=[];return r.forEach((function(e,t){if("checkbox"===e.type){var a=o>2&&t>0&&!n.test(e.context.key)&&"checkbox"===r[t-1].type&&n.test(r[t-1].context.key);l&&!a||(l=[],c.push({type:"group",context:{elements:l}})),l.push(e)}else c.push(e)})),c}return r}},function(e,t,n){var a={checkbox:n(23),range:n(24),text:n(25),radio:n(26),select:n(27),group:n(28)};e.exports=function(e,t){return(0,a[e])(t)}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n checked="checked"<% } %>>\n \n
\n',__filename="src/options/templates/checkbox.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n \n
\n"),__line=7;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/range.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/text.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n <% if (label) { %>\n \n <% } %>\n
\n <% items.forEach(function(subContext) { %>\n
\n checked="checked"<% } %>>\n \n
\n <% }); %>\n
\n
',__filename="src/options/templates/radio.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n '),__line=2,label&&(__append('\n \n "),__line=6),__append('\n
\n '),__line=8,items.forEach((function(e){__append('\n
\n \n \n
\n "),__line=15})),__append("\n
\n
"),__line=17;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/select.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
"),__line=10;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n
\n <%- elementsHtml %>\n
\n
',__filename="src/options/templates/group.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n
\n '),__line=3,__append(elementsHtml),__append("\n
\n
"),__line=5;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},,,function(e,t,n){n(3);var a=n(0);a._loaded||(a._loaded=!0,n(4),n(5),n(7),n(8),n(9),n(10),n(11),n(12),n(13),n(14),n(15),n(16),n(17),n(18),n(19),a.trigger("init")),t.iframely=a}]); \ No newline at end of file +!function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=31)}([function(e,t){var n=window.iframely=window.iframely||{};n.config=n.config||{},e.exports=n},function(e,t,n){var a=n(0),r=n(2);a.on("init",(function(){a.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return r}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),a.config.theme&&a.setTheme(a.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||a.DOMAINS).join('"], iframe[src*="')+'"]'),n=0;n2||t&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS||!t&&"relative"!==n.style.position&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS)){var r=n.parentNode;if(!(!r||"DIV"!==r.nodeName||c(r)>1||t&&r.getAttribute("class")&&-1===r.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)||!t&&r.getAttribute("class")&&!r.getAttribute("class").match(/iframely/i)))return{aspectWrapper:n,maxWidthWrapper:r}}};t.addDefaultWrappers=function(e){var t=e.parentNode,n=document.createElement("div");n.className=a.MAXWIDTH_WRAPPER_CLASS;var r=document.createElement("div");return r.className=a.ASPECT_WRAPPER_CLASS,n.appendChild(r),t.insertBefore(n,e),{aspectWrapper:r,maxWidthWrapper:n}},t.getWidget=function(e){var t=i(e);if(t){var n={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))n.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var a=s(e.getAttribute("src"));a.url&&(n.url=a.url)}return n}},a.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(n){var r=t[n];("number"==typeof r||"string"==typeof r&&/^(\d+)?\.?(\d+)$/.test(r))&&(r+="px");var i=e.style[n];window.getComputedStyle&&(a.getElementComputedStyle(e,n)==r||"iframely-responsive"==e.className&&"paddingBottom"===n&&!i&&/^56\.2\d+%$/.test(r)||"max-width"===n&&"keep"===r)||(e.style[n]=r||"")}))};var o=t.applyNonce=function(e){a.config.nonce&&(e.nonce=a.config.nonce)};var l=t.addQueryString=function(e,t){var n="";return Object.keys(t).forEach((function(a){var r=t[a];if("[object Array]"===Object.prototype.toString.call(r)){var i=r.map((function(e){return a+"="+encodeURIComponent(e)}));n+="&"+i.join("&")}else void 0!==r&&-1===e.indexOf(a+"=")&&("boolean"==typeof r&&"_"!==a.charAt(0)&&(r=r?1:0),n+="&"+a+"="+encodeURIComponent(r))})),e+(""!==n?(e.indexOf("?")>-1?"&":"?")+n.replace(/^&/,""):"")};function c(e){for(var t=0,n=0;n-1?t?"IFRAME"===t.tagName?i(t,e):o(t,e):(a.extendOptions({theme:e}),o(document,e),a.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+a.SUPPORTED_THEMES.join(", "))}},function(e,t,n){var a=n(1),r=n(0),i={};function o(e,t,n){var i,o=e.cancel,l=e.shadow,p=e.renderEvent,s=a.getIframeWrapper(t,!0);if(o)i=a.getWidget(t),r.cancelWidget(i||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var d,u;if((i=document.createElement("div")).innerHTML=e.html,s&&!p?(d=s.aspectWrapper.parentNode,u=s.aspectWrapper,s.maxWidthWrapper.removeAttribute("style")):(d=t.parentNode,u=t),l){var f=document.createElement("div"),m=f.attachShadow({mode:"open"});m.appendChild(i);var _={shadowRoot:m,shadowContainer:f,container:d,context:e.context,stylesIds:e.stylesIds,stylesDict:n.commonShadowStyles};r.trigger("import-shadow-widget-before-render",_),d.insertBefore(f,u),r.trigger("import-shadow-widget-after-render",_)}else d.insertBefore(i,u),function e(t){function n(e){var n=e.text||e.textContent||e.innerHTML||"",r=a.createScript();r.type="text/javascript";for(var i=0;i4&&(t=null);var a=t&&t.parentNode;a&&a.getAttribute("class")&&a.getAttribute("class").split(" ").indexOf(r.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),a.removeAttribute("style"))}r.on("load",(function(e){if(!e&&!1!==r.config.import&&document.head.attachShadow&&document.location&&(r.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!r.config.playerjs&&!r.config.lazy&&!r.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=a.createScript(),n=[],o=[],c=null;function p(e,t){i[e]||(i[e]=[]),i[e].push(t)}function s(e){var t=e.getAttribute("data-iframely-url"),i=t.match(r.ID_RE),l=i&&i[1],s=a.parseQueryString(t,r.SUPPORTED_QUERY_STRING.concat("url")),d=s.url;delete s.url;var u="0"===s.import||"false"===s.import||"1"===s.playerjs||"true"===s.playerjs;if(!u){var f=t.match(r.BASE_RE);s.CDN=f&&f[0],c?JSON.stringify(s,Object.keys(s).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(u=!0):c=s}if(u)r.trigger("load",e);else if(l)e.setAttribute("data-import-uri",l),-1===o.indexOf(l)&&o.push(l),p(l,e);else{d||(d=e.getAttribute("href")),(c.key||c.api_key||r.config.api_key||r.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===n.indexOf(d)&&n.push(d),p(d,e)):r.trigger("load",e)}}for(var d=0;d0||o.length>0?((c=c||{}).touch=r.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,r.config.theme&&(c.theme=r.config.theme),n.length>0&&(c.uri=n),o.length>0&&(c.ids=o.join("&")),c.v=r.VERSION,t.src=a.getEndpoint("/api/import/v2",c,r.SUPPORTED_QUERY_STRING),t.onerror=function(){l()},document.head.appendChild(t),r.import=t):(l(),r.trigger("load"))}(t)}})),r.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var n=i[e.uri];if(n)for(var a=0;a1&&function(e,t){for(var n=0,a=0;a=0;return n&&e}(e.maxWidthWrapper,a.config.parent);r&&(t=r.parentNode,n=r)}if(e.url){var i=e.iframe&&(e.iframe.textContent||e.iframe.innerText);a.triggerAsync("cancel",e.url,t,i,n.nextSibling)}t.removeChild(n)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,n){var a=n(1),r=n(0);r.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var n=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((n=n||{})[t[0].trim()]=t[1].trim())}})),l(e,n)):"setIframelyEmbedData"===t.method&&l(e,null);var i=t.data&&t.data.media;!i&&t.height&&(i={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var n=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,n=t&&t.match(/(\d+)px/)||0;n&&(n=parseInt(n[1]),n*=2);return n}(e),i=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=n),a.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+n,width:t.width&&t.width+n}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var l=t["aspect-ratio"];(l||t.height)&&a.setStyles(e.aspectWrapper,{paddingBottom:l?Math.round(1e5/l)/1e3+"%":0,paddingTop:l&&t["padding-bottom"],height:l?0:t.height&&t.height+n});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");i&&i!==c&&r.triggerAsync("heightChanged",e.iframe,i,c)}}(e,i)}}));var i={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function l(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",a.setStyles(e.aspectWrapper,t)):a.setStyles(e.iframe,t):!t&&e&&e.iframe&&(a.setStyles(e.aspectWrapper,i),a.setStyles(e.iframe,o))}},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||a.trigger(t.method,t.href)})),a.openHref||(a.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),a.on("open-href",(function(e){a.triggerAsync("click",e),a.openHref(e)}))},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&a.trigger("options",e,t.data)}))},function(e,t,n){var a=n(0);a.widgets=a.widgets||{},a.widgets.load=a.load,a.events||(a.events={},a.events.on=a.on,a.events.trigger=a.trigger),a.on("cancel",(function(e,t,n,r){if(a.RECOVER_HREFS_ON_CANCEL&&!n&&(n=e),e&&t&&n&&""!==n){var i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("target","_blank"),i.setAttribute("rel","noopener"),i.textContent=n,r?t.insertBefore(i,r):t.appendChild(i)}}))},function(e,t,n){var a,r=!!(a=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(a[2],10);n(0).SUPPORT_IFRAME_LOADING_ATTR=r&&r>=77},function(e,t,n){var a=n(0),r=n(20),i=n(22);a.buildOptionsForm=function(e,t,n,a){r({id:e,formContainer:t,options:n,renderer:i,translator:a})},t.iframely=a},function(e,t,n){var a=n(21),r=n(0),i={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];r.addEventListener(n,"click",(function(){n.select()})),r.addEventListener(n,"blur",t),r.addEventListener(n,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},o={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var l=a(t,e.translator),c=e.id,p=e.renderer,s=o[c]=o[c]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(s[e]=t[e].value)}));var d=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=d(e.context.elements)),t+=p(e.type,e.context||{})})),t};n.innerHTML=d(l);var u=function(e){e.forEach((function(e){if(e.context&&e.context.elements)u(e.context.elements);else{var t=i[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach((function(e){r.addEventListener(e,"change",f)})):console.warn("No inputs found for option",e.key))}}))};u(l)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(n){n.forEach((function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var a,r=i[n.type];a=r&&r.getValue?r.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(a))}}))};return t(l),e}();Object.keys(s).forEach((function(t){s[t]!==e[t]&&void 0!==e[t]||delete e[t]})),r.trigger("options-changed",c,n,e)}}},function(e,t){var n=/^_./,a=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var r=[],i=Object.keys(e),o=0;if(i.forEach((function(i){var l,c,p={},s=e[i];s.key=i;var d,u,f=s.values&&Object.keys(s.values);if(f&&1===f.length&&(c=!0,d=f[0],u=s.values[d]),p.label=a(u||s.label,t),p.key=s.key,c||"boolean"==typeof s.value)p.checked=c?d===s.value||!d&&!s.value:s.value,o++,r.push({type:"checkbox",context:p,order:n.test(i)?0:1,getQuery:function(e){var t;t=c?e?d:"":e;var n={};return c?""===t||(n[s.key]=t):n[s.key]=e,n}});else if("number"!=typeof s.value&&"string"!=typeof s.value||s.values){if(s.values)if(p.value=s.value+"",l=function(e){var t={};return""===e||(t[s.key]=e),t},Object.keys(s.values).length<=3){s.label?p.label=a(s.label,t):p.label=!1;for(var m=0,_=!1,h=Object.values(s.values);m8,m++}p.inline=!_,p.items=[],Object.keys(s.values).forEach((function(e,n){p.items.push({id:p.key+"-"+n,value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"radio",context:p,order:_?-3:/theme/.test(i)?-1:-2,getQuery:l})}else p.items=[],Object.keys(s.values).forEach((function(e){p.items.push({value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"select",context:p,order:5,getQuery:l})}else{var g=s.range&&"number"==typeof s.range.min&&"number"==typeof s.range.max,v="number"==typeof s.value;p.value=s.value,l=function(e){var t={};return""===e||(t[s.key]=e),t},g?(p.min=s.range.min,p.max=s.range.max,r.push({type:"range",context:p,order:9,getQuery:l})):(p.placeholder=a(s.placeholder||"",t),p.inputType=v?"number":"text",r.push({type:"text",context:p,order:/start/i.test(i)?7:8,getQuery:l}))}})),r.sort((function(e,t){return e.order-t.order})),r.forEach((function(e){delete e.order})),o>0){var l,c=[];return r.forEach((function(e,t){if("checkbox"===e.type){var a=o>2&&t>0&&!n.test(e.context.key)&&"checkbox"===r[t-1].type&&n.test(r[t-1].context.key);l&&!a||(l=[],c.push({type:"group",context:{elements:l}})),l.push(e)}else c.push(e)})),c}return r}},function(e,t,n){var a={checkbox:n(23),range:n(24),text:n(25),radio:n(26),select:n(27),group:n(28)};e.exports=function(e,t){return(0,a[e])(t)}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n checked="checked"<% } %>>\n \n
\n',__filename="src/options/templates/checkbox.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n \n
\n"),__line=7;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/range.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/text.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n <% if (label) { %>\n \n <% } %>\n
\n <% items.forEach(function(subContext) { %>\n
\n checked="checked"<% } %>>\n \n
\n <% }); %>\n
\n
',__filename="src/options/templates/radio.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n '),__line=2,label&&(__append('\n \n "),__line=6),__append('\n
\n '),__line=8,items.forEach((function(e){__append('\n
\n \n \n
\n "),__line=15})),__append("\n
\n
"),__line=17;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/select.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
"),__line=10;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n
\n <%- elementsHtml %>\n
\n
',__filename="src/options/templates/group.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n
\n '),__line=3,__append(elementsHtml),__append("\n
\n
"),__line=5;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},,,function(e,t,n){n(3);var a=n(0);a._loaded||(a._loaded=!0,n(4),n(5),n(7),n(8),n(9),n(10),n(11),n(12),n(13),n(14),n(15),n(16),n(17),n(18),n(19),a.trigger("init")),t.iframely=a}]); \ No newline at end of file diff --git a/dist/embed.min.js b/dist/embed.min.js index 3c9ba3a..9912fe5 100644 --- a/dist/embed.min.js +++ b/dist/embed.min.js @@ -1 +1 @@ -!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=30)}([function(e,t){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},function(e,t,r){var i=r(0),n=r(2);i.on("init",(function(){i.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return n}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),i.config.theme&&i.setTheme(i.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||i.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS)){var n=r.parentNode;if(!(!n||"DIV"!==n.nodeName||c(n)>1||t&&n.getAttribute("class")&&-1===n.getAttribute("class").split(" ").indexOf(i.MAXWIDTH_WRAPPER_CLASS)||!t&&n.getAttribute("class")&&!n.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:n}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=i.MAXWIDTH_WRAPPER_CLASS;var n=document.createElement("div");return n.className=i.ASPECT_WRAPPER_CLASS,r.appendChild(n),t.insertBefore(r,e),{aspectWrapper:n,maxWidthWrapper:r}},t.getWidget=function(e){var t=a(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var i=l(e.getAttribute("src"));i.url&&(r.url=i.url)}return r}},i.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(r){var n=t[r];("number"==typeof n||"string"==typeof n&&/^(\d+)?\.?(\d+)$/.test(n))&&(n+="px");var a=e.style[r];window.getComputedStyle&&(i.getElementComputedStyle(e,r)==n||"iframely-responsive"==e.className&&"paddingBottom"===r&&!a&&/^56\.2\d+%$/.test(n)||"max-width"===r&&"keep"===n)||(e.style[r]=n||"")}))};var o=t.applyNonce=function(e){i.config.nonce&&(e.nonce=i.config.nonce)};var d=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach((function(i){var n=t[i];if("[object Array]"===Object.prototype.toString.call(n)){var a=n.map((function(e){return i+"="+encodeURIComponent(e)}));r+="&"+a.join("&")}else void 0!==n&&-1===e.indexOf(i+"=")&&("boolean"==typeof n&&"_"!==i.charAt(0)&&(n=n?1:0),r+="&"+i+"="+encodeURIComponent(n))})),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function c(e){for(var t=0,r=0;r-1?t?"IFRAME"===t.tagName?a(t,e):o(t,e):(i.extendOptions({theme:e}),o(document,e),i.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+i.SUPPORTED_THEMES.join(", "))}},function(e,t,r){var i=r(1),n=r(0),a={};function o(e,t,r){var a,o=e.cancel,d=e.shadow,s=e.renderEvent,l=i.getIframeWrapper(t,!0);if(o)a=i.getWidget(t),n.cancelWidget(a||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var u,f;if((a=document.createElement("div")).innerHTML=e.html,l&&!s?(u=l.aspectWrapper.parentNode,f=l.aspectWrapper,l.maxWidthWrapper.removeAttribute("style")):(u=t.parentNode,f=t),d){var p=document.createElement("div"),m=p.attachShadow({mode:"open"});m.appendChild(a);var g={shadowRoot:m,shadowContainer:p,container:u,context:e.context,stylesIds:e.stylesIds,stylesDict:r.commonShadowStyles};n.trigger("import-shadow-widget-before-render",g),u.insertBefore(p,f),n.trigger("import-shadow-widget-after-render",g)}else u.insertBefore(a,f),function e(t){function r(e){var r=e.text||e.textContent||e.innerHTML||"",n=i.createScript();n.type="text/javascript";for(var a=0;a4&&(t=null);var i=t&&t.parentNode;i&&i.getAttribute("class")&&i.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),i.removeAttribute("style"))}n.on("load",(function(e){if(!e&&!1!==n.config.import&&document.head.attachShadow&&document.location&&(n.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!n.config.playerjs&&!n.config.lazy&&!n.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=i.createScript(),r=[],o=[],c=null;function s(e,t){a[e]||(a[e]=[]),a[e].push(t)}function l(e){var t=e.getAttribute("data-iframely-url"),a=t.match(n.ID_RE),d=a&&a[1],l=i.parseQueryString(t,n.SUPPORTED_QUERY_STRING.concat("url")),u=l.url;delete l.url;var f="0"===l.import||"false"===l.import||"1"===l.playerjs||"true"===l.playerjs;if(!f){var p=t.match(n.BASE_RE);l.CDN=p&&p[0],c?JSON.stringify(l,Object.keys(l).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(f=!0):c=l}if(f)n.trigger("load",e);else if(d)e.setAttribute("data-import-uri",d),-1===o.indexOf(d)&&o.push(d),s(d,e);else{u||(u=e.getAttribute("href")),(c.key||c.api_key||n.config.api_key||n.config.key)&&u?(e.setAttribute("data-import-uri",u),-1===r.indexOf(u)&&r.push(u),s(u,e)):n.trigger("load",e)}}for(var u=0;u0||o.length>0?((c=c||{}).touch=n.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,n.config.theme&&(c.theme=n.config.theme),r.length>0&&(c.uri=r),o.length>0&&(c.ids=o.join("&")),c.v=n.VERSION,t.src=i.getEndpoint("/api/import/v2",c,n.SUPPORTED_QUERY_STRING),t.onerror=function(){d()},document.head.appendChild(t),n.import=t):(d(),n.trigger("load"))}(t)}})),n.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=a[e.uri];if(r)for(var i=0;i1&&function(e,t){for(var r=0,i=0;i=0;return r&&e}(e.maxWidthWrapper,i.config.parent);n&&(t=n.parentNode,r=n)}if(e.url){var a=e.iframe&&(e.iframe.textContent||e.iframe.innerText);i.triggerAsync("cancel",e.url,t,a,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,r){var i=r(1),n=r(0);n.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}})),d(e,r)):"setIframelyEmbedData"===t.method&&d(e,null);var a=t.data&&t.data.media;!a&&t.height&&(a={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;r&&(r=parseInt(r[1]),r*=2);return r}(e),a=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),i.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var d=t["aspect-ratio"];(d||t.height)&&i.setStyles(e.aspectWrapper,{paddingBottom:d?Math.round(1e5/d)/1e3+"%":0,paddingTop:d&&t["padding-bottom"],height:d?0:t.height&&t.height+r});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");a&&a!==c&&n.triggerAsync("heightChanged",e.iframe,a,c)}}(e,a)}}));var a={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function d(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",i.setStyles(e.aspectWrapper,t)):i.setStyles(e.iframe,t):!t&&e&&e.iframe&&(i.setStyles(e.aspectWrapper,a),i.setStyles(e.iframe,o))}},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||i.trigger(t.method,t.href)})),i.openHref||(i.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),i.on("open-href",(function(e){i.triggerAsync("click",e),i.openHref(e)}))},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&i.trigger("options",e,t.data)}))},function(e,t,r){var i=r(0);i.widgets=i.widgets||{},i.widgets.load=i.load,i.events||(i.events={},i.events.on=i.on,i.events.trigger=i.trigger),i.on("cancel",(function(e,t,r,n){if(i.RECOVER_HREFS_ON_CANCEL&&!r&&(r=e),e&&t&&r&&""!==r){var a=document.createElement("a");a.setAttribute("href",e),a.setAttribute("target","_blank"),a.setAttribute("rel","noopener"),a.textContent=r,n?t.insertBefore(a,n):t.appendChild(a)}}))},function(e,t,r){var i,n=!!(i=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(i[2],10);r(0).SUPPORT_IFRAME_LOADING_ATTR=n&&n>=77},,,,,,,,,,,,function(e,t,r){r(3);var i=r(0);i._loaded||(i._loaded=!0,r(4),r(5),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15),r(16),r(17),r(18),i.trigger("init")),t.iframely=i}]); \ No newline at end of file +!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=30)}([function(e,t){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},function(e,t,r){var i=r(0),n=r(2);i.on("init",(function(){i.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return n}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),i.config.theme&&i.setTheme(i.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||i.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS)){var n=r.parentNode;if(!(!n||"DIV"!==n.nodeName||c(n)>1||t&&n.getAttribute("class")&&-1===n.getAttribute("class").split(" ").indexOf(i.MAXWIDTH_WRAPPER_CLASS)||!t&&n.getAttribute("class")&&!n.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:n}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=i.MAXWIDTH_WRAPPER_CLASS;var n=document.createElement("div");return n.className=i.ASPECT_WRAPPER_CLASS,r.appendChild(n),t.insertBefore(r,e),{aspectWrapper:n,maxWidthWrapper:r}},t.getWidget=function(e){var t=a(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var i=l(e.getAttribute("src"));i.url&&(r.url=i.url)}return r}},i.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(r){var n=t[r];("number"==typeof n||"string"==typeof n&&/^(\d+)?\.?(\d+)$/.test(n))&&(n+="px");var a=e.style[r];window.getComputedStyle&&(i.getElementComputedStyle(e,r)==n||"iframely-responsive"==e.className&&"paddingBottom"===r&&!a&&/^56\.2\d+%$/.test(n)||"max-width"===r&&"keep"===n)||(e.style[r]=n||"")}))};var o=t.applyNonce=function(e){i.config.nonce&&(e.nonce=i.config.nonce)};var d=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach((function(i){var n=t[i];if("[object Array]"===Object.prototype.toString.call(n)){var a=n.map((function(e){return i+"="+encodeURIComponent(e)}));r+="&"+a.join("&")}else void 0!==n&&-1===e.indexOf(i+"=")&&("boolean"==typeof n&&"_"!==i.charAt(0)&&(n=n?1:0),r+="&"+i+"="+encodeURIComponent(n))})),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function c(e){for(var t=0,r=0;r-1?t?"IFRAME"===t.tagName?a(t,e):o(t,e):(i.extendOptions({theme:e}),o(document,e),i.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+i.SUPPORTED_THEMES.join(", "))}},function(e,t,r){var i=r(1),n=r(0),a={};function o(e,t,r){var a,o=e.cancel,d=e.shadow,s=e.renderEvent,l=i.getIframeWrapper(t,!0);if(o)a=i.getWidget(t),n.cancelWidget(a||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var u,f;if((a=document.createElement("div")).innerHTML=e.html,l&&!s?(u=l.aspectWrapper.parentNode,f=l.aspectWrapper,l.maxWidthWrapper.removeAttribute("style")):(u=t.parentNode,f=t),d){var p=document.createElement("div"),m=p.attachShadow({mode:"open"});m.appendChild(a);var g={shadowRoot:m,shadowContainer:p,container:u,context:e.context,stylesIds:e.stylesIds,stylesDict:r.commonShadowStyles};n.trigger("import-shadow-widget-before-render",g),u.insertBefore(p,f),n.trigger("import-shadow-widget-after-render",g)}else u.insertBefore(a,f),function e(t){function r(e){var r=e.text||e.textContent||e.innerHTML||"",n=i.createScript();n.type="text/javascript";for(var a=0;a4&&(t=null);var i=t&&t.parentNode;i&&i.getAttribute("class")&&i.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),i.removeAttribute("style"))}n.on("load",(function(e){if(!e&&!1!==n.config.import&&document.head.attachShadow&&document.location&&(n.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!n.config.playerjs&&!n.config.lazy&&!n.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=i.createScript(),r=[],o=[],c=null;function s(e,t){a[e]||(a[e]=[]),a[e].push(t)}function l(e){var t=e.getAttribute("data-iframely-url"),a=t.match(n.ID_RE),d=a&&a[1],l=i.parseQueryString(t,n.SUPPORTED_QUERY_STRING.concat("url")),u=l.url;delete l.url;var f="0"===l.import||"false"===l.import||"1"===l.playerjs||"true"===l.playerjs;if(!f){var p=t.match(n.BASE_RE);l.CDN=p&&p[0],c?JSON.stringify(l,Object.keys(l).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(f=!0):c=l}if(f)n.trigger("load",e);else if(d)e.setAttribute("data-import-uri",d),-1===o.indexOf(d)&&o.push(d),s(d,e);else{u||(u=e.getAttribute("href")),(c.key||c.api_key||n.config.api_key||n.config.key)&&u?(e.setAttribute("data-import-uri",u),-1===r.indexOf(u)&&r.push(u),s(u,e)):n.trigger("load",e)}}for(var u=0;u0||o.length>0?((c=c||{}).touch=n.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,n.config.theme&&(c.theme=n.config.theme),r.length>0&&(c.uri=r),o.length>0&&(c.ids=o.join("&")),c.v=n.VERSION,t.src=i.getEndpoint("/api/import/v2",c,n.SUPPORTED_QUERY_STRING),t.onerror=function(){d()},document.head.appendChild(t),n.import=t):(d(),n.trigger("load"))}(t)}})),n.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=a[e.uri];if(r)for(var i=0;i1&&function(e,t){for(var r=0,i=0;i=0;return r&&e}(e.maxWidthWrapper,i.config.parent);n&&(t=n.parentNode,r=n)}if(e.url){var a=e.iframe&&(e.iframe.textContent||e.iframe.innerText);i.triggerAsync("cancel",e.url,t,a,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,r){var i=r(1),n=r(0);n.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}})),d(e,r)):"setIframelyEmbedData"===t.method&&d(e,null);var a=t.data&&t.data.media;!a&&t.height&&(a={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;r&&(r=parseInt(r[1]),r*=2);return r}(e),a=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),i.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var d=t["aspect-ratio"];(d||t.height)&&i.setStyles(e.aspectWrapper,{paddingBottom:d?Math.round(1e5/d)/1e3+"%":0,paddingTop:d&&t["padding-bottom"],height:d?0:t.height&&t.height+r});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");a&&a!==c&&n.triggerAsync("heightChanged",e.iframe,a,c)}}(e,a)}}));var a={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function d(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",i.setStyles(e.aspectWrapper,t)):i.setStyles(e.iframe,t):!t&&e&&e.iframe&&(i.setStyles(e.aspectWrapper,a),i.setStyles(e.iframe,o))}},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||i.trigger(t.method,t.href)})),i.openHref||(i.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),i.on("open-href",(function(e){i.triggerAsync("click",e),i.openHref(e)}))},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&i.trigger("options",e,t.data)}))},function(e,t,r){var i=r(0);i.widgets=i.widgets||{},i.widgets.load=i.load,i.events||(i.events={},i.events.on=i.on,i.events.trigger=i.trigger),i.on("cancel",(function(e,t,r,n){if(i.RECOVER_HREFS_ON_CANCEL&&!r&&(r=e),e&&t&&r&&""!==r){var a=document.createElement("a");a.setAttribute("href",e),a.setAttribute("target","_blank"),a.setAttribute("rel","noopener"),a.textContent=r,n?t.insertBefore(a,n):t.appendChild(a)}}))},function(e,t,r){var i,n=!!(i=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(i[2],10);r(0).SUPPORT_IFRAME_LOADING_ATTR=n&&n>=77},,,,,,,,,,,,function(e,t,r){r(3);var i=r(0);i._loaded||(i._loaded=!0,r(4),r(5),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15),r(16),r(17),r(18),i.trigger("init")),t.iframely=i}]); \ No newline at end of file From 407acef16a7cfa16c67d171bae487d05c03e9bd6 Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Thu, 12 Mar 2026 13:13:28 +0200 Subject: [PATCH 3/9] debug --- dist/embed-options.min.js | 2 +- dist/embed.min.js | 2 +- src/lazy-img-placeholder.js | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dist/embed-options.min.js b/dist/embed-options.min.js index b998d37..bc05e85 100644 --- a/dist/embed-options.min.js +++ b/dist/embed-options.min.js @@ -1 +1 @@ -!function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=31)}([function(e,t){var n=window.iframely=window.iframely||{};n.config=n.config||{},e.exports=n},function(e,t,n){var a=n(0),r=n(2);a.on("init",(function(){a.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return r}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),a.config.theme&&a.setTheme(a.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||a.DOMAINS).join('"], iframe[src*="')+'"]'),n=0;n2||t&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS||!t&&"relative"!==n.style.position&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS)){var r=n.parentNode;if(!(!r||"DIV"!==r.nodeName||c(r)>1||t&&r.getAttribute("class")&&-1===r.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)||!t&&r.getAttribute("class")&&!r.getAttribute("class").match(/iframely/i)))return{aspectWrapper:n,maxWidthWrapper:r}}};t.addDefaultWrappers=function(e){var t=e.parentNode,n=document.createElement("div");n.className=a.MAXWIDTH_WRAPPER_CLASS;var r=document.createElement("div");return r.className=a.ASPECT_WRAPPER_CLASS,n.appendChild(r),t.insertBefore(n,e),{aspectWrapper:r,maxWidthWrapper:n}},t.getWidget=function(e){var t=i(e);if(t){var n={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))n.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var a=s(e.getAttribute("src"));a.url&&(n.url=a.url)}return n}},a.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(n){var r=t[n];("number"==typeof r||"string"==typeof r&&/^(\d+)?\.?(\d+)$/.test(r))&&(r+="px");var i=e.style[n];window.getComputedStyle&&(a.getElementComputedStyle(e,n)==r||"iframely-responsive"==e.className&&"paddingBottom"===n&&!i&&/^56\.2\d+%$/.test(r)||"max-width"===n&&"keep"===r)||(e.style[n]=r||"")}))};var o=t.applyNonce=function(e){a.config.nonce&&(e.nonce=a.config.nonce)};var l=t.addQueryString=function(e,t){var n="";return Object.keys(t).forEach((function(a){var r=t[a];if("[object Array]"===Object.prototype.toString.call(r)){var i=r.map((function(e){return a+"="+encodeURIComponent(e)}));n+="&"+i.join("&")}else void 0!==r&&-1===e.indexOf(a+"=")&&("boolean"==typeof r&&"_"!==a.charAt(0)&&(r=r?1:0),n+="&"+a+"="+encodeURIComponent(r))})),e+(""!==n?(e.indexOf("?")>-1?"&":"?")+n.replace(/^&/,""):"")};function c(e){for(var t=0,n=0;n-1?t?"IFRAME"===t.tagName?i(t,e):o(t,e):(a.extendOptions({theme:e}),o(document,e),a.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+a.SUPPORTED_THEMES.join(", "))}},function(e,t,n){var a=n(1),r=n(0),i={};function o(e,t,n){var i,o=e.cancel,l=e.shadow,p=e.renderEvent,s=a.getIframeWrapper(t,!0);if(o)i=a.getWidget(t),r.cancelWidget(i||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var d,u;if((i=document.createElement("div")).innerHTML=e.html,s&&!p?(d=s.aspectWrapper.parentNode,u=s.aspectWrapper,s.maxWidthWrapper.removeAttribute("style")):(d=t.parentNode,u=t),l){var f=document.createElement("div"),m=f.attachShadow({mode:"open"});m.appendChild(i);var _={shadowRoot:m,shadowContainer:f,container:d,context:e.context,stylesIds:e.stylesIds,stylesDict:n.commonShadowStyles};r.trigger("import-shadow-widget-before-render",_),d.insertBefore(f,u),r.trigger("import-shadow-widget-after-render",_)}else d.insertBefore(i,u),function e(t){function n(e){var n=e.text||e.textContent||e.innerHTML||"",r=a.createScript();r.type="text/javascript";for(var i=0;i4&&(t=null);var a=t&&t.parentNode;a&&a.getAttribute("class")&&a.getAttribute("class").split(" ").indexOf(r.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),a.removeAttribute("style"))}r.on("load",(function(e){if(!e&&!1!==r.config.import&&document.head.attachShadow&&document.location&&(r.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!r.config.playerjs&&!r.config.lazy&&!r.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=a.createScript(),n=[],o=[],c=null;function p(e,t){i[e]||(i[e]=[]),i[e].push(t)}function s(e){var t=e.getAttribute("data-iframely-url"),i=t.match(r.ID_RE),l=i&&i[1],s=a.parseQueryString(t,r.SUPPORTED_QUERY_STRING.concat("url")),d=s.url;delete s.url;var u="0"===s.import||"false"===s.import||"1"===s.playerjs||"true"===s.playerjs;if(!u){var f=t.match(r.BASE_RE);s.CDN=f&&f[0],c?JSON.stringify(s,Object.keys(s).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(u=!0):c=s}if(u)r.trigger("load",e);else if(l)e.setAttribute("data-import-uri",l),-1===o.indexOf(l)&&o.push(l),p(l,e);else{d||(d=e.getAttribute("href")),(c.key||c.api_key||r.config.api_key||r.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===n.indexOf(d)&&n.push(d),p(d,e)):r.trigger("load",e)}}for(var d=0;d0||o.length>0?((c=c||{}).touch=r.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,r.config.theme&&(c.theme=r.config.theme),n.length>0&&(c.uri=n),o.length>0&&(c.ids=o.join("&")),c.v=r.VERSION,t.src=a.getEndpoint("/api/import/v2",c,r.SUPPORTED_QUERY_STRING),t.onerror=function(){l()},document.head.appendChild(t),r.import=t):(l(),r.trigger("load"))}(t)}})),r.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var n=i[e.uri];if(n)for(var a=0;a1&&function(e,t){for(var n=0,a=0;a=0;return n&&e}(e.maxWidthWrapper,a.config.parent);r&&(t=r.parentNode,n=r)}if(e.url){var i=e.iframe&&(e.iframe.textContent||e.iframe.innerText);a.triggerAsync("cancel",e.url,t,i,n.nextSibling)}t.removeChild(n)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,n){var a=n(1),r=n(0);r.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var n=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((n=n||{})[t[0].trim()]=t[1].trim())}})),l(e,n)):"setIframelyEmbedData"===t.method&&l(e,null);var i=t.data&&t.data.media;!i&&t.height&&(i={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var n=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,n=t&&t.match(/(\d+)px/)||0;n&&(n=parseInt(n[1]),n*=2);return n}(e),i=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=n),a.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+n,width:t.width&&t.width+n}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var l=t["aspect-ratio"];(l||t.height)&&a.setStyles(e.aspectWrapper,{paddingBottom:l?Math.round(1e5/l)/1e3+"%":0,paddingTop:l&&t["padding-bottom"],height:l?0:t.height&&t.height+n});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");i&&i!==c&&r.triggerAsync("heightChanged",e.iframe,i,c)}}(e,i)}}));var i={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function l(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",a.setStyles(e.aspectWrapper,t)):a.setStyles(e.iframe,t):!t&&e&&e.iframe&&(a.setStyles(e.aspectWrapper,i),a.setStyles(e.iframe,o))}},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||a.trigger(t.method,t.href)})),a.openHref||(a.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),a.on("open-href",(function(e){a.triggerAsync("click",e),a.openHref(e)}))},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&a.trigger("options",e,t.data)}))},function(e,t,n){var a=n(0);a.widgets=a.widgets||{},a.widgets.load=a.load,a.events||(a.events={},a.events.on=a.on,a.events.trigger=a.trigger),a.on("cancel",(function(e,t,n,r){if(a.RECOVER_HREFS_ON_CANCEL&&!n&&(n=e),e&&t&&n&&""!==n){var i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("target","_blank"),i.setAttribute("rel","noopener"),i.textContent=n,r?t.insertBefore(i,r):t.appendChild(i)}}))},function(e,t,n){var a,r=!!(a=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(a[2],10);n(0).SUPPORT_IFRAME_LOADING_ATTR=r&&r>=77},function(e,t,n){var a=n(0),r=n(20),i=n(22);a.buildOptionsForm=function(e,t,n,a){r({id:e,formContainer:t,options:n,renderer:i,translator:a})},t.iframely=a},function(e,t,n){var a=n(21),r=n(0),i={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];r.addEventListener(n,"click",(function(){n.select()})),r.addEventListener(n,"blur",t),r.addEventListener(n,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},o={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var l=a(t,e.translator),c=e.id,p=e.renderer,s=o[c]=o[c]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(s[e]=t[e].value)}));var d=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=d(e.context.elements)),t+=p(e.type,e.context||{})})),t};n.innerHTML=d(l);var u=function(e){e.forEach((function(e){if(e.context&&e.context.elements)u(e.context.elements);else{var t=i[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach((function(e){r.addEventListener(e,"change",f)})):console.warn("No inputs found for option",e.key))}}))};u(l)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(n){n.forEach((function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var a,r=i[n.type];a=r&&r.getValue?r.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(a))}}))};return t(l),e}();Object.keys(s).forEach((function(t){s[t]!==e[t]&&void 0!==e[t]||delete e[t]})),r.trigger("options-changed",c,n,e)}}},function(e,t){var n=/^_./,a=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var r=[],i=Object.keys(e),o=0;if(i.forEach((function(i){var l,c,p={},s=e[i];s.key=i;var d,u,f=s.values&&Object.keys(s.values);if(f&&1===f.length&&(c=!0,d=f[0],u=s.values[d]),p.label=a(u||s.label,t),p.key=s.key,c||"boolean"==typeof s.value)p.checked=c?d===s.value||!d&&!s.value:s.value,o++,r.push({type:"checkbox",context:p,order:n.test(i)?0:1,getQuery:function(e){var t;t=c?e?d:"":e;var n={};return c?""===t||(n[s.key]=t):n[s.key]=e,n}});else if("number"!=typeof s.value&&"string"!=typeof s.value||s.values){if(s.values)if(p.value=s.value+"",l=function(e){var t={};return""===e||(t[s.key]=e),t},Object.keys(s.values).length<=3){s.label?p.label=a(s.label,t):p.label=!1;for(var m=0,_=!1,h=Object.values(s.values);m8,m++}p.inline=!_,p.items=[],Object.keys(s.values).forEach((function(e,n){p.items.push({id:p.key+"-"+n,value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"radio",context:p,order:_?-3:/theme/.test(i)?-1:-2,getQuery:l})}else p.items=[],Object.keys(s.values).forEach((function(e){p.items.push({value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"select",context:p,order:5,getQuery:l})}else{var g=s.range&&"number"==typeof s.range.min&&"number"==typeof s.range.max,v="number"==typeof s.value;p.value=s.value,l=function(e){var t={};return""===e||(t[s.key]=e),t},g?(p.min=s.range.min,p.max=s.range.max,r.push({type:"range",context:p,order:9,getQuery:l})):(p.placeholder=a(s.placeholder||"",t),p.inputType=v?"number":"text",r.push({type:"text",context:p,order:/start/i.test(i)?7:8,getQuery:l}))}})),r.sort((function(e,t){return e.order-t.order})),r.forEach((function(e){delete e.order})),o>0){var l,c=[];return r.forEach((function(e,t){if("checkbox"===e.type){var a=o>2&&t>0&&!n.test(e.context.key)&&"checkbox"===r[t-1].type&&n.test(r[t-1].context.key);l&&!a||(l=[],c.push({type:"group",context:{elements:l}})),l.push(e)}else c.push(e)})),c}return r}},function(e,t,n){var a={checkbox:n(23),range:n(24),text:n(25),radio:n(26),select:n(27),group:n(28)};e.exports=function(e,t){return(0,a[e])(t)}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n checked="checked"<% } %>>\n \n
\n',__filename="src/options/templates/checkbox.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n \n
\n"),__line=7;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/range.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/text.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n <% if (label) { %>\n \n <% } %>\n
\n <% items.forEach(function(subContext) { %>\n
\n checked="checked"<% } %>>\n \n
\n <% }); %>\n
\n
',__filename="src/options/templates/radio.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n '),__line=2,label&&(__append('\n \n "),__line=6),__append('\n
\n '),__line=8,items.forEach((function(e){__append('\n
\n \n \n
\n "),__line=15})),__append("\n
\n
"),__line=17;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/select.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
"),__line=10;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n
\n <%- elementsHtml %>\n
\n
',__filename="src/options/templates/group.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n
\n '),__line=3,__append(elementsHtml),__append("\n
\n
"),__line=5;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},,,function(e,t,n){n(3);var a=n(0);a._loaded||(a._loaded=!0,n(4),n(5),n(7),n(8),n(9),n(10),n(11),n(12),n(13),n(14),n(15),n(16),n(17),n(18),n(19),a.trigger("init")),t.iframely=a}]); \ No newline at end of file +!function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=31)}([function(e,t){var n=window.iframely=window.iframely||{};n.config=n.config||{},e.exports=n},function(e,t,n){var a=n(0),r=n(2);a.on("init",(function(){a.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return r}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),a.config.theme&&a.setTheme(a.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||a.DOMAINS).join('"], iframe[src*="')+'"]'),n=0;n2||t&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS||!t&&"relative"!==n.style.position&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS)){var r=n.parentNode;if(!(!r||"DIV"!==r.nodeName||c(r)>1||t&&r.getAttribute("class")&&-1===r.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)||!t&&r.getAttribute("class")&&!r.getAttribute("class").match(/iframely/i)))return{aspectWrapper:n,maxWidthWrapper:r}}};t.addDefaultWrappers=function(e){var t=e.parentNode,n=document.createElement("div");n.className=a.MAXWIDTH_WRAPPER_CLASS;var r=document.createElement("div");return r.className=a.ASPECT_WRAPPER_CLASS,n.appendChild(r),t.insertBefore(n,e),{aspectWrapper:r,maxWidthWrapper:n}},t.getWidget=function(e){var t=i(e);if(t){var n={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))n.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var a=s(e.getAttribute("src"));a.url&&(n.url=a.url)}return n}},a.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(n){var r=t[n];("number"==typeof r||"string"==typeof r&&/^(\d+)?\.?(\d+)$/.test(r))&&(r+="px");var i=e.style[n];window.getComputedStyle&&(a.getElementComputedStyle(e,n)==r||"iframely-responsive"==e.className&&"paddingBottom"===n&&!i&&/^56\.2\d+%$/.test(r)||"max-width"===n&&"keep"===r)||(e.style[n]=r||"")}))};var o=t.applyNonce=function(e){a.config.nonce&&(e.nonce=a.config.nonce)};var l=t.addQueryString=function(e,t){var n="";return Object.keys(t).forEach((function(a){var r=t[a];if("[object Array]"===Object.prototype.toString.call(r)){var i=r.map((function(e){return a+"="+encodeURIComponent(e)}));n+="&"+i.join("&")}else void 0!==r&&-1===e.indexOf(a+"=")&&("boolean"==typeof r&&"_"!==a.charAt(0)&&(r=r?1:0),n+="&"+a+"="+encodeURIComponent(r))})),e+(""!==n?(e.indexOf("?")>-1?"&":"?")+n.replace(/^&/,""):"")};function c(e){for(var t=0,n=0;n-1?t?"IFRAME"===t.tagName?i(t,e):o(t,e):(a.extendOptions({theme:e}),o(document,e),a.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+a.SUPPORTED_THEMES.join(", "))}},function(e,t,n){var a=n(1),r=n(0),i={};function o(e,t,n){var i,o=e.cancel,l=e.shadow,p=e.renderEvent,s=a.getIframeWrapper(t,!0);if(o)i=a.getWidget(t),r.cancelWidget(i||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var d,u;if((i=document.createElement("div")).innerHTML=e.html,s&&!p?(d=s.aspectWrapper.parentNode,u=s.aspectWrapper,s.maxWidthWrapper.removeAttribute("style")):(d=t.parentNode,u=t),l){var f=document.createElement("div"),m=f.attachShadow({mode:"open"});m.appendChild(i);var _={shadowRoot:m,shadowContainer:f,container:d,context:e.context,stylesIds:e.stylesIds,stylesDict:n.commonShadowStyles};r.trigger("import-shadow-widget-before-render",_),d.insertBefore(f,u),r.trigger("import-shadow-widget-after-render",_)}else d.insertBefore(i,u),function e(t){function n(e){var n=e.text||e.textContent||e.innerHTML||"",r=a.createScript();r.type="text/javascript";for(var i=0;i4&&(t=null);var a=t&&t.parentNode;a&&a.getAttribute("class")&&a.getAttribute("class").split(" ").indexOf(r.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),a.removeAttribute("style"))}r.on("load",(function(e){if(!e&&!1!==r.config.import&&document.head.attachShadow&&document.location&&(r.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!r.config.playerjs&&!r.config.lazy&&!r.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=a.createScript(),n=[],o=[],c=null;function p(e,t){i[e]||(i[e]=[]),i[e].push(t)}function s(e){var t=e.getAttribute("data-iframely-url"),i=t.match(r.ID_RE),l=i&&i[1],s=a.parseQueryString(t,r.SUPPORTED_QUERY_STRING.concat("url")),d=s.url;delete s.url;var u="0"===s.import||"false"===s.import||"1"===s.playerjs||"true"===s.playerjs;if(!u){var f=t.match(r.BASE_RE);s.CDN=f&&f[0],c?JSON.stringify(s,Object.keys(s).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(u=!0):c=s}if(u)r.trigger("load",e);else if(l)e.setAttribute("data-import-uri",l),-1===o.indexOf(l)&&o.push(l),p(l,e);else{d||(d=e.getAttribute("href")),(c.key||c.api_key||r.config.api_key||r.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===n.indexOf(d)&&n.push(d),p(d,e)):r.trigger("load",e)}}for(var d=0;d0||o.length>0?((c=c||{}).touch=r.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,r.config.theme&&(c.theme=r.config.theme),n.length>0&&(c.uri=n),o.length>0&&(c.ids=o.join("&")),c.v=r.VERSION,t.src=a.getEndpoint("/api/import/v2",c,r.SUPPORTED_QUERY_STRING),t.onerror=function(){l()},document.head.appendChild(t),r.import=t):(l(),r.trigger("load"))}(t)}})),r.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var n=i[e.uri];if(n)for(var a=0;a1&&function(e,t){for(var n=0,a=0;a=0;return n&&e}(e.maxWidthWrapper,a.config.parent);r&&(t=r.parentNode,n=r)}if(e.url){var i=e.iframe&&(e.iframe.textContent||e.iframe.innerText);a.triggerAsync("cancel",e.url,t,i,n.nextSibling)}t.removeChild(n)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,n){var a=n(1),r=n(0);r.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var n=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((n=n||{})[t[0].trim()]=t[1].trim())}})),l(e,n)):"setIframelyEmbedData"===t.method&&l(e,null);var i=t.data&&t.data.media;!i&&t.height&&(i={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var n=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,n=t&&t.match(/(\d+)px/)||0;n&&(n=parseInt(n[1]),n*=2);return n}(e),i=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=n),a.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+n,width:t.width&&t.width+n}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var l=t["aspect-ratio"];(l||t.height)&&a.setStyles(e.aspectWrapper,{paddingBottom:l?Math.round(1e5/l)/1e3+"%":0,paddingTop:l&&t["padding-bottom"],height:l?0:t.height&&t.height+n});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");i&&i!==c&&r.triggerAsync("heightChanged",e.iframe,i,c)}}(e,i)}}));var i={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function l(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",a.setStyles(e.aspectWrapper,t)):a.setStyles(e.iframe,t):!t&&e&&e.iframe&&(a.setStyles(e.aspectWrapper,i),a.setStyles(e.iframe,o))}},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||a.trigger(t.method,t.href)})),a.openHref||(a.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),a.on("open-href",(function(e){a.triggerAsync("click",e),a.openHref(e)}))},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&a.trigger("options",e,t.data)}))},function(e,t,n){var a=n(0);a.widgets=a.widgets||{},a.widgets.load=a.load,a.events||(a.events={},a.events.on=a.on,a.events.trigger=a.trigger),a.on("cancel",(function(e,t,n,r){if(a.RECOVER_HREFS_ON_CANCEL&&!n&&(n=e),e&&t&&n&&""!==n){var i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("target","_blank"),i.setAttribute("rel","noopener"),i.textContent=n,r?t.insertBefore(i,r):t.appendChild(i)}}))},function(e,t,n){var a,r=!!(a=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(a[2],10);n(0).SUPPORT_IFRAME_LOADING_ATTR=r&&r>=77},function(e,t,n){var a=n(0),r=n(20),i=n(22);a.buildOptionsForm=function(e,t,n,a){r({id:e,formContainer:t,options:n,renderer:i,translator:a})},t.iframely=a},function(e,t,n){var a=n(21),r=n(0),i={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];r.addEventListener(n,"click",(function(){n.select()})),r.addEventListener(n,"blur",t),r.addEventListener(n,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},o={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var l=a(t,e.translator),c=e.id,p=e.renderer,s=o[c]=o[c]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(s[e]=t[e].value)}));var d=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=d(e.context.elements)),t+=p(e.type,e.context||{})})),t};n.innerHTML=d(l);var u=function(e){e.forEach((function(e){if(e.context&&e.context.elements)u(e.context.elements);else{var t=i[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach((function(e){r.addEventListener(e,"change",f)})):console.warn("No inputs found for option",e.key))}}))};u(l)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(n){n.forEach((function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var a,r=i[n.type];a=r&&r.getValue?r.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(a))}}))};return t(l),e}();Object.keys(s).forEach((function(t){s[t]!==e[t]&&void 0!==e[t]||delete e[t]})),r.trigger("options-changed",c,n,e)}}},function(e,t){var n=/^_./,a=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var r=[],i=Object.keys(e),o=0;if(i.forEach((function(i){var l,c,p={},s=e[i];s.key=i;var d,u,f=s.values&&Object.keys(s.values);if(f&&1===f.length&&(c=!0,d=f[0],u=s.values[d]),p.label=a(u||s.label,t),p.key=s.key,c||"boolean"==typeof s.value)p.checked=c?d===s.value||!d&&!s.value:s.value,o++,r.push({type:"checkbox",context:p,order:n.test(i)?0:1,getQuery:function(e){var t;t=c?e?d:"":e;var n={};return c?""===t||(n[s.key]=t):n[s.key]=e,n}});else if("number"!=typeof s.value&&"string"!=typeof s.value||s.values){if(s.values)if(p.value=s.value+"",l=function(e){var t={};return""===e||(t[s.key]=e),t},Object.keys(s.values).length<=3){s.label?p.label=a(s.label,t):p.label=!1;for(var m=0,_=!1,h=Object.values(s.values);m8,m++}p.inline=!_,p.items=[],Object.keys(s.values).forEach((function(e,n){p.items.push({id:p.key+"-"+n,value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"radio",context:p,order:_?-3:/theme/.test(i)?-1:-2,getQuery:l})}else p.items=[],Object.keys(s.values).forEach((function(e){p.items.push({value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"select",context:p,order:5,getQuery:l})}else{var g=s.range&&"number"==typeof s.range.min&&"number"==typeof s.range.max,v="number"==typeof s.value;p.value=s.value,l=function(e){var t={};return""===e||(t[s.key]=e),t},g?(p.min=s.range.min,p.max=s.range.max,r.push({type:"range",context:p,order:9,getQuery:l})):(p.placeholder=a(s.placeholder||"",t),p.inputType=v?"number":"text",r.push({type:"text",context:p,order:/start/i.test(i)?7:8,getQuery:l}))}})),r.sort((function(e,t){return e.order-t.order})),r.forEach((function(e){delete e.order})),o>0){var l,c=[];return r.forEach((function(e,t){if("checkbox"===e.type){var a=o>2&&t>0&&!n.test(e.context.key)&&"checkbox"===r[t-1].type&&n.test(r[t-1].context.key);l&&!a||(l=[],c.push({type:"group",context:{elements:l}})),l.push(e)}else c.push(e)})),c}return r}},function(e,t,n){var a={checkbox:n(23),range:n(24),text:n(25),radio:n(26),select:n(27),group:n(28)};e.exports=function(e,t){return(0,a[e])(t)}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n checked="checked"<% } %>>\n \n
\n',__filename="src/options/templates/checkbox.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n \n
\n"),__line=7;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/range.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/text.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n <% if (label) { %>\n \n <% } %>\n
\n <% items.forEach(function(subContext) { %>\n
\n checked="checked"<% } %>>\n \n
\n <% }); %>\n
\n
',__filename="src/options/templates/radio.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n '),__line=2,label&&(__append('\n \n "),__line=6),__append('\n
\n '),__line=8,items.forEach((function(e){__append('\n
\n \n \n
\n "),__line=15})),__append("\n
\n
"),__line=17;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/select.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
"),__line=10;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n
\n <%- elementsHtml %>\n
\n
',__filename="src/options/templates/group.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n
\n '),__line=3,__append(elementsHtml),__append("\n
\n
"),__line=5;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},,,function(e,t,n){n(3);var a=n(0);a._loaded||(a._loaded=!0,n(4),n(5),n(7),n(8),n(9),n(10),n(11),n(12),n(13),n(14),n(15),n(16),n(17),n(18),n(19),a.trigger("init")),t.iframely=a}]); \ No newline at end of file diff --git a/dist/embed.min.js b/dist/embed.min.js index 9912fe5..8382436 100644 --- a/dist/embed.min.js +++ b/dist/embed.min.js @@ -1 +1 @@ -!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=30)}([function(e,t){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},function(e,t,r){var i=r(0),n=r(2);i.on("init",(function(){i.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return n}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),i.config.theme&&i.setTheme(i.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||i.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS)){var n=r.parentNode;if(!(!n||"DIV"!==n.nodeName||c(n)>1||t&&n.getAttribute("class")&&-1===n.getAttribute("class").split(" ").indexOf(i.MAXWIDTH_WRAPPER_CLASS)||!t&&n.getAttribute("class")&&!n.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:n}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=i.MAXWIDTH_WRAPPER_CLASS;var n=document.createElement("div");return n.className=i.ASPECT_WRAPPER_CLASS,r.appendChild(n),t.insertBefore(r,e),{aspectWrapper:n,maxWidthWrapper:r}},t.getWidget=function(e){var t=a(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var i=l(e.getAttribute("src"));i.url&&(r.url=i.url)}return r}},i.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(r){var n=t[r];("number"==typeof n||"string"==typeof n&&/^(\d+)?\.?(\d+)$/.test(n))&&(n+="px");var a=e.style[r];window.getComputedStyle&&(i.getElementComputedStyle(e,r)==n||"iframely-responsive"==e.className&&"paddingBottom"===r&&!a&&/^56\.2\d+%$/.test(n)||"max-width"===r&&"keep"===n)||(e.style[r]=n||"")}))};var o=t.applyNonce=function(e){i.config.nonce&&(e.nonce=i.config.nonce)};var d=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach((function(i){var n=t[i];if("[object Array]"===Object.prototype.toString.call(n)){var a=n.map((function(e){return i+"="+encodeURIComponent(e)}));r+="&"+a.join("&")}else void 0!==n&&-1===e.indexOf(i+"=")&&("boolean"==typeof n&&"_"!==i.charAt(0)&&(n=n?1:0),r+="&"+i+"="+encodeURIComponent(n))})),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function c(e){for(var t=0,r=0;r-1?t?"IFRAME"===t.tagName?a(t,e):o(t,e):(i.extendOptions({theme:e}),o(document,e),i.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+i.SUPPORTED_THEMES.join(", "))}},function(e,t,r){var i=r(1),n=r(0),a={};function o(e,t,r){var a,o=e.cancel,d=e.shadow,s=e.renderEvent,l=i.getIframeWrapper(t,!0);if(o)a=i.getWidget(t),n.cancelWidget(a||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var u,f;if((a=document.createElement("div")).innerHTML=e.html,l&&!s?(u=l.aspectWrapper.parentNode,f=l.aspectWrapper,l.maxWidthWrapper.removeAttribute("style")):(u=t.parentNode,f=t),d){var p=document.createElement("div"),m=p.attachShadow({mode:"open"});m.appendChild(a);var g={shadowRoot:m,shadowContainer:p,container:u,context:e.context,stylesIds:e.stylesIds,stylesDict:r.commonShadowStyles};n.trigger("import-shadow-widget-before-render",g),u.insertBefore(p,f),n.trigger("import-shadow-widget-after-render",g)}else u.insertBefore(a,f),function e(t){function r(e){var r=e.text||e.textContent||e.innerHTML||"",n=i.createScript();n.type="text/javascript";for(var a=0;a4&&(t=null);var i=t&&t.parentNode;i&&i.getAttribute("class")&&i.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),i.removeAttribute("style"))}n.on("load",(function(e){if(!e&&!1!==n.config.import&&document.head.attachShadow&&document.location&&(n.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!n.config.playerjs&&!n.config.lazy&&!n.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=i.createScript(),r=[],o=[],c=null;function s(e,t){a[e]||(a[e]=[]),a[e].push(t)}function l(e){var t=e.getAttribute("data-iframely-url"),a=t.match(n.ID_RE),d=a&&a[1],l=i.parseQueryString(t,n.SUPPORTED_QUERY_STRING.concat("url")),u=l.url;delete l.url;var f="0"===l.import||"false"===l.import||"1"===l.playerjs||"true"===l.playerjs;if(!f){var p=t.match(n.BASE_RE);l.CDN=p&&p[0],c?JSON.stringify(l,Object.keys(l).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(f=!0):c=l}if(f)n.trigger("load",e);else if(d)e.setAttribute("data-import-uri",d),-1===o.indexOf(d)&&o.push(d),s(d,e);else{u||(u=e.getAttribute("href")),(c.key||c.api_key||n.config.api_key||n.config.key)&&u?(e.setAttribute("data-import-uri",u),-1===r.indexOf(u)&&r.push(u),s(u,e)):n.trigger("load",e)}}for(var u=0;u0||o.length>0?((c=c||{}).touch=n.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,n.config.theme&&(c.theme=n.config.theme),r.length>0&&(c.uri=r),o.length>0&&(c.ids=o.join("&")),c.v=n.VERSION,t.src=i.getEndpoint("/api/import/v2",c,n.SUPPORTED_QUERY_STRING),t.onerror=function(){d()},document.head.appendChild(t),n.import=t):(d(),n.trigger("load"))}(t)}})),n.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=a[e.uri];if(r)for(var i=0;i1&&function(e,t){for(var r=0,i=0;i=0;return r&&e}(e.maxWidthWrapper,i.config.parent);n&&(t=n.parentNode,r=n)}if(e.url){var a=e.iframe&&(e.iframe.textContent||e.iframe.innerText);i.triggerAsync("cancel",e.url,t,a,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,r){var i=r(1),n=r(0);n.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}})),d(e,r)):"setIframelyEmbedData"===t.method&&d(e,null);var a=t.data&&t.data.media;!a&&t.height&&(a={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;r&&(r=parseInt(r[1]),r*=2);return r}(e),a=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),i.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var d=t["aspect-ratio"];(d||t.height)&&i.setStyles(e.aspectWrapper,{paddingBottom:d?Math.round(1e5/d)/1e3+"%":0,paddingTop:d&&t["padding-bottom"],height:d?0:t.height&&t.height+r});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");a&&a!==c&&n.triggerAsync("heightChanged",e.iframe,a,c)}}(e,a)}}));var a={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function d(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",i.setStyles(e.aspectWrapper,t)):i.setStyles(e.iframe,t):!t&&e&&e.iframe&&(i.setStyles(e.aspectWrapper,a),i.setStyles(e.iframe,o))}},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||i.trigger(t.method,t.href)})),i.openHref||(i.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),i.on("open-href",(function(e){i.triggerAsync("click",e),i.openHref(e)}))},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&i.trigger("options",e,t.data)}))},function(e,t,r){var i=r(0);i.widgets=i.widgets||{},i.widgets.load=i.load,i.events||(i.events={},i.events.on=i.on,i.events.trigger=i.trigger),i.on("cancel",(function(e,t,r,n){if(i.RECOVER_HREFS_ON_CANCEL&&!r&&(r=e),e&&t&&r&&""!==r){var a=document.createElement("a");a.setAttribute("href",e),a.setAttribute("target","_blank"),a.setAttribute("rel","noopener"),a.textContent=r,n?t.insertBefore(a,n):t.appendChild(a)}}))},function(e,t,r){var i,n=!!(i=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(i[2],10);r(0).SUPPORT_IFRAME_LOADING_ATTR=n&&n>=77},,,,,,,,,,,,function(e,t,r){r(3);var i=r(0);i._loaded||(i._loaded=!0,r(4),r(5),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15),r(16),r(17),r(18),i.trigger("init")),t.iframely=i}]); \ No newline at end of file +!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=30)}([function(e,t){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},function(e,t,r){var i=r(0),n=r(2);i.on("init",(function(){i.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return n}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),i.config.theme&&i.setTheme(i.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||i.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS)){var n=r.parentNode;if(!(!n||"DIV"!==n.nodeName||c(n)>1||t&&n.getAttribute("class")&&-1===n.getAttribute("class").split(" ").indexOf(i.MAXWIDTH_WRAPPER_CLASS)||!t&&n.getAttribute("class")&&!n.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:n}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=i.MAXWIDTH_WRAPPER_CLASS;var n=document.createElement("div");return n.className=i.ASPECT_WRAPPER_CLASS,r.appendChild(n),t.insertBefore(r,e),{aspectWrapper:n,maxWidthWrapper:r}},t.getWidget=function(e){var t=a(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var i=l(e.getAttribute("src"));i.url&&(r.url=i.url)}return r}},i.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(r){var n=t[r];("number"==typeof n||"string"==typeof n&&/^(\d+)?\.?(\d+)$/.test(n))&&(n+="px");var a=e.style[r];window.getComputedStyle&&(i.getElementComputedStyle(e,r)==n||"iframely-responsive"==e.className&&"paddingBottom"===r&&!a&&/^56\.2\d+%$/.test(n)||"max-width"===r&&"keep"===n)||(e.style[r]=n||"")}))};var o=t.applyNonce=function(e){i.config.nonce&&(e.nonce=i.config.nonce)};var d=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach((function(i){var n=t[i];if("[object Array]"===Object.prototype.toString.call(n)){var a=n.map((function(e){return i+"="+encodeURIComponent(e)}));r+="&"+a.join("&")}else void 0!==n&&-1===e.indexOf(i+"=")&&("boolean"==typeof n&&"_"!==i.charAt(0)&&(n=n?1:0),r+="&"+i+"="+encodeURIComponent(n))})),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function c(e){for(var t=0,r=0;r-1?t?"IFRAME"===t.tagName?a(t,e):o(t,e):(i.extendOptions({theme:e}),o(document,e),i.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+i.SUPPORTED_THEMES.join(", "))}},function(e,t,r){var i=r(1),n=r(0),a={};function o(e,t,r){var a,o=e.cancel,d=e.shadow,s=e.renderEvent,l=i.getIframeWrapper(t,!0);if(o)a=i.getWidget(t),n.cancelWidget(a||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var u,f;if((a=document.createElement("div")).innerHTML=e.html,l&&!s?(u=l.aspectWrapper.parentNode,f=l.aspectWrapper,l.maxWidthWrapper.removeAttribute("style")):(u=t.parentNode,f=t),d){var p=document.createElement("div"),m=p.attachShadow({mode:"open"});m.appendChild(a);var g={shadowRoot:m,shadowContainer:p,container:u,context:e.context,stylesIds:e.stylesIds,stylesDict:r.commonShadowStyles};n.trigger("import-shadow-widget-before-render",g),u.insertBefore(p,f),n.trigger("import-shadow-widget-after-render",g)}else u.insertBefore(a,f),function e(t){function r(e){var r=e.text||e.textContent||e.innerHTML||"",n=i.createScript();n.type="text/javascript";for(var a=0;a4&&(t=null);var i=t&&t.parentNode;i&&i.getAttribute("class")&&i.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),i.removeAttribute("style"))}n.on("load",(function(e){if(!e&&!1!==n.config.import&&document.head.attachShadow&&document.location&&(n.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!n.config.playerjs&&!n.config.lazy&&!n.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=i.createScript(),r=[],o=[],c=null;function s(e,t){a[e]||(a[e]=[]),a[e].push(t)}function l(e){var t=e.getAttribute("data-iframely-url"),a=t.match(n.ID_RE),d=a&&a[1],l=i.parseQueryString(t,n.SUPPORTED_QUERY_STRING.concat("url")),u=l.url;delete l.url;var f="0"===l.import||"false"===l.import||"1"===l.playerjs||"true"===l.playerjs;if(!f){var p=t.match(n.BASE_RE);l.CDN=p&&p[0],c?JSON.stringify(l,Object.keys(l).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(f=!0):c=l}if(f)n.trigger("load",e);else if(d)e.setAttribute("data-import-uri",d),-1===o.indexOf(d)&&o.push(d),s(d,e);else{u||(u=e.getAttribute("href")),(c.key||c.api_key||n.config.api_key||n.config.key)&&u?(e.setAttribute("data-import-uri",u),-1===r.indexOf(u)&&r.push(u),s(u,e)):n.trigger("load",e)}}for(var u=0;u0||o.length>0?((c=c||{}).touch=n.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,n.config.theme&&(c.theme=n.config.theme),r.length>0&&(c.uri=r),o.length>0&&(c.ids=o.join("&")),c.v=n.VERSION,t.src=i.getEndpoint("/api/import/v2",c,n.SUPPORTED_QUERY_STRING),t.onerror=function(){d()},document.head.appendChild(t),n.import=t):(d(),n.trigger("load"))}(t)}})),n.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=a[e.uri];if(r)for(var i=0;i1&&function(e,t){for(var r=0,i=0;i=0;return r&&e}(e.maxWidthWrapper,i.config.parent);n&&(t=n.parentNode,r=n)}if(e.url){var a=e.iframe&&(e.iframe.textContent||e.iframe.innerText);i.triggerAsync("cancel",e.url,t,a,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,r){var i=r(1),n=r(0);n.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}})),d(e,r)):"setIframelyEmbedData"===t.method&&d(e,null);var a=t.data&&t.data.media;!a&&t.height&&(a={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;r&&(r=parseInt(r[1]),r*=2);return r}(e),a=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),i.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var d=t["aspect-ratio"];(d||t.height)&&i.setStyles(e.aspectWrapper,{paddingBottom:d?Math.round(1e5/d)/1e3+"%":0,paddingTop:d&&t["padding-bottom"],height:d?0:t.height&&t.height+r});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");a&&a!==c&&n.triggerAsync("heightChanged",e.iframe,a,c)}}(e,a)}}));var a={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function d(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",i.setStyles(e.aspectWrapper,t)):i.setStyles(e.iframe,t):!t&&e&&e.iframe&&(i.setStyles(e.aspectWrapper,a),i.setStyles(e.iframe,o))}},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||i.trigger(t.method,t.href)})),i.openHref||(i.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),i.on("open-href",(function(e){i.triggerAsync("click",e),i.openHref(e)}))},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&i.trigger("options",e,t.data)}))},function(e,t,r){var i=r(0);i.widgets=i.widgets||{},i.widgets.load=i.load,i.events||(i.events={},i.events.on=i.on,i.events.trigger=i.trigger),i.on("cancel",(function(e,t,r,n){if(i.RECOVER_HREFS_ON_CANCEL&&!r&&(r=e),e&&t&&r&&""!==r){var a=document.createElement("a");a.setAttribute("href",e),a.setAttribute("target","_blank"),a.setAttribute("rel","noopener"),a.textContent=r,n?t.insertBefore(a,n):t.appendChild(a)}}))},function(e,t,r){var i,n=!!(i=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(i[2],10);r(0).SUPPORT_IFRAME_LOADING_ATTR=n&&n>=77},,,,,,,,,,,,function(e,t,r){r(3);var i=r(0);i._loaded||(i._loaded=!0,r(4),r(5),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15),r(16),r(17),r(18),i.trigger("init")),t.iframely=i}]); \ No newline at end of file diff --git a/src/lazy-img-placeholder.js b/src/lazy-img-placeholder.js index 56c9458..b212fc4 100644 --- a/src/lazy-img-placeholder.js +++ b/src/lazy-img-placeholder.js @@ -75,6 +75,8 @@ function addPlaceholderThumbnail(widget, href, imageUrl) { if (query.media) { _params.media = query.media; } + + console.log('- debug addPlaceholderThumbnail params', query, _params); // need to run through getEndpoint at least to avoid file:/// if (href.match(/\/api\/iframe/)) { From d8d5a82c9380a347bfbbb08345b81b66a19d6a7f Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Thu, 12 Mar 2026 13:27:44 +0200 Subject: [PATCH 4/9] Revert "debug" This reverts commit 407acef16a7cfa16c67d171bae487d05c03e9bd6. --- dist/embed-options.min.js | 2 +- dist/embed.min.js | 2 +- src/lazy-img-placeholder.js | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/dist/embed-options.min.js b/dist/embed-options.min.js index bc05e85..b998d37 100644 --- a/dist/embed-options.min.js +++ b/dist/embed-options.min.js @@ -1 +1 @@ -!function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=31)}([function(e,t){var n=window.iframely=window.iframely||{};n.config=n.config||{},e.exports=n},function(e,t,n){var a=n(0),r=n(2);a.on("init",(function(){a.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return r}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),a.config.theme&&a.setTheme(a.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||a.DOMAINS).join('"], iframe[src*="')+'"]'),n=0;n2||t&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS||!t&&"relative"!==n.style.position&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS)){var r=n.parentNode;if(!(!r||"DIV"!==r.nodeName||c(r)>1||t&&r.getAttribute("class")&&-1===r.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)||!t&&r.getAttribute("class")&&!r.getAttribute("class").match(/iframely/i)))return{aspectWrapper:n,maxWidthWrapper:r}}};t.addDefaultWrappers=function(e){var t=e.parentNode,n=document.createElement("div");n.className=a.MAXWIDTH_WRAPPER_CLASS;var r=document.createElement("div");return r.className=a.ASPECT_WRAPPER_CLASS,n.appendChild(r),t.insertBefore(n,e),{aspectWrapper:r,maxWidthWrapper:n}},t.getWidget=function(e){var t=i(e);if(t){var n={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))n.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var a=s(e.getAttribute("src"));a.url&&(n.url=a.url)}return n}},a.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(n){var r=t[n];("number"==typeof r||"string"==typeof r&&/^(\d+)?\.?(\d+)$/.test(r))&&(r+="px");var i=e.style[n];window.getComputedStyle&&(a.getElementComputedStyle(e,n)==r||"iframely-responsive"==e.className&&"paddingBottom"===n&&!i&&/^56\.2\d+%$/.test(r)||"max-width"===n&&"keep"===r)||(e.style[n]=r||"")}))};var o=t.applyNonce=function(e){a.config.nonce&&(e.nonce=a.config.nonce)};var l=t.addQueryString=function(e,t){var n="";return Object.keys(t).forEach((function(a){var r=t[a];if("[object Array]"===Object.prototype.toString.call(r)){var i=r.map((function(e){return a+"="+encodeURIComponent(e)}));n+="&"+i.join("&")}else void 0!==r&&-1===e.indexOf(a+"=")&&("boolean"==typeof r&&"_"!==a.charAt(0)&&(r=r?1:0),n+="&"+a+"="+encodeURIComponent(r))})),e+(""!==n?(e.indexOf("?")>-1?"&":"?")+n.replace(/^&/,""):"")};function c(e){for(var t=0,n=0;n-1?t?"IFRAME"===t.tagName?i(t,e):o(t,e):(a.extendOptions({theme:e}),o(document,e),a.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+a.SUPPORTED_THEMES.join(", "))}},function(e,t,n){var a=n(1),r=n(0),i={};function o(e,t,n){var i,o=e.cancel,l=e.shadow,p=e.renderEvent,s=a.getIframeWrapper(t,!0);if(o)i=a.getWidget(t),r.cancelWidget(i||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var d,u;if((i=document.createElement("div")).innerHTML=e.html,s&&!p?(d=s.aspectWrapper.parentNode,u=s.aspectWrapper,s.maxWidthWrapper.removeAttribute("style")):(d=t.parentNode,u=t),l){var f=document.createElement("div"),m=f.attachShadow({mode:"open"});m.appendChild(i);var _={shadowRoot:m,shadowContainer:f,container:d,context:e.context,stylesIds:e.stylesIds,stylesDict:n.commonShadowStyles};r.trigger("import-shadow-widget-before-render",_),d.insertBefore(f,u),r.trigger("import-shadow-widget-after-render",_)}else d.insertBefore(i,u),function e(t){function n(e){var n=e.text||e.textContent||e.innerHTML||"",r=a.createScript();r.type="text/javascript";for(var i=0;i4&&(t=null);var a=t&&t.parentNode;a&&a.getAttribute("class")&&a.getAttribute("class").split(" ").indexOf(r.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),a.removeAttribute("style"))}r.on("load",(function(e){if(!e&&!1!==r.config.import&&document.head.attachShadow&&document.location&&(r.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!r.config.playerjs&&!r.config.lazy&&!r.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=a.createScript(),n=[],o=[],c=null;function p(e,t){i[e]||(i[e]=[]),i[e].push(t)}function s(e){var t=e.getAttribute("data-iframely-url"),i=t.match(r.ID_RE),l=i&&i[1],s=a.parseQueryString(t,r.SUPPORTED_QUERY_STRING.concat("url")),d=s.url;delete s.url;var u="0"===s.import||"false"===s.import||"1"===s.playerjs||"true"===s.playerjs;if(!u){var f=t.match(r.BASE_RE);s.CDN=f&&f[0],c?JSON.stringify(s,Object.keys(s).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(u=!0):c=s}if(u)r.trigger("load",e);else if(l)e.setAttribute("data-import-uri",l),-1===o.indexOf(l)&&o.push(l),p(l,e);else{d||(d=e.getAttribute("href")),(c.key||c.api_key||r.config.api_key||r.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===n.indexOf(d)&&n.push(d),p(d,e)):r.trigger("load",e)}}for(var d=0;d0||o.length>0?((c=c||{}).touch=r.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,r.config.theme&&(c.theme=r.config.theme),n.length>0&&(c.uri=n),o.length>0&&(c.ids=o.join("&")),c.v=r.VERSION,t.src=a.getEndpoint("/api/import/v2",c,r.SUPPORTED_QUERY_STRING),t.onerror=function(){l()},document.head.appendChild(t),r.import=t):(l(),r.trigger("load"))}(t)}})),r.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var n=i[e.uri];if(n)for(var a=0;a1&&function(e,t){for(var n=0,a=0;a=0;return n&&e}(e.maxWidthWrapper,a.config.parent);r&&(t=r.parentNode,n=r)}if(e.url){var i=e.iframe&&(e.iframe.textContent||e.iframe.innerText);a.triggerAsync("cancel",e.url,t,i,n.nextSibling)}t.removeChild(n)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,n){var a=n(1),r=n(0);r.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var n=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((n=n||{})[t[0].trim()]=t[1].trim())}})),l(e,n)):"setIframelyEmbedData"===t.method&&l(e,null);var i=t.data&&t.data.media;!i&&t.height&&(i={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var n=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,n=t&&t.match(/(\d+)px/)||0;n&&(n=parseInt(n[1]),n*=2);return n}(e),i=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=n),a.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+n,width:t.width&&t.width+n}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var l=t["aspect-ratio"];(l||t.height)&&a.setStyles(e.aspectWrapper,{paddingBottom:l?Math.round(1e5/l)/1e3+"%":0,paddingTop:l&&t["padding-bottom"],height:l?0:t.height&&t.height+n});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");i&&i!==c&&r.triggerAsync("heightChanged",e.iframe,i,c)}}(e,i)}}));var i={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function l(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",a.setStyles(e.aspectWrapper,t)):a.setStyles(e.iframe,t):!t&&e&&e.iframe&&(a.setStyles(e.aspectWrapper,i),a.setStyles(e.iframe,o))}},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||a.trigger(t.method,t.href)})),a.openHref||(a.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),a.on("open-href",(function(e){a.triggerAsync("click",e),a.openHref(e)}))},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&a.trigger("options",e,t.data)}))},function(e,t,n){var a=n(0);a.widgets=a.widgets||{},a.widgets.load=a.load,a.events||(a.events={},a.events.on=a.on,a.events.trigger=a.trigger),a.on("cancel",(function(e,t,n,r){if(a.RECOVER_HREFS_ON_CANCEL&&!n&&(n=e),e&&t&&n&&""!==n){var i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("target","_blank"),i.setAttribute("rel","noopener"),i.textContent=n,r?t.insertBefore(i,r):t.appendChild(i)}}))},function(e,t,n){var a,r=!!(a=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(a[2],10);n(0).SUPPORT_IFRAME_LOADING_ATTR=r&&r>=77},function(e,t,n){var a=n(0),r=n(20),i=n(22);a.buildOptionsForm=function(e,t,n,a){r({id:e,formContainer:t,options:n,renderer:i,translator:a})},t.iframely=a},function(e,t,n){var a=n(21),r=n(0),i={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];r.addEventListener(n,"click",(function(){n.select()})),r.addEventListener(n,"blur",t),r.addEventListener(n,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},o={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var l=a(t,e.translator),c=e.id,p=e.renderer,s=o[c]=o[c]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(s[e]=t[e].value)}));var d=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=d(e.context.elements)),t+=p(e.type,e.context||{})})),t};n.innerHTML=d(l);var u=function(e){e.forEach((function(e){if(e.context&&e.context.elements)u(e.context.elements);else{var t=i[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach((function(e){r.addEventListener(e,"change",f)})):console.warn("No inputs found for option",e.key))}}))};u(l)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(n){n.forEach((function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var a,r=i[n.type];a=r&&r.getValue?r.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(a))}}))};return t(l),e}();Object.keys(s).forEach((function(t){s[t]!==e[t]&&void 0!==e[t]||delete e[t]})),r.trigger("options-changed",c,n,e)}}},function(e,t){var n=/^_./,a=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var r=[],i=Object.keys(e),o=0;if(i.forEach((function(i){var l,c,p={},s=e[i];s.key=i;var d,u,f=s.values&&Object.keys(s.values);if(f&&1===f.length&&(c=!0,d=f[0],u=s.values[d]),p.label=a(u||s.label,t),p.key=s.key,c||"boolean"==typeof s.value)p.checked=c?d===s.value||!d&&!s.value:s.value,o++,r.push({type:"checkbox",context:p,order:n.test(i)?0:1,getQuery:function(e){var t;t=c?e?d:"":e;var n={};return c?""===t||(n[s.key]=t):n[s.key]=e,n}});else if("number"!=typeof s.value&&"string"!=typeof s.value||s.values){if(s.values)if(p.value=s.value+"",l=function(e){var t={};return""===e||(t[s.key]=e),t},Object.keys(s.values).length<=3){s.label?p.label=a(s.label,t):p.label=!1;for(var m=0,_=!1,h=Object.values(s.values);m8,m++}p.inline=!_,p.items=[],Object.keys(s.values).forEach((function(e,n){p.items.push({id:p.key+"-"+n,value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"radio",context:p,order:_?-3:/theme/.test(i)?-1:-2,getQuery:l})}else p.items=[],Object.keys(s.values).forEach((function(e){p.items.push({value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"select",context:p,order:5,getQuery:l})}else{var g=s.range&&"number"==typeof s.range.min&&"number"==typeof s.range.max,v="number"==typeof s.value;p.value=s.value,l=function(e){var t={};return""===e||(t[s.key]=e),t},g?(p.min=s.range.min,p.max=s.range.max,r.push({type:"range",context:p,order:9,getQuery:l})):(p.placeholder=a(s.placeholder||"",t),p.inputType=v?"number":"text",r.push({type:"text",context:p,order:/start/i.test(i)?7:8,getQuery:l}))}})),r.sort((function(e,t){return e.order-t.order})),r.forEach((function(e){delete e.order})),o>0){var l,c=[];return r.forEach((function(e,t){if("checkbox"===e.type){var a=o>2&&t>0&&!n.test(e.context.key)&&"checkbox"===r[t-1].type&&n.test(r[t-1].context.key);l&&!a||(l=[],c.push({type:"group",context:{elements:l}})),l.push(e)}else c.push(e)})),c}return r}},function(e,t,n){var a={checkbox:n(23),range:n(24),text:n(25),radio:n(26),select:n(27),group:n(28)};e.exports=function(e,t){return(0,a[e])(t)}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n checked="checked"<% } %>>\n \n
\n',__filename="src/options/templates/checkbox.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n \n
\n"),__line=7;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/range.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/text.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n <% if (label) { %>\n \n <% } %>\n
\n <% items.forEach(function(subContext) { %>\n
\n checked="checked"<% } %>>\n \n
\n <% }); %>\n
\n
',__filename="src/options/templates/radio.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n '),__line=2,label&&(__append('\n \n "),__line=6),__append('\n
\n '),__line=8,items.forEach((function(e){__append('\n
\n \n \n
\n "),__line=15})),__append("\n
\n
"),__line=17;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/select.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
"),__line=10;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n
\n <%- elementsHtml %>\n
\n
',__filename="src/options/templates/group.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n
\n '),__line=3,__append(elementsHtml),__append("\n
\n
"),__line=5;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},,,function(e,t,n){n(3);var a=n(0);a._loaded||(a._loaded=!0,n(4),n(5),n(7),n(8),n(9),n(10),n(11),n(12),n(13),n(14),n(15),n(16),n(17),n(18),n(19),a.trigger("init")),t.iframely=a}]); \ No newline at end of file +!function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=31)}([function(e,t){var n=window.iframely=window.iframely||{};n.config=n.config||{},e.exports=n},function(e,t,n){var a=n(0),r=n(2);a.on("init",(function(){a.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return r}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),a.config.theme&&a.setTheme(a.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||a.DOMAINS).join('"], iframe[src*="')+'"]'),n=0;n2||t&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS||!t&&"relative"!==n.style.position&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS)){var r=n.parentNode;if(!(!r||"DIV"!==r.nodeName||c(r)>1||t&&r.getAttribute("class")&&-1===r.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)||!t&&r.getAttribute("class")&&!r.getAttribute("class").match(/iframely/i)))return{aspectWrapper:n,maxWidthWrapper:r}}};t.addDefaultWrappers=function(e){var t=e.parentNode,n=document.createElement("div");n.className=a.MAXWIDTH_WRAPPER_CLASS;var r=document.createElement("div");return r.className=a.ASPECT_WRAPPER_CLASS,n.appendChild(r),t.insertBefore(n,e),{aspectWrapper:r,maxWidthWrapper:n}},t.getWidget=function(e){var t=i(e);if(t){var n={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))n.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var a=s(e.getAttribute("src"));a.url&&(n.url=a.url)}return n}},a.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(n){var r=t[n];("number"==typeof r||"string"==typeof r&&/^(\d+)?\.?(\d+)$/.test(r))&&(r+="px");var i=e.style[n];window.getComputedStyle&&(a.getElementComputedStyle(e,n)==r||"iframely-responsive"==e.className&&"paddingBottom"===n&&!i&&/^56\.2\d+%$/.test(r)||"max-width"===n&&"keep"===r)||(e.style[n]=r||"")}))};var o=t.applyNonce=function(e){a.config.nonce&&(e.nonce=a.config.nonce)};var l=t.addQueryString=function(e,t){var n="";return Object.keys(t).forEach((function(a){var r=t[a];if("[object Array]"===Object.prototype.toString.call(r)){var i=r.map((function(e){return a+"="+encodeURIComponent(e)}));n+="&"+i.join("&")}else void 0!==r&&-1===e.indexOf(a+"=")&&("boolean"==typeof r&&"_"!==a.charAt(0)&&(r=r?1:0),n+="&"+a+"="+encodeURIComponent(r))})),e+(""!==n?(e.indexOf("?")>-1?"&":"?")+n.replace(/^&/,""):"")};function c(e){for(var t=0,n=0;n-1?t?"IFRAME"===t.tagName?i(t,e):o(t,e):(a.extendOptions({theme:e}),o(document,e),a.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+a.SUPPORTED_THEMES.join(", "))}},function(e,t,n){var a=n(1),r=n(0),i={};function o(e,t,n){var i,o=e.cancel,l=e.shadow,p=e.renderEvent,s=a.getIframeWrapper(t,!0);if(o)i=a.getWidget(t),r.cancelWidget(i||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var d,u;if((i=document.createElement("div")).innerHTML=e.html,s&&!p?(d=s.aspectWrapper.parentNode,u=s.aspectWrapper,s.maxWidthWrapper.removeAttribute("style")):(d=t.parentNode,u=t),l){var f=document.createElement("div"),m=f.attachShadow({mode:"open"});m.appendChild(i);var _={shadowRoot:m,shadowContainer:f,container:d,context:e.context,stylesIds:e.stylesIds,stylesDict:n.commonShadowStyles};r.trigger("import-shadow-widget-before-render",_),d.insertBefore(f,u),r.trigger("import-shadow-widget-after-render",_)}else d.insertBefore(i,u),function e(t){function n(e){var n=e.text||e.textContent||e.innerHTML||"",r=a.createScript();r.type="text/javascript";for(var i=0;i4&&(t=null);var a=t&&t.parentNode;a&&a.getAttribute("class")&&a.getAttribute("class").split(" ").indexOf(r.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),a.removeAttribute("style"))}r.on("load",(function(e){if(!e&&!1!==r.config.import&&document.head.attachShadow&&document.location&&(r.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!r.config.playerjs&&!r.config.lazy&&!r.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=a.createScript(),n=[],o=[],c=null;function p(e,t){i[e]||(i[e]=[]),i[e].push(t)}function s(e){var t=e.getAttribute("data-iframely-url"),i=t.match(r.ID_RE),l=i&&i[1],s=a.parseQueryString(t,r.SUPPORTED_QUERY_STRING.concat("url")),d=s.url;delete s.url;var u="0"===s.import||"false"===s.import||"1"===s.playerjs||"true"===s.playerjs;if(!u){var f=t.match(r.BASE_RE);s.CDN=f&&f[0],c?JSON.stringify(s,Object.keys(s).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(u=!0):c=s}if(u)r.trigger("load",e);else if(l)e.setAttribute("data-import-uri",l),-1===o.indexOf(l)&&o.push(l),p(l,e);else{d||(d=e.getAttribute("href")),(c.key||c.api_key||r.config.api_key||r.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===n.indexOf(d)&&n.push(d),p(d,e)):r.trigger("load",e)}}for(var d=0;d0||o.length>0?((c=c||{}).touch=r.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,r.config.theme&&(c.theme=r.config.theme),n.length>0&&(c.uri=n),o.length>0&&(c.ids=o.join("&")),c.v=r.VERSION,t.src=a.getEndpoint("/api/import/v2",c,r.SUPPORTED_QUERY_STRING),t.onerror=function(){l()},document.head.appendChild(t),r.import=t):(l(),r.trigger("load"))}(t)}})),r.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var n=i[e.uri];if(n)for(var a=0;a1&&function(e,t){for(var n=0,a=0;a=0;return n&&e}(e.maxWidthWrapper,a.config.parent);r&&(t=r.parentNode,n=r)}if(e.url){var i=e.iframe&&(e.iframe.textContent||e.iframe.innerText);a.triggerAsync("cancel",e.url,t,i,n.nextSibling)}t.removeChild(n)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,n){var a=n(1),r=n(0);r.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var n=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((n=n||{})[t[0].trim()]=t[1].trim())}})),l(e,n)):"setIframelyEmbedData"===t.method&&l(e,null);var i=t.data&&t.data.media;!i&&t.height&&(i={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var n=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,n=t&&t.match(/(\d+)px/)||0;n&&(n=parseInt(n[1]),n*=2);return n}(e),i=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=n),a.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+n,width:t.width&&t.width+n}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var l=t["aspect-ratio"];(l||t.height)&&a.setStyles(e.aspectWrapper,{paddingBottom:l?Math.round(1e5/l)/1e3+"%":0,paddingTop:l&&t["padding-bottom"],height:l?0:t.height&&t.height+n});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");i&&i!==c&&r.triggerAsync("heightChanged",e.iframe,i,c)}}(e,i)}}));var i={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function l(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",a.setStyles(e.aspectWrapper,t)):a.setStyles(e.iframe,t):!t&&e&&e.iframe&&(a.setStyles(e.aspectWrapper,i),a.setStyles(e.iframe,o))}},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||a.trigger(t.method,t.href)})),a.openHref||(a.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),a.on("open-href",(function(e){a.triggerAsync("click",e),a.openHref(e)}))},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&a.trigger("options",e,t.data)}))},function(e,t,n){var a=n(0);a.widgets=a.widgets||{},a.widgets.load=a.load,a.events||(a.events={},a.events.on=a.on,a.events.trigger=a.trigger),a.on("cancel",(function(e,t,n,r){if(a.RECOVER_HREFS_ON_CANCEL&&!n&&(n=e),e&&t&&n&&""!==n){var i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("target","_blank"),i.setAttribute("rel","noopener"),i.textContent=n,r?t.insertBefore(i,r):t.appendChild(i)}}))},function(e,t,n){var a,r=!!(a=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(a[2],10);n(0).SUPPORT_IFRAME_LOADING_ATTR=r&&r>=77},function(e,t,n){var a=n(0),r=n(20),i=n(22);a.buildOptionsForm=function(e,t,n,a){r({id:e,formContainer:t,options:n,renderer:i,translator:a})},t.iframely=a},function(e,t,n){var a=n(21),r=n(0),i={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];r.addEventListener(n,"click",(function(){n.select()})),r.addEventListener(n,"blur",t),r.addEventListener(n,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},o={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var l=a(t,e.translator),c=e.id,p=e.renderer,s=o[c]=o[c]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(s[e]=t[e].value)}));var d=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=d(e.context.elements)),t+=p(e.type,e.context||{})})),t};n.innerHTML=d(l);var u=function(e){e.forEach((function(e){if(e.context&&e.context.elements)u(e.context.elements);else{var t=i[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach((function(e){r.addEventListener(e,"change",f)})):console.warn("No inputs found for option",e.key))}}))};u(l)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(n){n.forEach((function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var a,r=i[n.type];a=r&&r.getValue?r.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(a))}}))};return t(l),e}();Object.keys(s).forEach((function(t){s[t]!==e[t]&&void 0!==e[t]||delete e[t]})),r.trigger("options-changed",c,n,e)}}},function(e,t){var n=/^_./,a=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var r=[],i=Object.keys(e),o=0;if(i.forEach((function(i){var l,c,p={},s=e[i];s.key=i;var d,u,f=s.values&&Object.keys(s.values);if(f&&1===f.length&&(c=!0,d=f[0],u=s.values[d]),p.label=a(u||s.label,t),p.key=s.key,c||"boolean"==typeof s.value)p.checked=c?d===s.value||!d&&!s.value:s.value,o++,r.push({type:"checkbox",context:p,order:n.test(i)?0:1,getQuery:function(e){var t;t=c?e?d:"":e;var n={};return c?""===t||(n[s.key]=t):n[s.key]=e,n}});else if("number"!=typeof s.value&&"string"!=typeof s.value||s.values){if(s.values)if(p.value=s.value+"",l=function(e){var t={};return""===e||(t[s.key]=e),t},Object.keys(s.values).length<=3){s.label?p.label=a(s.label,t):p.label=!1;for(var m=0,_=!1,h=Object.values(s.values);m8,m++}p.inline=!_,p.items=[],Object.keys(s.values).forEach((function(e,n){p.items.push({id:p.key+"-"+n,value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"radio",context:p,order:_?-3:/theme/.test(i)?-1:-2,getQuery:l})}else p.items=[],Object.keys(s.values).forEach((function(e){p.items.push({value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"select",context:p,order:5,getQuery:l})}else{var g=s.range&&"number"==typeof s.range.min&&"number"==typeof s.range.max,v="number"==typeof s.value;p.value=s.value,l=function(e){var t={};return""===e||(t[s.key]=e),t},g?(p.min=s.range.min,p.max=s.range.max,r.push({type:"range",context:p,order:9,getQuery:l})):(p.placeholder=a(s.placeholder||"",t),p.inputType=v?"number":"text",r.push({type:"text",context:p,order:/start/i.test(i)?7:8,getQuery:l}))}})),r.sort((function(e,t){return e.order-t.order})),r.forEach((function(e){delete e.order})),o>0){var l,c=[];return r.forEach((function(e,t){if("checkbox"===e.type){var a=o>2&&t>0&&!n.test(e.context.key)&&"checkbox"===r[t-1].type&&n.test(r[t-1].context.key);l&&!a||(l=[],c.push({type:"group",context:{elements:l}})),l.push(e)}else c.push(e)})),c}return r}},function(e,t,n){var a={checkbox:n(23),range:n(24),text:n(25),radio:n(26),select:n(27),group:n(28)};e.exports=function(e,t){return(0,a[e])(t)}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n checked="checked"<% } %>>\n \n
\n',__filename="src/options/templates/checkbox.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n \n
\n"),__line=7;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/range.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/text.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n <% if (label) { %>\n \n <% } %>\n
\n <% items.forEach(function(subContext) { %>\n
\n checked="checked"<% } %>>\n \n
\n <% }); %>\n
\n
',__filename="src/options/templates/radio.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n '),__line=2,label&&(__append('\n \n "),__line=6),__append('\n
\n '),__line=8,items.forEach((function(e){__append('\n
\n \n \n
\n "),__line=15})),__append("\n
\n
"),__line=17;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/select.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
"),__line=10;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n
\n <%- elementsHtml %>\n
\n
',__filename="src/options/templates/group.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n
\n '),__line=3,__append(elementsHtml),__append("\n
\n
"),__line=5;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},,,function(e,t,n){n(3);var a=n(0);a._loaded||(a._loaded=!0,n(4),n(5),n(7),n(8),n(9),n(10),n(11),n(12),n(13),n(14),n(15),n(16),n(17),n(18),n(19),a.trigger("init")),t.iframely=a}]); \ No newline at end of file diff --git a/dist/embed.min.js b/dist/embed.min.js index 8382436..9912fe5 100644 --- a/dist/embed.min.js +++ b/dist/embed.min.js @@ -1 +1 @@ -!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=30)}([function(e,t){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},function(e,t,r){var i=r(0),n=r(2);i.on("init",(function(){i.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return n}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),i.config.theme&&i.setTheme(i.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||i.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS)){var n=r.parentNode;if(!(!n||"DIV"!==n.nodeName||c(n)>1||t&&n.getAttribute("class")&&-1===n.getAttribute("class").split(" ").indexOf(i.MAXWIDTH_WRAPPER_CLASS)||!t&&n.getAttribute("class")&&!n.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:n}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=i.MAXWIDTH_WRAPPER_CLASS;var n=document.createElement("div");return n.className=i.ASPECT_WRAPPER_CLASS,r.appendChild(n),t.insertBefore(r,e),{aspectWrapper:n,maxWidthWrapper:r}},t.getWidget=function(e){var t=a(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var i=l(e.getAttribute("src"));i.url&&(r.url=i.url)}return r}},i.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(r){var n=t[r];("number"==typeof n||"string"==typeof n&&/^(\d+)?\.?(\d+)$/.test(n))&&(n+="px");var a=e.style[r];window.getComputedStyle&&(i.getElementComputedStyle(e,r)==n||"iframely-responsive"==e.className&&"paddingBottom"===r&&!a&&/^56\.2\d+%$/.test(n)||"max-width"===r&&"keep"===n)||(e.style[r]=n||"")}))};var o=t.applyNonce=function(e){i.config.nonce&&(e.nonce=i.config.nonce)};var d=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach((function(i){var n=t[i];if("[object Array]"===Object.prototype.toString.call(n)){var a=n.map((function(e){return i+"="+encodeURIComponent(e)}));r+="&"+a.join("&")}else void 0!==n&&-1===e.indexOf(i+"=")&&("boolean"==typeof n&&"_"!==i.charAt(0)&&(n=n?1:0),r+="&"+i+"="+encodeURIComponent(n))})),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function c(e){for(var t=0,r=0;r-1?t?"IFRAME"===t.tagName?a(t,e):o(t,e):(i.extendOptions({theme:e}),o(document,e),i.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+i.SUPPORTED_THEMES.join(", "))}},function(e,t,r){var i=r(1),n=r(0),a={};function o(e,t,r){var a,o=e.cancel,d=e.shadow,s=e.renderEvent,l=i.getIframeWrapper(t,!0);if(o)a=i.getWidget(t),n.cancelWidget(a||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var u,f;if((a=document.createElement("div")).innerHTML=e.html,l&&!s?(u=l.aspectWrapper.parentNode,f=l.aspectWrapper,l.maxWidthWrapper.removeAttribute("style")):(u=t.parentNode,f=t),d){var p=document.createElement("div"),m=p.attachShadow({mode:"open"});m.appendChild(a);var g={shadowRoot:m,shadowContainer:p,container:u,context:e.context,stylesIds:e.stylesIds,stylesDict:r.commonShadowStyles};n.trigger("import-shadow-widget-before-render",g),u.insertBefore(p,f),n.trigger("import-shadow-widget-after-render",g)}else u.insertBefore(a,f),function e(t){function r(e){var r=e.text||e.textContent||e.innerHTML||"",n=i.createScript();n.type="text/javascript";for(var a=0;a4&&(t=null);var i=t&&t.parentNode;i&&i.getAttribute("class")&&i.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),i.removeAttribute("style"))}n.on("load",(function(e){if(!e&&!1!==n.config.import&&document.head.attachShadow&&document.location&&(n.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!n.config.playerjs&&!n.config.lazy&&!n.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=i.createScript(),r=[],o=[],c=null;function s(e,t){a[e]||(a[e]=[]),a[e].push(t)}function l(e){var t=e.getAttribute("data-iframely-url"),a=t.match(n.ID_RE),d=a&&a[1],l=i.parseQueryString(t,n.SUPPORTED_QUERY_STRING.concat("url")),u=l.url;delete l.url;var f="0"===l.import||"false"===l.import||"1"===l.playerjs||"true"===l.playerjs;if(!f){var p=t.match(n.BASE_RE);l.CDN=p&&p[0],c?JSON.stringify(l,Object.keys(l).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(f=!0):c=l}if(f)n.trigger("load",e);else if(d)e.setAttribute("data-import-uri",d),-1===o.indexOf(d)&&o.push(d),s(d,e);else{u||(u=e.getAttribute("href")),(c.key||c.api_key||n.config.api_key||n.config.key)&&u?(e.setAttribute("data-import-uri",u),-1===r.indexOf(u)&&r.push(u),s(u,e)):n.trigger("load",e)}}for(var u=0;u0||o.length>0?((c=c||{}).touch=n.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,n.config.theme&&(c.theme=n.config.theme),r.length>0&&(c.uri=r),o.length>0&&(c.ids=o.join("&")),c.v=n.VERSION,t.src=i.getEndpoint("/api/import/v2",c,n.SUPPORTED_QUERY_STRING),t.onerror=function(){d()},document.head.appendChild(t),n.import=t):(d(),n.trigger("load"))}(t)}})),n.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=a[e.uri];if(r)for(var i=0;i1&&function(e,t){for(var r=0,i=0;i=0;return r&&e}(e.maxWidthWrapper,i.config.parent);n&&(t=n.parentNode,r=n)}if(e.url){var a=e.iframe&&(e.iframe.textContent||e.iframe.innerText);i.triggerAsync("cancel",e.url,t,a,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,r){var i=r(1),n=r(0);n.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}})),d(e,r)):"setIframelyEmbedData"===t.method&&d(e,null);var a=t.data&&t.data.media;!a&&t.height&&(a={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;r&&(r=parseInt(r[1]),r*=2);return r}(e),a=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),i.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var d=t["aspect-ratio"];(d||t.height)&&i.setStyles(e.aspectWrapper,{paddingBottom:d?Math.round(1e5/d)/1e3+"%":0,paddingTop:d&&t["padding-bottom"],height:d?0:t.height&&t.height+r});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");a&&a!==c&&n.triggerAsync("heightChanged",e.iframe,a,c)}}(e,a)}}));var a={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function d(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",i.setStyles(e.aspectWrapper,t)):i.setStyles(e.iframe,t):!t&&e&&e.iframe&&(i.setStyles(e.aspectWrapper,a),i.setStyles(e.iframe,o))}},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||i.trigger(t.method,t.href)})),i.openHref||(i.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),i.on("open-href",(function(e){i.triggerAsync("click",e),i.openHref(e)}))},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&i.trigger("options",e,t.data)}))},function(e,t,r){var i=r(0);i.widgets=i.widgets||{},i.widgets.load=i.load,i.events||(i.events={},i.events.on=i.on,i.events.trigger=i.trigger),i.on("cancel",(function(e,t,r,n){if(i.RECOVER_HREFS_ON_CANCEL&&!r&&(r=e),e&&t&&r&&""!==r){var a=document.createElement("a");a.setAttribute("href",e),a.setAttribute("target","_blank"),a.setAttribute("rel","noopener"),a.textContent=r,n?t.insertBefore(a,n):t.appendChild(a)}}))},function(e,t,r){var i,n=!!(i=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(i[2],10);r(0).SUPPORT_IFRAME_LOADING_ATTR=n&&n>=77},,,,,,,,,,,,function(e,t,r){r(3);var i=r(0);i._loaded||(i._loaded=!0,r(4),r(5),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15),r(16),r(17),r(18),i.trigger("init")),t.iframely=i}]); \ No newline at end of file +!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=30)}([function(e,t){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},function(e,t,r){var i=r(0),n=r(2);i.on("init",(function(){i.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return n}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),i.config.theme&&i.setTheme(i.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||i.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS)){var n=r.parentNode;if(!(!n||"DIV"!==n.nodeName||c(n)>1||t&&n.getAttribute("class")&&-1===n.getAttribute("class").split(" ").indexOf(i.MAXWIDTH_WRAPPER_CLASS)||!t&&n.getAttribute("class")&&!n.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:n}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=i.MAXWIDTH_WRAPPER_CLASS;var n=document.createElement("div");return n.className=i.ASPECT_WRAPPER_CLASS,r.appendChild(n),t.insertBefore(r,e),{aspectWrapper:n,maxWidthWrapper:r}},t.getWidget=function(e){var t=a(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var i=l(e.getAttribute("src"));i.url&&(r.url=i.url)}return r}},i.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(r){var n=t[r];("number"==typeof n||"string"==typeof n&&/^(\d+)?\.?(\d+)$/.test(n))&&(n+="px");var a=e.style[r];window.getComputedStyle&&(i.getElementComputedStyle(e,r)==n||"iframely-responsive"==e.className&&"paddingBottom"===r&&!a&&/^56\.2\d+%$/.test(n)||"max-width"===r&&"keep"===n)||(e.style[r]=n||"")}))};var o=t.applyNonce=function(e){i.config.nonce&&(e.nonce=i.config.nonce)};var d=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach((function(i){var n=t[i];if("[object Array]"===Object.prototype.toString.call(n)){var a=n.map((function(e){return i+"="+encodeURIComponent(e)}));r+="&"+a.join("&")}else void 0!==n&&-1===e.indexOf(i+"=")&&("boolean"==typeof n&&"_"!==i.charAt(0)&&(n=n?1:0),r+="&"+i+"="+encodeURIComponent(n))})),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function c(e){for(var t=0,r=0;r-1?t?"IFRAME"===t.tagName?a(t,e):o(t,e):(i.extendOptions({theme:e}),o(document,e),i.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+i.SUPPORTED_THEMES.join(", "))}},function(e,t,r){var i=r(1),n=r(0),a={};function o(e,t,r){var a,o=e.cancel,d=e.shadow,s=e.renderEvent,l=i.getIframeWrapper(t,!0);if(o)a=i.getWidget(t),n.cancelWidget(a||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var u,f;if((a=document.createElement("div")).innerHTML=e.html,l&&!s?(u=l.aspectWrapper.parentNode,f=l.aspectWrapper,l.maxWidthWrapper.removeAttribute("style")):(u=t.parentNode,f=t),d){var p=document.createElement("div"),m=p.attachShadow({mode:"open"});m.appendChild(a);var g={shadowRoot:m,shadowContainer:p,container:u,context:e.context,stylesIds:e.stylesIds,stylesDict:r.commonShadowStyles};n.trigger("import-shadow-widget-before-render",g),u.insertBefore(p,f),n.trigger("import-shadow-widget-after-render",g)}else u.insertBefore(a,f),function e(t){function r(e){var r=e.text||e.textContent||e.innerHTML||"",n=i.createScript();n.type="text/javascript";for(var a=0;a4&&(t=null);var i=t&&t.parentNode;i&&i.getAttribute("class")&&i.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),i.removeAttribute("style"))}n.on("load",(function(e){if(!e&&!1!==n.config.import&&document.head.attachShadow&&document.location&&(n.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!n.config.playerjs&&!n.config.lazy&&!n.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=i.createScript(),r=[],o=[],c=null;function s(e,t){a[e]||(a[e]=[]),a[e].push(t)}function l(e){var t=e.getAttribute("data-iframely-url"),a=t.match(n.ID_RE),d=a&&a[1],l=i.parseQueryString(t,n.SUPPORTED_QUERY_STRING.concat("url")),u=l.url;delete l.url;var f="0"===l.import||"false"===l.import||"1"===l.playerjs||"true"===l.playerjs;if(!f){var p=t.match(n.BASE_RE);l.CDN=p&&p[0],c?JSON.stringify(l,Object.keys(l).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(f=!0):c=l}if(f)n.trigger("load",e);else if(d)e.setAttribute("data-import-uri",d),-1===o.indexOf(d)&&o.push(d),s(d,e);else{u||(u=e.getAttribute("href")),(c.key||c.api_key||n.config.api_key||n.config.key)&&u?(e.setAttribute("data-import-uri",u),-1===r.indexOf(u)&&r.push(u),s(u,e)):n.trigger("load",e)}}for(var u=0;u0||o.length>0?((c=c||{}).touch=n.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,n.config.theme&&(c.theme=n.config.theme),r.length>0&&(c.uri=r),o.length>0&&(c.ids=o.join("&")),c.v=n.VERSION,t.src=i.getEndpoint("/api/import/v2",c,n.SUPPORTED_QUERY_STRING),t.onerror=function(){d()},document.head.appendChild(t),n.import=t):(d(),n.trigger("load"))}(t)}})),n.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=a[e.uri];if(r)for(var i=0;i1&&function(e,t){for(var r=0,i=0;i=0;return r&&e}(e.maxWidthWrapper,i.config.parent);n&&(t=n.parentNode,r=n)}if(e.url){var a=e.iframe&&(e.iframe.textContent||e.iframe.innerText);i.triggerAsync("cancel",e.url,t,a,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,r){var i=r(1),n=r(0);n.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}})),d(e,r)):"setIframelyEmbedData"===t.method&&d(e,null);var a=t.data&&t.data.media;!a&&t.height&&(a={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;r&&(r=parseInt(r[1]),r*=2);return r}(e),a=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),i.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var d=t["aspect-ratio"];(d||t.height)&&i.setStyles(e.aspectWrapper,{paddingBottom:d?Math.round(1e5/d)/1e3+"%":0,paddingTop:d&&t["padding-bottom"],height:d?0:t.height&&t.height+r});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");a&&a!==c&&n.triggerAsync("heightChanged",e.iframe,a,c)}}(e,a)}}));var a={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function d(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",i.setStyles(e.aspectWrapper,t)):i.setStyles(e.iframe,t):!t&&e&&e.iframe&&(i.setStyles(e.aspectWrapper,a),i.setStyles(e.iframe,o))}},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||i.trigger(t.method,t.href)})),i.openHref||(i.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),i.on("open-href",(function(e){i.triggerAsync("click",e),i.openHref(e)}))},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&i.trigger("options",e,t.data)}))},function(e,t,r){var i=r(0);i.widgets=i.widgets||{},i.widgets.load=i.load,i.events||(i.events={},i.events.on=i.on,i.events.trigger=i.trigger),i.on("cancel",(function(e,t,r,n){if(i.RECOVER_HREFS_ON_CANCEL&&!r&&(r=e),e&&t&&r&&""!==r){var a=document.createElement("a");a.setAttribute("href",e),a.setAttribute("target","_blank"),a.setAttribute("rel","noopener"),a.textContent=r,n?t.insertBefore(a,n):t.appendChild(a)}}))},function(e,t,r){var i,n=!!(i=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(i[2],10);r(0).SUPPORT_IFRAME_LOADING_ATTR=n&&n>=77},,,,,,,,,,,,function(e,t,r){r(3);var i=r(0);i._loaded||(i._loaded=!0,r(4),r(5),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15),r(16),r(17),r(18),i.trigger("init")),t.iframely=i}]); \ No newline at end of file diff --git a/src/lazy-img-placeholder.js b/src/lazy-img-placeholder.js index b212fc4..56c9458 100644 --- a/src/lazy-img-placeholder.js +++ b/src/lazy-img-placeholder.js @@ -75,8 +75,6 @@ function addPlaceholderThumbnail(widget, href, imageUrl) { if (query.media) { _params.media = query.media; } - - console.log('- debug addPlaceholderThumbnail params', query, _params); // need to run through getEndpoint at least to avoid file:/// if (href.match(/\/api\/iframe/)) { From df0234eab19d1a1803e95d35ffd71ae01b93a31a Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Thu, 12 Mar 2026 17:24:19 +0200 Subject: [PATCH 5/9] audit log --- audit.log | 293 ++++ pnpm-lock.yaml | 4048 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 4341 insertions(+) create mode 100644 audit.log create mode 100644 pnpm-lock.yaml diff --git a/audit.log b/audit.log new file mode 100644 index 0000000..9416ea8 --- /dev/null +++ b/audit.log @@ -0,0 +1,293 @@ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ critical │ ejs template injection vulnerability │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ ejs │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.1.7 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.1.7 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>ejs │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-phwq-j96m-2c2q │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ critical │ pbkdf2 returns predictable uninitialized/zero-filled │ +│ │ memory for non-normalized or unimplemented algos │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ pbkdf2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=3.0.10 <=3.1.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.1.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>node-libs-browser>crypto-browserify>pbkdf2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-h7cp-r72f-jxh6 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ critical │ sha.js is missing type checks leading to hash rewind │ +│ │ and passing on crafted data │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ sha.js │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=2.4.11 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=2.4.12 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>node-libs-browser>crypto-browserify>create- │ +│ │ hash>sha.js │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-95m3-7q98-8xr5 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ critical │ pbkdf2 silently disregards Uint8Array input, returning │ +│ │ static keys │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ pbkdf2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=1.0.0 <=3.1.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.1.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>node-libs-browser>crypto-browserify>pbkdf2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-v62p-rq8g-8h59 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Uncontrolled resource consumption in braces │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ braces │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.0.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.0.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>micromatch>braces │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-grv7-fg5c-xmjg │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ kangax html-minifier REDoS vulnerability │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ html-minifier │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=4.0.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ <0.0.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>html-minifier │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-pfq8-rq6v-vf5m │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch has a ReDoS via repeated wildcards with │ +│ │ non-matching literal in pattern │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.1.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.1.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>eslint>minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-3ppc-4f35-3m26 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch has ReDoS: matchOne() combinatorial │ +│ │ backtracking via multiple non-adjacent GLOBSTAR │ +│ │ segments │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.1.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.1.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>eslint>minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-7r86-cg39-jmmj │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ minimatch ReDoS: nested *() extglobs generate │ +│ │ catastrophically backtracking regular expressions │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.1.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.1.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>eslint>minimatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-23c5-xmqv-rm74 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ high │ Serialize JavaScript is Vulnerable to RCE via │ +│ │ RegExp.flags and Date.prototype.toISOString() │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ serialize-javascript │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=7.0.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=7.0.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>terser-webpack-plugin>serialize-javascript │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-5c6j-r48x-rmvq │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ ejs lacks certain pollution protection │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ ejs │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.1.10 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.1.10 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>ejs │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-ghr5-ch3p-vcr6 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Regular Expression Denial of Service (ReDoS) in │ +│ │ micromatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ micromatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <4.0.8 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=4.0.8 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>micromatch │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-952p-6rrq-rcjv │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ Lodash has Prototype Pollution Vulnerability in │ +│ │ `_.unset` and `_.omit` functions │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ lodash │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=4.0.0 <=4.17.22 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=4.17.23 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>eslint>lodash │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-xxjr-mmjv-4gpg │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ js-yaml has prototype pollution in merge (<<) │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ js-yaml │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <3.14.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=3.14.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>eslint>js-yaml │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-mh29-5h37-fv8m │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ bn.js affected by an infinite loop │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ bn.js │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=5.0.0 <5.2.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=5.2.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>node-libs-browser>crypto- │ +│ │ browserify>browserify-sign>bn.js │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-378v-28hj-76wf │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ bn.js affected by an infinite loop │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ bn.js │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <4.12.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=4.12.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>node-libs-browser>crypto- │ +│ │ browserify>browserify-sign>elliptic>bn.js │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-378v-28hj-76wf │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ ajv has ReDoS when using `$data` option │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ ajv │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <6.14.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.14.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>compile-ejs-loader>@webpack-contrib/schema-utils>ajv │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-2g4f-4pwh-qvx6 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ moderate │ qs's arrayLimit bypass in its bracket notation allows │ +│ │ DoS via memory exhaustion │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ qs │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <6.14.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.14.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>node-libs-browser>url>qs │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-6rw7-vpxm-498p │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ low │ tmp allows arbitrary temporary file / directory write │ +│ │ via symbolic link `dir` parameter │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ tmp │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=0.2.3 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=0.2.4 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>eslint>inquirer>external-editor>tmp │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-52f5-9888-hmc6 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ low │ Elliptic Uses a Cryptographic Primitive with a Risky │ +│ │ Implementation │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ elliptic │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ <=6.6.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ <0.0.0 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>node-libs-browser>crypto- │ +│ │ browserify>browserify-sign>elliptic │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-848j-6mx2-7j84 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +┌─────────────────────┬────────────────────────────────────────────────────────┐ +│ low │ qs's arrayLimit bypass in comma parsing allows denial │ +│ │ of service │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Package │ qs │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Vulnerable versions │ >=6.7.0 <=6.14.1 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Patched versions │ >=6.14.2 │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ Paths │ .>webpack>node-libs-browser>url>qs │ +├─────────────────────┼────────────────────────────────────────────────────────┤ +│ More info │ https://github.com/advisories/GHSA-w7fw-mjwx-w883 │ +└─────────────────────┴────────────────────────────────────────────────────────┘ +21 vulnerabilities found +Severity: 3 low | 8 moderate | 6 high | 4 critical diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..5a35e18 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,4048 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + compile-ejs-loader: + specifier: 0.0.2 + version: 0.0.2(webpack@4.47.0) + ejs: + specifier: ^2.6.1 + version: 2.7.4 + eslint: + specifier: ^5.15.3 + version: 5.16.0 + eslint-loader: + specifier: ^2.1.2 + version: 2.2.1(eslint@5.16.0)(webpack@4.47.0) + html-minifier: + specifier: ^3.5.19 + version: 3.5.21 + uglify-js: + specifier: ^3.4.6 + version: 3.19.3 + webpack: + specifier: ^4.29.6 + version: 4.47.0(webpack-cli@3.3.12) + webpack-cli: + specifier: ^3.3.0 + version: 3.3.12(webpack@4.47.0) + webpack-merge: + specifier: ^4.2.1 + version: 4.2.2 + +packages: + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@webassemblyjs/ast@1.9.0': + resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} + + '@webassemblyjs/floating-point-hex-parser@1.9.0': + resolution: {integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==} + + '@webassemblyjs/helper-api-error@1.9.0': + resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==} + + '@webassemblyjs/helper-buffer@1.9.0': + resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==} + + '@webassemblyjs/helper-code-frame@1.9.0': + resolution: {integrity: sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==} + + '@webassemblyjs/helper-fsm@1.9.0': + resolution: {integrity: sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==} + + '@webassemblyjs/helper-module-context@1.9.0': + resolution: {integrity: sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==} + + '@webassemblyjs/helper-wasm-bytecode@1.9.0': + resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==} + + '@webassemblyjs/helper-wasm-section@1.9.0': + resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==} + + '@webassemblyjs/ieee754@1.9.0': + resolution: {integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==} + + '@webassemblyjs/leb128@1.9.0': + resolution: {integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==} + + '@webassemblyjs/utf8@1.9.0': + resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==} + + '@webassemblyjs/wasm-edit@1.9.0': + resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==} + + '@webassemblyjs/wasm-gen@1.9.0': + resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==} + + '@webassemblyjs/wasm-opt@1.9.0': + resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==} + + '@webassemblyjs/wasm-parser@1.9.0': + resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==} + + '@webassemblyjs/wast-parser@1.9.0': + resolution: {integrity: sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==} + + '@webassemblyjs/wast-printer@1.9.0': + resolution: {integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==} + + '@webpack-contrib/schema-utils@1.0.0-beta.0': + resolution: {integrity: sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==} + engines: {node: '>= 6.9.0 || >= 8.9.0'} + peerDependencies: + webpack: ^3.0.0 || ^4.0.0 + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@6.4.2: + resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv-errors@1.0.1: + resolution: {integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==} + peerDependencies: + ajv: '>=5.0.0' + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-escapes@3.2.0: + resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} + engines: {node: '>=4'} + + ansi-regex@3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + + ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + anymatch@2.0.0: + resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + aproba@1.2.0: + resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + + arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + + arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + + array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + + asn1.js@4.10.1: + resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + + assert@1.5.1: + resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} + + assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + + astral-regex@1.0.0: + resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} + engines: {node: '>=4'} + + async-each@1.0.6: + resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} + + atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@1.13.1: + resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} + engines: {node: '>=0.10.0'} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + bn.js@4.12.2: + resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} + + bn.js@5.2.2: + resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} + + brace-expansion@1.1.12: + resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + + braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + + browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + + browserify-rsa@4.1.1: + resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} + engines: {node: '>= 0.10'} + + browserify-sign@4.2.3: + resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} + engines: {node: '>= 0.12'} + + browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + + buffer@4.9.2: + resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} + + builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + + cacache@12.0.4: + resolution: {integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==} + + cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@3.0.0: + resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + chokidar@2.1.8: + resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + cipher-base@1.0.6: + resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} + engines: {node: '>= 0.10'} + + class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + + clean-css@4.2.4: + resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} + engines: {node: '>= 4.0'} + + cli-cursor@2.1.0: + resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} + engines: {node: '>=4'} + + cli-width@2.2.1: + resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} + + cliui@5.0.0: + resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==} + + collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + commander@2.17.1: + resolution: {integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==} + + commander@2.19.0: + resolution: {integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + compile-ejs-loader@0.0.2: + resolution: {integrity: sha512-sipblPeNzCUhyF15Yfdti4S7CL5yFFtOwxeyKpdtdxtwa/M/uyeyS5Svmc5cO/GoiQjhbzrp/dXzpNg/nzMlhA==} + peerDependencies: + webpack: ^4.16.3 + + component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + + console-browserify@1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + + constants-browserify@1.0.0: + resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + + copy-concurrently@1.0.5: + resolution: {integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==} + deprecated: This package is no longer supported. + + copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + + cross-spawn@6.0.6: + resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} + engines: {node: '>=4.8'} + + crypto-browserify@3.12.1: + resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} + engines: {node: '>= 0.10'} + + cyclist@1.0.2: + resolution: {integrity: sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==} + + d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + + define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + + define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + + detect-file@1.0.0: + resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} + engines: {node: '>=0.10.0'} + + diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + domain-browser@1.2.0: + resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} + engines: {node: '>=0.4', npm: '>=1.2'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexify@3.7.1: + resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + + ejs@2.7.4: + resolution: {integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==} + engines: {node: '>=0.10.0'} + + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + + emoji-regex@7.0.3: + resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enhanced-resolve@4.5.0: + resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} + engines: {node: '>=6.9.0'} + + errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + eslint-loader@2.2.1: + resolution: {integrity: sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==} + deprecated: This loader has been deprecated. Please use eslint-webpack-plugin + peerDependencies: + eslint: '>=1.6.0 <7.0.0' + webpack: '>=2.0.0 <5.0.0' + + eslint-scope@4.0.3: + resolution: {integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==} + engines: {node: '>=4.0.0'} + + eslint-utils@1.4.3: + resolution: {integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==} + engines: {node: '>=6'} + + eslint-visitor-keys@1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + + eslint@5.16.0: + resolution: {integrity: sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==} + engines: {node: ^6.14.0 || ^8.10.0 || >=9.10.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + + espree@5.0.1: + resolution: {integrity: sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==} + engines: {node: '>=6.0.0'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + + expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + + expand-tilde@2.0.2: + resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} + engines: {node: '>=0.10.0'} + + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + figgy-pudding@3.5.2: + resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} + deprecated: This module is no longer supported. + + figures@2.0.0: + resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} + engines: {node: '>=4'} + + file-entry-cache@5.0.1: + resolution: {integrity: sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==} + engines: {node: '>=4'} + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-cache-dir@0.1.1: + resolution: {integrity: sha512-Z9XSBoNE7xQiV6MSgPuCfyMokH2K7JdpRkOYE1+mu3d4BFJtx3GW+f6Bo4q8IX6rlf5MYbLBKW0pjl2cWdkm2A==} + engines: {node: '>=0.10.0'} + + find-cache-dir@2.1.0: + resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} + engines: {node: '>=6'} + + find-up@1.1.2: + resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==} + engines: {node: '>=0.10.0'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + findup-sync@3.0.0: + resolution: {integrity: sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==} + engines: {node: '>= 0.10'} + + flat-cache@2.0.1: + resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} + engines: {node: '>=4'} + + flatted@2.0.2: + resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} + + flush-write-stream@1.1.1: + resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} + + for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + + fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + + from2@2.3.0: + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + + fs-write-stream-atomic@1.0.10: + resolution: {integrity: sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==} + deprecated: This package is no longer supported. + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@1.2.13: + resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} + engines: {node: '>= 4.0'} + os: [darwin] + deprecated: Upgrade to fsevents v2 to mitigate potential security issues + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + + glob-parent@3.1.0: + resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + global-modules@1.0.0: + resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} + engines: {node: '>=0.10.0'} + + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-prefix@1.0.2: + resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} + engines: {node: '>=0.10.0'} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + + has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + + has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + + has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + + hash-base@3.0.5: + resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} + engines: {node: '>= 0.10'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + homedir-polyfill@1.0.3: + resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} + engines: {node: '>=0.10.0'} + + html-minifier@3.5.21: + resolution: {integrity: sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==} + engines: {node: '>=4'} + hasBin: true + + https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + iferr@0.1.5: + resolution: {integrity: sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==} + + ignore@4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + import-local@2.0.0: + resolution: {integrity: sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==} + engines: {node: '>=6'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + inquirer@6.5.2: + resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} + engines: {node: '>=6.0.0'} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} + + is-binary-path@1.0.1: + resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} + engines: {node: '>=0.10.0'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + + is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} + + is-descriptor@1.0.3: + resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + engines: {node: '>= 0.4'} + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + + is-glob@3.1.0: + resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + is-wsl@1.1.0: + resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} + engines: {node: '>=4'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + + loader-fs-cache@1.0.3: + resolution: {integrity: sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==} + + loader-runner@2.4.0: + resolution: {integrity: sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==} + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + + loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@2.2.0: + resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} + engines: {node: '>=4'} + + loglevelnext@1.0.5: + resolution: {integrity: sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==} + engines: {node: '>= 6'} + + lower-case@1.1.4: + resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + + map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + + map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + + memory-fs@0.4.1: + resolution: {integrity: sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==} + + memory-fs@0.5.0: + resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} + engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + + micromatch@3.1.10: + resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} + engines: {node: '>=0.10.0'} + + miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + + mimic-fn@1.2.0: + resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} + engines: {node: '>=4'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + mississippi@3.0.0: + resolution: {integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==} + engines: {node: '>=4.0.0'} + + mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + move-concurrently@1.0.1: + resolution: {integrity: sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==} + deprecated: This package is no longer supported. + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mute-stream@0.0.7: + resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} + + nan@2.22.2: + resolution: {integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==} + + nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + no-case@2.3.2: + resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} + + node-libs-browser@2.2.1: + resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} + + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + + object-hash@1.3.1: + resolution: {integrity: sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==} + engines: {node: '>= 0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@2.0.1: + resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} + engines: {node: '>=4'} + + optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + + os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + parallel-transform@1.2.0: + resolution: {integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==} + + param-case@2.1.1: + resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-asn1@5.1.7: + resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} + engines: {node: '>= 0.10'} + + parse-passwd@1.0.0: + resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} + engines: {node: '>=0.10.0'} + + pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + + path-browserify@0.0.1: + resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} + + path-dirname@1.0.2: + resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} + + path-exists@2.1.0: + resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} + engines: {node: '>=0.10.0'} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-is-inside@1.0.2: + resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pinkie-promise@2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + + pinkie@2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + + pkg-dir@1.0.0: + resolution: {integrity: sha512-c6pv3OE78mcZ92ckebVDqg0aWSoKhOTbwCV6qbCWMk546mAL9pZln0+QsN/yQ7fkucd4+yJPLrCBXNt8Ruk+Eg==} + engines: {node: '>=0.10.0'} + + pkg-dir@3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} + + posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + + prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + + public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + + pump@2.0.1: + resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} + + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + + pumpify@1.5.1: + resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} + + querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readdirp@2.2.1: + resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} + engines: {node: '>=0.10'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + + regexpp@2.0.1: + resolution: {integrity: sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==} + engines: {node: '>=6.5.0'} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + resolve-cwd@2.0.0: + resolution: {integrity: sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==} + engines: {node: '>=4'} + + resolve-dir@1.0.1: + resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} + engines: {node: '>=0.10.0'} + + resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + + restore-cursor@2.0.0: + resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} + engines: {node: '>=4'} + + ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + + rimraf@2.6.3: + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + + run-queue@1.0.3: + resolution: {integrity: sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==} + + rxjs@6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + schema-utils@1.0.0: + resolution: {integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==} + engines: {node: '>= 4'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + serialize-javascript@4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + slice-ansi@2.1.0: + resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} + engines: {node: '>=6'} + + snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + + snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + + snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + + source-list-map@2.0.1: + resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} + + source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + ssri@6.0.2: + resolution: {integrity: sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==} + + static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + + stream-browserify@2.0.2: + resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} + + stream-each@1.2.3: + resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} + + stream-http@2.8.3: + resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} + + stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + + string-width@2.1.1: + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} + + string-width@3.1.0: + resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} + engines: {node: '>=6'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} + + strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@6.1.0: + resolution: {integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==} + engines: {node: '>=6'} + + table@5.4.6: + resolution: {integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==} + engines: {node: '>=6.0.0'} + + tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + + terser-webpack-plugin@1.4.6: + resolution: {integrity: sha512-2lBVf/VMVIddjSn3GqbT90GvIJ/eYXJkt8cTzU7NbjKqK8fwv18Ftr4PlbF46b/e88743iZFL5Dtr/rC4hjIeA==} + engines: {node: '>= 6.9.0'} + peerDependencies: + webpack: ^4.0.0 + + terser@4.8.1: + resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==} + engines: {node: '>=6.0.0'} + hasBin: true + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + timers-browserify@2.0.12: + resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} + engines: {node: '>=0.6.0'} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + to-arraybuffer@1.0.1: + resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==} + + to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + + to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tty-browserify@0.0.0: + resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} + + type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true + + uglify-js@3.4.10: + resolution: {integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==} + engines: {node: '>=0.8.0'} + hasBin: true + + union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + + unique-filename@1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + + unique-slug@2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + + unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + + upath@1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + + upper-case@1.1.3: + resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + + url@0.11.4: + resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} + engines: {node: '>= 0.4'} + + use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.10.4: + resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + + util@0.11.1: + resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} + + uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + + v8-compile-cache@2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + + vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + + watchpack-chokidar2@2.0.1: + resolution: {integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==} + + watchpack@1.7.5: + resolution: {integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==} + + webpack-cli@3.3.12: + resolution: {integrity: sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==} + engines: {node: '>=6.11.5'} + hasBin: true + peerDependencies: + webpack: 4.x.x + + webpack-log@1.2.0: + resolution: {integrity: sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==} + engines: {node: '>=6'} + + webpack-merge@4.2.2: + resolution: {integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==} + + webpack-sources@1.4.3: + resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} + + webpack@4.47.0: + resolution: {integrity: sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==} + engines: {node: '>=6.11.5'} + hasBin: true + peerDependencies: + webpack-cli: '*' + webpack-command: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + webpack-command: + optional: true + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + worker-farm@1.7.0: + resolution: {integrity: sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==} + + wrap-ansi@5.1.0: + resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} + engines: {node: '>=6'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write@1.0.3: + resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} + engines: {node: '>=4'} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yargs-parser@13.1.2: + resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} + + yargs@13.3.2: + resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} + +snapshots: + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/helper-validator-identifier@7.27.1': {} + + '@webassemblyjs/ast@1.9.0': + dependencies: + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/wast-parser': 1.9.0 + + '@webassemblyjs/floating-point-hex-parser@1.9.0': {} + + '@webassemblyjs/helper-api-error@1.9.0': {} + + '@webassemblyjs/helper-buffer@1.9.0': {} + + '@webassemblyjs/helper-code-frame@1.9.0': + dependencies: + '@webassemblyjs/wast-printer': 1.9.0 + + '@webassemblyjs/helper-fsm@1.9.0': {} + + '@webassemblyjs/helper-module-context@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + + '@webassemblyjs/helper-wasm-bytecode@1.9.0': {} + + '@webassemblyjs/helper-wasm-section@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + + '@webassemblyjs/ieee754@1.9.0': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.9.0': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.9.0': {} + + '@webassemblyjs/wasm-edit@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/helper-wasm-section': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + '@webassemblyjs/wasm-opt': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + '@webassemblyjs/wast-printer': 1.9.0 + + '@webassemblyjs/wasm-gen@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/ieee754': 1.9.0 + '@webassemblyjs/leb128': 1.9.0 + '@webassemblyjs/utf8': 1.9.0 + + '@webassemblyjs/wasm-opt@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + + '@webassemblyjs/wasm-parser@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-api-error': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/ieee754': 1.9.0 + '@webassemblyjs/leb128': 1.9.0 + '@webassemblyjs/utf8': 1.9.0 + + '@webassemblyjs/wast-parser@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/floating-point-hex-parser': 1.9.0 + '@webassemblyjs/helper-api-error': 1.9.0 + '@webassemblyjs/helper-code-frame': 1.9.0 + '@webassemblyjs/helper-fsm': 1.9.0 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/wast-printer@1.9.0': + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/wast-parser': 1.9.0 + '@xtuc/long': 4.2.2 + + '@webpack-contrib/schema-utils@1.0.0-beta.0(webpack@4.47.0)': + dependencies: + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + chalk: 2.4.2 + strip-ansi: 4.0.0 + text-table: 0.2.0 + webpack: 4.47.0(webpack-cli@3.3.12) + webpack-log: 1.2.0 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + acorn-jsx@5.3.2(acorn@6.4.2): + dependencies: + acorn: 6.4.2 + + acorn@6.4.2: {} + + acorn@8.15.0: {} + + ajv-errors@1.0.1(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-escapes@3.2.0: {} + + ansi-regex@3.0.1: {} + + ansi-regex@4.1.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + anymatch@2.0.0: + dependencies: + micromatch: 3.1.10(supports-color@6.1.0) + normalize-path: 2.1.1 + transitivePeerDependencies: + - supports-color + optional: true + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + optional: true + + aproba@1.2.0: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + arr-diff@4.0.0: {} + + arr-flatten@1.1.0: {} + + arr-union@3.1.0: {} + + array-unique@0.3.2: {} + + asn1.js@4.10.1: + dependencies: + bn.js: 4.12.2 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + assert@1.5.1: + dependencies: + object.assign: 4.1.7 + util: 0.10.4 + + assign-symbols@1.0.0: {} + + astral-regex@1.0.0: {} + + async-each@1.0.6: + optional: true + + atob@2.1.2: {} + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + base@0.11.2: + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.1 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + + big.js@5.2.2: {} + + binary-extensions@1.13.1: + optional: true + + binary-extensions@2.3.0: + optional: true + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + optional: true + + bluebird@3.7.2: {} + + bn.js@4.12.2: {} + + bn.js@5.2.2: {} + + brace-expansion@1.1.12: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + braces@2.3.2(supports-color@6.1.0): + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2(supports-color@6.1.0) + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + optional: true + + brorand@1.1.0: {} + + browserify-aes@1.2.0: + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.6 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-cipher@1.0.1: + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + + browserify-des@1.0.2: + dependencies: + cipher-base: 1.0.6 + des.js: 1.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-rsa@4.1.1: + dependencies: + bn.js: 5.2.2 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + browserify-sign@4.2.3: + dependencies: + bn.js: 5.2.2 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.6.1 + hash-base: 3.0.5 + inherits: 2.0.4 + parse-asn1: 5.1.7 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + + browserify-zlib@0.2.0: + dependencies: + pako: 1.0.11 + + buffer-from@1.1.2: {} + + buffer-xor@1.0.3: {} + + buffer@4.9.2: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + isarray: 1.0.0 + + builtin-status-codes@3.0.0: {} + + cacache@12.0.4: + dependencies: + bluebird: 3.7.2 + chownr: 1.1.4 + figgy-pudding: 3.5.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + infer-owner: 1.0.4 + lru-cache: 5.1.1 + mississippi: 3.0.0 + mkdirp: 0.5.6 + move-concurrently: 1.0.1 + promise-inflight: 1.0.1(bluebird@3.7.2) + rimraf: 2.7.1 + ssri: 6.0.2 + unique-filename: 1.1.1 + y18n: 4.0.3 + + cache-base@1.0.1: + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.1 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + callsites@3.1.0: {} + + camel-case@3.0.0: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + + camelcase@5.3.1: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chardet@0.7.0: {} + + chokidar@2.1.8: + dependencies: + anymatch: 2.0.0 + async-each: 1.0.6 + braces: 2.3.2(supports-color@6.1.0) + glob-parent: 3.1.0 + inherits: 2.0.4 + is-binary-path: 1.0.1 + is-glob: 4.0.3 + normalize-path: 3.0.0 + path-is-absolute: 1.0.1 + readdirp: 2.2.1 + upath: 1.2.0 + optionalDependencies: + fsevents: 1.2.13 + transitivePeerDependencies: + - supports-color + optional: true + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + optional: true + + chownr@1.1.4: {} + + chrome-trace-event@1.0.4: {} + + cipher-base@1.0.6: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + class-utils@0.3.6: + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + + clean-css@4.2.4: + dependencies: + source-map: 0.6.1 + + cli-cursor@2.1.0: + dependencies: + restore-cursor: 2.0.0 + + cli-width@2.2.1: {} + + cliui@5.0.0: + dependencies: + string-width: 3.1.0 + strip-ansi: 5.2.0 + wrap-ansi: 5.1.0 + + collection-visit@1.0.0: + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-name@1.1.3: {} + + commander@2.17.1: {} + + commander@2.19.0: {} + + commander@2.20.3: {} + + commondir@1.0.1: {} + + compile-ejs-loader@0.0.2(webpack@4.47.0): + dependencies: + '@webpack-contrib/schema-utils': 1.0.0-beta.0(webpack@4.47.0) + loader-utils: 1.4.2 + webpack: 4.47.0(webpack-cli@3.3.12) + + component-emitter@1.3.1: {} + + concat-map@0.0.1: {} + + concat-stream@1.6.2: + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 + + console-browserify@1.2.0: {} + + constants-browserify@1.0.0: {} + + copy-concurrently@1.0.5: + dependencies: + aproba: 1.2.0 + fs-write-stream-atomic: 1.0.10 + iferr: 0.1.5 + mkdirp: 0.5.6 + rimraf: 2.7.1 + run-queue: 1.0.3 + + copy-descriptor@0.1.1: {} + + core-util-is@1.0.3: {} + + create-ecdh@4.0.4: + dependencies: + bn.js: 4.12.2 + elliptic: 6.6.1 + + create-hash@1.2.0: + dependencies: + cipher-base: 1.0.6 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + + create-hmac@1.1.7: + dependencies: + cipher-base: 1.0.6 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + + cross-spawn@6.0.6: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + + crypto-browserify@3.12.1: + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.3 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + hash-base: 3.0.5 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + + cyclist@1.0.2: {} + + d@1.0.2: + dependencies: + es5-ext: 0.10.64 + type: 2.7.3 + + debug@2.6.9(supports-color@6.1.0): + dependencies: + ms: 2.0.0 + optionalDependencies: + supports-color: 6.1.0 + + debug@4.4.1: + dependencies: + ms: 2.1.3 + + decamelize@1.2.0: {} + + decode-uri-component@0.2.2: {} + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + define-property@0.2.5: + dependencies: + is-descriptor: 0.1.7 + + define-property@1.0.0: + dependencies: + is-descriptor: 1.0.3 + + define-property@2.0.2: + dependencies: + is-descriptor: 1.0.3 + isobject: 3.0.1 + + des.js@1.1.0: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + detect-file@1.0.0: {} + + diffie-hellman@5.0.3: + dependencies: + bn.js: 4.12.2 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + domain-browser@1.2.0: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + duplexify@3.7.1: + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 2.3.8 + stream-shift: 1.0.3 + + ejs@2.7.4: {} + + elliptic@6.6.1: + dependencies: + bn.js: 4.12.2 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + emoji-regex@7.0.3: {} + + emojis-list@3.0.0: {} + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + enhanced-resolve@4.5.0: + dependencies: + graceful-fs: 4.2.11 + memory-fs: 0.5.0 + tapable: 1.1.3 + + errno@0.1.8: + dependencies: + prr: 1.0.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es5-ext@0.10.64: + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + esniff: 2.0.1 + next-tick: 1.1.0 + + es6-iterator@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-symbol: 3.1.4 + + es6-symbol@3.1.4: + dependencies: + d: 1.0.2 + ext: 1.7.0 + + escape-string-regexp@1.0.5: {} + + eslint-loader@2.2.1(eslint@5.16.0)(webpack@4.47.0): + dependencies: + eslint: 5.16.0 + loader-fs-cache: 1.0.3 + loader-utils: 1.4.2 + object-assign: 4.1.1 + object-hash: 1.3.1 + rimraf: 2.7.1 + webpack: 4.47.0(webpack-cli@3.3.12) + + eslint-scope@4.0.3: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-utils@1.4.3: + dependencies: + eslint-visitor-keys: 1.3.0 + + eslint-visitor-keys@1.3.0: {} + + eslint@5.16.0: + dependencies: + '@babel/code-frame': 7.27.1 + ajv: 6.12.6 + chalk: 2.4.2 + cross-spawn: 6.0.6 + debug: 4.4.1 + doctrine: 3.0.0 + eslint-scope: 4.0.3 + eslint-utils: 1.4.3 + eslint-visitor-keys: 1.3.0 + espree: 5.0.1 + esquery: 1.6.0 + esutils: 2.0.3 + file-entry-cache: 5.0.1 + functional-red-black-tree: 1.0.1 + glob: 7.2.3 + globals: 11.12.0 + ignore: 4.0.6 + import-fresh: 3.3.1 + imurmurhash: 0.1.4 + inquirer: 6.5.2 + js-yaml: 3.14.1 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.3.0 + lodash: 4.17.21 + minimatch: 3.1.2 + mkdirp: 0.5.6 + natural-compare: 1.4.0 + optionator: 0.8.3 + path-is-inside: 1.0.2 + progress: 2.0.3 + regexpp: 2.0.1 + semver: 5.7.2 + strip-ansi: 4.0.0 + strip-json-comments: 2.0.1 + table: 5.4.6 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + esniff@2.0.1: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-emitter: 0.3.5 + type: 2.7.3 + + espree@5.0.1: + dependencies: + acorn: 6.4.2 + acorn-jsx: 5.3.2(acorn@6.4.2) + eslint-visitor-keys: 1.3.0 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + event-emitter@0.3.5: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + + events@3.3.0: {} + + evp_bytestokey@1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + + expand-brackets@2.1.4(supports-color@6.1.0): + dependencies: + debug: 2.6.9(supports-color@6.1.0) + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2(supports-color@6.1.0) + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + expand-tilde@2.0.2: + dependencies: + homedir-polyfill: 1.0.3 + + ext@1.7.0: + dependencies: + type: 2.7.3 + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend-shallow@3.0.2: + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + + extglob@2.0.4(supports-color@6.1.0): + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4(supports-color@6.1.0) + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2(supports-color@6.1.0) + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + fast-deep-equal@3.1.3: {} + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + figgy-pudding@3.5.2: {} + + figures@2.0.0: + dependencies: + escape-string-regexp: 1.0.5 + + file-entry-cache@5.0.1: + dependencies: + flat-cache: 2.0.1 + + file-uri-to-path@1.0.0: + optional: true + + fill-range@4.0.0: + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + optional: true + + find-cache-dir@0.1.1: + dependencies: + commondir: 1.0.1 + mkdirp: 0.5.6 + pkg-dir: 1.0.0 + + find-cache-dir@2.1.0: + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + + find-up@1.1.2: + dependencies: + path-exists: 2.1.0 + pinkie-promise: 2.0.1 + + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + findup-sync@3.0.0(supports-color@6.1.0): + dependencies: + detect-file: 1.0.0 + is-glob: 4.0.3 + micromatch: 3.1.10(supports-color@6.1.0) + resolve-dir: 1.0.1 + transitivePeerDependencies: + - supports-color + + flat-cache@2.0.1: + dependencies: + flatted: 2.0.2 + rimraf: 2.6.3 + write: 1.0.3 + + flatted@2.0.2: {} + + flush-write-stream@1.1.1: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + + for-in@1.0.2: {} + + fragment-cache@0.2.1: + dependencies: + map-cache: 0.2.2 + + from2@2.3.0: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + + fs-write-stream-atomic@1.0.10: + dependencies: + graceful-fs: 4.2.11 + iferr: 0.1.5 + imurmurhash: 0.1.4 + readable-stream: 2.3.8 + + fs.realpath@1.0.0: {} + + fsevents@1.2.13: + dependencies: + bindings: 1.5.0 + nan: 2.22.2 + optional: true + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + functional-red-black-tree@1.0.1: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-value@2.0.6: {} + + glob-parent@3.1.0: + dependencies: + is-glob: 3.1.0 + path-dirname: 1.0.2 + optional: true + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + optional: true + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + global-modules@1.0.0: + dependencies: + global-prefix: 1.0.2 + is-windows: 1.0.2 + resolve-dir: 1.0.1 + + global-modules@2.0.0: + dependencies: + global-prefix: 3.0.0 + + global-prefix@1.0.2: + dependencies: + expand-tilde: 2.0.2 + homedir-polyfill: 1.0.3 + ini: 1.3.8 + is-windows: 1.0.2 + which: 1.3.1 + + global-prefix@3.0.0: + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + + globals@11.12.0: {} + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + has-flag@3.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-value@0.3.1: + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + + has-value@1.0.0: + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + + has-values@0.1.4: {} + + has-values@1.0.0: + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + + hash-base@3.0.5: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + he@1.2.0: {} + + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + + homedir-polyfill@1.0.3: + dependencies: + parse-passwd: 1.0.0 + + html-minifier@3.5.21: + dependencies: + camel-case: 3.0.0 + clean-css: 4.2.4 + commander: 2.17.1 + he: 1.2.0 + param-case: 2.1.1 + relateurl: 0.2.7 + uglify-js: 3.4.10 + + https-browserify@1.0.0: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + ieee754@1.2.1: {} + + iferr@0.1.5: {} + + ignore@4.0.6: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-local@2.0.0: + dependencies: + pkg-dir: 3.0.0 + resolve-cwd: 2.0.0 + + imurmurhash@0.1.4: {} + + infer-owner@1.0.4: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.3: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + inquirer@6.5.2: + dependencies: + ansi-escapes: 3.2.0 + chalk: 2.4.2 + cli-cursor: 2.1.0 + cli-width: 2.2.1 + external-editor: 3.1.0 + figures: 2.0.0 + lodash: 4.17.21 + mute-stream: 0.0.7 + run-async: 2.4.1 + rxjs: 6.6.7 + string-width: 2.1.1 + strip-ansi: 5.2.0 + through: 2.3.8 + + interpret@1.4.0: {} + + is-accessor-descriptor@1.0.1: + dependencies: + hasown: 2.0.2 + + is-binary-path@1.0.1: + dependencies: + binary-extensions: 1.13.1 + optional: true + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + optional: true + + is-buffer@1.1.6: {} + + is-data-descriptor@1.0.1: + dependencies: + hasown: 2.0.2 + + is-descriptor@0.1.7: + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + + is-descriptor@1.0.3: + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + + is-extendable@0.1.1: {} + + is-extendable@1.0.1: + dependencies: + is-plain-object: 2.0.4 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@2.0.0: {} + + is-glob@3.1.0: + dependencies: + is-extglob: 2.1.1 + optional: true + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@3.0.0: + dependencies: + kind-of: 3.2.2 + + is-number@7.0.0: + optional: true + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-windows@1.0.2: {} + + is-wsl@1.1.0: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + isobject@2.1.0: + dependencies: + isarray: 1.0.0 + + isobject@3.0.1: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + json-parse-better-errors@1.0.2: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + + kind-of@4.0.0: + dependencies: + is-buffer: 1.1.6 + + kind-of@6.0.3: {} + + levn@0.3.0: + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + + loader-fs-cache@1.0.3: + dependencies: + find-cache-dir: 0.1.1 + mkdirp: 0.5.6 + + loader-runner@2.4.0: {} + + loader-utils@1.4.2: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 + + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + lodash@4.17.21: {} + + log-symbols@2.2.0: + dependencies: + chalk: 2.4.2 + + loglevelnext@1.0.5: + dependencies: + es6-symbol: 3.1.4 + object.assign: 4.1.7 + + lower-case@1.1.4: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + + map-cache@0.2.2: {} + + map-visit@1.0.0: + dependencies: + object-visit: 1.0.1 + + math-intrinsics@1.1.0: {} + + md5.js@1.3.5: + dependencies: + hash-base: 3.0.5 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + memory-fs@0.4.1: + dependencies: + errno: 0.1.8 + readable-stream: 2.3.8 + + memory-fs@0.5.0: + dependencies: + errno: 0.1.8 + readable-stream: 2.3.8 + + micromatch@3.1.10(supports-color@6.1.0): + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2(supports-color@6.1.0) + define-property: 2.0.2 + extend-shallow: 3.0.2 + extglob: 2.0.4(supports-color@6.1.0) + fragment-cache: 0.2.1 + kind-of: 6.0.3 + nanomatch: 1.2.13(supports-color@6.1.0) + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2(supports-color@6.1.0) + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + miller-rabin@4.0.1: + dependencies: + bn.js: 4.12.2 + brorand: 1.1.0 + + mimic-fn@1.2.0: {} + + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.12 + + minimist@1.2.8: {} + + mississippi@3.0.0: + dependencies: + concat-stream: 1.6.2 + duplexify: 3.7.1 + end-of-stream: 1.4.4 + flush-write-stream: 1.1.1 + from2: 2.3.0 + parallel-transform: 1.2.0 + pump: 3.0.2 + pumpify: 1.5.1 + stream-each: 1.2.3 + through2: 2.0.5 + + mixin-deep@1.3.2: + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + move-concurrently@1.0.1: + dependencies: + aproba: 1.2.0 + copy-concurrently: 1.0.5 + fs-write-stream-atomic: 1.0.10 + mkdirp: 0.5.6 + rimraf: 2.7.1 + run-queue: 1.0.3 + + ms@2.0.0: {} + + ms@2.1.3: {} + + mute-stream@0.0.7: {} + + nan@2.22.2: + optional: true + + nanomatch@1.2.13(supports-color@6.1.0): + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2(supports-color@6.1.0) + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + natural-compare@1.4.0: {} + + neo-async@2.6.2: {} + + next-tick@1.1.0: {} + + nice-try@1.0.5: {} + + no-case@2.3.2: + dependencies: + lower-case: 1.1.4 + + node-libs-browser@2.2.1: + dependencies: + assert: 1.5.1 + browserify-zlib: 0.2.0 + buffer: 4.9.2 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.1 + domain-browser: 1.2.0 + events: 3.3.0 + https-browserify: 1.0.0 + os-browserify: 0.3.0 + path-browserify: 0.0.1 + process: 0.11.10 + punycode: 1.4.1 + querystring-es3: 0.2.1 + readable-stream: 2.3.8 + stream-browserify: 2.0.2 + stream-http: 2.8.3 + string_decoder: 1.3.0 + timers-browserify: 2.0.12 + tty-browserify: 0.0.0 + url: 0.11.4 + util: 0.11.1 + vm-browserify: 1.1.2 + + normalize-path@2.1.1: + dependencies: + remove-trailing-separator: 1.1.0 + optional: true + + normalize-path@3.0.0: + optional: true + + object-assign@4.1.1: {} + + object-copy@0.1.0: + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + + object-hash@1.3.1: {} + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object-visit@1.0.1: + dependencies: + isobject: 3.0.1 + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.pick@1.3.0: + dependencies: + isobject: 3.0.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@2.0.1: + dependencies: + mimic-fn: 1.2.0 + + optionator@0.8.3: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.5 + + os-browserify@0.3.0: {} + + os-tmpdir@1.0.2: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-try@2.2.0: {} + + pako@1.0.11: {} + + parallel-transform@1.2.0: + dependencies: + cyclist: 1.0.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + + param-case@2.1.1: + dependencies: + no-case: 2.3.2 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-asn1@5.1.7: + dependencies: + asn1.js: 4.10.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + hash-base: 3.0.5 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + + parse-passwd@1.0.0: {} + + pascalcase@0.1.1: {} + + path-browserify@0.0.1: {} + + path-dirname@1.0.2: + optional: true + + path-exists@2.1.0: + dependencies: + pinkie-promise: 2.0.1 + + path-exists@3.0.0: {} + + path-is-absolute@1.0.1: {} + + path-is-inside@1.0.2: {} + + path-key@2.0.1: {} + + pbkdf2@3.1.2: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + + picocolors@1.1.1: {} + + picomatch@2.3.1: + optional: true + + pify@4.0.1: {} + + pinkie-promise@2.0.1: + dependencies: + pinkie: 2.0.4 + + pinkie@2.0.4: {} + + pkg-dir@1.0.0: + dependencies: + find-up: 1.1.2 + + pkg-dir@3.0.0: + dependencies: + find-up: 3.0.0 + + posix-character-classes@0.1.1: {} + + prelude-ls@1.1.2: {} + + process-nextick-args@2.0.1: {} + + process@0.11.10: {} + + progress@2.0.3: {} + + promise-inflight@1.0.1(bluebird@3.7.2): + optionalDependencies: + bluebird: 3.7.2 + + prr@1.0.1: {} + + public-encrypt@4.0.3: + dependencies: + bn.js: 4.12.2 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + parse-asn1: 5.1.7 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + pump@2.0.1: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + pumpify@1.5.1: + dependencies: + duplexify: 3.7.1 + inherits: 2.0.4 + pump: 2.0.1 + + punycode@1.4.1: {} + + punycode@2.3.1: {} + + qs@6.14.0: + dependencies: + side-channel: 1.1.0 + + querystring-es3@0.2.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + randomfill@1.0.4: + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readdirp@2.2.1: + dependencies: + graceful-fs: 4.2.11 + micromatch: 3.1.10(supports-color@6.1.0) + readable-stream: 2.3.8 + transitivePeerDependencies: + - supports-color + optional: true + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + optional: true + + regex-not@1.0.2: + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + + regexpp@2.0.1: {} + + relateurl@0.2.7: {} + + remove-trailing-separator@1.1.0: + optional: true + + repeat-element@1.1.4: {} + + repeat-string@1.6.1: {} + + require-directory@2.1.1: {} + + require-main-filename@2.0.0: {} + + resolve-cwd@2.0.0: + dependencies: + resolve-from: 3.0.0 + + resolve-dir@1.0.1: + dependencies: + expand-tilde: 2.0.2 + global-modules: 1.0.0 + + resolve-from@3.0.0: {} + + resolve-from@4.0.0: {} + + resolve-url@0.2.1: {} + + restore-cursor@2.0.0: + dependencies: + onetime: 2.0.1 + signal-exit: 3.0.7 + + ret@0.1.15: {} + + rimraf@2.6.3: + dependencies: + glob: 7.2.3 + + rimraf@2.7.1: + dependencies: + glob: 7.2.3 + + ripemd160@2.0.2: + dependencies: + hash-base: 3.0.5 + inherits: 2.0.4 + + run-async@2.4.1: {} + + run-queue@1.0.3: + dependencies: + aproba: 1.2.0 + + rxjs@6.6.7: + dependencies: + tslib: 1.14.1 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-regex@1.1.0: + dependencies: + ret: 0.1.15 + + safer-buffer@2.1.2: {} + + schema-utils@1.0.0: + dependencies: + ajv: 6.12.6 + ajv-errors: 1.0.1(ajv@6.12.6) + ajv-keywords: 3.5.2(ajv@6.12.6) + + semver@5.7.2: {} + + serialize-javascript@4.0.0: + dependencies: + randombytes: 2.1.0 + + set-blocking@2.0.0: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-value@2.0.1: + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + + setimmediate@1.0.5: {} + + sha.js@2.4.11: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + + shebang-regex@1.0.0: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@3.0.7: {} + + slice-ansi@2.1.0: + dependencies: + ansi-styles: 3.2.1 + astral-regex: 1.0.0 + is-fullwidth-code-point: 2.0.0 + + snapdragon-node@2.1.1: + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + + snapdragon-util@3.0.1: + dependencies: + kind-of: 3.2.2 + + snapdragon@0.8.2(supports-color@6.1.0): + dependencies: + base: 0.11.2 + debug: 2.6.9(supports-color@6.1.0) + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + + source-list-map@2.0.1: {} + + source-map-resolve@0.5.3: + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map-url@0.4.1: {} + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + split-string@3.1.0: + dependencies: + extend-shallow: 3.0.2 + + sprintf-js@1.0.3: {} + + ssri@6.0.2: + dependencies: + figgy-pudding: 3.5.2 + + static-extend@0.1.2: + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + + stream-browserify@2.0.2: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + + stream-each@1.2.3: + dependencies: + end-of-stream: 1.4.4 + stream-shift: 1.0.3 + + stream-http@2.8.3: + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 2.3.8 + to-arraybuffer: 1.0.1 + xtend: 4.0.2 + + stream-shift@1.0.3: {} + + string-width@2.1.1: + dependencies: + is-fullwidth-code-point: 2.0.0 + strip-ansi: 4.0.0 + + string-width@3.1.0: + dependencies: + emoji-regex: 7.0.3 + is-fullwidth-code-point: 2.0.0 + strip-ansi: 5.2.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@4.0.0: + dependencies: + ansi-regex: 3.0.1 + + strip-ansi@5.2.0: + dependencies: + ansi-regex: 4.1.1 + + strip-json-comments@2.0.1: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@6.1.0: + dependencies: + has-flag: 3.0.0 + + table@5.4.6: + dependencies: + ajv: 6.12.6 + lodash: 4.17.21 + slice-ansi: 2.1.0 + string-width: 3.1.0 + + tapable@1.1.3: {} + + terser-webpack-plugin@1.4.6(webpack@4.47.0): + dependencies: + cacache: 12.0.4 + find-cache-dir: 2.1.0 + is-wsl: 1.1.0 + schema-utils: 1.0.0 + serialize-javascript: 4.0.0 + source-map: 0.6.1 + terser: 4.8.1 + webpack: 4.47.0(webpack-cli@3.3.12) + webpack-sources: 1.4.3 + worker-farm: 1.7.0 + + terser@4.8.1: + dependencies: + acorn: 8.15.0 + commander: 2.20.3 + source-map: 0.6.1 + source-map-support: 0.5.21 + + text-table@0.2.0: {} + + through2@2.0.5: + dependencies: + readable-stream: 2.3.8 + xtend: 4.0.2 + + through@2.3.8: {} + + timers-browserify@2.0.12: + dependencies: + setimmediate: 1.0.5 + + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + to-arraybuffer@1.0.1: {} + + to-object-path@0.3.0: + dependencies: + kind-of: 3.2.2 + + to-regex-range@2.1.1: + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + optional: true + + to-regex@3.0.2: + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + + tslib@1.14.1: {} + + tty-browserify@0.0.0: {} + + type-check@0.3.2: + dependencies: + prelude-ls: 1.1.2 + + type@2.7.3: {} + + typedarray@0.0.6: {} + + uglify-js@3.19.3: {} + + uglify-js@3.4.10: + dependencies: + commander: 2.19.0 + source-map: 0.6.1 + + union-value@1.0.1: + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + + unique-filename@1.1.1: + dependencies: + unique-slug: 2.0.2 + + unique-slug@2.0.2: + dependencies: + imurmurhash: 0.1.4 + + unset-value@1.0.0: + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + + upath@1.2.0: + optional: true + + upper-case@1.1.3: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + urix@0.1.0: {} + + url@0.11.4: + dependencies: + punycode: 1.4.1 + qs: 6.14.0 + + use@3.1.1: {} + + util-deprecate@1.0.2: {} + + util@0.10.4: + dependencies: + inherits: 2.0.3 + + util@0.11.1: + dependencies: + inherits: 2.0.3 + + uuid@3.4.0: {} + + v8-compile-cache@2.4.0: {} + + vm-browserify@1.1.2: {} + + watchpack-chokidar2@2.0.1: + dependencies: + chokidar: 2.1.8 + transitivePeerDependencies: + - supports-color + optional: true + + watchpack@1.7.5: + dependencies: + graceful-fs: 4.2.11 + neo-async: 2.6.2 + optionalDependencies: + chokidar: 3.6.0 + watchpack-chokidar2: 2.0.1 + transitivePeerDependencies: + - supports-color + + webpack-cli@3.3.12(webpack@4.47.0): + dependencies: + chalk: 2.4.2 + cross-spawn: 6.0.6 + enhanced-resolve: 4.5.0 + findup-sync: 3.0.0(supports-color@6.1.0) + global-modules: 2.0.0 + import-local: 2.0.0 + interpret: 1.4.0 + loader-utils: 1.4.2 + supports-color: 6.1.0 + v8-compile-cache: 2.4.0 + webpack: 4.47.0(webpack-cli@3.3.12) + yargs: 13.3.2 + + webpack-log@1.2.0: + dependencies: + chalk: 2.4.2 + log-symbols: 2.2.0 + loglevelnext: 1.0.5 + uuid: 3.4.0 + + webpack-merge@4.2.2: + dependencies: + lodash: 4.17.21 + + webpack-sources@1.4.3: + dependencies: + source-list-map: 2.0.1 + source-map: 0.6.1 + + webpack@4.47.0(webpack-cli@3.3.12): + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/wasm-edit': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + acorn: 6.4.2 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + chrome-trace-event: 1.0.4 + enhanced-resolve: 4.5.0 + eslint-scope: 4.0.3 + json-parse-better-errors: 1.0.2 + loader-runner: 2.4.0 + loader-utils: 1.4.2 + memory-fs: 0.4.1 + micromatch: 3.1.10(supports-color@6.1.0) + mkdirp: 0.5.6 + neo-async: 2.6.2 + node-libs-browser: 2.2.1 + schema-utils: 1.0.0 + tapable: 1.1.3 + terser-webpack-plugin: 1.4.6(webpack@4.47.0) + watchpack: 1.7.5 + webpack-sources: 1.4.3 + optionalDependencies: + webpack-cli: 3.3.12(webpack@4.47.0) + transitivePeerDependencies: + - supports-color + + which-module@2.0.1: {} + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + worker-farm@1.7.0: + dependencies: + errno: 0.1.8 + + wrap-ansi@5.1.0: + dependencies: + ansi-styles: 3.2.1 + string-width: 3.1.0 + strip-ansi: 5.2.0 + + wrappy@1.0.2: {} + + write@1.0.3: + dependencies: + mkdirp: 0.5.6 + + xtend@4.0.2: {} + + y18n@4.0.3: {} + + yallist@3.1.1: {} + + yargs-parser@13.1.2: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs@13.3.2: + dependencies: + cliui: 5.0.0 + find-up: 3.0.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 3.1.0 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 13.1.2 From 217a6036712a0681a9a61bf67362a8a6e000bf5b Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Thu, 12 Mar 2026 17:33:24 +0200 Subject: [PATCH 6/9] update ejs --- audit.log | 30 ++---------------------------- dist/embed-options.js | 28 ++++++++++++++-------------- dist/embed-options.min.js | 2 +- dist/embed.js | 16 ++++++++-------- dist/options.js | 12 ++++++------ dist/options.min.js | 2 +- package.json | 2 +- pnpm-lock.yaml | 13 +++++++------ 8 files changed, 40 insertions(+), 65 deletions(-) diff --git a/audit.log b/audit.log index 9416ea8..d81afaf 100644 --- a/audit.log +++ b/audit.log @@ -1,17 +1,4 @@ ┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ critical │ ejs template injection vulnerability │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ ejs │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <3.1.7 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=3.1.7 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>ejs │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-phwq-j96m-2c2q │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ │ critical │ pbkdf2 returns predictable uninitialized/zero-filled │ │ │ memory for non-normalized or unimplemented algos │ ├─────────────────────┼────────────────────────────────────────────────────────┤ @@ -138,19 +125,6 @@ │ More info │ https://github.com/advisories/GHSA-5c6j-r48x-rmvq │ └─────────────────────┴────────────────────────────────────────────────────────┘ ┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ moderate │ ejs lacks certain pollution protection │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ ejs │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <3.1.10 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=3.1.10 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>ejs │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-ghr5-ch3p-vcr6 │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ │ moderate │ Regular Expression Denial of Service (ReDoS) in │ │ │ micromatch │ ├─────────────────────┼────────────────────────────────────────────────────────┤ @@ -289,5 +263,5 @@ ├─────────────────────┼────────────────────────────────────────────────────────┤ │ More info │ https://github.com/advisories/GHSA-w7fw-mjwx-w883 │ └─────────────────────┴────────────────────────────────────────────────────────┘ -21 vulnerabilities found -Severity: 3 low | 8 moderate | 6 high | 4 critical +19 vulnerabilities found +Severity: 3 low | 7 moderate | 6 high | 3 critical diff --git a/dist/embed-options.js b/dist/embed-options.js index edd9645..827b234 100644 --- a/dist/embed-options.js +++ b/dist/embed-options.js @@ -86,14 +86,14 @@ /************************************************************************/ /******/ ({ -/***/ "../node_modules/.pnpm/webpack@4.46.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js": +/***/ "../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js": /*!******************************************************************************************************!*\ - !*** ../node_modules/.pnpm/webpack@4.46.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js ***! + !*** ../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js ***! \******************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { -eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack:///../node_modules/.pnpm/webpack@4.46.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js?"); +eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack:///../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js?"); /***/ }), @@ -148,7 +148,7 @@ eval("// TODO: rename core.js to ready.js?\n\nvar iframely = __webpack_require__ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("/* WEBPACK VAR INJECTION */(function(global) {var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar nextTick = (function(window, prefixes, i, fnc) {\n while (!fnc && i < prefixes.length) {\n fnc = window[prefixes[i++] + 'equestAnimationFrame'];\n }\n return (fnc && fnc.bind(window)) || window.setImmediate || function(fnc) {window.setTimeout(fnc, 0);};\n})(typeof window !== 'undefined' ? window : global, 'r webkitR mozR msR oR'.split(' '), 0);\n\nvar callbacksStack = {};\niframely.on = function(event, cb) {\n var events = callbacksStack[event] = callbacksStack[event] || [];\n events.push(cb);\n};\n\nfunction trigger(event, async, args) {\n var events = callbacksStack[event] || [];\n events.forEach(function(cb) {\n if (async) {\n nextTick(function() {\n cb.apply(iframely, args);\n });\n } else {\n cb.apply(iframely, args);\n }\n });\n\n if (event === 'init') {\n // everything inited, let's clear the callstack, just in case\n // TODO: not good.\n callbacksStack[event] = [];\n }\n}\n\niframely.trigger = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, false, args);\n};\n\niframely.triggerAsync = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, true, args);\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/.pnpm/webpack@4.46.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js */ \"../node_modules/.pnpm/webpack@4.46.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./events.js?"); +eval("/* WEBPACK VAR INJECTION */(function(global) {var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar nextTick = (function(window, prefixes, i, fnc) {\n while (!fnc && i < prefixes.length) {\n fnc = window[prefixes[i++] + 'equestAnimationFrame'];\n }\n return (fnc && fnc.bind(window)) || window.setImmediate || function(fnc) {window.setTimeout(fnc, 0);};\n})(typeof window !== 'undefined' ? window : global, 'r webkitR mozR msR oR'.split(' '), 0);\n\nvar callbacksStack = {};\niframely.on = function(event, cb) {\n var events = callbacksStack[event] = callbacksStack[event] || [];\n events.push(cb);\n};\n\nfunction trigger(event, async, args) {\n var events = callbacksStack[event] || [];\n events.forEach(function(cb) {\n if (async) {\n nextTick(function() {\n cb.apply(iframely, args);\n });\n } else {\n cb.apply(iframely, args);\n }\n });\n\n if (event === 'init') {\n // everything inited, let's clear the callstack, just in case\n // TODO: not good.\n callbacksStack[event] = [];\n }\n}\n\niframely.trigger = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, false, args);\n};\n\niframely.triggerAsync = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, true, args);\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js */ \"../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./events.js?"); /***/ }), @@ -214,7 +214,7 @@ eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar ifram /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?"); +eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?"); /***/ }), @@ -236,7 +236,7 @@ eval("function getChromeVersion() { \n var raw = navigator.userAgent.matc /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\n\nfunction receiveMessage(callback) {\n\n function cb(e) {\n var message;\n try {\n if (typeof e.data === 'string') {\n message = JSON.parse(e.data);\n } else if (typeof e.data === 'object') {\n message = e.data;\n }\n } catch (ex) {\n if (typeof e.data === 'string') {\n var m = e.data.match(/heightxPYMx(\\d+)/);\n if (m) {\n message = {\n method: 'resize',\n height: parseInt(m[1]) + 1,\n domains: 'all'\n };\n }\n }\n }\n\n callback(e, message);\n }\n\n // browser supports window.postMessage\n if (window['postMessage']) {\n if (window['addEventListener']) {\n window[callback ? 'addEventListener' : 'removeEventListener']('message', cb, !1);\n } else {\n window[callback ? 'attachEvent' : 'detachEvent']('onmessage', cb);\n }\n }\n}\n\nfunction findIframeByContentWindow(iframes, contentWindow) {\n var foundIframe;\n for(var i = 0; i < iframes.length && !foundIframe; i++) {\n var iframe = iframes[i];\n if (iframe.contentWindow === contentWindow) {\n foundIframe = iframe;\n }\n }\n return foundIframe;\n}\n\nfunction findIframeInElement(element, options) {\n var foundIframe, iframes;\n \n if (options.src) {\n iframes = element.querySelectorAll('iframe[src*=\"' + options.src.replace(/^https?:/, '') + '\"]');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n if (!foundIframe) {\n iframes = options.domains ?\n element.querySelectorAll('iframe[src*=\"' + (options.domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]')\n : element.getElementsByTagName('iframe');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n return foundIframe;\n}\n\nfunction findIframeInShadowRoots(element, options) {\n var foundIframe;\n var className = '.' + (iframely.config.shadow || iframely.SHADOW);\n var shadowRoots = element.querySelectorAll(className);\n for(var i = 0; i < shadowRoots.length && !foundIframe; i++) {\n var shadowRoot = shadowRoots[i].shadowRoot;\n if (shadowRoot) {\n foundIframe = findIframeInElement(shadowRoot, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(shadowRoot, options);\n }\n }\n }\n return foundIframe;\n}\n\n// Do not override existing.\nif (!iframely.findIframe) {\n iframely.findIframe = function(options) {\n var foundIframe = findIframeInElement(document, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(document, options);\n }\n return foundIframe;\n };\n}\n\n\nreceiveMessage(function(e, message) {\n if (message && (message.method || message.type || message.context === 'player.js')) {\n\n var foundIframe = iframely.findIframe({\n contentWindow: e.source,\n src: message.context,\n domains: message.domains !== 'all' && iframely.DOMAINS.concat(iframely.CDN)\n });\n\n if (foundIframe) {\n var widget = utils.getWidget(foundIframe);\n if (widget && message.url) {\n widget.url = message.url;\n }\n iframely.trigger('message', widget, message);\n }\n }\n \n});\n\n\nexports.postMessage = function(message, target_url, target) {\n if (window['postMessage']) {\n\n if (typeof message === 'object') {\n message.context = document.location.href;\n }\n\n message = JSON.stringify(message);\n\n target_url = target_url || '*';\n\n target = target || window.parent; // default to parent\n\n // the browser supports window.postMessage, so call it with a targetOrigin\n // set appropriately, based on the target_url parameter.\n target['postMessage'](message, target_url.replace( /([^:]+:\\/\\/[^/]+).*/, '$1'));\n }\n};\n\n//# sourceURL=webpack:///./messaging.js?"); +eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\n\nfunction receiveMessage(callback) {\n\n function cb(e) {\n var message;\n try {\n if (typeof e.data === 'string') {\n message = JSON.parse(e.data);\n } else if (typeof e.data === 'object') {\n message = e.data;\n }\n } catch (ex) {\n if (typeof e.data === 'string') {\n var m = e.data.match(/heightxPYMx(\\d+)/);\n if (m) {\n message = {\n method: 'resize',\n height: parseInt(m[1]) + 1,\n domains: 'all'\n };\n }\n }\n }\n\n callback(e, message);\n }\n\n // browser supports window.postMessage\n if (window['postMessage']) {\n if (window['addEventListener']) {\n window[callback ? 'addEventListener' : 'removeEventListener']('message', cb, !1);\n } else {\n window[callback ? 'attachEvent' : 'detachEvent']('onmessage', cb);\n }\n }\n}\n\nfunction findIframeByContentWindow(iframes, contentWindow) {\n var foundIframe;\n for(var i = 0; i < iframes.length && !foundIframe; i++) {\n var iframe = iframes[i];\n if (iframe.contentWindow === contentWindow) {\n foundIframe = iframe;\n }\n }\n return foundIframe;\n}\n\nfunction findIframeInElement(element, options) {\n var foundIframe, iframes;\n \n if (options.src) {\n iframes = element.querySelectorAll('iframe[src*=\"' + options.src.replace(/^https?:/, '') + '\"]');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n if (!foundIframe) {\n iframes = options.domains ?\n element.querySelectorAll('iframe[src*=\"' + (options.domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]')\n : element.getElementsByTagName('iframe');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n return foundIframe;\n}\n\nfunction findIframeInShadowRoots(element, options) {\n var foundIframe;\n var className = '.' + (iframely.config.shadow || iframely.SHADOW);\n var shadowRoots = element.querySelectorAll(className);\n for(var i = 0; i < shadowRoots.length && !foundIframe; i++) {\n var shadowRoot = shadowRoots[i].shadowRoot;\n if (shadowRoot) {\n foundIframe = findIframeInElement(shadowRoot, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(shadowRoot, options);\n }\n }\n }\n return foundIframe;\n}\n\n// Do not override existing.\nif (!iframely.findIframe) {\n iframely.findIframe = function(options) {\n var foundIframe = findIframeInElement(document, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(document, options);\n }\n return foundIframe;\n };\n}\n\n\nreceiveMessage(function(e, message) {\n\n if (message && (message.method || message.type || message.context)) {\n\n var foundIframe = iframely.findIframe({\n contentWindow: e.source,\n src: message.src || message.context,\n domains: message.domains !== 'all' && iframely.DOMAINS.concat(iframely.CDN)\n });\n\n if (foundIframe) {\n var widget = utils.getWidget(foundIframe);\n if (widget && message.url) {\n widget.url = message.url;\n }\n iframely.trigger('message', widget, message);\n }\n }\n \n});\n\n\nexports.postMessage = function(message, target_url, target) {\n if (window['postMessage']) {\n\n if (typeof message === 'object') {\n message.context = document.location.href;\n }\n\n message = JSON.stringify(message);\n\n target_url = target_url || '*';\n\n target = target || window.parent; // default to parent\n\n // the browser supports window.postMessage, so call it with a targetOrigin\n // set appropriately, based on the target_url parameter.\n target['postMessage'](message, target_url.replace( /([^:]+:\\/\\/[^/]+).*/, '$1'));\n }\n};\n\n\n//# sourceURL=webpack:///./messaging.js?"); /***/ }), @@ -291,7 +291,7 @@ eval("var checkboxTemplate = __webpack_require__(/*! ./templates/checkbox.ejs */ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n \" name=\"<%= key %>\"<% if (checked) { %> checked=\"checked\"<% } %>>\\n \\n
\\n', __filename = \"src/options/templates/checkbox.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n \\n \\n
\\n\");\n __line = 7;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?"); /***/ }), @@ -302,7 +302,7 @@ eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n
\\n <%- elementsHtml %>\\n
\\n
', __filename = \"src/options/templates/group.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n
\\n ');\n __line = 3;\n __append(elementsHtml);\n __append(\"\\n
\\n
\");\n __line = 5;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?"); /***/ }), @@ -313,7 +313,7 @@ eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n <% if (label) { %>\\n \\n <% } %>\\n
iframely-option__group-inline<% } %>\">\\n <% items.forEach(function(subContext) { %>\\n
\\n \" name=\"<%= key %>\" value=\"<%= subContext.value %>\"<% if (subContext.checked) { %> checked=\"checked\"<% } %>>\\n \\n
\\n <% }); %>\\n
\\n
', __filename = \"src/options/templates/radio.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n ');\n __line = 2;\n if (label) {\n __append('\\n \\n \");\n __line = 6;\n }\n __append('\\n
\\n ');\n __line = 8;\n items.forEach(function(subContext) {\n __append('\\n
\\n \\n \\n
\\n \");\n __line = 15;\n });\n __append(\"\\n
\\n
\");\n __line = 17;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?"); /***/ }), @@ -324,7 +324,7 @@ eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n \\n
\\n \" name=\"<%= key %>\" min=\"<%= min %>\" max=\"<%= max %>\" step=\"1\" value=\"<%= value %>\" style=\"--min: <%= min %>; --max: <%= max %>; --val: <%= value %>;\">\\n
\\n
', __filename = \"src/options/templates/range.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n \\n
\\n \\n
\\n
');\n __line = 6;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?"); /***/ }), @@ -335,7 +335,7 @@ eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n \\n
\\n \\n
\\n
', __filename = \"src/options/templates/select.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n \\n
\\n \\n
\\n
\");\n __line = 10;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?"); /***/ }), @@ -346,7 +346,7 @@ eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n \\n
\\n \" class=\"iframely-option__input iframely-option__text\" id=\"<%= key %>\" name=\"<%= key %>\" placeholder=\"<%= placeholder %>\" value=\"<%= value %>\">\\n
\\n
', __filename = \"src/options/templates/text.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n \\n
\\n \\n
\\n
');\n __line = 6;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?"); /***/ }), @@ -401,7 +401,7 @@ eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'setIframelyEmbedOptions') {\n // console.log('setIframelyEmbedOptions', message.data);\n iframely.trigger('options', widget, message.data);\n }\n});\n\n//# sourceURL=webpack:///./widget-options.js?"); +eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'setIframelyEmbedOptions') {\n iframely.trigger('options', widget, message.data);\n }\n});\n\n\n//# sourceURL=webpack:///./widget-options.js?"); /***/ }), @@ -412,7 +412,7 @@ eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n\n if (message.method === 'setIframelyWidgetSize' \n || message.method === 'resize' \n || message.method === 'setIframelyEmbedData' \n || message.type === 'embed-size'\n || message.context === 'iframe.resize') {\n\n var frame_styles = null;\n\n if (message.data && message.data.media && message.data.media.frame_style) {\n\n message.data.media.frame_style.split(';').forEach(function(str) {\n\n if(str.trim() !== '' && str.indexOf(':') > -1) {\n var props = str.split(':');\n if (props.length === 2) {\n frame_styles = frame_styles || {};\n frame_styles[props[0].trim()] = props[1].trim();\n }\n }\n });\n\n widgetDecorate(widget, frame_styles);\n\n } else if (message.method === 'setIframelyEmbedData') {\n\n // setIframelyEmbedData always sets frame_style. If not - reset.\n // setIframelyEmbedData without message.data resets border.\n widgetDecorate(widget, null);\n }\n\n var media = message.data && message.data.media;\n if (!media && message.height) {\n media = {\n height: message.height,\n 'max-width': 'keep'\n };\n }\n\n widgetResize(widget, media);\n }\n});\n\n// All frame_style attributes.\nvar resetWrapperBorderStyles = {'border': '', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\nvar resetIframeBorderStyles = {'border': '0', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\n\nfunction widgetDecorate(widget, styles) {\n\n if (styles && widget && widget.iframe) {\n\n if (styles['border-radius']) {\n // fix for Chrome?\n styles.overflow = 'hidden';\n utils.setStyles(widget.aspectWrapper, styles);\n } else {\n utils.setStyles(widget.iframe, styles);\n }\n\n } else if (!styles && widget && widget.iframe) {\n\n utils.setStyles(widget.aspectWrapper, resetWrapperBorderStyles);\n utils.setStyles(widget.iframe, resetIframeBorderStyles);\n }\n}\n\nfunction getTotalBorderWidth(widget) {\n\n // Get frame style from iframe or aspect wrapper as in widgetDecorate for Chrome fix.\n var frameStylesBorder = \n (widget.iframe && widget.iframe.style.border) \n || (widget.aspectWrapper && widget.aspectWrapper.style.border);\n\n // Get iframe border width from frame style.\n var borderWidth = frameStylesBorder && frameStylesBorder.match(/(\\d+)px/) || 0;\n if (borderWidth) {\n borderWidth = parseInt(borderWidth[1]);\n // For width and height border size will be 2x.\n borderWidth = borderWidth * 2;\n }\n\n return borderWidth;\n}\n\nfunction widgetResize(widget, media) {\n\n if (media && Object.keys(media).length > 0 && widget) {\n\n var borderWidth = getTotalBorderWidth(widget);\n\n var oldIframeHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n\n var maxWidth = media['max-width'];\n if (typeof maxWidth === 'number') {\n // Can be max-width: 56vh.\n maxWidth += borderWidth;\n }\n\n utils.setStyles(widget.maxWidthWrapper, {\n 'max-width': maxWidth,\n 'min-width': media['min-width'] && (media['min-width'] + borderWidth),\n width: media.width && (media.width + borderWidth)\n });\n\n if (media.scrolling && widget.iframe) {\n widget.iframe.setAttribute('scrolling', media.scrolling);\n }\n\n var aspectRatio = media['aspect-ratio'];\n\n // If no aspect and height - do not change aspect wrapper.\n if (aspectRatio || media.height) {\n utils.setStyles(widget.aspectWrapper, {\n paddingBottom: aspectRatio ? (Math.round(1000 * 100 / aspectRatio) / 1000 + '%') : 0, // if fixed-size, it will get set to 0\n paddingTop: aspectRatio && media['padding-bottom'], // if a fixed-height padding at the bottom of responsive div is required\n height: aspectRatio ? 0 : (media.height && (media.height + borderWidth)) // if defined\n });\n }\n\n\n var currentHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n if (oldIframeHeight && oldIframeHeight !== currentHeight) {\n iframely.triggerAsync('heightChanged', widget.iframe, oldIframeHeight, currentHeight);\n }\n\n }\n}\n\n//# sourceURL=webpack:///./widget-resize.js?"); +eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n\n if (message.method === 'setIframelyWidgetSize' \n || message.method === 'resize' \n || message.method === 'setIframelyEmbedData' \n || message.type === 'embed-size'\n || message.context === 'iframe.resize') {\n\n var frame_styles = null;\n\n if (message.data && message.data.media && message.data.media.frame_style) {\n\n message.data.media.frame_style.split(';').forEach(function(str) {\n\n if(str.trim() !== '' && str.indexOf(':') > -1) {\n var props = str.split(':');\n if (props.length === 2) {\n frame_styles = frame_styles || {};\n frame_styles[props[0].trim()] = props[1].trim();\n }\n }\n });\n\n widgetDecorate(widget, frame_styles);\n\n } else if (message.method === 'setIframelyEmbedData') {\n\n // setIframelyEmbedData always sets frame_style. If not - reset.\n // setIframelyEmbedData without message.data resets border.\n widgetDecorate(widget, null);\n }\n\n var media = message.data && message.data.media;\n if (!media && message.height) {\n media = {\n height: message.height,\n 'max-width': 'keep'\n };\n }\n\n widgetResize(widget, media);\n }\n});\n\n// All frame_style attributes.\nvar resetWrapperBorderStyles = {'border': '', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\nvar resetIframeBorderStyles = {'border': '0', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\n\nfunction widgetDecorate(widget, styles) {\n\n if (styles && widget && widget.iframe) {\n\n if (styles['border-radius']) {\n // fix for Chrome?\n styles.overflow = 'hidden';\n utils.setStyles(widget.aspectWrapper, styles);\n } else {\n utils.setStyles(widget.iframe, styles);\n }\n\n } else if (!styles && widget && widget.iframe) {\n\n utils.setStyles(widget.aspectWrapper, resetWrapperBorderStyles);\n utils.setStyles(widget.iframe, resetIframeBorderStyles);\n }\n}\n\nfunction getTotalBorderWidth(widget) {\n\n // Get frame style from iframe or aspect wrapper as in widgetDecorate for Chrome fix.\n var frameStylesBorder = \n (widget.iframe && widget.iframe.style.border) \n || (widget.aspectWrapper && widget.aspectWrapper.style.border);\n\n // Get iframe border width from frame style.\n var borderWidth = frameStylesBorder && frameStylesBorder.match(/(\\d+)px/) || 0;\n if (borderWidth) {\n borderWidth = parseInt(borderWidth[1]);\n // For width and height border size will be 2x.\n borderWidth = borderWidth * 2;\n }\n\n return borderWidth;\n}\n\nfunction widgetResize(widget, media) {\n\n if (media && Object.keys(media).length > 0 && widget) {\n\n var borderWidth = getTotalBorderWidth(widget);\n\n var oldIframeHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n\n var maxWidth = media['max-width'];\n if (typeof maxWidth === 'number') {\n // Can be max-width: 56vh.\n maxWidth += borderWidth;\n }\n\n utils.setStyles(widget.maxWidthWrapper, {\n 'max-width': maxWidth,\n 'min-width': media['min-width'] && (media['min-width'] + borderWidth),\n width: media.width && (media.width + borderWidth)\n });\n\n if (media.scrolling && widget.iframe) {\n widget.iframe.setAttribute('scrolling', media.scrolling);\n }\n\n var aspectRatio = media['aspect-ratio'];\n\n // If no aspect and height - do not change aspect wrapper.\n if (aspectRatio || media.height) {\n utils.setStyles(widget.aspectWrapper, {\n paddingBottom: aspectRatio ? (Math.round(1000 * 100 / aspectRatio) / 1000 + '%') : 0, // if fixed-size, it will get set to 0\n paddingTop: aspectRatio && media['padding-bottom'], // if a fixed-height padding at the bottom of responsive div is required\n height: aspectRatio ? 0 : (media.height && (media.height + borderWidth)) // if defined\n });\n }\n\n\n var currentHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n if (oldIframeHeight && oldIframeHeight !== currentHeight) {\n iframely.triggerAsync('heightChanged', widget.iframe, oldIframeHeight, currentHeight);\n }\n\n }\n}\n\n\n//# sourceURL=webpack:///./widget-resize.js?"); /***/ }) diff --git a/dist/embed-options.min.js b/dist/embed-options.min.js index b998d37..6d1a92d 100644 --- a/dist/embed-options.min.js +++ b/dist/embed-options.min.js @@ -1 +1 @@ -!function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=31)}([function(e,t){var n=window.iframely=window.iframely||{};n.config=n.config||{},e.exports=n},function(e,t,n){var a=n(0),r=n(2);a.on("init",(function(){a.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return r}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),a.config.theme&&a.setTheme(a.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||a.DOMAINS).join('"], iframe[src*="')+'"]'),n=0;n2||t&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS||!t&&"relative"!==n.style.position&&n.getAttribute("class")!==a.ASPECT_WRAPPER_CLASS)){var r=n.parentNode;if(!(!r||"DIV"!==r.nodeName||c(r)>1||t&&r.getAttribute("class")&&-1===r.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)||!t&&r.getAttribute("class")&&!r.getAttribute("class").match(/iframely/i)))return{aspectWrapper:n,maxWidthWrapper:r}}};t.addDefaultWrappers=function(e){var t=e.parentNode,n=document.createElement("div");n.className=a.MAXWIDTH_WRAPPER_CLASS;var r=document.createElement("div");return r.className=a.ASPECT_WRAPPER_CLASS,n.appendChild(r),t.insertBefore(n,e),{aspectWrapper:r,maxWidthWrapper:n}},t.getWidget=function(e){var t=i(e);if(t){var n={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))n.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var a=s(e.getAttribute("src"));a.url&&(n.url=a.url)}return n}},a.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(n){var r=t[n];("number"==typeof r||"string"==typeof r&&/^(\d+)?\.?(\d+)$/.test(r))&&(r+="px");var i=e.style[n];window.getComputedStyle&&(a.getElementComputedStyle(e,n)==r||"iframely-responsive"==e.className&&"paddingBottom"===n&&!i&&/^56\.2\d+%$/.test(r)||"max-width"===n&&"keep"===r)||(e.style[n]=r||"")}))};var o=t.applyNonce=function(e){a.config.nonce&&(e.nonce=a.config.nonce)};var l=t.addQueryString=function(e,t){var n="";return Object.keys(t).forEach((function(a){var r=t[a];if("[object Array]"===Object.prototype.toString.call(r)){var i=r.map((function(e){return a+"="+encodeURIComponent(e)}));n+="&"+i.join("&")}else void 0!==r&&-1===e.indexOf(a+"=")&&("boolean"==typeof r&&"_"!==a.charAt(0)&&(r=r?1:0),n+="&"+a+"="+encodeURIComponent(r))})),e+(""!==n?(e.indexOf("?")>-1?"&":"?")+n.replace(/^&/,""):"")};function c(e){for(var t=0,n=0;n-1?t?"IFRAME"===t.tagName?i(t,e):o(t,e):(a.extendOptions({theme:e}),o(document,e),a.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+a.SUPPORTED_THEMES.join(", "))}},function(e,t,n){var a=n(1),r=n(0),i={};function o(e,t,n){var i,o=e.cancel,l=e.shadow,p=e.renderEvent,s=a.getIframeWrapper(t,!0);if(o)i=a.getWidget(t),r.cancelWidget(i||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var d,u;if((i=document.createElement("div")).innerHTML=e.html,s&&!p?(d=s.aspectWrapper.parentNode,u=s.aspectWrapper,s.maxWidthWrapper.removeAttribute("style")):(d=t.parentNode,u=t),l){var f=document.createElement("div"),m=f.attachShadow({mode:"open"});m.appendChild(i);var _={shadowRoot:m,shadowContainer:f,container:d,context:e.context,stylesIds:e.stylesIds,stylesDict:n.commonShadowStyles};r.trigger("import-shadow-widget-before-render",_),d.insertBefore(f,u),r.trigger("import-shadow-widget-after-render",_)}else d.insertBefore(i,u),function e(t){function n(e){var n=e.text||e.textContent||e.innerHTML||"",r=a.createScript();r.type="text/javascript";for(var i=0;i4&&(t=null);var a=t&&t.parentNode;a&&a.getAttribute("class")&&a.getAttribute("class").split(" ").indexOf(r.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),a.removeAttribute("style"))}r.on("load",(function(e){if(!e&&!1!==r.config.import&&document.head.attachShadow&&document.location&&(r.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!r.config.playerjs&&!r.config.lazy&&!r.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=a.createScript(),n=[],o=[],c=null;function p(e,t){i[e]||(i[e]=[]),i[e].push(t)}function s(e){var t=e.getAttribute("data-iframely-url"),i=t.match(r.ID_RE),l=i&&i[1],s=a.parseQueryString(t,r.SUPPORTED_QUERY_STRING.concat("url")),d=s.url;delete s.url;var u="0"===s.import||"false"===s.import||"1"===s.playerjs||"true"===s.playerjs;if(!u){var f=t.match(r.BASE_RE);s.CDN=f&&f[0],c?JSON.stringify(s,Object.keys(s).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(u=!0):c=s}if(u)r.trigger("load",e);else if(l)e.setAttribute("data-import-uri",l),-1===o.indexOf(l)&&o.push(l),p(l,e);else{d||(d=e.getAttribute("href")),(c.key||c.api_key||r.config.api_key||r.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===n.indexOf(d)&&n.push(d),p(d,e)):r.trigger("load",e)}}for(var d=0;d0||o.length>0?((c=c||{}).touch=r.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,r.config.theme&&(c.theme=r.config.theme),n.length>0&&(c.uri=n),o.length>0&&(c.ids=o.join("&")),c.v=r.VERSION,t.src=a.getEndpoint("/api/import/v2",c,r.SUPPORTED_QUERY_STRING),t.onerror=function(){l()},document.head.appendChild(t),r.import=t):(l(),r.trigger("load"))}(t)}})),r.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var n=i[e.uri];if(n)for(var a=0;a1&&function(e,t){for(var n=0,a=0;a=0;return n&&e}(e.maxWidthWrapper,a.config.parent);r&&(t=r.parentNode,n=r)}if(e.url){var i=e.iframe&&(e.iframe.textContent||e.iframe.innerText);a.triggerAsync("cancel",e.url,t,i,n.nextSibling)}t.removeChild(n)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,n){var a=n(1),r=n(0);r.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var n=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((n=n||{})[t[0].trim()]=t[1].trim())}})),l(e,n)):"setIframelyEmbedData"===t.method&&l(e,null);var i=t.data&&t.data.media;!i&&t.height&&(i={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var n=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,n=t&&t.match(/(\d+)px/)||0;n&&(n=parseInt(n[1]),n*=2);return n}(e),i=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=n),a.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+n,width:t.width&&t.width+n}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var l=t["aspect-ratio"];(l||t.height)&&a.setStyles(e.aspectWrapper,{paddingBottom:l?Math.round(1e5/l)/1e3+"%":0,paddingTop:l&&t["padding-bottom"],height:l?0:t.height&&t.height+n});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");i&&i!==c&&r.triggerAsync("heightChanged",e.iframe,i,c)}}(e,i)}}));var i={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function l(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",a.setStyles(e.aspectWrapper,t)):a.setStyles(e.iframe,t):!t&&e&&e.iframe&&(a.setStyles(e.aspectWrapper,i),a.setStyles(e.iframe,o))}},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||a.trigger(t.method,t.href)})),a.openHref||(a.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),a.on("open-href",(function(e){a.triggerAsync("click",e),a.openHref(e)}))},function(e,t,n){var a=n(0);a.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&a.trigger("options",e,t.data)}))},function(e,t,n){var a=n(0);a.widgets=a.widgets||{},a.widgets.load=a.load,a.events||(a.events={},a.events.on=a.on,a.events.trigger=a.trigger),a.on("cancel",(function(e,t,n,r){if(a.RECOVER_HREFS_ON_CANCEL&&!n&&(n=e),e&&t&&n&&""!==n){var i=document.createElement("a");i.setAttribute("href",e),i.setAttribute("target","_blank"),i.setAttribute("rel","noopener"),i.textContent=n,r?t.insertBefore(i,r):t.appendChild(i)}}))},function(e,t,n){var a,r=!!(a=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(a[2],10);n(0).SUPPORT_IFRAME_LOADING_ATTR=r&&r>=77},function(e,t,n){var a=n(0),r=n(20),i=n(22);a.buildOptionsForm=function(e,t,n,a){r({id:e,formContainer:t,options:n,renderer:i,translator:a})},t.iframely=a},function(e,t,n){var a=n(21),r=n(0),i={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];r.addEventListener(n,"click",(function(){n.select()})),r.addEventListener(n,"blur",t),r.addEventListener(n,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},o={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var l=a(t,e.translator),c=e.id,p=e.renderer,s=o[c]=o[c]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(s[e]=t[e].value)}));var d=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=d(e.context.elements)),t+=p(e.type,e.context||{})})),t};n.innerHTML=d(l);var u=function(e){e.forEach((function(e){if(e.context&&e.context.elements)u(e.context.elements);else{var t=i[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach((function(e){r.addEventListener(e,"change",f)})):console.warn("No inputs found for option",e.key))}}))};u(l)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(n){n.forEach((function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var a,r=i[n.type];a=r&&r.getValue?r.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(a))}}))};return t(l),e}();Object.keys(s).forEach((function(t){s[t]!==e[t]&&void 0!==e[t]||delete e[t]})),r.trigger("options-changed",c,n,e)}}},function(e,t){var n=/^_./,a=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var r=[],i=Object.keys(e),o=0;if(i.forEach((function(i){var l,c,p={},s=e[i];s.key=i;var d,u,f=s.values&&Object.keys(s.values);if(f&&1===f.length&&(c=!0,d=f[0],u=s.values[d]),p.label=a(u||s.label,t),p.key=s.key,c||"boolean"==typeof s.value)p.checked=c?d===s.value||!d&&!s.value:s.value,o++,r.push({type:"checkbox",context:p,order:n.test(i)?0:1,getQuery:function(e){var t;t=c?e?d:"":e;var n={};return c?""===t||(n[s.key]=t):n[s.key]=e,n}});else if("number"!=typeof s.value&&"string"!=typeof s.value||s.values){if(s.values)if(p.value=s.value+"",l=function(e){var t={};return""===e||(t[s.key]=e),t},Object.keys(s.values).length<=3){s.label?p.label=a(s.label,t):p.label=!1;for(var m=0,_=!1,h=Object.values(s.values);m8,m++}p.inline=!_,p.items=[],Object.keys(s.values).forEach((function(e,n){p.items.push({id:p.key+"-"+n,value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"radio",context:p,order:_?-3:/theme/.test(i)?-1:-2,getQuery:l})}else p.items=[],Object.keys(s.values).forEach((function(e){p.items.push({value:e,label:a(s.values[e],t),checked:p.value===e})})),r.push({type:"select",context:p,order:5,getQuery:l})}else{var g=s.range&&"number"==typeof s.range.min&&"number"==typeof s.range.max,v="number"==typeof s.value;p.value=s.value,l=function(e){var t={};return""===e||(t[s.key]=e),t},g?(p.min=s.range.min,p.max=s.range.max,r.push({type:"range",context:p,order:9,getQuery:l})):(p.placeholder=a(s.placeholder||"",t),p.inputType=v?"number":"text",r.push({type:"text",context:p,order:/start/i.test(i)?7:8,getQuery:l}))}})),r.sort((function(e,t){return e.order-t.order})),r.forEach((function(e){delete e.order})),o>0){var l,c=[];return r.forEach((function(e,t){if("checkbox"===e.type){var a=o>2&&t>0&&!n.test(e.context.key)&&"checkbox"===r[t-1].type&&n.test(r[t-1].context.key);l&&!a||(l=[],c.push({type:"group",context:{elements:l}})),l.push(e)}else c.push(e)})),c}return r}},function(e,t,n){var a={checkbox:n(23),range:n(24),text:n(25),radio:n(26),select:n(27),group:n(28)};e.exports=function(e,t){return(0,a[e])(t)}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n checked="checked"<% } %>>\n \n
\n',__filename="src/options/templates/checkbox.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n \n
\n"),__line=7;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/range.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/text.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n <% if (label) { %>\n \n <% } %>\n
\n <% items.forEach(function(subContext) { %>\n
\n checked="checked"<% } %>>\n \n
\n <% }); %>\n
\n
',__filename="src/options/templates/radio.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n '),__line=2,label&&(__append('\n \n "),__line=6),__append('\n
\n '),__line=8,items.forEach((function(e){__append('\n
\n \n \n
\n "),__line=15})),__append("\n
\n
"),__line=17;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/select.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
"),__line=10;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,t,n,a,r){var i=t.split("\n"),o=Math.max(a-3,0),l=Math.min(i.length,a+3),c=r(n),p=i.slice(o,l).map((function(e,t){var n=t+o+1;return(n==a?" >> ":" ")+n+"| "+e})).join("\n");throw e.path=c,e.message=(c||"ejs")+":"+a+"\n"+p+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n
\n <%- elementsHtml %>\n
\n
',__filename="src/options/templates/group.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n
\n '),__line=3,__append(elementsHtml),__append("\n
\n
"),__line=5;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},,,function(e,t,n){n(3);var a=n(0);a._loaded||(a._loaded=!0,n(4),n(5),n(7),n(8),n(9),n(10),n(11),n(12),n(13),n(14),n(15),n(16),n(17),n(18),n(19),a.trigger("init")),t.iframely=a}]); \ No newline at end of file +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=31)}([function(e,t){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},function(e,t,r){var n=r(0),i=r(2);n.on("init",(function(){n.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return i}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),n.config.theme&&n.setTheme(n.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||n.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==n.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==n.ASPECT_WRAPPER_CLASS)){var i=r.parentNode;if(!(!i||"DIV"!==i.nodeName||l(i)>1||t&&i.getAttribute("class")&&-1===i.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)||!t&&i.getAttribute("class")&&!i.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:i}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=n.MAXWIDTH_WRAPPER_CLASS;var i=document.createElement("div");return i.className=n.ASPECT_WRAPPER_CLASS,r.appendChild(i),t.insertBefore(r,e),{aspectWrapper:i,maxWidthWrapper:r}},t.getWidget=function(e){var t=a(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var n=u(e.getAttribute("src"));n.url&&(r.url=n.url)}return r}},n.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(r){var i=t[r];("number"==typeof i||"string"==typeof i&&/^(\d+)?\.?(\d+)$/.test(i))&&(i+="px");var a=e.style[r];window.getComputedStyle&&(n.getElementComputedStyle(e,r)==i||"iframely-responsive"==e.className&&"paddingBottom"===r&&!a&&/^56\.2\d+%$/.test(i)||"max-width"===r&&"keep"===i)||(e.style[r]=i||"")}))};var o=t.applyNonce=function(e){n.config.nonce&&(e.nonce=n.config.nonce)};var s=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach((function(n){var i=t[n];if("[object Array]"===Object.prototype.toString.call(i)){var a=i.map((function(e){return n+"="+encodeURIComponent(e)}));r+="&"+a.join("&")}else void 0!==i&&-1===e.indexOf(n+"=")&&("boolean"==typeof i&&"_"!==n.charAt(0)&&(i=i?1:0),r+="&"+n+"="+encodeURIComponent(i))})),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function l(e){for(var t=0,r=0;r-1?t?"IFRAME"===t.tagName?a(t,e):o(t,e):(n.extendOptions({theme:e}),o(document,e),n.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+n.SUPPORTED_THEMES.join(", "))}},function(e,t,r){var n=r(1),i=r(0),a={};function o(e,t,r){var a,o=e.cancel,s=e.shadow,c=e.renderEvent,u=n.getIframeWrapper(t,!0);if(o)a=n.getWidget(t),i.cancelWidget(a||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var d,f;if((a=document.createElement("div")).innerHTML=e.html,u&&!c?(d=u.aspectWrapper.parentNode,f=u.aspectWrapper,u.maxWidthWrapper.removeAttribute("style")):(d=t.parentNode,f=t),s){var p=document.createElement("div"),m=p.attachShadow({mode:"open"});m.appendChild(a);var h={shadowRoot:m,shadowContainer:p,container:d,context:e.context,stylesIds:e.stylesIds,stylesDict:r.commonShadowStyles};i.trigger("import-shadow-widget-before-render",h),d.insertBefore(p,f),i.trigger("import-shadow-widget-after-render",h)}else d.insertBefore(a,f),function e(t){function r(e){var r=e.text||e.textContent||e.innerHTML||"",i=n.createScript();i.type="text/javascript";for(var a=0;a4&&(t=null);var n=t&&t.parentNode;n&&n.getAttribute("class")&&n.getAttribute("class").split(" ").indexOf(i.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),n.removeAttribute("style"))}i.on("load",(function(e){if(!e&&!1!==i.config.import&&document.head.attachShadow&&document.location&&(i.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!i.config.playerjs&&!i.config.lazy&&!i.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=n.createScript(),r=[],o=[],l=null;function c(e,t){a[e]||(a[e]=[]),a[e].push(t)}function u(e){var t=e.getAttribute("data-iframely-url"),a=t.match(i.ID_RE),s=a&&a[1],u=n.parseQueryString(t,i.SUPPORTED_QUERY_STRING.concat("url")),d=u.url;delete u.url;var f="0"===u.import||"false"===u.import||"1"===u.playerjs||"true"===u.playerjs;if(!f){var p=t.match(i.BASE_RE);u.CDN=p&&p[0],l?JSON.stringify(u,Object.keys(u).sort())!==JSON.stringify(l,Object.keys(l).sort())&&(f=!0):l=u}if(f)i.trigger("load",e);else if(s)e.setAttribute("data-import-uri",s),-1===o.indexOf(s)&&o.push(s),c(s,e);else{d||(d=e.getAttribute("href")),(l.key||l.api_key||i.config.api_key||i.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===r.indexOf(d)&&r.push(d),c(d,e)):i.trigger("load",e)}}for(var d=0;d0||o.length>0?((l=l||{}).touch=i.isTouch(),l.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),l.app=1,i.config.theme&&(l.theme=i.config.theme),r.length>0&&(l.uri=r),o.length>0&&(l.ids=o.join("&")),l.v=i.VERSION,t.src=n.getEndpoint("/api/import/v2",l,i.SUPPORTED_QUERY_STRING),t.onerror=function(){s()},document.head.appendChild(t),i.import=t):(s(),i.trigger("load"))}(t)}})),i.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=a[e.uri];if(r)for(var n=0;n1&&function(e,t){for(var r=0,n=0;n=0;return r&&e}(e.maxWidthWrapper,n.config.parent);i&&(t=i.parentNode,r=i)}if(e.url){var a=e.iframe&&(e.iframe.textContent||e.iframe.innerText);n.triggerAsync("cancel",e.url,t,a,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,r){var n=r(1),i=r(0);i.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}})),s(e,r)):"setIframelyEmbedData"===t.method&&s(e,null);var a=t.data&&t.data.media;!a&&t.height&&(a={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;r&&(r=parseInt(r[1]),r*=2);return r}(e),a=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),n.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var s=t["aspect-ratio"];(s||t.height)&&n.setStyles(e.aspectWrapper,{paddingBottom:s?Math.round(1e5/s)/1e3+"%":0,paddingTop:s&&t["padding-bottom"],height:s?0:t.height&&t.height+r});var l=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");a&&a!==l&&i.triggerAsync("heightChanged",e.iframe,a,l)}}(e,a)}}));var a={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function s(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",n.setStyles(e.aspectWrapper,t)):n.setStyles(e.iframe,t):!t&&e&&e.iframe&&(n.setStyles(e.aspectWrapper,a),n.setStyles(e.iframe,o))}},function(e,t,r){var n=r(0);n.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||n.trigger(t.method,t.href)})),n.openHref||(n.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),n.on("open-href",(function(e){n.triggerAsync("click",e),n.openHref(e)}))},function(e,t,r){var n=r(0);n.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&n.trigger("options",e,t.data)}))},function(e,t,r){var n=r(0);n.widgets=n.widgets||{},n.widgets.load=n.load,n.events||(n.events={},n.events.on=n.on,n.events.trigger=n.trigger),n.on("cancel",(function(e,t,r,i){if(n.RECOVER_HREFS_ON_CANCEL&&!r&&(r=e),e&&t&&r&&""!==r){var a=document.createElement("a");a.setAttribute("href",e),a.setAttribute("target","_blank"),a.setAttribute("rel","noopener"),a.textContent=r,i?t.insertBefore(a,i):t.appendChild(a)}}))},function(e,t,r){var n,i=!!(n=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(n[2],10);r(0).SUPPORT_IFRAME_LOADING_ATTR=i&&i>=77},function(e,t,r){var n=r(0),i=r(20),a=r(22);n.buildOptionsForm=function(e,t,r,n){i({id:e,formContainer:t,options:r,renderer:a,translator:n})},t.iframely=n},function(e,t,r){var n=r(21),i=r(0),a={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],r=t.value;return"number"===t.type&&(r=parseInt(r),isNaN(r)&&(r="")),r},customEvents:function(e,t){var r=e[0];i.addEventListener(r,"click",(function(){r.select()})),i.addEventListener(r,"blur",t),i.addEventListener(r,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},o={};e.exports=function(e){var t=e.options,r=e.formContainer;if(r)if(t){var s=n(t,e.translator),l=e.id,c=e.renderer,u=o[l]=o[l]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(u[e]=t[e].value)}));var d=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=d(e.context.elements)),t+=c(e.type,e.context||{})})),t};r.innerHTML=d(s);var f=function(e){e.forEach((function(e){if(e.context&&e.context.elements)f(e.context.elements);else{var t=a[e.type];e.context&&(e.inputs=r.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,p):e.inputs.forEach((function(e){i.addEventListener(e,"change",p)})):console.warn("No inputs found for option",e.key))}}))};f(s)}else r.innerHTML="";else console.warn("No formContainer in form-builder options",e);function p(){var e=function(){var e={},t=function(r){r.forEach((function(r){if(r.context&&r.context.elements)t(r.context.elements);else if(r.inputs){var n,i=a[r.type];n=i&&i.getValue?i.getValue(r.inputs):r.inputs[0].value,Object.assign(e,r.getQuery(n))}}))};return t(s),e}();Object.keys(u).forEach((function(t){u[t]!==e[t]&&void 0!==e[t]||delete e[t]})),i.trigger("options-changed",l,r,e)}}},function(e,t){var r=/^_./,n=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var i=[],a=Object.keys(e),o=0;if(a.forEach((function(a){var s,l,c={},u=e[a];u.key=a;var d,f,p=u.values&&Object.keys(u.values);if(p&&1===p.length&&(l=!0,d=p[0],f=u.values[d]),c.label=n(f||u.label,t),c.key=u.key,l||"boolean"==typeof u.value)c.checked=l?d===u.value||!d&&!u.value:u.value,o++,i.push({type:"checkbox",context:c,order:r.test(a)?0:1,getQuery:function(e){var t;t=l?e?d:"":e;var r={};return l?""===t||(r[u.key]=t):r[u.key]=e,r}});else if("number"!=typeof u.value&&"string"!=typeof u.value||u.values){if(u.values)if(c.value=u.value+"",s=function(e){var t={};return""===e||(t[u.key]=e),t},Object.keys(u.values).length<=3){u.label?c.label=n(u.label,t):c.label=!1;for(var m=0,h=!1,g=Object.values(u.values);m8,m++}c.inline=!h,c.items=[],Object.keys(u.values).forEach((function(e,r){c.items.push({id:c.key+"-"+r,value:e,label:n(u.values[e],t),checked:c.value===e})})),i.push({type:"radio",context:c,order:h?-3:/theme/.test(a)?-1:-2,getQuery:s})}else c.items=[],Object.keys(u.values).forEach((function(e){c.items.push({value:e,label:n(u.values[e],t),checked:c.value===e})})),i.push({type:"select",context:c,order:5,getQuery:s})}else{var v=u.range&&"number"==typeof u.range.min&&"number"==typeof u.range.max,y="number"==typeof u.value;c.value=u.value,s=function(e){var t={};return""===e||(t[u.key]=e),t},v?(c.min=u.range.min,c.max=u.range.max,i.push({type:"range",context:c,order:9,getQuery:s})):(c.placeholder=n(u.placeholder||"",t),c.inputType=y?"number":"text",i.push({type:"text",context:c,order:/start/i.test(a)?7:8,getQuery:s}))}})),i.sort((function(e,t){return e.order-t.order})),i.forEach((function(e){delete e.order})),o>0){var s,l=[];return i.forEach((function(e,t){if("checkbox"===e.type){var n=o>2&&t>0&&!r.test(e.context.key)&&"checkbox"===i[t-1].type&&r.test(i[t-1].context.key);s&&!n||(s=[],l.push({type:"group",context:{elements:s}})),s.push(e)}else l.push(e)})),l}return i}},function(e,t,r){var n={checkbox:r(23),range:r(24),text:r(25),radio:r(26),select:r(27),group:r(28)};e.exports=function(e,t){return(0,n[e])(t)}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},,,function(e,t,r){r(3);var n=r(0);n._loaded||(n._loaded=!0,r(4),r(5),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15),r(16),r(17),r(18),r(19),n.trigger("init")),t.iframely=n}]); \ No newline at end of file diff --git a/dist/embed.js b/dist/embed.js index 53569db..338513e 100644 --- a/dist/embed.js +++ b/dist/embed.js @@ -86,14 +86,14 @@ /************************************************************************/ /******/ ({ -/***/ "../node_modules/.pnpm/webpack@4.46.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js": +/***/ "../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js": /*!******************************************************************************************************!*\ - !*** ../node_modules/.pnpm/webpack@4.46.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js ***! + !*** ../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js ***! \******************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports) { -eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack:///../node_modules/.pnpm/webpack@4.46.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js?"); +eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack:///../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js?"); /***/ }), @@ -148,7 +148,7 @@ eval("// TODO: rename core.js to ready.js?\n\nvar iframely = __webpack_require__ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("/* WEBPACK VAR INJECTION */(function(global) {var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar nextTick = (function(window, prefixes, i, fnc) {\n while (!fnc && i < prefixes.length) {\n fnc = window[prefixes[i++] + 'equestAnimationFrame'];\n }\n return (fnc && fnc.bind(window)) || window.setImmediate || function(fnc) {window.setTimeout(fnc, 0);};\n})(typeof window !== 'undefined' ? window : global, 'r webkitR mozR msR oR'.split(' '), 0);\n\nvar callbacksStack = {};\niframely.on = function(event, cb) {\n var events = callbacksStack[event] = callbacksStack[event] || [];\n events.push(cb);\n};\n\nfunction trigger(event, async, args) {\n var events = callbacksStack[event] || [];\n events.forEach(function(cb) {\n if (async) {\n nextTick(function() {\n cb.apply(iframely, args);\n });\n } else {\n cb.apply(iframely, args);\n }\n });\n\n if (event === 'init') {\n // everything inited, let's clear the callstack, just in case\n // TODO: not good.\n callbacksStack[event] = [];\n }\n}\n\niframely.trigger = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, false, args);\n};\n\niframely.triggerAsync = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, true, args);\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/.pnpm/webpack@4.46.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js */ \"../node_modules/.pnpm/webpack@4.46.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./events.js?"); +eval("/* WEBPACK VAR INJECTION */(function(global) {var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar nextTick = (function(window, prefixes, i, fnc) {\n while (!fnc && i < prefixes.length) {\n fnc = window[prefixes[i++] + 'equestAnimationFrame'];\n }\n return (fnc && fnc.bind(window)) || window.setImmediate || function(fnc) {window.setTimeout(fnc, 0);};\n})(typeof window !== 'undefined' ? window : global, 'r webkitR mozR msR oR'.split(' '), 0);\n\nvar callbacksStack = {};\niframely.on = function(event, cb) {\n var events = callbacksStack[event] = callbacksStack[event] || [];\n events.push(cb);\n};\n\nfunction trigger(event, async, args) {\n var events = callbacksStack[event] || [];\n events.forEach(function(cb) {\n if (async) {\n nextTick(function() {\n cb.apply(iframely, args);\n });\n } else {\n cb.apply(iframely, args);\n }\n });\n\n if (event === 'init') {\n // everything inited, let's clear the callstack, just in case\n // TODO: not good.\n callbacksStack[event] = [];\n }\n}\n\niframely.trigger = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, false, args);\n};\n\niframely.triggerAsync = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, true, args);\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js */ \"../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./events.js?"); /***/ }), @@ -214,7 +214,7 @@ eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar ifram /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?"); +eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?"); /***/ }), @@ -236,7 +236,7 @@ eval("function getChromeVersion() { \n var raw = navigator.userAgent.matc /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\n\nfunction receiveMessage(callback) {\n\n function cb(e) {\n var message;\n try {\n if (typeof e.data === 'string') {\n message = JSON.parse(e.data);\n } else if (typeof e.data === 'object') {\n message = e.data;\n }\n } catch (ex) {\n if (typeof e.data === 'string') {\n var m = e.data.match(/heightxPYMx(\\d+)/);\n if (m) {\n message = {\n method: 'resize',\n height: parseInt(m[1]) + 1,\n domains: 'all'\n };\n }\n }\n }\n\n callback(e, message);\n }\n\n // browser supports window.postMessage\n if (window['postMessage']) {\n if (window['addEventListener']) {\n window[callback ? 'addEventListener' : 'removeEventListener']('message', cb, !1);\n } else {\n window[callback ? 'attachEvent' : 'detachEvent']('onmessage', cb);\n }\n }\n}\n\nfunction findIframeByContentWindow(iframes, contentWindow) {\n var foundIframe;\n for(var i = 0; i < iframes.length && !foundIframe; i++) {\n var iframe = iframes[i];\n if (iframe.contentWindow === contentWindow) {\n foundIframe = iframe;\n }\n }\n return foundIframe;\n}\n\nfunction findIframeInElement(element, options) {\n var foundIframe, iframes;\n \n if (options.src) {\n iframes = element.querySelectorAll('iframe[src*=\"' + options.src.replace(/^https?:/, '') + '\"]');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n if (!foundIframe) {\n iframes = options.domains ?\n element.querySelectorAll('iframe[src*=\"' + (options.domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]')\n : element.getElementsByTagName('iframe');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n return foundIframe;\n}\n\nfunction findIframeInShadowRoots(element, options) {\n var foundIframe;\n var className = '.' + (iframely.config.shadow || iframely.SHADOW);\n var shadowRoots = element.querySelectorAll(className);\n for(var i = 0; i < shadowRoots.length && !foundIframe; i++) {\n var shadowRoot = shadowRoots[i].shadowRoot;\n if (shadowRoot) {\n foundIframe = findIframeInElement(shadowRoot, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(shadowRoot, options);\n }\n }\n }\n return foundIframe;\n}\n\n// Do not override existing.\nif (!iframely.findIframe) {\n iframely.findIframe = function(options) {\n var foundIframe = findIframeInElement(document, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(document, options);\n }\n return foundIframe;\n };\n}\n\n\nreceiveMessage(function(e, message) {\n if (message && (message.method || message.type || message.context === 'player.js')) {\n\n var foundIframe = iframely.findIframe({\n contentWindow: e.source,\n src: message.context,\n domains: message.domains !== 'all' && iframely.DOMAINS.concat(iframely.CDN)\n });\n\n if (foundIframe) {\n var widget = utils.getWidget(foundIframe);\n if (widget && message.url) {\n widget.url = message.url;\n }\n iframely.trigger('message', widget, message);\n }\n }\n \n});\n\n\nexports.postMessage = function(message, target_url, target) {\n if (window['postMessage']) {\n\n if (typeof message === 'object') {\n message.context = document.location.href;\n }\n\n message = JSON.stringify(message);\n\n target_url = target_url || '*';\n\n target = target || window.parent; // default to parent\n\n // the browser supports window.postMessage, so call it with a targetOrigin\n // set appropriately, based on the target_url parameter.\n target['postMessage'](message, target_url.replace( /([^:]+:\\/\\/[^/]+).*/, '$1'));\n }\n};\n\n//# sourceURL=webpack:///./messaging.js?"); +eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\n\nfunction receiveMessage(callback) {\n\n function cb(e) {\n var message;\n try {\n if (typeof e.data === 'string') {\n message = JSON.parse(e.data);\n } else if (typeof e.data === 'object') {\n message = e.data;\n }\n } catch (ex) {\n if (typeof e.data === 'string') {\n var m = e.data.match(/heightxPYMx(\\d+)/);\n if (m) {\n message = {\n method: 'resize',\n height: parseInt(m[1]) + 1,\n domains: 'all'\n };\n }\n }\n }\n\n callback(e, message);\n }\n\n // browser supports window.postMessage\n if (window['postMessage']) {\n if (window['addEventListener']) {\n window[callback ? 'addEventListener' : 'removeEventListener']('message', cb, !1);\n } else {\n window[callback ? 'attachEvent' : 'detachEvent']('onmessage', cb);\n }\n }\n}\n\nfunction findIframeByContentWindow(iframes, contentWindow) {\n var foundIframe;\n for(var i = 0; i < iframes.length && !foundIframe; i++) {\n var iframe = iframes[i];\n if (iframe.contentWindow === contentWindow) {\n foundIframe = iframe;\n }\n }\n return foundIframe;\n}\n\nfunction findIframeInElement(element, options) {\n var foundIframe, iframes;\n \n if (options.src) {\n iframes = element.querySelectorAll('iframe[src*=\"' + options.src.replace(/^https?:/, '') + '\"]');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n if (!foundIframe) {\n iframes = options.domains ?\n element.querySelectorAll('iframe[src*=\"' + (options.domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]')\n : element.getElementsByTagName('iframe');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n return foundIframe;\n}\n\nfunction findIframeInShadowRoots(element, options) {\n var foundIframe;\n var className = '.' + (iframely.config.shadow || iframely.SHADOW);\n var shadowRoots = element.querySelectorAll(className);\n for(var i = 0; i < shadowRoots.length && !foundIframe; i++) {\n var shadowRoot = shadowRoots[i].shadowRoot;\n if (shadowRoot) {\n foundIframe = findIframeInElement(shadowRoot, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(shadowRoot, options);\n }\n }\n }\n return foundIframe;\n}\n\n// Do not override existing.\nif (!iframely.findIframe) {\n iframely.findIframe = function(options) {\n var foundIframe = findIframeInElement(document, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(document, options);\n }\n return foundIframe;\n };\n}\n\n\nreceiveMessage(function(e, message) {\n\n if (message && (message.method || message.type || message.context)) {\n\n var foundIframe = iframely.findIframe({\n contentWindow: e.source,\n src: message.src || message.context,\n domains: message.domains !== 'all' && iframely.DOMAINS.concat(iframely.CDN)\n });\n\n if (foundIframe) {\n var widget = utils.getWidget(foundIframe);\n if (widget && message.url) {\n widget.url = message.url;\n }\n iframely.trigger('message', widget, message);\n }\n }\n \n});\n\n\nexports.postMessage = function(message, target_url, target) {\n if (window['postMessage']) {\n\n if (typeof message === 'object') {\n message.context = document.location.href;\n }\n\n message = JSON.stringify(message);\n\n target_url = target_url || '*';\n\n target = target || window.parent; // default to parent\n\n // the browser supports window.postMessage, so call it with a targetOrigin\n // set appropriately, based on the target_url parameter.\n target['postMessage'](message, target_url.replace( /([^:]+:\\/\\/[^/]+).*/, '$1'));\n }\n};\n\n\n//# sourceURL=webpack:///./messaging.js?"); /***/ }), @@ -291,7 +291,7 @@ eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'setIframelyEmbedOptions') {\n // console.log('setIframelyEmbedOptions', message.data);\n iframely.trigger('options', widget, message.data);\n }\n});\n\n//# sourceURL=webpack:///./widget-options.js?"); +eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'setIframelyEmbedOptions') {\n iframely.trigger('options', widget, message.data);\n }\n});\n\n\n//# sourceURL=webpack:///./widget-options.js?"); /***/ }), @@ -302,7 +302,7 @@ eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n\n if (message.method === 'setIframelyWidgetSize' \n || message.method === 'resize' \n || message.method === 'setIframelyEmbedData' \n || message.type === 'embed-size'\n || message.context === 'iframe.resize') {\n\n var frame_styles = null;\n\n if (message.data && message.data.media && message.data.media.frame_style) {\n\n message.data.media.frame_style.split(';').forEach(function(str) {\n\n if(str.trim() !== '' && str.indexOf(':') > -1) {\n var props = str.split(':');\n if (props.length === 2) {\n frame_styles = frame_styles || {};\n frame_styles[props[0].trim()] = props[1].trim();\n }\n }\n });\n\n widgetDecorate(widget, frame_styles);\n\n } else if (message.method === 'setIframelyEmbedData') {\n\n // setIframelyEmbedData always sets frame_style. If not - reset.\n // setIframelyEmbedData without message.data resets border.\n widgetDecorate(widget, null);\n }\n\n var media = message.data && message.data.media;\n if (!media && message.height) {\n media = {\n height: message.height,\n 'max-width': 'keep'\n };\n }\n\n widgetResize(widget, media);\n }\n});\n\n// All frame_style attributes.\nvar resetWrapperBorderStyles = {'border': '', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\nvar resetIframeBorderStyles = {'border': '0', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\n\nfunction widgetDecorate(widget, styles) {\n\n if (styles && widget && widget.iframe) {\n\n if (styles['border-radius']) {\n // fix for Chrome?\n styles.overflow = 'hidden';\n utils.setStyles(widget.aspectWrapper, styles);\n } else {\n utils.setStyles(widget.iframe, styles);\n }\n\n } else if (!styles && widget && widget.iframe) {\n\n utils.setStyles(widget.aspectWrapper, resetWrapperBorderStyles);\n utils.setStyles(widget.iframe, resetIframeBorderStyles);\n }\n}\n\nfunction getTotalBorderWidth(widget) {\n\n // Get frame style from iframe or aspect wrapper as in widgetDecorate for Chrome fix.\n var frameStylesBorder = \n (widget.iframe && widget.iframe.style.border) \n || (widget.aspectWrapper && widget.aspectWrapper.style.border);\n\n // Get iframe border width from frame style.\n var borderWidth = frameStylesBorder && frameStylesBorder.match(/(\\d+)px/) || 0;\n if (borderWidth) {\n borderWidth = parseInt(borderWidth[1]);\n // For width and height border size will be 2x.\n borderWidth = borderWidth * 2;\n }\n\n return borderWidth;\n}\n\nfunction widgetResize(widget, media) {\n\n if (media && Object.keys(media).length > 0 && widget) {\n\n var borderWidth = getTotalBorderWidth(widget);\n\n var oldIframeHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n\n var maxWidth = media['max-width'];\n if (typeof maxWidth === 'number') {\n // Can be max-width: 56vh.\n maxWidth += borderWidth;\n }\n\n utils.setStyles(widget.maxWidthWrapper, {\n 'max-width': maxWidth,\n 'min-width': media['min-width'] && (media['min-width'] + borderWidth),\n width: media.width && (media.width + borderWidth)\n });\n\n if (media.scrolling && widget.iframe) {\n widget.iframe.setAttribute('scrolling', media.scrolling);\n }\n\n var aspectRatio = media['aspect-ratio'];\n\n // If no aspect and height - do not change aspect wrapper.\n if (aspectRatio || media.height) {\n utils.setStyles(widget.aspectWrapper, {\n paddingBottom: aspectRatio ? (Math.round(1000 * 100 / aspectRatio) / 1000 + '%') : 0, // if fixed-size, it will get set to 0\n paddingTop: aspectRatio && media['padding-bottom'], // if a fixed-height padding at the bottom of responsive div is required\n height: aspectRatio ? 0 : (media.height && (media.height + borderWidth)) // if defined\n });\n }\n\n\n var currentHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n if (oldIframeHeight && oldIframeHeight !== currentHeight) {\n iframely.triggerAsync('heightChanged', widget.iframe, oldIframeHeight, currentHeight);\n }\n\n }\n}\n\n//# sourceURL=webpack:///./widget-resize.js?"); +eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n\n if (message.method === 'setIframelyWidgetSize' \n || message.method === 'resize' \n || message.method === 'setIframelyEmbedData' \n || message.type === 'embed-size'\n || message.context === 'iframe.resize') {\n\n var frame_styles = null;\n\n if (message.data && message.data.media && message.data.media.frame_style) {\n\n message.data.media.frame_style.split(';').forEach(function(str) {\n\n if(str.trim() !== '' && str.indexOf(':') > -1) {\n var props = str.split(':');\n if (props.length === 2) {\n frame_styles = frame_styles || {};\n frame_styles[props[0].trim()] = props[1].trim();\n }\n }\n });\n\n widgetDecorate(widget, frame_styles);\n\n } else if (message.method === 'setIframelyEmbedData') {\n\n // setIframelyEmbedData always sets frame_style. If not - reset.\n // setIframelyEmbedData without message.data resets border.\n widgetDecorate(widget, null);\n }\n\n var media = message.data && message.data.media;\n if (!media && message.height) {\n media = {\n height: message.height,\n 'max-width': 'keep'\n };\n }\n\n widgetResize(widget, media);\n }\n});\n\n// All frame_style attributes.\nvar resetWrapperBorderStyles = {'border': '', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\nvar resetIframeBorderStyles = {'border': '0', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\n\nfunction widgetDecorate(widget, styles) {\n\n if (styles && widget && widget.iframe) {\n\n if (styles['border-radius']) {\n // fix for Chrome?\n styles.overflow = 'hidden';\n utils.setStyles(widget.aspectWrapper, styles);\n } else {\n utils.setStyles(widget.iframe, styles);\n }\n\n } else if (!styles && widget && widget.iframe) {\n\n utils.setStyles(widget.aspectWrapper, resetWrapperBorderStyles);\n utils.setStyles(widget.iframe, resetIframeBorderStyles);\n }\n}\n\nfunction getTotalBorderWidth(widget) {\n\n // Get frame style from iframe or aspect wrapper as in widgetDecorate for Chrome fix.\n var frameStylesBorder = \n (widget.iframe && widget.iframe.style.border) \n || (widget.aspectWrapper && widget.aspectWrapper.style.border);\n\n // Get iframe border width from frame style.\n var borderWidth = frameStylesBorder && frameStylesBorder.match(/(\\d+)px/) || 0;\n if (borderWidth) {\n borderWidth = parseInt(borderWidth[1]);\n // For width and height border size will be 2x.\n borderWidth = borderWidth * 2;\n }\n\n return borderWidth;\n}\n\nfunction widgetResize(widget, media) {\n\n if (media && Object.keys(media).length > 0 && widget) {\n\n var borderWidth = getTotalBorderWidth(widget);\n\n var oldIframeHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n\n var maxWidth = media['max-width'];\n if (typeof maxWidth === 'number') {\n // Can be max-width: 56vh.\n maxWidth += borderWidth;\n }\n\n utils.setStyles(widget.maxWidthWrapper, {\n 'max-width': maxWidth,\n 'min-width': media['min-width'] && (media['min-width'] + borderWidth),\n width: media.width && (media.width + borderWidth)\n });\n\n if (media.scrolling && widget.iframe) {\n widget.iframe.setAttribute('scrolling', media.scrolling);\n }\n\n var aspectRatio = media['aspect-ratio'];\n\n // If no aspect and height - do not change aspect wrapper.\n if (aspectRatio || media.height) {\n utils.setStyles(widget.aspectWrapper, {\n paddingBottom: aspectRatio ? (Math.round(1000 * 100 / aspectRatio) / 1000 + '%') : 0, // if fixed-size, it will get set to 0\n paddingTop: aspectRatio && media['padding-bottom'], // if a fixed-height padding at the bottom of responsive div is required\n height: aspectRatio ? 0 : (media.height && (media.height + borderWidth)) // if defined\n });\n }\n\n\n var currentHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n if (oldIframeHeight && oldIframeHeight !== currentHeight) {\n iframely.triggerAsync('heightChanged', widget.iframe, oldIframeHeight, currentHeight);\n }\n\n }\n}\n\n\n//# sourceURL=webpack:///./widget-resize.js?"); /***/ }) diff --git a/dist/options.js b/dist/options.js index be42306..efe859e 100644 --- a/dist/options.js +++ b/dist/options.js @@ -148,7 +148,7 @@ eval("var checkboxTemplate = __webpack_require__(/*! ./templates/checkbox.ejs */ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n \" name=\"<%= key %>\"<% if (checked) { %> checked=\"checked\"<% } %>>\\n \\n
\\n', __filename = \"src/options/templates/checkbox.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n \\n \\n
\\n\");\n __line = 7;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?"); /***/ }), @@ -159,7 +159,7 @@ eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n
\\n <%- elementsHtml %>\\n
\\n
', __filename = \"src/options/templates/group.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n
\\n ');\n __line = 3;\n __append(elementsHtml);\n __append(\"\\n
\\n
\");\n __line = 5;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?"); /***/ }), @@ -170,7 +170,7 @@ eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n <% if (label) { %>\\n \\n <% } %>\\n
iframely-option__group-inline<% } %>\">\\n <% items.forEach(function(subContext) { %>\\n
\\n \" name=\"<%= key %>\" value=\"<%= subContext.value %>\"<% if (subContext.checked) { %> checked=\"checked\"<% } %>>\\n \\n
\\n <% }); %>\\n
\\n
', __filename = \"src/options/templates/radio.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n ');\n __line = 2;\n if (label) {\n __append('\\n \\n \");\n __line = 6;\n }\n __append('\\n
\\n ');\n __line = 8;\n items.forEach(function(subContext) {\n __append('\\n
\\n \\n \\n
\\n \");\n __line = 15;\n });\n __append(\"\\n
\\n
\");\n __line = 17;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?"); /***/ }), @@ -181,7 +181,7 @@ eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n \\n
\\n \" name=\"<%= key %>\" min=\"<%= min %>\" max=\"<%= max %>\" step=\"1\" value=\"<%= value %>\" style=\"--min: <%= min %>; --max: <%= max %>; --val: <%= value %>;\">\\n
\\n
', __filename = \"src/options/templates/range.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n \\n
\\n \\n
\\n
');\n __line = 6;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?"); /***/ }), @@ -192,7 +192,7 @@ eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n \\n
\\n \\n
\\n
', __filename = \"src/options/templates/select.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n \\n
\\n \\n
\\n
\");\n __line = 10;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?"); /***/ }), @@ -203,7 +203,7 @@ eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\ /*! no static exports found */ /***/ (function(module, exports) { -eval("module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n rethrow = rethrow || function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function(line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n };\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __line = 1, __lines = '
\\n \\n
\\n \" class=\"iframely-option__input iframely-option__text\" id=\"<%= key %>\" name=\"<%= key %>\" placeholder=\"<%= placeholder %>\" value=\"<%= value %>\">\\n
\\n
', __filename = \"src/options/templates/text.ejs\";\n try {\n var __output = \"\";\n function __append(s) {\n if (s !== undefined && s !== null) __output += s;\n }\n with (locals || {}) {\n __append('
\\n \\n
\\n \\n
\\n
');\n __line = 6;\n }\n return __output;\n } catch (e) {\n rethrow(e, __lines, __filename, __line, escapeFn);\n }\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?"); +eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?"); /***/ }) diff --git a/dist/options.min.js b/dist/options.min.js index e353356..55d192f 100644 --- a/dist/options.min.js +++ b/dist/options.min.js @@ -1 +1 @@ -!function(e){var n={};function t(a){if(n[a])return n[a].exports;var l=n[a]={i:a,l:!1,exports:{}};return e[a].call(l.exports,l,l.exports,t),l.l=!0,l.exports}t.m=e,t.c=n,t.d=function(e,n,a){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:a})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(t.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var l in e)t.d(a,l,function(n){return e[n]}.bind(null,l));return a},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=19)}([function(e,n){var t=window.iframely=window.iframely||{};t.config=t.config||{},e.exports=t},,,,,,,,,,,,,,,,,,,function(e,n,t){var a=t(0),l=t(20),o=t(22);a.buildOptionsForm=function(e,n,t,a){l({id:e,formContainer:n,options:t,renderer:o,translator:a})},n.iframely=a},function(e,n,t){var a=t(21),l=t(0),o={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var n=e[0],t=n.value;return"number"===n.type&&(t=parseInt(t),isNaN(t)&&(t="")),t},customEvents:function(e,n){var t=e[0];l.addEventListener(t,"click",(function(){t.select()})),l.addEventListener(t,"blur",n),l.addEventListener(t,"keyup",(function(e){13===e.keyCode&&n()}))}},radio:{getValue:function(e){var n;return e.forEach((function(e){e.checked&&(n=e)})),n.value}}},i={};e.exports=function(e){var n=e.options,t=e.formContainer;if(t)if(n){var _=a(n,e.translator),p=e.id,r=e.renderer,c=i[p]=i[p]||{};Object.keys(n).forEach((function(e){n.query&&-1!==n.query.indexOf(e)||(c[e]=n[e].value)}));var s=function(e){var n="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=s(e.context.elements)),n+=r(e.type,e.context||{})})),n};t.innerHTML=s(_);var u=function(e){e.forEach((function(e){if(e.context&&e.context.elements)u(e.context.elements);else{var n=o[e.type];e.context&&(e.inputs=t.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?n&&n.customEvents?n.customEvents(e.inputs,d):e.inputs.forEach((function(e){l.addEventListener(e,"change",d)})):console.warn("No inputs found for option",e.key))}}))};u(_)}else t.innerHTML="";else console.warn("No formContainer in form-builder options",e);function d(){var e=function(){var e={},n=function(t){t.forEach((function(t){if(t.context&&t.context.elements)n(t.context.elements);else if(t.inputs){var a,l=o[t.type];a=l&&l.getValue?l.getValue(t.inputs):t.inputs[0].value,Object.assign(e,t.getQuery(a))}}))};return n(_),e}();Object.keys(c).forEach((function(n){c[n]!==e[n]&&void 0!==e[n]||delete e[n]})),l.trigger("options-changed",p,t,e)}}},function(e,n){var t=/^_./,a=function(e,n){return n&&"function"==typeof n&&n(e)||e};e.exports=function(e,n){if(!e)return[];delete(e=Object.assign({},e)).query;var l=[],o=Object.keys(e),i=0;if(o.forEach((function(o){var _,p,r={},c=e[o];c.key=o;var s,u,d=c.values&&Object.keys(c.values);if(d&&1===d.length&&(p=!0,s=d[0],u=c.values[s]),r.label=a(u||c.label,n),r.key=c.key,p||"boolean"==typeof c.value)r.checked=p?s===c.value||!s&&!c.value:c.value,i++,l.push({type:"checkbox",context:r,order:t.test(o)?0:1,getQuery:function(e){var n;n=p?e?s:"":e;var t={};return p?""===n||(t[c.key]=n):t[c.key]=e,t}});else if("number"!=typeof c.value&&"string"!=typeof c.value||c.values){if(c.values)if(r.value=c.value+"",_=function(e){var n={};return""===e||(n[c.key]=e),n},Object.keys(c.values).length<=3){c.label?r.label=a(c.label,n):r.label=!1;for(var f=0,m=!1,v=Object.values(c.values);f8,f++}r.inline=!m,r.items=[],Object.keys(c.values).forEach((function(e,t){r.items.push({id:r.key+"-"+t,value:e,label:a(c.values[e],n),checked:r.value===e})})),l.push({type:"radio",context:r,order:m?-3:/theme/.test(o)?-1:-2,getQuery:_})}else r.items=[],Object.keys(c.values).forEach((function(e){r.items.push({value:e,label:a(c.values[e],n),checked:r.value===e})})),l.push({type:"select",context:r,order:5,getQuery:_})}else{var y=c.range&&"number"==typeof c.range.min&&"number"==typeof c.range.max,h="number"==typeof c.value;r.value=c.value,_=function(e){var n={};return""===e||(n[c.key]=e),n},y?(r.min=c.range.min,r.max=c.range.max,l.push({type:"range",context:r,order:9,getQuery:_})):(r.placeholder=a(c.placeholder||"",n),r.inputType=h?"number":"text",l.push({type:"text",context:r,order:/start/i.test(o)?7:8,getQuery:_}))}})),l.sort((function(e,n){return e.order-n.order})),l.forEach((function(e){delete e.order})),i>0){var _,p=[];return l.forEach((function(e,n){if("checkbox"===e.type){var a=i>2&&n>0&&!t.test(e.context.key)&&"checkbox"===l[n-1].type&&t.test(l[n-1].context.key);_&&!a||(_=[],p.push({type:"group",context:{elements:_}})),_.push(e)}else p.push(e)})),p}return l}},function(e,n,t){var a={checkbox:t(23),range:t(24),text:t(25),radio:t(26),select:t(27),group:t(28)};e.exports=function(e,n){return(0,a[e])(n)}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,n,t,a,l){var o=n.split("\n"),i=Math.max(a-3,0),_=Math.min(o.length,a+3),p=l(t),r=o.slice(i,_).map((function(e,n){var t=n+i+1;return(t==a?" >> ":" ")+t+"| "+e})).join("\n");throw e.path=p,e.message=(p||"ejs")+":"+a+"\n"+r+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n checked="checked"<% } %>>\n \n
\n',__filename="src/options/templates/checkbox.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n \n
\n"),__line=7;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,n,t,a,l){var o=n.split("\n"),i=Math.max(a-3,0),_=Math.min(o.length,a+3),p=l(t),r=o.slice(i,_).map((function(e,n){var t=n+i+1;return(t==a?" >> ":" ")+t+"| "+e})).join("\n");throw e.path=p,e.message=(p||"ejs")+":"+a+"\n"+r+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/range.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,n,t,a,l){var o=n.split("\n"),i=Math.max(a-3,0),_=Math.min(o.length,a+3),p=l(t),r=o.slice(i,_).map((function(e,n){var t=n+i+1;return(t==a?" >> ":" ")+t+"| "+e})).join("\n");throw e.path=p,e.message=(p||"ejs")+":"+a+"\n"+r+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/text.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
'),__line=6;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,n,t,a,l){var o=n.split("\n"),i=Math.max(a-3,0),_=Math.min(o.length,a+3),p=l(t),r=o.slice(i,_).map((function(e,n){var t=n+i+1;return(t==a?" >> ":" ")+t+"| "+e})).join("\n");throw e.path=p,e.message=(p||"ejs")+":"+a+"\n"+r+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n <% if (label) { %>\n \n <% } %>\n
\n <% items.forEach(function(subContext) { %>\n
\n checked="checked"<% } %>>\n \n
\n <% }); %>\n
\n
',__filename="src/options/templates/radio.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n '),__line=2,label&&(__append('\n \n "),__line=6),__append('\n
\n '),__line=8,items.forEach((function(e){__append('\n
\n \n \n
\n "),__line=15})),__append("\n
\n
"),__line=17;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,n,t,a,l){var o=n.split("\n"),i=Math.max(a-3,0),_=Math.min(o.length,a+3),p=l(t),r=o.slice(i,_).map((function(e,n){var t=n+i+1;return(t==a?" >> ":" ")+t+"| "+e})).join("\n");throw e.path=p,e.message=(p||"ejs")+":"+a+"\n"+r+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n \n
\n \n
\n
',__filename="src/options/templates/select.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n \n
\n \n
\n
"),__line=10;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}},function(module,exports){module.exports=function anonymous(locals,escapeFn,include,rethrow){rethrow=rethrow||function(e,n,t,a,l){var o=n.split("\n"),i=Math.max(a-3,0),_=Math.min(o.length,a+3),p=l(t),r=o.slice(i,_).map((function(e,n){var t=n+i+1;return(t==a?" >> ":" ")+t+"| "+e})).join("\n");throw e.path=p,e.message=(p||"ejs")+":"+a+"\n"+r+"\n\n"+e.message,e},escapeFn=escapeFn||function(e){return null==e?"":String(e).replace(_MATCH_HTML,encode_char)};var _ENCODE_HTML_RULES={"&":"&","<":"<",">":">",'"':""","'":"'"},_MATCH_HTML=/[&<>'"]/g;function encode_char(e){return _ENCODE_HTML_RULES[e]||e}var __line=1,__lines='
\n
\n <%- elementsHtml %>\n
\n
',__filename="src/options/templates/group.ejs";try{var __output="";function __append(e){null!=e&&(__output+=e)}with(locals||{})__append('
\n
\n '),__line=3,__append(elementsHtml),__append("\n
\n
"),__line=5;return __output}catch(e){rethrow(e,__lines,__filename,__line,escapeFn)}}}]); \ No newline at end of file +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=19)}([function(e,t){var n=window.iframely=window.iframely||{};n.config=n.config||{},e.exports=n},,,,,,,,,,,,,,,,,,,function(e,t,n){var r=n(0),o=n(20),u=n(22);r.buildOptionsForm=function(e,t,n,r){o({id:e,formContainer:t,options:n,renderer:u,translator:r})},t.iframely=r},function(e,t,n){var r=n(21),o=n(0),u={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];o.addEventListener(n,"click",(function(){n.select()})),o.addEventListener(n,"blur",t),o.addEventListener(n,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},l={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var s=r(t,e.translator),a=e.id,i=e.renderer,c=l[a]=l[a]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(c[e]=t[e].value)}));var f=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=f(e.context.elements)),t+=i(e.type,e.context||{})})),t};n.innerHTML=f(s);var p=function(e){e.forEach((function(e){if(e.context&&e.context.elements)p(e.context.elements);else{var t=u[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,d):e.inputs.forEach((function(e){o.addEventListener(e,"change",d)})):console.warn("No inputs found for option",e.key))}}))};p(s)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function d(){var e=function(){var e={},t=function(n){n.forEach((function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var r,o=u[n.type];r=o&&o.getValue?o.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(r))}}))};return t(s),e}();Object.keys(c).forEach((function(t){c[t]!==e[t]&&void 0!==e[t]||delete e[t]})),o.trigger("options-changed",a,n,e)}}},function(e,t){var n=/^_./,r=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var o=[],u=Object.keys(e),l=0;if(u.forEach((function(u){var s,a,i={},c=e[u];c.key=u;var f,p,d=c.values&&Object.keys(c.values);if(d&&1===d.length&&(a=!0,f=d[0],p=c.values[f]),i.label=r(p||c.label,t),i.key=c.key,a||"boolean"==typeof c.value)i.checked=a?f===c.value||!f&&!c.value:c.value,l++,o.push({type:"checkbox",context:i,order:n.test(u)?0:1,getQuery:function(e){var t;t=a?e?f:"":e;var n={};return a?""===t||(n[c.key]=t):n[c.key]=e,n}});else if("number"!=typeof c.value&&"string"!=typeof c.value||c.values){if(c.values)if(i.value=c.value+"",s=function(e){var t={};return""===e||(t[c.key]=e),t},Object.keys(c.values).length<=3){c.label?i.label=r(c.label,t):i.label=!1;for(var y=0,v=!1,h=Object.values(c.values);y8,y++}i.inline=!v,i.items=[],Object.keys(c.values).forEach((function(e,n){i.items.push({id:i.key+"-"+n,value:e,label:r(c.values[e],t),checked:i.value===e})})),o.push({type:"radio",context:i,order:v?-3:/theme/.test(u)?-1:-2,getQuery:s})}else i.items=[],Object.keys(c.values).forEach((function(e){i.items.push({value:e,label:r(c.values[e],t),checked:i.value===e})})),o.push({type:"select",context:i,order:5,getQuery:s})}else{var b=c.range&&"number"==typeof c.range.min&&"number"==typeof c.range.max,x="number"==typeof c.value;i.value=c.value,s=function(e){var t={};return""===e||(t[c.key]=e),t},b?(i.min=c.range.min,i.max=c.range.max,o.push({type:"range",context:i,order:9,getQuery:s})):(i.placeholder=r(c.placeholder||"",t),i.inputType=x?"number":"text",o.push({type:"text",context:i,order:/start/i.test(u)?7:8,getQuery:s}))}})),o.sort((function(e,t){return e.order-t.order})),o.forEach((function(e){delete e.order})),l>0){var s,a=[];return o.forEach((function(e,t){if("checkbox"===e.type){var r=l>2&&t>0&&!n.test(e.context.key)&&"checkbox"===o[t-1].type&&n.test(o[t-1].context.key);s&&!r||(s=[],a.push({type:"group",context:{elements:s}})),s.push(e)}else a.push(e)})),a}return o}},function(e,t,n){var r={checkbox:n(23),range:n(24),text:n(25),radio:n(26),select:n(27),group:n(28)};e.exports=function(e,t){return(0,r[e])(t)}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}}]); \ No newline at end of file diff --git a/package.json b/package.json index 453a2ad..994af31 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "webpack": "^4.29.6", "webpack-cli": "^3.3.0", "webpack-merge": "^4.2.1", - "ejs": "^2.6.1", + "ejs": "^5.0.1", "html-minifier": "^3.5.19", "uglify-js": "^3.4.6" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a35e18..33a0761 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: specifier: 0.0.2 version: 0.0.2(webpack@4.47.0) ejs: - specifier: ^2.6.1 - version: 2.7.4 + specifier: ^5.0.1 + version: 5.0.1 eslint: specifier: ^5.15.3 version: 5.16.0 @@ -510,9 +510,10 @@ packages: duplexify@3.7.1: resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} - ejs@2.7.4: - resolution: {integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==} - engines: {node: '>=0.10.0'} + ejs@5.0.1: + resolution: {integrity: sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A==} + engines: {node: '>=0.12.18'} + hasBin: true elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} @@ -2475,7 +2476,7 @@ snapshots: readable-stream: 2.3.8 stream-shift: 1.0.3 - ejs@2.7.4: {} + ejs@5.0.1: {} elliptic@6.6.1: dependencies: From 0196cb43457b5aeac8e2f8121688ae5ec821f45b Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Thu, 12 Mar 2026 17:44:52 +0200 Subject: [PATCH 7/9] upgrade `webpack` --- audit.log | 200 +- conf/webpack.development.js | 6 +- conf/webpack.production.js | 23 +- dist/embed-options.js | 490 ++--- dist/embed-options.min.js | 2 +- dist/embed.js | 336 ++- dist/embed.min.js | 2 +- dist/options.i18n.de.js | 166 +- dist/options.i18n.de.min.js | 2 +- dist/options.i18n.fr.js | 166 +- dist/options.i18n.fr.min.js | 2 +- dist/options.js | 300 ++- dist/options.min.js | 2 +- package.json | 14 +- pnpm-lock.yaml | 3989 ++++++++++------------------------- webpack.config.js | 5 +- 16 files changed, 1770 insertions(+), 3935 deletions(-) diff --git a/audit.log b/audit.log index d81afaf..ac8e453 100644 --- a/audit.log +++ b/audit.log @@ -1,60 +1,4 @@ ┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ critical │ pbkdf2 returns predictable uninitialized/zero-filled │ -│ │ memory for non-normalized or unimplemented algos │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ pbkdf2 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ >=3.0.10 <=3.1.2 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=3.1.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>node-libs-browser>crypto-browserify>pbkdf2 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-h7cp-r72f-jxh6 │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ critical │ sha.js is missing type checks leading to hash rewind │ -│ │ and passing on crafted data │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ sha.js │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <=2.4.11 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=2.4.12 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>node-libs-browser>crypto-browserify>create- │ -│ │ hash>sha.js │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-95m3-7q98-8xr5 │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ critical │ pbkdf2 silently disregards Uint8Array input, returning │ -│ │ static keys │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ pbkdf2 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ >=1.0.0 <=3.1.2 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=3.1.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>node-libs-browser>crypto-browserify>pbkdf2 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-v62p-rq8g-8h59 │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ high │ Uncontrolled resource consumption in braces │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ braces │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <3.0.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=3.0.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>micromatch>braces │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-grv7-fg5c-xmjg │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ │ high │ kangax html-minifier REDoS vulnerability │ ├─────────────────────┼────────────────────────────────────────────────────────┤ │ Package │ html-minifier │ @@ -111,89 +55,6 @@ │ More info │ https://github.com/advisories/GHSA-23c5-xmqv-rm74 │ └─────────────────────┴────────────────────────────────────────────────────────┘ ┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ high │ Serialize JavaScript is Vulnerable to RCE via │ -│ │ RegExp.flags and Date.prototype.toISOString() │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ serialize-javascript │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <=7.0.2 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=7.0.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>terser-webpack-plugin>serialize-javascript │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-5c6j-r48x-rmvq │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ moderate │ Regular Expression Denial of Service (ReDoS) in │ -│ │ micromatch │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ micromatch │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <4.0.8 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=4.0.8 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>micromatch │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-952p-6rrq-rcjv │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ moderate │ Lodash has Prototype Pollution Vulnerability in │ -│ │ `_.unset` and `_.omit` functions │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ lodash │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ >=4.0.0 <=4.17.22 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=4.17.23 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>eslint>lodash │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-xxjr-mmjv-4gpg │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ moderate │ js-yaml has prototype pollution in merge (<<) │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ js-yaml │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <3.14.2 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=3.14.2 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>eslint>js-yaml │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-mh29-5h37-fv8m │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ moderate │ bn.js affected by an infinite loop │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ bn.js │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ >=5.0.0 <5.2.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=5.2.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>node-libs-browser>crypto- │ -│ │ browserify>browserify-sign>bn.js │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-378v-28hj-76wf │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ moderate │ bn.js affected by an infinite loop │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ bn.js │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <4.12.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=4.12.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>node-libs-browser>crypto- │ -│ │ browserify>browserify-sign>elliptic>bn.js │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-378v-28hj-76wf │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ │ moderate │ ajv has ReDoS when using `$data` option │ ├─────────────────────┼────────────────────────────────────────────────────────┤ │ Package │ ajv │ @@ -206,62 +67,5 @@ ├─────────────────────┼────────────────────────────────────────────────────────┤ │ More info │ https://github.com/advisories/GHSA-2g4f-4pwh-qvx6 │ └─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ moderate │ qs's arrayLimit bypass in its bracket notation allows │ -│ │ DoS via memory exhaustion │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ qs │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <6.14.1 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=6.14.1 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>node-libs-browser>url>qs │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-6rw7-vpxm-498p │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ low │ tmp allows arbitrary temporary file / directory write │ -│ │ via symbolic link `dir` parameter │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ tmp │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <=0.2.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=0.2.4 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>eslint>inquirer>external-editor>tmp │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-52f5-9888-hmc6 │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ low │ Elliptic Uses a Cryptographic Primitive with a Risky │ -│ │ Implementation │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ elliptic │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <=6.6.1 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ <0.0.0 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>node-libs-browser>crypto- │ -│ │ browserify>browserify-sign>elliptic │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-848j-6mx2-7j84 │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ low │ qs's arrayLimit bypass in comma parsing allows denial │ -│ │ of service │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ qs │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ >=6.7.0 <=6.14.1 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=6.14.2 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>webpack>node-libs-browser>url>qs │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-w7fw-mjwx-w883 │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -19 vulnerabilities found -Severity: 3 low | 7 moderate | 6 high | 3 critical +5 vulnerabilities found +Severity: 1 moderate | 4 high diff --git a/conf/webpack.development.js b/conf/webpack.development.js index eaae0c5..5597798 100644 --- a/conf/webpack.development.js +++ b/conf/webpack.development.js @@ -1,11 +1,11 @@ -const Merge = require('webpack-merge'); +const { merge } = require('webpack-merge'); const CommonConfig = require('./webpack.common.js'); const path = require('path'); -module.exports = Merge(CommonConfig, { +module.exports = merge(CommonConfig, { mode: 'development', output: { path: path.join(process.cwd(), 'dist'), filename: '[name].js' }, -}); \ No newline at end of file +}); diff --git a/conf/webpack.production.js b/conf/webpack.production.js index 8c7f96a..7cca9f9 100644 --- a/conf/webpack.production.js +++ b/conf/webpack.production.js @@ -1,16 +1,9 @@ -const Merge = require('webpack-merge'); +const { merge } = require('webpack-merge'); const CommonConfig = require('./webpack.common.js'); const path = require('path'); +const ESLintPlugin = require('eslint-webpack-plugin'); -module.exports = Merge(CommonConfig, { - module: { - rules: [{ - enforce: "pre", //to check source files, not modified by other loaders (like babel-loader) - test: /\.js$/, - exclude: /node_modules/, - loader: "eslint-loader" - }] - }, +module.exports = merge(CommonConfig, { mode: 'production', optimization: { minimize: true @@ -18,5 +11,11 @@ module.exports = Merge(CommonConfig, { output: { path: path.join(process.cwd(), 'dist'), filename: '[name].min.js' - } -}); \ No newline at end of file + }, + plugins: [ + new ESLintPlugin({ + extensions: ['js'], + exclude: 'node_modules' + }) + ] +}); diff --git a/dist/embed-options.js b/dist/embed-options.js index 827b234..4d2508e 100644 --- a/dist/embed-options.js +++ b/dist/embed-options.js @@ -1,419 +1,355 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./index-options.js"); -/******/ }) -/************************************************************************/ -/******/ ({ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./options/templates/checkbox.ejs" +/*!****************************************!*\ + !*** ./options/templates/checkbox.ejs ***! + \****************************************/ +(module) { -/***/ "../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js": -/*!******************************************************************************************************!*\ - !*** ../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js ***! - \******************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?\n}"); -eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack:///../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js?"); +/***/ }, -/***/ }), +/***/ "./options/templates/group.ejs" +/*!*************************************!*\ + !*** ./options/templates/group.ejs ***! + \*************************************/ +(module) { + +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?\n}"); -/***/ "./ahref.js": +/***/ }, + +/***/ "./options/templates/radio.ejs" +/*!*************************************!*\ + !*** ./options/templates/radio.ejs ***! + \*************************************/ +(module) { + +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?\n}"); + +/***/ }, + +/***/ "./options/templates/range.ejs" +/*!*************************************!*\ + !*** ./options/templates/range.ejs ***! + \*************************************/ +(module) { + +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?\n}"); + +/***/ }, + +/***/ "./options/templates/select.ejs" +/*!**************************************!*\ + !*** ./options/templates/select.ejs ***! + \**************************************/ +(module) { + +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?\n}"); + +/***/ }, + +/***/ "./options/templates/text.ejs" +/*!************************************!*\ + !*** ./options/templates/text.ejs ***! + \************************************/ +(module) { + +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?\n}"); + +/***/ }, + +/***/ "./ahref.js" /*!******************!*\ !*** ./ahref.js ***! \******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(container, href) {\n if (container && container.nodeName && typeof href === 'string') {\n var a = document.createElement('a');\n a.setAttribute('href', href);\n container.appendChild(a);\n iframely.trigger('load', a);\n }\n});\n\niframely.on('load', function(el) {\n\n if (!el && !iframely.import) { \n\n var elements = document.querySelectorAll('a[data-iframely-url]:not([data-import-uri])');\n for(var i = 0; i < elements.length; i++) {\n iframely.trigger('load', elements[i]);\n }\n }\n \n});\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'A' && (el.getAttribute('data-iframely-url') || el.getAttribute('href')) && !el.hasAttribute('data-import-uri')) {\n unfurl(el);\n }\n \n});\n\nfunction unfurl(el) {\n if (!el.getAttribute('data-iframely-url') && !el.getAttribute('href')) {\n return; // isn't valid\n }\n var src;\n\n var dataIframelyUrl = el.getAttribute('data-iframely-url');\n if (dataIframelyUrl && /^((?:https?:)?\\/\\/[^/]+)\\/\\w+/i.test(dataIframelyUrl)) {\n src = utils.getEndpoint(dataIframelyUrl, {\n v: iframely.VERSION,\n app: 1,\n theme: iframely.config.theme\n });\n } else if ((iframely.config.api_key || iframely.config.key) && iframely.CDN) {\n\n if (!el.getAttribute('href')) {\n console.warn('Iframely cannot build embeds: \"href\" attribute missing in', el);\n return;\n }\n\n src = utils.getEndpoint('/api/iframe', {\n url: el.getAttribute('href'),\n v: iframely.VERSION,\n app: 1,\n theme: iframely.config.theme\n }, iframely.SUPPORTED_QUERY_STRING);\n } else {\n console.warn('Iframely cannot build embeds: api key is required as query-string of embed.js');\n }\n\n if (!src) {\n el.removeAttribute('data-iframely-url'); \n } else {\n\n var iframe = document.createElement('iframe');\n\n iframe.setAttribute('allowfullscreen', '');\n iframe.setAttribute('allow', 'autoplay *; encrypted-media *; ch-prefers-color-scheme *');\n\n if (el.hasAttribute('data-img')) {\n iframe.setAttribute('data-img', el.getAttribute('data-img'));\n }\n\n var isLazy = el.hasAttribute('data-lazy') || el.hasAttribute('data-img') || /&lazy=1/.test(src) || iframely.config.lazy;\n\n // support restoring failed links by its text\n var text = el.textContent || el.innerText;\n \n if (text && text !== '') {\n iframe.textContent = text;\n } \n\n var wrapper = utils.getIframeWrapper(el, true);\n \n if (wrapper) {\n\n // Delete all in aspect wrapper.\n while (wrapper.aspectWrapper.lastChild) {\n wrapper.aspectWrapper.removeChild(wrapper.aspectWrapper.lastChild);\n }\n\n } else {\n wrapper = utils.addDefaultWrappers(el);\n\n var parentNode = el.parentNode;\n parentNode.removeChild(el);\n }\n\n wrapper.aspectWrapper.appendChild(iframe);\n\n if (isLazy) {\n \n // send to lazy iframe flow\n iframe.setAttribute('data-iframely-url', src);\n iframely.trigger('load', iframe);\n\n } else {\n\n iframe.setAttribute('src', src);\n iframely.trigger('iframe-ready', iframe);\t\t\t\n }\n\n\n }\n\n\n}\n\n//# sourceURL=webpack:///./ahref.js?"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(container, href) {\n if (container && container.nodeName && typeof href === 'string') {\n var a = document.createElement('a');\n a.setAttribute('href', href);\n container.appendChild(a);\n iframely.trigger('load', a);\n }\n});\n\niframely.on('load', function(el) {\n\n if (!el && !iframely.import) { \n\n var elements = document.querySelectorAll('a[data-iframely-url]:not([data-import-uri])');\n for(var i = 0; i < elements.length; i++) {\n iframely.trigger('load', elements[i]);\n }\n }\n \n});\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'A' && (el.getAttribute('data-iframely-url') || el.getAttribute('href')) && !el.hasAttribute('data-import-uri')) {\n unfurl(el);\n }\n \n});\n\nfunction unfurl(el) {\n if (!el.getAttribute('data-iframely-url') && !el.getAttribute('href')) {\n return; // isn't valid\n }\n var src;\n\n var dataIframelyUrl = el.getAttribute('data-iframely-url');\n if (dataIframelyUrl && /^((?:https?:)?\\/\\/[^/]+)\\/\\w+/i.test(dataIframelyUrl)) {\n src = utils.getEndpoint(dataIframelyUrl, {\n v: iframely.VERSION,\n app: 1,\n theme: iframely.config.theme\n });\n } else if ((iframely.config.api_key || iframely.config.key) && iframely.CDN) {\n\n if (!el.getAttribute('href')) {\n console.warn('Iframely cannot build embeds: \"href\" attribute missing in', el);\n return;\n }\n\n src = utils.getEndpoint('/api/iframe', {\n url: el.getAttribute('href'),\n v: iframely.VERSION,\n app: 1,\n theme: iframely.config.theme\n }, iframely.SUPPORTED_QUERY_STRING);\n } else {\n console.warn('Iframely cannot build embeds: api key is required as query-string of embed.js');\n }\n\n if (!src) {\n el.removeAttribute('data-iframely-url'); \n } else {\n\n var iframe = document.createElement('iframe');\n\n iframe.setAttribute('allowfullscreen', '');\n iframe.setAttribute('allow', 'autoplay *; encrypted-media *; ch-prefers-color-scheme *');\n\n if (el.hasAttribute('data-img')) {\n iframe.setAttribute('data-img', el.getAttribute('data-img'));\n }\n\n var isLazy = el.hasAttribute('data-lazy') || el.hasAttribute('data-img') || /&lazy=1/.test(src) || iframely.config.lazy;\n\n // support restoring failed links by its text\n var text = el.textContent || el.innerText;\n \n if (text && text !== '') {\n iframe.textContent = text;\n } \n\n var wrapper = utils.getIframeWrapper(el, true);\n \n if (wrapper) {\n\n // Delete all in aspect wrapper.\n while (wrapper.aspectWrapper.lastChild) {\n wrapper.aspectWrapper.removeChild(wrapper.aspectWrapper.lastChild);\n }\n\n } else {\n wrapper = utils.addDefaultWrappers(el);\n\n var parentNode = el.parentNode;\n parentNode.removeChild(el);\n }\n\n wrapper.aspectWrapper.appendChild(iframe);\n\n if (isLazy) {\n \n // send to lazy iframe flow\n iframe.setAttribute('data-iframely-url', src);\n iframely.trigger('load', iframe);\n\n } else {\n\n iframe.setAttribute('src', src);\n iframely.trigger('iframe-ready', iframe);\t\t\t\n }\n\n\n }\n\n\n}\n\n//# sourceURL=webpack:///./ahref.js?\n}"); -/***/ }), +/***/ }, -/***/ "./const.js": +/***/ "./const.js" /*!******************!*\ !*** ./const.js ***! \******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.VERSION = 1;\n\niframely.ASPECT_WRAPPER_CLASS = 'iframely-responsive';\niframely.MAXWIDTH_WRAPPER_CLASS = 'iframely-embed';\niframely.LOADER_CLASS = 'iframely-loader';\n\niframely.DOMAINS = ['cdn.iframe.ly', 'iframe.ly', 'if-cdn.com', 'iframely.net'];\niframely.CDN = iframely.CDN || iframely.DOMAINS[0]; // default domain, user or script src can change CDN\n\niframely.BASE_RE = /^(?:https?:)?\\/\\/[^/]+/i;\niframely.ID_RE = /^(?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+)(?:\\?.*)?$/;\niframely.SCRIPT_RE = /^(?:https?:|file:\\/)?\\/\\/[^/]+(?:.+)?\\/(?:embed|iframely)\\.js(?:[^/]+)?$/i;\niframely.CDN_RE = /^(?:https?:)?\\/\\/([^/]+)\\/(?:embed|iframely)\\.js(?:[^/]+)?$/i;\n\niframely.SUPPORTED_QUERY_STRING = ['api_key', 'key', 'iframe', 'html5', 'playerjs', 'align', 'language', 'media', 'maxwidth', 'maxheight', 'lazy', 'import', 'parent', 'shadow', 'click_to_play', 'autoplay', 'mute', 'card', 'consent', 'theme', /^_.+/];\n\niframely.SUPPORTED_THEMES = ['auto', 'light', 'dark'];\n\niframely.LAZY_IFRAME_SHOW_TIMEOUT = 3000;\niframely.LAZY_IFRAME_FADE_TIMEOUT = 200;\niframely.CLEAR_WRAPPER_STYLES_TIMEOUT = 3000;\n\niframely.RECOVER_HREFS_ON_CANCEL = false;\n\niframely.SHADOW = 'iframely-shadow';\n\n//# sourceURL=webpack:///./const.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.VERSION = 1;\n\niframely.ASPECT_WRAPPER_CLASS = 'iframely-responsive';\niframely.MAXWIDTH_WRAPPER_CLASS = 'iframely-embed';\niframely.LOADER_CLASS = 'iframely-loader';\n\niframely.DOMAINS = ['cdn.iframe.ly', 'iframe.ly', 'if-cdn.com', 'iframely.net'];\niframely.CDN = iframely.CDN || iframely.DOMAINS[0]; // default domain, user or script src can change CDN\n\niframely.BASE_RE = /^(?:https?:)?\\/\\/[^/]+/i;\niframely.ID_RE = /^(?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+)(?:\\?.*)?$/;\niframely.SCRIPT_RE = /^(?:https?:|file:\\/)?\\/\\/[^/]+(?:.+)?\\/(?:embed|iframely)\\.js(?:[^/]+)?$/i;\niframely.CDN_RE = /^(?:https?:)?\\/\\/([^/]+)\\/(?:embed|iframely)\\.js(?:[^/]+)?$/i;\n\niframely.SUPPORTED_QUERY_STRING = ['api_key', 'key', 'iframe', 'html5', 'playerjs', 'align', 'language', 'media', 'maxwidth', 'maxheight', 'lazy', 'import', 'parent', 'shadow', 'click_to_play', 'autoplay', 'mute', 'card', 'consent', 'theme', /^_.+/];\n\niframely.SUPPORTED_THEMES = ['auto', 'light', 'dark'];\n\niframely.LAZY_IFRAME_SHOW_TIMEOUT = 3000;\niframely.LAZY_IFRAME_FADE_TIMEOUT = 200;\niframely.CLEAR_WRAPPER_STYLES_TIMEOUT = 3000;\n\niframely.RECOVER_HREFS_ON_CANCEL = false;\n\niframely.SHADOW = 'iframely-shadow';\n\n//# sourceURL=webpack:///./const.js?\n}"); -/***/ }), +/***/ }, -/***/ "./deprecated.js": +/***/ "./deprecated.js" /*!***********************!*\ !*** ./deprecated.js ***! \***********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// deprecated. Helper function only, for the reverse compatibility.\niframely.widgets = iframely.widgets || {};\niframely.widgets.load = iframely.load;\n\nif (!iframely.events) {\n iframely.events = {};\n iframely.events.on = iframely.on;\n iframely.events.trigger = iframely.trigger;\n}\n\niframely.on('cancel', function(url, parentNode, text, nextSibling) {\n\n if (iframely.RECOVER_HREFS_ON_CANCEL && !text) {\n text = url;\n }\n\n if (url && parentNode && text && text !== '') {\n var a = document.createElement('a');\n a.setAttribute('href', url);\n a.setAttribute('target', '_blank');\n a.setAttribute('rel', 'noopener');\n a.textContent = text;\n if (nextSibling) {\n parentNode.insertBefore(a, nextSibling);\n } else {\n parentNode.appendChild(a);\n }\n }\n});\n\n//# sourceURL=webpack:///./deprecated.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// deprecated. Helper function only, for the reverse compatibility.\niframely.widgets = iframely.widgets || {};\niframely.widgets.load = iframely.load;\n\nif (!iframely.events) {\n iframely.events = {};\n iframely.events.on = iframely.on;\n iframely.events.trigger = iframely.trigger;\n}\n\niframely.on('cancel', function(url, parentNode, text, nextSibling) {\n\n if (iframely.RECOVER_HREFS_ON_CANCEL && !text) {\n text = url;\n }\n\n if (url && parentNode && text && text !== '') {\n var a = document.createElement('a');\n a.setAttribute('href', url);\n a.setAttribute('target', '_blank');\n a.setAttribute('rel', 'noopener');\n a.textContent = text;\n if (nextSibling) {\n parentNode.insertBefore(a, nextSibling);\n } else {\n parentNode.appendChild(a);\n }\n }\n});\n\n//# sourceURL=webpack:///./deprecated.js?\n}"); -/***/ }), +/***/ }, -/***/ "./dom-ready.js": +/***/ "./dom-ready.js" /*!**********************!*\ !*** ./dom-ready.js ***! \**********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("// TODO: rename core.js to ready.js?\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar DOMReady = function(f) {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n // Run always (in case of async script).\n setTimeout(f, 0);\n }\n document['addEventListener'] ? document['addEventListener']('DOMContentLoaded', f) : window.attachEvent('onload', f);\n};\n\nDOMReady(function() {\n\n // Called each time on script load\n if (typeof iframely.config.autorun === 'undefined' || iframely.config.autorun !== false) {\n iframely.trigger('load');\n }\n});\n\n\n//# sourceURL=webpack:///./dom-ready.js?"); +eval("{// TODO: rename core.js to ready.js?\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar DOMReady = function(f) {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n // Run always (in case of async script).\n setTimeout(f, 0);\n }\n document['addEventListener'] ? document['addEventListener']('DOMContentLoaded', f) : window.attachEvent('onload', f);\n};\n\nDOMReady(function() {\n\n // Called each time on script load\n if (typeof iframely.config.autorun === 'undefined' || iframely.config.autorun !== false) {\n iframely.trigger('load');\n }\n});\n\n\n//# sourceURL=webpack:///./dom-ready.js?\n}"); -/***/ }), +/***/ }, -/***/ "./events.js": +/***/ "./events.js" /*!*******************!*\ !*** ./events.js ***! \*******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("/* WEBPACK VAR INJECTION */(function(global) {var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar nextTick = (function(window, prefixes, i, fnc) {\n while (!fnc && i < prefixes.length) {\n fnc = window[prefixes[i++] + 'equestAnimationFrame'];\n }\n return (fnc && fnc.bind(window)) || window.setImmediate || function(fnc) {window.setTimeout(fnc, 0);};\n})(typeof window !== 'undefined' ? window : global, 'r webkitR mozR msR oR'.split(' '), 0);\n\nvar callbacksStack = {};\niframely.on = function(event, cb) {\n var events = callbacksStack[event] = callbacksStack[event] || [];\n events.push(cb);\n};\n\nfunction trigger(event, async, args) {\n var events = callbacksStack[event] || [];\n events.forEach(function(cb) {\n if (async) {\n nextTick(function() {\n cb.apply(iframely, args);\n });\n } else {\n cb.apply(iframely, args);\n }\n });\n\n if (event === 'init') {\n // everything inited, let's clear the callstack, just in case\n // TODO: not good.\n callbacksStack[event] = [];\n }\n}\n\niframely.trigger = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, false, args);\n};\n\niframely.triggerAsync = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, true, args);\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js */ \"../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./events.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar nextTick = (function(window, prefixes, i, fnc) {\n while (!fnc && i < prefixes.length) {\n fnc = window[prefixes[i++] + 'equestAnimationFrame'];\n }\n return (fnc && fnc.bind(window)) || window.setImmediate || function(fnc) {window.setTimeout(fnc, 0);};\n})(typeof window !== 'undefined' ? window : __webpack_require__.g, 'r webkitR mozR msR oR'.split(' '), 0);\n\nvar callbacksStack = {};\niframely.on = function(event, cb) {\n var events = callbacksStack[event] = callbacksStack[event] || [];\n events.push(cb);\n};\n\nfunction trigger(event, async, args) {\n var events = callbacksStack[event] || [];\n events.forEach(function(cb) {\n if (async) {\n nextTick(function() {\n cb.apply(iframely, args);\n });\n } else {\n cb.apply(iframely, args);\n }\n });\n\n if (event === 'init') {\n // everything inited, let's clear the callstack, just in case\n // TODO: not good.\n callbacksStack[event] = [];\n }\n}\n\niframely.trigger = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, false, args);\n};\n\niframely.triggerAsync = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, true, args);\n};\n\n//# sourceURL=webpack:///./events.js?\n}"); -/***/ }), +/***/ }, -/***/ "./iframely.js": +/***/ "./iframely.js" /*!*********************!*\ !*** ./iframely.js ***! \*********************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("var iframely = window.iframely = window.iframely || {};\niframely.config = iframely.config || {};\n\nmodule.exports = iframely;\n\n//# sourceURL=webpack:///./iframely.js?"); +eval("{var iframely = window.iframely = window.iframely || {};\niframely.config = iframely.config || {};\n\nmodule.exports = iframely;\n\n//# sourceURL=webpack:///./iframely.js?\n}"); -/***/ }), +/***/ }, -/***/ "./import.js": +/***/ "./import.js" /*!*******************!*\ !*** ./import.js ***! \*******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// widgetsCache is used from inside import doc for js callbacks and custom features\nvar widgetsCache = {};\n\niframely.on('load', function(el) {\n\n // load once, if import is not in process and only if query-string from script src has not disabled import\n if (!el && iframely.config.import !== false \n && isImportAble()\n && !iframely.import) {\n\n var elements = document.querySelectorAll('a[data-iframely-url]:not([data-import-uri])');\n if (elements.length > 1) {\n makeImportAPICall(elements);\n }\n }\n\n});\n\niframely.on('load', function(widget, importOptions) {\n\n if (widget && widget.uri && (widget.html || widget.cancel)) {\n\n var els = widgetsCache[widget.uri];\n // alternatively, could as well do querySelectorAll('a[data-iframely-url][data-import=\"' + template.getAttribute('data-uri') + '\"')\n\n if (els) {\n for (var i = 0; i < els.length; i++) {\n loadImportWidget(widget, els[i], importOptions);\n }\n }\n\n delete widgetsCache[widget.uri];\n }\n});\n\nfunction makeImportAPICall(elements) {\n var script = utils.createScript();\n\n var uris = [];\n var ids = [];\n \n var import_options = null; // will be populated from first element; or will remain as null if no params in elements...\n\n // couple helper functions first\n\n function pushElement(uri, el) {\n if (!widgetsCache[uri]) {\n widgetsCache[uri] = [];\n }\n\n widgetsCache[uri].push(el);\n }\n\n function queueElement(el) {\n var src = el.getAttribute('data-iframely-url');\n\n var mId = src.match(iframely.ID_RE);\n var id = mId && mId[1];\n\n var options = utils.parseQueryString(src, iframely.SUPPORTED_QUERY_STRING.concat('url'));\n\n var url = options.url; // can be undefined for IDs\n delete options.url;\n\n // skip import on import=0, playerjs=1\n var skipImport = options.import === '0' || options.import === 'false' \n || options.playerjs === '1' || options.playerjs === 'true';\n\n // or if link's query-string params or CDN are different from the others\n if (!skipImport) {\n var mBase = src.match(iframely.BASE_RE);\n options.CDN = mBase && mBase[0]; // will fall back to iframely.CDN in getEndpoint('/import...' ...)\n\n // set import options from the first el in import\n // that includes api keys \n if (!import_options) {\n import_options = options;\n\n // else check that this el's options are the same as the first one's in import\n } else if (JSON.stringify(options, Object.keys(options).sort()) \n !== JSON.stringify(import_options, Object.keys(import_options).sort())) {\n\n skipImport = true;\n }\n }\n\n\n if (skipImport) {\n // Usual build if no uri and app=1s.\n iframely.trigger('load', el);\n\n } else if (id) {\n el.setAttribute('data-import-uri', id);\n if (ids.indexOf(id) === -1) {\n ids.push(id);\n }\n pushElement(id, el);\n\n } else {\n\n if (!url) {\n url = el.getAttribute('href');\n }\n\n var key = import_options.key || import_options.api_key || iframely.config.api_key || iframely.config.key;\n\n if (key && url) {\n\n el.setAttribute('data-import-uri', url);\n if (uris.indexOf(url) === -1) {\n uris.push(url);\n }\n pushElement(url, el);\n } else {\n // Usual build if no uri.\n iframely.trigger('load', el);\n }\n }\n }\n\n\n // start actual filling up of import request\n\n for(var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (!el.getAttribute('data-import-uri') && el.hasAttribute('data-iframely-url')) {\n queueElement(el);\n }\n }\n\n if ((uris.length > 0 || ids.length > 0)) {\n\n import_options = import_options || {};\n import_options.touch = iframely.isTouch();\n import_options.flash = hasFlash();\n import_options.app = 1;\n // Do not override imports theme if global theme not set.\n if (iframely.config.theme) {\n import_options.theme = iframely.config.theme;\n }\n\n if (uris.length > 0) {\n import_options.uri = uris;\n }\n\n if (ids.length > 0) {\n import_options.ids = ids.join('&');\n }\n\n import_options.v = iframely.VERSION;\n\n script.src = utils.getEndpoint('/api/import/v2', import_options, iframely.SUPPORTED_QUERY_STRING);\n\n script.onerror = function() {\n // Error loading import. No import this time.\n importReady();\n };\n\n document.head.appendChild(script);\n iframely.import = script;\n\n } else {\n importReady();\n iframely.trigger('load');\n }\n}\n\niframely.buildImportWidgets = function(importOptions) {\n\n iframely.trigger('import-loaded', importOptions);\n\n importOptions.widgets.forEach(function(widget) {\n iframely.trigger('load', widget, importOptions);\n });\n\n importReady();\n};\n\nfunction loadImportWidget(widgetOptions, el, importOptions) {\n\n var needCancelWidget = widgetOptions.cancel;\n var shadow = widgetOptions.shadow;\n var hasRenderedEvent = widgetOptions.renderEvent;\n\n var wrapper = utils.getIframeWrapper(el, true);\n var widget;\n\n if (needCancelWidget) {\n widget = utils.getWidget(el);\n\n iframely.cancelWidget(widget || {\n maxWidthWrapper: el,\n iframe: el,\n url: el.getAttribute('href') \n });\n\n } else {\n\n widget = document.createElement('div');\n widget.innerHTML = widgetOptions.html;\n \n var parent, replacedEl;\n\n if (wrapper && !hasRenderedEvent) {\n // Inline widget will replace 'aspectWrapper' but keep 'maxWidthWrapper' as 'iframely-embed' to fix centering, etc.\n // If has rendered event - keep wrapper and remove attrs later by event.\n parent = wrapper.aspectWrapper.parentNode;\n replacedEl = wrapper.aspectWrapper;\n\n // Clear custom attributes.\n wrapper.maxWidthWrapper.removeAttribute('style');\n } else {\n // No wrapper or keep wrapper for later removal.\n parent = el.parentNode;\n replacedEl = el;\n }\n\n if (shadow) {\n\n var shadowContainer = document.createElement('div');\n var shadowRoot = shadowContainer.attachShadow({mode: 'open'});\n shadowRoot.appendChild(widget);\n\n var shadowWidgetOptions = {\n shadowRoot: shadowRoot,\n shadowContainer: shadowContainer,\n container: parent,\n context: widgetOptions.context,\n stylesIds: widgetOptions.stylesIds,\n stylesDict: importOptions.commonShadowStyles\n };\n \n iframely.trigger('import-shadow-widget-before-render', shadowWidgetOptions);\n \n parent.insertBefore(shadowContainer, replacedEl);\n\n iframely.trigger('import-shadow-widget-after-render', shadowWidgetOptions);\n \n } else {\n\n parent.insertBefore(widget, replacedEl);\n\n exec_body_scripts(widget);\n }\n\n parent.removeChild(replacedEl);\n\n if (hasRenderedEvent) {\n setTimeout(function() {\n clearWrapperStylesAndClass(parent);\n }, iframely.CLEAR_WRAPPER_STYLES_TIMEOUT);\n }\n }\n}\n\n\nfunction importReady() {\n\n delete iframely.import;\n\n // clean up all, let other loaders have a go\n var failed_elements = document.querySelectorAll('a[data-iframely-url][data-import-uri]');\n for(var i = 0; i < failed_elements.length; i++) {\n failed_elements[i].removeAttribute('data-import-uri');\n iframely.trigger('load', failed_elements[i]);\n }\n}\n\niframely.isTouch = function() {\n return 'ontouchstart' in window // works on most browsers\n || navigator.maxTouchPoints; // works on IE10/11 and Surface\n};\n\nfunction hasFlash() {\n\n var _hasFlash = false;\n\n try {\n var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');\n if (fo) {\n _hasFlash = true;\n } else {\n _hasFlash = false;\n }\n } catch (e) {\n if (navigator.mimeTypes\n && navigator.mimeTypes['application/x-shockwave-flash'] != undefined\n && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {\n _hasFlash = true;\n } else {\n _hasFlash = false;\n }\n }\n\n return _hasFlash;\n}\n\nfunction isImportAble() {\n\n return document.head.attachShadow\n && document.location // Prevent `Cannot read properties of null (reading 'protocol')` for sandbox iframes.\n && (iframely.debug || document.location.protocol === 'http:' || document.location.protocol === 'https:') // Skip import on file:///\n && !iframely.config.playerjs && !iframely.config.lazy;\n // && !navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n // TODO: test in Firefox 63\n}\n\nfunction clearWrapperStylesAndClass(el) {\n var aspectWrapper = el;\n var parents = 0;\n while(aspectWrapper \n && (!aspectWrapper.getAttribute('class')\n || aspectWrapper.getAttribute('class').split(' ').indexOf(iframely.ASPECT_WRAPPER_CLASS) === -1)) {\n\n aspectWrapper = aspectWrapper.parentNode;\n parents++;\n if (parents > 4) {\n // Do not search further 4 parents.\n aspectWrapper = null;\n }\n }\n\n var maxWidthWrapper = aspectWrapper && aspectWrapper.parentNode;\n if (maxWidthWrapper \n && maxWidthWrapper.getAttribute('class')\n && maxWidthWrapper.getAttribute('class').split(' ').indexOf(iframely.MAXWIDTH_WRAPPER_CLASS) > -1) {\n\n // Remove wrapper specific data. Leave only 'iframely-embed' parent class.\n aspectWrapper.removeAttribute('style');\n aspectWrapper.removeAttribute('class');\n maxWidthWrapper.removeAttribute('style');\n }\n}\n\niframely.on('import-widget-ready', clearWrapperStylesAndClass);\n\n// used in server templates\n\nif (!iframely.addEventListener) {\n iframely.addEventListener = function(elem, type, eventHandle) {\n if (!elem) { return; }\n if ( elem.addEventListener ) {\n elem.addEventListener( type, eventHandle, false );\n } else if ( elem.attachEvent ) {\n elem.attachEvent( 'on' + type, eventHandle );\n } else {\n elem['on' + type] = eventHandle;\n }\n };\n}\n\nfunction exec_body_scripts(body_el) {\n function nodeName(elem, name) {\n return elem.nodeName && elem.nodeName.toUpperCase() ===\n name.toUpperCase();\n }\n\n function evalScript(elem) {\n var data = (elem.text || elem.textContent || elem.innerHTML || '' ),\n script = utils.createScript();\n\n // Copy all script attributes.\n script.type = 'text/javascript';\n for (var i = 0; i < elem.attributes.length; i++) {\n var attr = elem.attributes[i];\n script.setAttribute(attr.name, attr.value);\n }\n try {\n // doesn't work on ie...\n script.appendChild(document.createTextNode(data));\n } catch(e) {\n // IE has funky script nodes\n script.text = data;\n }\n\n body_el.appendChild(script);\n }\n\n // main section of function\n var scripts = [],\n script,\n children_nodes = body_el.childNodes,\n child,\n i;\n\n for (i = 0; children_nodes[i]; i++) {\n child = children_nodes[i];\n if (nodeName(child, 'script' ) &&\n (!child.type || child.type.toLowerCase() === 'text/javascript' || child.type.toLowerCase() === 'application/javascript')) {\n scripts.push(child);\n body_el.removeChild(child);\n } else {\n exec_body_scripts(child);\n }\n }\n\n for (i = 0; scripts[i]; i++) {\n script = scripts[i];\n if (script.parentNode) {script.parentNode.removeChild(script);}\n evalScript(scripts[i]);\n }\n}\n\n//# sourceURL=webpack:///./import.js?"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// widgetsCache is used from inside import doc for js callbacks and custom features\nvar widgetsCache = {};\n\niframely.on('load', function(el) {\n\n // load once, if import is not in process and only if query-string from script src has not disabled import\n if (!el && iframely.config.import !== false \n && isImportAble()\n && !iframely.import) {\n\n var elements = document.querySelectorAll('a[data-iframely-url]:not([data-import-uri])');\n if (elements.length > 1) {\n makeImportAPICall(elements);\n }\n }\n\n});\n\niframely.on('load', function(widget, importOptions) {\n\n if (widget && widget.uri && (widget.html || widget.cancel)) {\n\n var els = widgetsCache[widget.uri];\n // alternatively, could as well do querySelectorAll('a[data-iframely-url][data-import=\"' + template.getAttribute('data-uri') + '\"')\n\n if (els) {\n for (var i = 0; i < els.length; i++) {\n loadImportWidget(widget, els[i], importOptions);\n }\n }\n\n delete widgetsCache[widget.uri];\n }\n});\n\nfunction makeImportAPICall(elements) {\n var script = utils.createScript();\n\n var uris = [];\n var ids = [];\n \n var import_options = null; // will be populated from first element; or will remain as null if no params in elements...\n\n // couple helper functions first\n\n function pushElement(uri, el) {\n if (!widgetsCache[uri]) {\n widgetsCache[uri] = [];\n }\n\n widgetsCache[uri].push(el);\n }\n\n function queueElement(el) {\n var src = el.getAttribute('data-iframely-url');\n\n var mId = src.match(iframely.ID_RE);\n var id = mId && mId[1];\n\n var options = utils.parseQueryString(src, iframely.SUPPORTED_QUERY_STRING.concat('url'));\n\n var url = options.url; // can be undefined for IDs\n delete options.url;\n\n // skip import on import=0, playerjs=1\n var skipImport = options.import === '0' || options.import === 'false' \n || options.playerjs === '1' || options.playerjs === 'true';\n\n // or if link's query-string params or CDN are different from the others\n if (!skipImport) {\n var mBase = src.match(iframely.BASE_RE);\n options.CDN = mBase && mBase[0]; // will fall back to iframely.CDN in getEndpoint('/import...' ...)\n\n // set import options from the first el in import\n // that includes api keys \n if (!import_options) {\n import_options = options;\n\n // else check that this el's options are the same as the first one's in import\n } else if (JSON.stringify(options, Object.keys(options).sort()) \n !== JSON.stringify(import_options, Object.keys(import_options).sort())) {\n\n skipImport = true;\n }\n }\n\n\n if (skipImport) {\n // Usual build if no uri and app=1s.\n iframely.trigger('load', el);\n\n } else if (id) {\n el.setAttribute('data-import-uri', id);\n if (ids.indexOf(id) === -1) {\n ids.push(id);\n }\n pushElement(id, el);\n\n } else {\n\n if (!url) {\n url = el.getAttribute('href');\n }\n\n var key = import_options.key || import_options.api_key || iframely.config.api_key || iframely.config.key;\n\n if (key && url) {\n\n el.setAttribute('data-import-uri', url);\n if (uris.indexOf(url) === -1) {\n uris.push(url);\n }\n pushElement(url, el);\n } else {\n // Usual build if no uri.\n iframely.trigger('load', el);\n }\n }\n }\n\n\n // start actual filling up of import request\n\n for(var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (!el.getAttribute('data-import-uri') && el.hasAttribute('data-iframely-url')) {\n queueElement(el);\n }\n }\n\n if ((uris.length > 0 || ids.length > 0)) {\n\n import_options = import_options || {};\n import_options.touch = iframely.isTouch();\n import_options.flash = hasFlash();\n import_options.app = 1;\n // Do not override imports theme if global theme not set.\n if (iframely.config.theme) {\n import_options.theme = iframely.config.theme;\n }\n\n if (uris.length > 0) {\n import_options.uri = uris;\n }\n\n if (ids.length > 0) {\n import_options.ids = ids.join('&');\n }\n\n import_options.v = iframely.VERSION;\n\n script.src = utils.getEndpoint('/api/import/v2', import_options, iframely.SUPPORTED_QUERY_STRING);\n\n script.onerror = function() {\n // Error loading import. No import this time.\n importReady();\n };\n\n document.head.appendChild(script);\n iframely.import = script;\n\n } else {\n importReady();\n iframely.trigger('load');\n }\n}\n\niframely.buildImportWidgets = function(importOptions) {\n\n iframely.trigger('import-loaded', importOptions);\n\n importOptions.widgets.forEach(function(widget) {\n iframely.trigger('load', widget, importOptions);\n });\n\n importReady();\n};\n\nfunction loadImportWidget(widgetOptions, el, importOptions) {\n\n var needCancelWidget = widgetOptions.cancel;\n var shadow = widgetOptions.shadow;\n var hasRenderedEvent = widgetOptions.renderEvent;\n\n var wrapper = utils.getIframeWrapper(el, true);\n var widget;\n\n if (needCancelWidget) {\n widget = utils.getWidget(el);\n\n iframely.cancelWidget(widget || {\n maxWidthWrapper: el,\n iframe: el,\n url: el.getAttribute('href') \n });\n\n } else {\n\n widget = document.createElement('div');\n widget.innerHTML = widgetOptions.html;\n \n var parent, replacedEl;\n\n if (wrapper && !hasRenderedEvent) {\n // Inline widget will replace 'aspectWrapper' but keep 'maxWidthWrapper' as 'iframely-embed' to fix centering, etc.\n // If has rendered event - keep wrapper and remove attrs later by event.\n parent = wrapper.aspectWrapper.parentNode;\n replacedEl = wrapper.aspectWrapper;\n\n // Clear custom attributes.\n wrapper.maxWidthWrapper.removeAttribute('style');\n } else {\n // No wrapper or keep wrapper for later removal.\n parent = el.parentNode;\n replacedEl = el;\n }\n\n if (shadow) {\n\n var shadowContainer = document.createElement('div');\n var shadowRoot = shadowContainer.attachShadow({mode: 'open'});\n shadowRoot.appendChild(widget);\n\n var shadowWidgetOptions = {\n shadowRoot: shadowRoot,\n shadowContainer: shadowContainer,\n container: parent,\n context: widgetOptions.context,\n stylesIds: widgetOptions.stylesIds,\n stylesDict: importOptions.commonShadowStyles\n };\n \n iframely.trigger('import-shadow-widget-before-render', shadowWidgetOptions);\n \n parent.insertBefore(shadowContainer, replacedEl);\n\n iframely.trigger('import-shadow-widget-after-render', shadowWidgetOptions);\n \n } else {\n\n parent.insertBefore(widget, replacedEl);\n\n exec_body_scripts(widget);\n }\n\n parent.removeChild(replacedEl);\n\n if (hasRenderedEvent) {\n setTimeout(function() {\n clearWrapperStylesAndClass(parent);\n }, iframely.CLEAR_WRAPPER_STYLES_TIMEOUT);\n }\n }\n}\n\n\nfunction importReady() {\n\n delete iframely.import;\n\n // clean up all, let other loaders have a go\n var failed_elements = document.querySelectorAll('a[data-iframely-url][data-import-uri]');\n for(var i = 0; i < failed_elements.length; i++) {\n failed_elements[i].removeAttribute('data-import-uri');\n iframely.trigger('load', failed_elements[i]);\n }\n}\n\niframely.isTouch = function() {\n return 'ontouchstart' in window // works on most browsers\n || navigator.maxTouchPoints; // works on IE10/11 and Surface\n};\n\nfunction hasFlash() {\n\n var _hasFlash = false;\n\n try {\n var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');\n if (fo) {\n _hasFlash = true;\n } else {\n _hasFlash = false;\n }\n } catch (e) {\n if (navigator.mimeTypes\n && navigator.mimeTypes['application/x-shockwave-flash'] != undefined\n && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {\n _hasFlash = true;\n } else {\n _hasFlash = false;\n }\n }\n\n return _hasFlash;\n}\n\nfunction isImportAble() {\n\n return document.head.attachShadow\n && document.location // Prevent `Cannot read properties of null (reading 'protocol')` for sandbox iframes.\n && (iframely.debug || document.location.protocol === 'http:' || document.location.protocol === 'https:') // Skip import on file:///\n && !iframely.config.playerjs && !iframely.config.lazy;\n // && !navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n // TODO: test in Firefox 63\n}\n\nfunction clearWrapperStylesAndClass(el) {\n var aspectWrapper = el;\n var parents = 0;\n while(aspectWrapper \n && (!aspectWrapper.getAttribute('class')\n || aspectWrapper.getAttribute('class').split(' ').indexOf(iframely.ASPECT_WRAPPER_CLASS) === -1)) {\n\n aspectWrapper = aspectWrapper.parentNode;\n parents++;\n if (parents > 4) {\n // Do not search further 4 parents.\n aspectWrapper = null;\n }\n }\n\n var maxWidthWrapper = aspectWrapper && aspectWrapper.parentNode;\n if (maxWidthWrapper \n && maxWidthWrapper.getAttribute('class')\n && maxWidthWrapper.getAttribute('class').split(' ').indexOf(iframely.MAXWIDTH_WRAPPER_CLASS) > -1) {\n\n // Remove wrapper specific data. Leave only 'iframely-embed' parent class.\n aspectWrapper.removeAttribute('style');\n aspectWrapper.removeAttribute('class');\n maxWidthWrapper.removeAttribute('style');\n }\n}\n\niframely.on('import-widget-ready', clearWrapperStylesAndClass);\n\n// used in server templates\n\nif (!iframely.addEventListener) {\n iframely.addEventListener = function(elem, type, eventHandle) {\n if (!elem) { return; }\n if ( elem.addEventListener ) {\n elem.addEventListener( type, eventHandle, false );\n } else if ( elem.attachEvent ) {\n elem.attachEvent( 'on' + type, eventHandle );\n } else {\n elem['on' + type] = eventHandle;\n }\n };\n}\n\nfunction exec_body_scripts(body_el) {\n function nodeName(elem, name) {\n return elem.nodeName && elem.nodeName.toUpperCase() ===\n name.toUpperCase();\n }\n\n function evalScript(elem) {\n var data = (elem.text || elem.textContent || elem.innerHTML || '' ),\n script = utils.createScript();\n\n // Copy all script attributes.\n script.type = 'text/javascript';\n for (var i = 0; i < elem.attributes.length; i++) {\n var attr = elem.attributes[i];\n script.setAttribute(attr.name, attr.value);\n }\n try {\n // doesn't work on ie...\n script.appendChild(document.createTextNode(data));\n } catch(e) {\n // IE has funky script nodes\n script.text = data;\n }\n\n body_el.appendChild(script);\n }\n\n // main section of function\n var scripts = [],\n script,\n children_nodes = body_el.childNodes,\n child,\n i;\n\n for (i = 0; children_nodes[i]; i++) {\n child = children_nodes[i];\n if (nodeName(child, 'script' ) &&\n (!child.type || child.type.toLowerCase() === 'text/javascript' || child.type.toLowerCase() === 'application/javascript')) {\n scripts.push(child);\n body_el.removeChild(child);\n } else {\n exec_body_scripts(child);\n }\n }\n\n for (i = 0; scripts[i]; i++) {\n script = scripts[i];\n if (script.parentNode) {script.parentNode.removeChild(script);}\n evalScript(scripts[i]);\n }\n}\n\n//# sourceURL=webpack:///./import.js?\n}"); -/***/ }), +/***/ }, -/***/ "./index-options.js": +/***/ "./index-options.js" /*!**************************!*\ !*** ./index-options.js ***! \**************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { -eval("__webpack_require__(/*! ./dom-ready */ \"./dom-ready.js\");\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nif (!iframely._loaded) {\n\n iframely._loaded = true;\n\n __webpack_require__(/*! ./const */ \"./const.js\");\n __webpack_require__(/*! ./events */ \"./events.js\");\n // require('./utils'); // Loaded by other modules.\n __webpack_require__(/*! ./intersection */ \"./intersection.js\");\n __webpack_require__(/*! ./theme */ \"./theme.js\");\n __webpack_require__(/*! ./import */ \"./import.js\");\n __webpack_require__(/*! ./ahref */ \"./ahref.js\");\n __webpack_require__(/*! ./lazy-img-placeholder */ \"./lazy-img-placeholder.js\");\n __webpack_require__(/*! ./lazy-iframe */ \"./lazy-iframe.js\");\n // require('./messaging'); // Loaded by other modules.\n __webpack_require__(/*! ./widget-cancel */ \"./widget-cancel.js\");\n __webpack_require__(/*! ./widget-resize */ \"./widget-resize.js\");\n __webpack_require__(/*! ./widget-click */ \"./widget-click.js\");\n __webpack_require__(/*! ./widget-options */ \"./widget-options.js\");\n __webpack_require__(/*! ./deprecated */ \"./deprecated.js\");\n __webpack_require__(/*! ./lazy-loading-native */ \"./lazy-loading-native.js\");\n __webpack_require__(/*! ./options */ \"./options/index.js\");\n\n iframely.trigger('init');\n}\n\nexports.iframely = iframely;\n\n\n//# sourceURL=webpack:///./index-options.js?"); +eval("{__webpack_require__(/*! ./dom-ready */ \"./dom-ready.js\");\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nif (!iframely._loaded) {\n\n iframely._loaded = true;\n\n __webpack_require__(/*! ./const */ \"./const.js\");\n __webpack_require__(/*! ./events */ \"./events.js\");\n // require('./utils'); // Loaded by other modules.\n __webpack_require__(/*! ./intersection */ \"./intersection.js\");\n __webpack_require__(/*! ./theme */ \"./theme.js\");\n __webpack_require__(/*! ./import */ \"./import.js\");\n __webpack_require__(/*! ./ahref */ \"./ahref.js\");\n __webpack_require__(/*! ./lazy-img-placeholder */ \"./lazy-img-placeholder.js\");\n __webpack_require__(/*! ./lazy-iframe */ \"./lazy-iframe.js\");\n // require('./messaging'); // Loaded by other modules.\n __webpack_require__(/*! ./widget-cancel */ \"./widget-cancel.js\");\n __webpack_require__(/*! ./widget-resize */ \"./widget-resize.js\");\n __webpack_require__(/*! ./widget-click */ \"./widget-click.js\");\n __webpack_require__(/*! ./widget-options */ \"./widget-options.js\");\n __webpack_require__(/*! ./deprecated */ \"./deprecated.js\");\n __webpack_require__(/*! ./lazy-loading-native */ \"./lazy-loading-native.js\");\n __webpack_require__(/*! ./options */ \"./options/index.js\");\n\n iframely.trigger('init');\n}\n\nexports.iframely = iframely;\n\n\n//# sourceURL=webpack:///./index-options.js?\n}"); -/***/ }), +/***/ }, -/***/ "./intersection.js": +/***/ "./intersection.js" /*!*************************!*\ !*** ./intersection.js ***! \*************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var messaging = __webpack_require__(/*! ./messaging */ \"./messaging.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar observers = {};\n\nfunction getObserver(options) {\n var optionsKey = JSON.stringify(options);\n var observer = observers[optionsKey];\n if (!observer) {\n\n observer = new IntersectionObserver(function(entries) {\n\n entries.forEach(function(entry) {\n messaging.postMessage({\n method: 'intersection',\n entry: {\n isIntersecting: entry.isIntersecting\n },\n options: options\n }, '*', entry.target.contentWindow);\n });\n\n }, getObserverOptions(options));\n\n observers[optionsKey] = observer;\n }\n return observer;\n}\n\nfunction getObserverOptions(options) {\n var result = {};\n if (options && options.threshold) {\n result.threshold = options.threshold;\n }\n if (options && options.margin) {\n result.rootMargin = options.margin + 'px ' + options.margin + 'px ' + options.margin + 'px ' + options.margin + 'px';\n }\n return result;\n}\n\nif ('IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window) {\n\n iframely.on('init', function() {\n\n iframely.extendOptions({\n intersection: 1\n });\n \n });\n\n iframely.on('message', function(widget, message) {\n if (message.method === 'send-intersections' && widget.iframe) {\n\n var options = message.options;\n\n if (!options) {\n options = {\n margin: 1000\n };\n }\n\n getObserver(options).observe(widget.iframe);\n }\n });\n}\n\n\n//# sourceURL=webpack:///./intersection.js?"); +eval("{var messaging = __webpack_require__(/*! ./messaging */ \"./messaging.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar observers = {};\n\nfunction getObserver(options) {\n var optionsKey = JSON.stringify(options);\n var observer = observers[optionsKey];\n if (!observer) {\n\n observer = new IntersectionObserver(function(entries) {\n\n entries.forEach(function(entry) {\n messaging.postMessage({\n method: 'intersection',\n entry: {\n isIntersecting: entry.isIntersecting\n },\n options: options\n }, '*', entry.target.contentWindow);\n });\n\n }, getObserverOptions(options));\n\n observers[optionsKey] = observer;\n }\n return observer;\n}\n\nfunction getObserverOptions(options) {\n var result = {};\n if (options && options.threshold) {\n result.threshold = options.threshold;\n }\n if (options && options.margin) {\n result.rootMargin = options.margin + 'px ' + options.margin + 'px ' + options.margin + 'px ' + options.margin + 'px';\n }\n return result;\n}\n\nif ('IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window) {\n\n iframely.on('init', function() {\n\n iframely.extendOptions({\n intersection: 1\n });\n \n });\n\n iframely.on('message', function(widget, message) {\n if (message.method === 'send-intersections' && widget.iframe) {\n\n var options = message.options;\n\n if (!options) {\n options = {\n margin: 1000\n };\n }\n\n getObserver(options).observe(widget.iframe);\n }\n });\n}\n\n\n//# sourceURL=webpack:///./intersection.js?\n}"); -/***/ }), +/***/ }, -/***/ "./lazy-iframe.js": +/***/ "./lazy-iframe.js" /*!************************!*\ !*** ./lazy-iframe.js ***! \************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// Need 'load' handler here instead of on('init') - we load lazy iframes only when DOM ready.\niframely.on('load', function(el) { \n\n if (!el) { // initial load\n\n var elements = document.querySelectorAll('iframe[data-iframely-url]');\n for(var i = 0; i < elements.length; i++) {\n iframely.trigger('load', elements[i]);\n } \n }\n \n});\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && !el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n loadLazyIframe(el);\n }\n \n});\n\n\nfunction loadLazyIframe(el) {\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n var dataImg = el.hasAttribute('data-img-created') || el.hasAttribute('data-img');\n var nativeLazyLoad = !dataImg && iframely.SUPPORT_IFRAME_LOADING_ATTR;\n\n if (widget && src) {\n\n var options = {\n v: iframely.VERSION,\n app: 1, // for example, will fall back to summary card if media is not longer available\n theme: iframely.config.theme\n };\n\n if (!nativeLazyLoad && iframely.config.intersection) {\n options.lazy = 1;\n }\n\n src = utils.getEndpoint(src, options);\n\n }\n\n if (nativeLazyLoad) {\n el.setAttribute('loading', 'lazy');\n }\n\n if (dataImg && iframely.SUPPORT_IFRAME_LOADING_ATTR) {\n // Disable lazy load with `data-img`.\n el.setAttribute('loading', 'edge');\n }\n\n el.setAttribute('src', src);\n el.removeAttribute('data-iframely-url');\n\n iframely.trigger('iframe-ready', el);\n}\n\n//# sourceURL=webpack:///./lazy-iframe.js?"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// Need 'load' handler here instead of on('init') - we load lazy iframes only when DOM ready.\niframely.on('load', function(el) { \n\n if (!el) { // initial load\n\n var elements = document.querySelectorAll('iframe[data-iframely-url]');\n for(var i = 0; i < elements.length; i++) {\n iframely.trigger('load', elements[i]);\n } \n }\n \n});\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && !el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n loadLazyIframe(el);\n }\n \n});\n\n\nfunction loadLazyIframe(el) {\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n var dataImg = el.hasAttribute('data-img-created') || el.hasAttribute('data-img');\n var nativeLazyLoad = !dataImg && iframely.SUPPORT_IFRAME_LOADING_ATTR;\n\n if (widget && src) {\n\n var options = {\n v: iframely.VERSION,\n app: 1, // for example, will fall back to summary card if media is not longer available\n theme: iframely.config.theme\n };\n\n if (!nativeLazyLoad && iframely.config.intersection) {\n options.lazy = 1;\n }\n\n src = utils.getEndpoint(src, options);\n\n }\n\n if (nativeLazyLoad) {\n el.setAttribute('loading', 'lazy');\n }\n\n if (dataImg && iframely.SUPPORT_IFRAME_LOADING_ATTR) {\n // Disable lazy load with `data-img`.\n el.setAttribute('loading', 'edge');\n }\n\n el.setAttribute('src', src);\n el.removeAttribute('data-iframely-url');\n\n iframely.trigger('iframe-ready', el);\n}\n\n//# sourceURL=webpack:///./lazy-iframe.js?\n}"); -/***/ }), +/***/ }, -/***/ "./lazy-img-placeholder.js": +/***/ "./lazy-img-placeholder.js" /*!*********************************!*\ !*** ./lazy-img-placeholder.js ***! \*********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?\n}"); -/***/ }), +/***/ }, -/***/ "./lazy-loading-native.js": +/***/ "./lazy-loading-native.js" /*!********************************!*\ !*** ./lazy-loading-native.js ***! \********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("function getChromeVersion() { \n var raw = navigator.userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\n\n return raw ? parseInt(raw[2], 10) : false;\n}\nvar chromeVersion = getChromeVersion();\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\niframely.SUPPORT_IFRAME_LOADING_ATTR = chromeVersion && chromeVersion >= 77;\n\n//# sourceURL=webpack:///./lazy-loading-native.js?"); +eval("{function getChromeVersion() { \n var raw = navigator.userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\n\n return raw ? parseInt(raw[2], 10) : false;\n}\nvar chromeVersion = getChromeVersion();\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\niframely.SUPPORT_IFRAME_LOADING_ATTR = chromeVersion && chromeVersion >= 77;\n\n//# sourceURL=webpack:///./lazy-loading-native.js?\n}"); -/***/ }), +/***/ }, -/***/ "./messaging.js": +/***/ "./messaging.js" /*!**********************!*\ !*** ./messaging.js ***! \**********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\n\nfunction receiveMessage(callback) {\n\n function cb(e) {\n var message;\n try {\n if (typeof e.data === 'string') {\n message = JSON.parse(e.data);\n } else if (typeof e.data === 'object') {\n message = e.data;\n }\n } catch (ex) {\n if (typeof e.data === 'string') {\n var m = e.data.match(/heightxPYMx(\\d+)/);\n if (m) {\n message = {\n method: 'resize',\n height: parseInt(m[1]) + 1,\n domains: 'all'\n };\n }\n }\n }\n\n callback(e, message);\n }\n\n // browser supports window.postMessage\n if (window['postMessage']) {\n if (window['addEventListener']) {\n window[callback ? 'addEventListener' : 'removeEventListener']('message', cb, !1);\n } else {\n window[callback ? 'attachEvent' : 'detachEvent']('onmessage', cb);\n }\n }\n}\n\nfunction findIframeByContentWindow(iframes, contentWindow) {\n var foundIframe;\n for(var i = 0; i < iframes.length && !foundIframe; i++) {\n var iframe = iframes[i];\n if (iframe.contentWindow === contentWindow) {\n foundIframe = iframe;\n }\n }\n return foundIframe;\n}\n\nfunction findIframeInElement(element, options) {\n var foundIframe, iframes;\n \n if (options.src) {\n iframes = element.querySelectorAll('iframe[src*=\"' + options.src.replace(/^https?:/, '') + '\"]');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n if (!foundIframe) {\n iframes = options.domains ?\n element.querySelectorAll('iframe[src*=\"' + (options.domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]')\n : element.getElementsByTagName('iframe');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n return foundIframe;\n}\n\nfunction findIframeInShadowRoots(element, options) {\n var foundIframe;\n var className = '.' + (iframely.config.shadow || iframely.SHADOW);\n var shadowRoots = element.querySelectorAll(className);\n for(var i = 0; i < shadowRoots.length && !foundIframe; i++) {\n var shadowRoot = shadowRoots[i].shadowRoot;\n if (shadowRoot) {\n foundIframe = findIframeInElement(shadowRoot, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(shadowRoot, options);\n }\n }\n }\n return foundIframe;\n}\n\n// Do not override existing.\nif (!iframely.findIframe) {\n iframely.findIframe = function(options) {\n var foundIframe = findIframeInElement(document, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(document, options);\n }\n return foundIframe;\n };\n}\n\n\nreceiveMessage(function(e, message) {\n\n if (message && (message.method || message.type || message.context)) {\n\n var foundIframe = iframely.findIframe({\n contentWindow: e.source,\n src: message.src || message.context,\n domains: message.domains !== 'all' && iframely.DOMAINS.concat(iframely.CDN)\n });\n\n if (foundIframe) {\n var widget = utils.getWidget(foundIframe);\n if (widget && message.url) {\n widget.url = message.url;\n }\n iframely.trigger('message', widget, message);\n }\n }\n \n});\n\n\nexports.postMessage = function(message, target_url, target) {\n if (window['postMessage']) {\n\n if (typeof message === 'object') {\n message.context = document.location.href;\n }\n\n message = JSON.stringify(message);\n\n target_url = target_url || '*';\n\n target = target || window.parent; // default to parent\n\n // the browser supports window.postMessage, so call it with a targetOrigin\n // set appropriately, based on the target_url parameter.\n target['postMessage'](message, target_url.replace( /([^:]+:\\/\\/[^/]+).*/, '$1'));\n }\n};\n\n\n//# sourceURL=webpack:///./messaging.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\n\nfunction receiveMessage(callback) {\n\n function cb(e) {\n var message;\n try {\n if (typeof e.data === 'string') {\n message = JSON.parse(e.data);\n } else if (typeof e.data === 'object') {\n message = e.data;\n }\n } catch (ex) {\n if (typeof e.data === 'string') {\n var m = e.data.match(/heightxPYMx(\\d+)/);\n if (m) {\n message = {\n method: 'resize',\n height: parseInt(m[1]) + 1,\n domains: 'all'\n };\n }\n }\n }\n\n callback(e, message);\n }\n\n // browser supports window.postMessage\n if (window['postMessage']) {\n if (window['addEventListener']) {\n window[callback ? 'addEventListener' : 'removeEventListener']('message', cb, !1);\n } else {\n window[callback ? 'attachEvent' : 'detachEvent']('onmessage', cb);\n }\n }\n}\n\nfunction findIframeByContentWindow(iframes, contentWindow) {\n var foundIframe;\n for(var i = 0; i < iframes.length && !foundIframe; i++) {\n var iframe = iframes[i];\n if (iframe.contentWindow === contentWindow) {\n foundIframe = iframe;\n }\n }\n return foundIframe;\n}\n\nfunction findIframeInElement(element, options) {\n var foundIframe, iframes;\n \n if (options.src) {\n iframes = element.querySelectorAll('iframe[src*=\"' + options.src.replace(/^https?:/, '') + '\"]');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n if (!foundIframe) {\n iframes = options.domains ?\n element.querySelectorAll('iframe[src*=\"' + (options.domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]')\n : element.getElementsByTagName('iframe');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n return foundIframe;\n}\n\nfunction findIframeInShadowRoots(element, options) {\n var foundIframe;\n var className = '.' + (iframely.config.shadow || iframely.SHADOW);\n var shadowRoots = element.querySelectorAll(className);\n for(var i = 0; i < shadowRoots.length && !foundIframe; i++) {\n var shadowRoot = shadowRoots[i].shadowRoot;\n if (shadowRoot) {\n foundIframe = findIframeInElement(shadowRoot, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(shadowRoot, options);\n }\n }\n }\n return foundIframe;\n}\n\n// Do not override existing.\nif (!iframely.findIframe) {\n iframely.findIframe = function(options) {\n var foundIframe = findIframeInElement(document, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(document, options);\n }\n return foundIframe;\n };\n}\n\n\nreceiveMessage(function(e, message) {\n\n if (message && (message.method || message.type || message.context)) {\n\n var foundIframe = iframely.findIframe({\n contentWindow: e.source,\n src: message.src || message.context,\n domains: message.domains !== 'all' && iframely.DOMAINS.concat(iframely.CDN)\n });\n\n if (foundIframe) {\n var widget = utils.getWidget(foundIframe);\n if (widget && message.url) {\n widget.url = message.url;\n }\n iframely.trigger('message', widget, message);\n }\n }\n \n});\n\n\nexports.postMessage = function(message, target_url, target) {\n if (window['postMessage']) {\n\n if (typeof message === 'object') {\n message.context = document.location.href;\n }\n\n message = JSON.stringify(message);\n\n target_url = target_url || '*';\n\n target = target || window.parent; // default to parent\n\n // the browser supports window.postMessage, so call it with a targetOrigin\n // set appropriately, based on the target_url parameter.\n target['postMessage'](message, target_url.replace( /([^:]+:\\/\\/[^/]+).*/, '$1'));\n }\n};\n\n\n//# sourceURL=webpack:///./messaging.js?\n}"); -/***/ }), +/***/ }, -/***/ "./options/form-builder.js": +/***/ "./options/form-builder.js" /*!*********************************!*\ !*** ./options/form-builder.js ***! \*********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { -eval("var getFormElements = __webpack_require__(/*! ./form-generator */ \"./options/form-generator.js\");\nvar iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\n\nvar UIelements = {\n checkbox: {\n getValue: function(inputs) {\n var input = inputs[0];\n return input.checked;\n }\n },\n text: {\n getValue: function(inputs) {\n var input = inputs[0];\n var value = input.value;\n if (input.type === 'number') {\n value = parseInt(value);\n if (isNaN(value)) {\n value = '';\n }\n }\n return value;\n },\n customEvents: function(inputs, submitOptionsCb) {\n var input = inputs[0];\n iframely.addEventListener(input, 'click', function() {\n input.select();\n });\n iframely.addEventListener(input, 'blur', submitOptionsCb);\n iframely.addEventListener(input, 'keyup', function(e) {\n // Apply on enter.\n if (e.keyCode === 13) {\n submitOptionsCb();\n }\n });\n }\n },\n radio: {\n getValue: function(inputs) {\n var selectedInput;\n inputs.forEach(function(input) {\n if (input.checked) {\n selectedInput = input;\n }\n });\n return selectedInput.value;\n }\n }\n};\n\nvar defaultQueryById = {};\n\nmodule.exports = function(params) {\n\n var options = params.options;\n var formContainer = params.formContainer;\n\n if (!formContainer) {\n console.warn('No formContainer in form-builder options', params);\n return;\n }\n\n if (!options) {\n formContainer.innerHTML = '';\n return;\n }\n\n var elements = getFormElements(options, params.translator);\n var id = params.id;\n var renderer = params.renderer;\n\n var defaultQuery = defaultQueryById[id] = defaultQueryById[id] || {};\n // Exclude default values.\n Object.keys(options).forEach(function(key) {\n if (!options.query || options.query.indexOf(key) === -1) {\n // Store default value.\n defaultQuery[key] = options[key].value;\n }\n });\n\n function getQueryFromForm() {\n\n var query = {};\n\n var getOptionsFromElements = function(elements) {\n // Get options from all inputs.\n elements.forEach(function(element) {\n\n if (element.context && element.context.elements) {\n\n getOptionsFromElements(element.context.elements);\n\n } else if (element.inputs) {\n\n var elementUI = UIelements[element.type];\n var inputValue;\n if (elementUI && elementUI.getValue) {\n inputValue = elementUI.getValue(element.inputs);\n } else {\n inputValue = element.inputs[0].value;\n }\n Object.assign(query, element.getQuery(inputValue));\n }\n });\n };\n\n getOptionsFromElements(elements);\n \n return query;\n }\n\n function getAndSubmitOptions() {\n var query = getQueryFromForm();\n\n Object.keys(defaultQuery).forEach(function(key) {\n if (defaultQuery[key] === query[key] \n || query[key] === undefined) { // remove undefined so it's not included while JSON.stringify\n delete query[key];\n }\n });\n\n iframely.trigger('options-changed', id, formContainer, query);\n }\n\n // Render form.\n var renderElements = function(elements) {\n var html = '';\n elements.forEach(function(element) {\n if (element.context && element.context.elements) {\n element.context.elementsHtml = renderElements(element.context.elements);\n }\n html += renderer(element.type, element.context || {});\n });\n return html;\n };\n formContainer.innerHTML = renderElements(elements);\n\n // Bind events.\n var bindElements = function(elements) {\n \n elements.forEach(function(element) {\n\n if (element.context && element.context.elements) {\n\n bindElements(element.context.elements);\n\n } else {\n\n var elementUI = UIelements[element.type];\n if (element.context) {\n element.inputs = formContainer.querySelectorAll('[name=\"' + element.context.key + '\"]');\n if (element.inputs.length > 0) {\n if (elementUI && elementUI.customEvents) {\n elementUI.customEvents(element.inputs, getAndSubmitOptions);\n } else {\n element.inputs.forEach(function(input) {\n iframely.addEventListener(input, 'change', getAndSubmitOptions);\n });\n }\n } else {\n console.warn('No inputs found for option', element.key);\n }\n }\n }\n });\n };\n bindElements(elements);\n};\n\n//# sourceURL=webpack:///./options/form-builder.js?"); +eval("{var getFormElements = __webpack_require__(/*! ./form-generator */ \"./options/form-generator.js\");\nvar iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\n\nvar UIelements = {\n checkbox: {\n getValue: function(inputs) {\n var input = inputs[0];\n return input.checked;\n }\n },\n text: {\n getValue: function(inputs) {\n var input = inputs[0];\n var value = input.value;\n if (input.type === 'number') {\n value = parseInt(value);\n if (isNaN(value)) {\n value = '';\n }\n }\n return value;\n },\n customEvents: function(inputs, submitOptionsCb) {\n var input = inputs[0];\n iframely.addEventListener(input, 'click', function() {\n input.select();\n });\n iframely.addEventListener(input, 'blur', submitOptionsCb);\n iframely.addEventListener(input, 'keyup', function(e) {\n // Apply on enter.\n if (e.keyCode === 13) {\n submitOptionsCb();\n }\n });\n }\n },\n radio: {\n getValue: function(inputs) {\n var selectedInput;\n inputs.forEach(function(input) {\n if (input.checked) {\n selectedInput = input;\n }\n });\n return selectedInput.value;\n }\n }\n};\n\nvar defaultQueryById = {};\n\nmodule.exports = function(params) {\n\n var options = params.options;\n var formContainer = params.formContainer;\n\n if (!formContainer) {\n console.warn('No formContainer in form-builder options', params);\n return;\n }\n\n if (!options) {\n formContainer.innerHTML = '';\n return;\n }\n\n var elements = getFormElements(options, params.translator);\n var id = params.id;\n var renderer = params.renderer;\n\n var defaultQuery = defaultQueryById[id] = defaultQueryById[id] || {};\n // Exclude default values.\n Object.keys(options).forEach(function(key) {\n if (!options.query || options.query.indexOf(key) === -1) {\n // Store default value.\n defaultQuery[key] = options[key].value;\n }\n });\n\n function getQueryFromForm() {\n\n var query = {};\n\n var getOptionsFromElements = function(elements) {\n // Get options from all inputs.\n elements.forEach(function(element) {\n\n if (element.context && element.context.elements) {\n\n getOptionsFromElements(element.context.elements);\n\n } else if (element.inputs) {\n\n var elementUI = UIelements[element.type];\n var inputValue;\n if (elementUI && elementUI.getValue) {\n inputValue = elementUI.getValue(element.inputs);\n } else {\n inputValue = element.inputs[0].value;\n }\n Object.assign(query, element.getQuery(inputValue));\n }\n });\n };\n\n getOptionsFromElements(elements);\n \n return query;\n }\n\n function getAndSubmitOptions() {\n var query = getQueryFromForm();\n\n Object.keys(defaultQuery).forEach(function(key) {\n if (defaultQuery[key] === query[key] \n || query[key] === undefined) { // remove undefined so it's not included while JSON.stringify\n delete query[key];\n }\n });\n\n iframely.trigger('options-changed', id, formContainer, query);\n }\n\n // Render form.\n var renderElements = function(elements) {\n var html = '';\n elements.forEach(function(element) {\n if (element.context && element.context.elements) {\n element.context.elementsHtml = renderElements(element.context.elements);\n }\n html += renderer(element.type, element.context || {});\n });\n return html;\n };\n formContainer.innerHTML = renderElements(elements);\n\n // Bind events.\n var bindElements = function(elements) {\n \n elements.forEach(function(element) {\n\n if (element.context && element.context.elements) {\n\n bindElements(element.context.elements);\n\n } else {\n\n var elementUI = UIelements[element.type];\n if (element.context) {\n element.inputs = formContainer.querySelectorAll('[name=\"' + element.context.key + '\"]');\n if (element.inputs.length > 0) {\n if (elementUI && elementUI.customEvents) {\n elementUI.customEvents(element.inputs, getAndSubmitOptions);\n } else {\n element.inputs.forEach(function(input) {\n iframely.addEventListener(input, 'change', getAndSubmitOptions);\n });\n }\n } else {\n console.warn('No inputs found for option', element.key);\n }\n }\n }\n });\n };\n bindElements(elements);\n};\n\n//# sourceURL=webpack:///./options/form-builder.js?\n}"); -/***/ }), +/***/ }, -/***/ "./options/form-generator.js": +/***/ "./options/form-generator.js" /*!***********************************!*\ !*** ./options/form-generator.js ***! \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("var _RE = /^_./;\n\nvar translate = function (label, translator) {\n return translator && typeof translator === 'function' \n ? translator (label) || label\n : label;\n};\n\nmodule.exports = function(options, translator) {\n\n if (!options) {\n return [];\n }\n\n // Remove query key.\n options = Object.assign({}, options);\n delete options.query;\n\n var items = [];\n var keys = Object.keys(options);\n var checkboxCount = 0;\n \n keys.forEach(function(key) {\n \n var context = {};\n\n var getQuery;\n var option = options[key];\n option.key = key;\n\n var forceCheckboxForSingleKeyValue;\n var valuesKeys = option.values && Object.keys(option.values);\n var singleKey, singleLabel;\n if (valuesKeys && valuesKeys.length === 1) {\n forceCheckboxForSingleKeyValue = true;\n singleKey = valuesKeys[0];\n singleLabel = option.values[singleKey];\n }\n\n context.label = translate(singleLabel || option.label, translator);\n context.key = option.key;\n\n if (forceCheckboxForSingleKeyValue || typeof option.value === 'boolean') {\n\n if (forceCheckboxForSingleKeyValue) {\n context.checked = (singleKey === option.value) || (!singleKey && !option.value);\n } else {\n context.checked = option.value;\n }\n\n checkboxCount++;\n\n items.push({\n type: 'checkbox',\n context: context,\n order: _RE.test(key) ? 0 : 1,\n getQuery: function(checked) {\n\n var value;\n if (forceCheckboxForSingleKeyValue) {\n value = checked ? singleKey : '';\n } else {\n value = checked;\n }\n\n var result = {};\n\n if (forceCheckboxForSingleKeyValue) {\n if (value === '') {\n // Empty.\n } else {\n result[option.key] = value;\n }\n } else {\n result[option.key] = checked;\n }\n return result;\n }\n });\n\n } else if ((typeof option.value === 'number' || typeof option.value === 'string') && !option.values) {\n\n var useSlider = option.range && typeof option.range.min === 'number' && typeof option.range.max === 'number';\n var useNumber = typeof option.value === 'number';\n\n context.value = option.value;\n\n getQuery = function(inputValue) {\n var result = {};\n if (inputValue === '') {\n // Empty.\n } else {\n result[option.key] = inputValue;\n }\n return result;\n };\n\n if (useSlider) {\n context.min = option.range.min;\n context.max = option.range.max;\n items.push({\n type: 'range',\n context: context,\n order: 9, // last one\n getQuery: getQuery\n });\n } else {\n context.placeholder = translate(option.placeholder || '', translator);\n context.inputType = useNumber ? 'number' : 'text';\n items.push({\n type: 'text',\n context: context,\n order: /start/i.test(key) ? 7 : 8, // start/end for player timing, ex.: youtube\n getQuery: getQuery\n });\n }\n\n } else if (option.values) {\n\n context.value = option.value + '';\n\n getQuery = function(inputValue) {\n var result = {};\n if (inputValue === '') {\n // Empty.\n } else {\n result[option.key] = inputValue;\n }\n return result;\n };\n\n if (Object.keys(option.values).length <= 3) {\n\n if (option.label) {\n context.label = translate(option.label, translator);\n } else {\n context.label = false;\n }\n\n var i = 0;\n var hasLongLabel = false;\n var values = Object.values(option.values);\n while (i < values.length && !hasLongLabel) {\n var label = values[i];\n hasLongLabel = label.length > 8;\n i++;\n }\n context.inline = !hasLongLabel;\n\n context.items = [];\n\n Object.keys(option.values).forEach(function(key, idx2) {\n context.items.push({\n id: context.key + '-' + idx2,\n value: key,\n label: translate(option.values[key], translator),\n checked: context.value === key\n });\n });\n\n items.push({\n type: 'radio',\n context: context,\n order: hasLongLabel ? -3 : (!/theme/.test(key) ? -2 : -1),\n getQuery: getQuery\n });\n\n } else {\n\n context.items = [];\n\n Object.keys(option.values).forEach(function(key) {\n context.items.push({\n value: key,\n label: translate(option.values[key], translator),\n checked: context.value === key\n });\n });\n\n items.push({\n type: 'select',\n context: context,\n order: 5,\n getQuery: getQuery\n });\n }\n }\n });\n\n items.sort(function(a, b) {\n return a.order - b.order;\n });\n\n items.forEach(function(item) {\n delete item.order;\n });\n\n if (checkboxCount > 0) {\n\n var groupedItems = [];\n var subItems;\n\n items.forEach(function(item, idx) {\n\n if (item.type === 'checkbox') {\n\n // Grouping for checkboxes.\n\n var newCheckboxGroup = \n checkboxCount > 2\n && idx > 0 \n && !_RE.test(item.context.key) \n && items[idx - 1].type === 'checkbox'\n && _RE.test(items[idx - 1].context.key);\n\n if (!subItems // First group.\n || newCheckboxGroup // Second group on _ prefix removed.\n ) {\n\n subItems = [];\n groupedItems.push({\n type: 'group',\n context: {\n elements: subItems\n }\n });\n }\n\n subItems.push(item);\n\n } else {\n // Other items. Just add.\n groupedItems.push(item);\n }\n });\n\n return groupedItems;\n\n } else {\n return items;\n }\n};\n\n//# sourceURL=webpack:///./options/form-generator.js?"); +eval("{var _RE = /^_./;\n\nvar translate = function (label, translator) {\n return translator && typeof translator === 'function' \n ? translator (label) || label\n : label;\n};\n\nmodule.exports = function(options, translator) {\n\n if (!options) {\n return [];\n }\n\n // Remove query key.\n options = Object.assign({}, options);\n delete options.query;\n\n var items = [];\n var keys = Object.keys(options);\n var checkboxCount = 0;\n \n keys.forEach(function(key) {\n \n var context = {};\n\n var getQuery;\n var option = options[key];\n option.key = key;\n\n var forceCheckboxForSingleKeyValue;\n var valuesKeys = option.values && Object.keys(option.values);\n var singleKey, singleLabel;\n if (valuesKeys && valuesKeys.length === 1) {\n forceCheckboxForSingleKeyValue = true;\n singleKey = valuesKeys[0];\n singleLabel = option.values[singleKey];\n }\n\n context.label = translate(singleLabel || option.label, translator);\n context.key = option.key;\n\n if (forceCheckboxForSingleKeyValue || typeof option.value === 'boolean') {\n\n if (forceCheckboxForSingleKeyValue) {\n context.checked = (singleKey === option.value) || (!singleKey && !option.value);\n } else {\n context.checked = option.value;\n }\n\n checkboxCount++;\n\n items.push({\n type: 'checkbox',\n context: context,\n order: _RE.test(key) ? 0 : 1,\n getQuery: function(checked) {\n\n var value;\n if (forceCheckboxForSingleKeyValue) {\n value = checked ? singleKey : '';\n } else {\n value = checked;\n }\n\n var result = {};\n\n if (forceCheckboxForSingleKeyValue) {\n if (value === '') {\n // Empty.\n } else {\n result[option.key] = value;\n }\n } else {\n result[option.key] = checked;\n }\n return result;\n }\n });\n\n } else if ((typeof option.value === 'number' || typeof option.value === 'string') && !option.values) {\n\n var useSlider = option.range && typeof option.range.min === 'number' && typeof option.range.max === 'number';\n var useNumber = typeof option.value === 'number';\n\n context.value = option.value;\n\n getQuery = function(inputValue) {\n var result = {};\n if (inputValue === '') {\n // Empty.\n } else {\n result[option.key] = inputValue;\n }\n return result;\n };\n\n if (useSlider) {\n context.min = option.range.min;\n context.max = option.range.max;\n items.push({\n type: 'range',\n context: context,\n order: 9, // last one\n getQuery: getQuery\n });\n } else {\n context.placeholder = translate(option.placeholder || '', translator);\n context.inputType = useNumber ? 'number' : 'text';\n items.push({\n type: 'text',\n context: context,\n order: /start/i.test(key) ? 7 : 8, // start/end for player timing, ex.: youtube\n getQuery: getQuery\n });\n }\n\n } else if (option.values) {\n\n context.value = option.value + '';\n\n getQuery = function(inputValue) {\n var result = {};\n if (inputValue === '') {\n // Empty.\n } else {\n result[option.key] = inputValue;\n }\n return result;\n };\n\n if (Object.keys(option.values).length <= 3) {\n\n if (option.label) {\n context.label = translate(option.label, translator);\n } else {\n context.label = false;\n }\n\n var i = 0;\n var hasLongLabel = false;\n var values = Object.values(option.values);\n while (i < values.length && !hasLongLabel) {\n var label = values[i];\n hasLongLabel = label.length > 8;\n i++;\n }\n context.inline = !hasLongLabel;\n\n context.items = [];\n\n Object.keys(option.values).forEach(function(key, idx2) {\n context.items.push({\n id: context.key + '-' + idx2,\n value: key,\n label: translate(option.values[key], translator),\n checked: context.value === key\n });\n });\n\n items.push({\n type: 'radio',\n context: context,\n order: hasLongLabel ? -3 : (!/theme/.test(key) ? -2 : -1),\n getQuery: getQuery\n });\n\n } else {\n\n context.items = [];\n\n Object.keys(option.values).forEach(function(key) {\n context.items.push({\n value: key,\n label: translate(option.values[key], translator),\n checked: context.value === key\n });\n });\n\n items.push({\n type: 'select',\n context: context,\n order: 5,\n getQuery: getQuery\n });\n }\n }\n });\n\n items.sort(function(a, b) {\n return a.order - b.order;\n });\n\n items.forEach(function(item) {\n delete item.order;\n });\n\n if (checkboxCount > 0) {\n\n var groupedItems = [];\n var subItems;\n\n items.forEach(function(item, idx) {\n\n if (item.type === 'checkbox') {\n\n // Grouping for checkboxes.\n\n var newCheckboxGroup = \n checkboxCount > 2\n && idx > 0 \n && !_RE.test(item.context.key) \n && items[idx - 1].type === 'checkbox'\n && _RE.test(items[idx - 1].context.key);\n\n if (!subItems // First group.\n || newCheckboxGroup // Second group on _ prefix removed.\n ) {\n\n subItems = [];\n groupedItems.push({\n type: 'group',\n context: {\n elements: subItems\n }\n });\n }\n\n subItems.push(item);\n\n } else {\n // Other items. Just add.\n groupedItems.push(item);\n }\n });\n\n return groupedItems;\n\n } else {\n return items;\n }\n};\n\n//# sourceURL=webpack:///./options/form-generator.js?\n}"); -/***/ }), +/***/ }, -/***/ "./options/index.js": +/***/ "./options/index.js" /*!**************************!*\ !*** ./options/index.js ***! \**************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\nvar formBuilder = __webpack_require__(/*! ./form-builder */ \"./options/form-builder.js\");\nvar renderer = __webpack_require__(/*! ./renderer */ \"./options/renderer.js\");\n\niframely.buildOptionsForm = function(id, formContainer, options, translator) {\n formBuilder({\n id: id,\n formContainer: formContainer,\n options: options,\n renderer: renderer,\n translator: translator\n });\n};\n\nexports.iframely = iframely;\n\n//# sourceURL=webpack:///./options/index.js?"); +eval("{var iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\nvar formBuilder = __webpack_require__(/*! ./form-builder */ \"./options/form-builder.js\");\nvar renderer = __webpack_require__(/*! ./renderer */ \"./options/renderer.js\");\n\niframely.buildOptionsForm = function(id, formContainer, options, translator) {\n formBuilder({\n id: id,\n formContainer: formContainer,\n options: options,\n renderer: renderer,\n translator: translator\n });\n};\n\nexports.iframely = iframely;\n\n//# sourceURL=webpack:///./options/index.js?\n}"); -/***/ }), +/***/ }, -/***/ "./options/renderer.js": +/***/ "./options/renderer.js" /*!*****************************!*\ !*** ./options/renderer.js ***! \*****************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(module, __unused_webpack_exports, __webpack_require__) { -eval("var checkboxTemplate = __webpack_require__(/*! ./templates/checkbox.ejs */ \"./options/templates/checkbox.ejs\");\nvar rangeTemplate = __webpack_require__(/*! ./templates/range.ejs */ \"./options/templates/range.ejs\");\nvar textTemplate = __webpack_require__(/*! ./templates/text.ejs */ \"./options/templates/text.ejs\");\nvar radioTemplate = __webpack_require__(/*! ./templates/radio.ejs */ \"./options/templates/radio.ejs\");\nvar selectTemplate = __webpack_require__(/*! ./templates/select.ejs */ \"./options/templates/select.ejs\");\nvar groupTemplate = __webpack_require__(/*! ./templates/group.ejs */ \"./options/templates/group.ejs\");\n\nvar templates = {\n checkbox: checkboxTemplate,\n range: rangeTemplate,\n text: textTemplate,\n radio: radioTemplate,\n select: selectTemplate,\n group: groupTemplate\n};\n\nmodule.exports = function(type, context) {\n var template = templates[type];\n var renderedTemplate = template(context);\n return renderedTemplate;\n};\n\n//# sourceURL=webpack:///./options/renderer.js?"); +eval("{var checkboxTemplate = __webpack_require__(/*! ./templates/checkbox.ejs */ \"./options/templates/checkbox.ejs\");\nvar rangeTemplate = __webpack_require__(/*! ./templates/range.ejs */ \"./options/templates/range.ejs\");\nvar textTemplate = __webpack_require__(/*! ./templates/text.ejs */ \"./options/templates/text.ejs\");\nvar radioTemplate = __webpack_require__(/*! ./templates/radio.ejs */ \"./options/templates/radio.ejs\");\nvar selectTemplate = __webpack_require__(/*! ./templates/select.ejs */ \"./options/templates/select.ejs\");\nvar groupTemplate = __webpack_require__(/*! ./templates/group.ejs */ \"./options/templates/group.ejs\");\n\nvar templates = {\n checkbox: checkboxTemplate,\n range: rangeTemplate,\n text: textTemplate,\n radio: radioTemplate,\n select: selectTemplate,\n group: groupTemplate\n};\n\nmodule.exports = function(type, context) {\n var template = templates[type];\n var renderedTemplate = template(context);\n return renderedTemplate;\n};\n\n//# sourceURL=webpack:///./options/renderer.js?\n}"); -/***/ }), +/***/ }, -/***/ "./options/templates/checkbox.ejs": -/*!****************************************!*\ - !*** ./options/templates/checkbox.ejs ***! - \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?"); - -/***/ }), - -/***/ "./options/templates/group.ejs": -/*!*************************************!*\ - !*** ./options/templates/group.ejs ***! - \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?"); - -/***/ }), - -/***/ "./options/templates/radio.ejs": -/*!*************************************!*\ - !*** ./options/templates/radio.ejs ***! - \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?"); - -/***/ }), - -/***/ "./options/templates/range.ejs": -/*!*************************************!*\ - !*** ./options/templates/range.ejs ***! - \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?"); - -/***/ }), - -/***/ "./options/templates/select.ejs": -/*!**************************************!*\ - !*** ./options/templates/select.ejs ***! - \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?"); - -/***/ }), - -/***/ "./options/templates/text.ejs": -/*!************************************!*\ - !*** ./options/templates/text.ejs ***! - \************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?"); - -/***/ }), - -/***/ "./theme.js": +/***/ "./theme.js" /*!******************!*\ !*** ./theme.js ***! \******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar messaging = __webpack_require__(/*! ./messaging */ \"./messaging.js\");\n\nfunction setThemeInIframe(iframe, theme) {\n messaging.postMessage({\n method: 'setTheme',\n data: theme\n }, '*', iframe.contentWindow);\n}\n\nfunction setThemeInAllIframes(parent, theme) {\n var iframes = parent.getElementsByTagName('iframe');\n for(var i = 0; i < iframes.length; i++) {\n var iframe = iframes[i];\n setThemeInIframe(iframe, theme);\n }\n}\n\niframely.setTheme = function(theme, container) {\n if (theme && iframely.SUPPORTED_THEMES.indexOf(theme) > -1) {\n if (container) {\n if (container.tagName === 'IFRAME') {\n setThemeInIframe(container, theme);\n } else {\n setThemeInAllIframes(container, theme);\n }\n } else {\n // Send get param to next iframes.\n iframely.extendOptions({\n theme: theme\n });\n setThemeInAllIframes(document, theme);\n iframely.trigger('set-theme', theme);\n }\n } else {\n console.warn('Using iframely.setTheme with not supported theme: \"' + theme + '\". Supported themes are: ' + iframely.SUPPORTED_THEMES.join(', '));\n }\n};\n\n//# sourceURL=webpack:///./theme.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar messaging = __webpack_require__(/*! ./messaging */ \"./messaging.js\");\n\nfunction setThemeInIframe(iframe, theme) {\n messaging.postMessage({\n method: 'setTheme',\n data: theme\n }, '*', iframe.contentWindow);\n}\n\nfunction setThemeInAllIframes(parent, theme) {\n var iframes = parent.getElementsByTagName('iframe');\n for(var i = 0; i < iframes.length; i++) {\n var iframe = iframes[i];\n setThemeInIframe(iframe, theme);\n }\n}\n\niframely.setTheme = function(theme, container) {\n if (theme && iframely.SUPPORTED_THEMES.indexOf(theme) > -1) {\n if (container) {\n if (container.tagName === 'IFRAME') {\n setThemeInIframe(container, theme);\n } else {\n setThemeInAllIframes(container, theme);\n }\n } else {\n // Send get param to next iframes.\n iframely.extendOptions({\n theme: theme\n });\n setThemeInAllIframes(document, theme);\n iframely.trigger('set-theme', theme);\n }\n } else {\n console.warn('Using iframely.setTheme with not supported theme: \"' + theme + '\". Supported themes are: ' + iframely.SUPPORTED_THEMES.join(', '));\n }\n};\n\n//# sourceURL=webpack:///./theme.js?\n}"); -/***/ }), +/***/ }, -/***/ "./utils.js": +/***/ "./utils.js" /*!******************!*\ !*** ./utils.js ***! \******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar messaging = __webpack_require__(/*! ./messaging */ \"./messaging.js\");\n\niframely.on('init', function() {\n\n\n iframely.extendOptions(parseQueryStringFromScriptSrc());\n // if it's hosted from elsewhere - we don't support customizing via query-string.\n // iframely.CDN will be default one unless changed by user (?cdn= or iframely.CDN= )\n\n defineDefaultStyles();\n\n // Set theme for existing iframes.\n if (iframely.config.theme) {\n iframely.setTheme(iframely.config.theme);\n }\n\n requestSizeOfExistingIframes(iframely.DOMAINS.concat(iframely.CDN.replace(/^https?:\\/\\//, '')));\n \n});\n\niframely.load = function() {\n var args = Array.prototype.slice.call(arguments);\n args.unshift('load');\n iframely.trigger.apply(this, args);\n};\n\nvar getIframeWrapper = exports.getIframeWrapper = function(iframe, checkClass) {\n\n var aspectWrapper = iframe.parentNode;\n\n if (!aspectWrapper\n || aspectWrapper.nodeName !== 'DIV'\n || nonTextChildCount(aspectWrapper) > 2 /* 2 is lazy-cover */\n || (checkClass && aspectWrapper.getAttribute('class') !== iframely.ASPECT_WRAPPER_CLASS)\n || (!checkClass && aspectWrapper.style.position !== 'relative' && aspectWrapper.getAttribute('class') !== iframely.ASPECT_WRAPPER_CLASS)) {\n return;\n }\n\n var maxWidthWrapper = aspectWrapper.parentNode;\n\n if (!maxWidthWrapper\n || maxWidthWrapper.nodeName !== 'DIV'\n || nonTextChildCount(maxWidthWrapper) > 1\n || (checkClass && maxWidthWrapper.getAttribute('class') && maxWidthWrapper.getAttribute('class').split(' ').indexOf(iframely.MAXWIDTH_WRAPPER_CLASS) === -1)\n || (!checkClass && maxWidthWrapper.getAttribute('class') && !maxWidthWrapper.getAttribute('class').match(/iframely/i) /* users can modify class */)\n ) {\n return;\n }\n\n return {\n aspectWrapper: aspectWrapper,\n maxWidthWrapper: maxWidthWrapper\n };\n};\n\nexports.addDefaultWrappers = function(el) {\n var parentNode = el.parentNode;\n\n var maxWidthWrapper = document.createElement('div');\n maxWidthWrapper.className = iframely.MAXWIDTH_WRAPPER_CLASS;\n\n var aspectWrapper = document.createElement('div');\n aspectWrapper.className = iframely.ASPECT_WRAPPER_CLASS;\n\n maxWidthWrapper.appendChild(aspectWrapper);\n\n parentNode.insertBefore(maxWidthWrapper, el);\n\n return {\n aspectWrapper: aspectWrapper,\n maxWidthWrapper: maxWidthWrapper\n };\n};\n\nexports.getWidget = function(iframe) {\n var wrapper = getIframeWrapper(iframe);\n if (!wrapper) {\n return;\n }\n var widget = {\n iframe: iframe, // can actually be ahref\n aspectWrapper: wrapper.aspectWrapper,\n maxWidthWrapper: wrapper.maxWidthWrapper\n };\n if (iframe.nodeName === 'A' && iframe.hasAttribute('href')) {\n widget.url = iframe.getAttribute('href');\n } else if (iframe.hasAttribute('src') && /url=/.test(iframe.getAttribute('src'))) {\n var qs = parseQueryString(iframe.getAttribute('src'));\n if (qs.url) {\n widget.url = qs.url;\n }\n }\n return widget;\n};\n\niframely.getElementComputedStyle = function(el, style) {\n return window.getComputedStyle && window.getComputedStyle(el).getPropertyValue(style);\n};\n\nexports.setStyles = function(el, styles) {\n if (el) { // let's check it's still defined, just in case\n Object.keys(styles).forEach(function(key) {\n\n var value = styles[key];\n if (typeof value === 'number' || (typeof value === 'string' && /^(\\d+)?\\.?(\\d+)$/.test(value))) {\n value = value + 'px';\n }\n\n var currentValue = el.style[key];\n\n if (!window.getComputedStyle ||\n // don't change CSS values in pixels, such as height:0\n (\n iframely.getElementComputedStyle(el, key) != value\n // && don't set default aspect ratio if it's defined in CSS anyway\n && !(el.className == 'iframely-responsive' && key === 'paddingBottom' && !currentValue && /^56\\.2\\d+%$/.test(value))\n // && do not change max-width if new value === 'keep'.\n && !(key === 'max-width' && value === 'keep')\n )) {\n\n el.style[key] = value || ''; // remove style that is no longer needed\n }\n });\n }\n};\n\nvar applyNonce = exports.applyNonce = function(element) {\n if (iframely.config.nonce) {\n element.nonce = iframely.config.nonce;\n }\n};\n\nfunction defineDefaultStyles() {\n\n var iframelyStylesId = 'iframely-styles';\n var styles = document.getElementById(iframelyStylesId);\n\n if (!styles) {\n // copy-paste default styles from https://iframely.com/docs/omit-css\n // box-sizing:border-box - need for iOS Safari .\n var iframelyStyles = '.iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}';\n\n styles = document.createElement('style');\n styles.id = iframelyStylesId;\n styles.type = 'text/css';\n applyNonce(styles);\n\n if (styles.styleSheet) {\n // IE.\n styles.styleSheet.cssText = iframelyStyles;\n } else {\n styles.innerHTML = iframelyStyles;\n }\n document.getElementsByTagName('head')[0].appendChild(styles);\n }\n}\n\n\nvar addQueryString = exports.addQueryString = function(href, options) {\n\n var query_string = '';\n\n Object.keys(options).forEach(function(key) {\n var value = options[key];\n\n // array is used e.g. for import: uris and ids\n if (Object.prototype.toString.call(value) === '[object Array]') {\n\n var values = value.map(function(uri) {\n return key + '=' + encodeURIComponent(uri);\n });\n query_string += '&' + values.join('&'); \n\n } else if (typeof value !== 'undefined' && href.indexOf(key + '=') === -1 ) { // set explicitely in options, skip undefines\n\n // Do not convert boolean for _option.\n if (typeof value === 'boolean' && key.charAt(0) !== '_') {\n value = value ? 1 : 0;\n }\n\n query_string += '&' + key + '=' + encodeURIComponent(value);\n }\n\n });\n\n return href + (query_string !== '' ? (href.indexOf('?') > -1 ? '&' : '?') + query_string.replace(/^&/, '') : '');\n};\n\nexports.getEndpoint = function(src, options, config_params) {\n\n var endpoint = src;\n\n if (!/^(https?:)?\\/\\//i.test(src)) {\n endpoint = (options.CDN || iframely.CDN) + endpoint;\n delete options.CDN;\n }\n\n if (!/^(?:https?:)?\\/\\//i.test(endpoint)) {\n endpoint = '//' + endpoint;\n } \n\n if (options) {\n endpoint = addQueryString(endpoint, options);\n }\n\n // get additional params from config\n if (config_params && config_params.length) {\n\n var more_options = {};\n\n var iframely_config_keys = Object.keys(iframely.config);\n for (var i = 0; i < iframely_config_keys.length; i++) {\n var key = iframely_config_keys[i];\n if (containsString(config_params, key)) {\n more_options[key] = iframely.config[key];\n }\n }\n\n endpoint = addQueryString(endpoint, more_options);\n }\n\n\n if (/^(https?:)?\\/\\//i.test(endpoint) // Path is url.\n && !endpoint.match(/^(https?:)?\\/\\//i)[1] // No http protocol specified.\n && document.location.protocol !== 'http:' // Document in `file:` or other protocol.\n && document.location.protocol !== 'https:') {\n\n endpoint = 'https:' + endpoint;\n }\n\n return endpoint;\n};\n\n// helper method to init more options through js code\niframely.extendOptions = function(options) {\n\n options && Object.keys(options).forEach(function(key) {\n var new_value = (\n options[key] === 0 || options[key] === '0' || options[key] === false || options[key] === 'false'\n ? false : (options[key] === 1 || options[key] === '1' || options[key] === true || options[key] === 'true'\n ? true : options[key]));\n\n if (iframely.config[key] !== false) { // set new value only when undefined or not previously disabled\n iframely.config[key] = new_value;\n }\n });\n\n};\n\nfunction parseQueryStringFromScriptSrc() {\n\n // Extract global iframely params.\n var scripts = document.querySelectorAll('script[src*=\"embed.js\"], script[src*=\"iframely.js\"]');\n\n for(var i = 0; i < scripts.length; i++) {\n var src = scripts[i].getAttribute('src').replace(/&/gi, '&');\n\n if (iframely.SCRIPT_RE.test(src)) { // found the script on custom origin or default Iframely CDN\n\n var options = parseQueryString(src, iframely.SUPPORTED_QUERY_STRING.concat('cdn', 'cancel', 'nonce'));\n\n var m2 = src.match(iframely.CDN_RE);\n if (m2 || options.cdn) { // ignore non-Iframely hosts such as s.imgur.com/min/embed.js\n iframely.CDN = options.cdn || m2[1];\n }\n\n if (options.cancel) {\n if (options.cancel === '0' || options.cancel === 'false') {\n iframely.RECOVER_HREFS_ON_CANCEL = true;\n }\n delete options.cancel;\n }\n\n if (Object.keys(options).length > 0) {\n // give preferrence to CDN from scripts that have query-string. \n // CDN is most critical for embeds with empty data-iframely-url\n // and those should have at least ?api_key... in script src\n\n return options;\n } // or keep searching\n }\n }\n // should have exited by now if any querystring found...\n return {};\n}\n\nfunction requestSizeOfExistingIframes(domains) {\n\n var iframes = document.querySelectorAll('iframe[src*=\"' + (domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]');\n for(var i = 0; i < iframes.length; i++) {\n var iframe = iframes[i];\n var src = iframe.src;\n if (src.match(/^(https?:)?\\/\\/[^/]+\\/api\\/iframe\\?.+/)\n || src.match(/^(https?:)?\\/\\/[^/]+\\/\\w+(\\?.*)?$/)) {\n messaging.postMessage({\n method: 'getSize'\n }, '*', iframe.contentWindow);\n }\n }\n} \n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction containsString(list, findValue) {\n var value, i = 0;\n while (i < list.length) {\n value = list[i];\n\n if (value == findValue) {\n return true;\n }\n\n if (value && value.test && value.test(findValue)) {\n return true;\n }\n\n i++;\n }\n}\n\nvar parseQueryString = exports.parseQueryString = function(url, allowed_query_string) {\n var query = url.match(/\\?(.+)/i);\n if (query) {\n query = query[1];\n var data = query.split('&');\n var result = {};\n for(var i=0; i 2 /* 2 is lazy-cover */\n || (checkClass && aspectWrapper.getAttribute('class') !== iframely.ASPECT_WRAPPER_CLASS)\n || (!checkClass && aspectWrapper.style.position !== 'relative' && aspectWrapper.getAttribute('class') !== iframely.ASPECT_WRAPPER_CLASS)) {\n return;\n }\n\n var maxWidthWrapper = aspectWrapper.parentNode;\n\n if (!maxWidthWrapper\n || maxWidthWrapper.nodeName !== 'DIV'\n || nonTextChildCount(maxWidthWrapper) > 1\n || (checkClass && maxWidthWrapper.getAttribute('class') && maxWidthWrapper.getAttribute('class').split(' ').indexOf(iframely.MAXWIDTH_WRAPPER_CLASS) === -1)\n || (!checkClass && maxWidthWrapper.getAttribute('class') && !maxWidthWrapper.getAttribute('class').match(/iframely/i) /* users can modify class */)\n ) {\n return;\n }\n\n return {\n aspectWrapper: aspectWrapper,\n maxWidthWrapper: maxWidthWrapper\n };\n};\n\nexports.addDefaultWrappers = function(el) {\n var parentNode = el.parentNode;\n\n var maxWidthWrapper = document.createElement('div');\n maxWidthWrapper.className = iframely.MAXWIDTH_WRAPPER_CLASS;\n\n var aspectWrapper = document.createElement('div');\n aspectWrapper.className = iframely.ASPECT_WRAPPER_CLASS;\n\n maxWidthWrapper.appendChild(aspectWrapper);\n\n parentNode.insertBefore(maxWidthWrapper, el);\n\n return {\n aspectWrapper: aspectWrapper,\n maxWidthWrapper: maxWidthWrapper\n };\n};\n\nexports.getWidget = function(iframe) {\n var wrapper = getIframeWrapper(iframe);\n if (!wrapper) {\n return;\n }\n var widget = {\n iframe: iframe, // can actually be ahref\n aspectWrapper: wrapper.aspectWrapper,\n maxWidthWrapper: wrapper.maxWidthWrapper\n };\n if (iframe.nodeName === 'A' && iframe.hasAttribute('href')) {\n widget.url = iframe.getAttribute('href');\n } else if (iframe.hasAttribute('src') && /url=/.test(iframe.getAttribute('src'))) {\n var qs = parseQueryString(iframe.getAttribute('src'));\n if (qs.url) {\n widget.url = qs.url;\n }\n }\n return widget;\n};\n\niframely.getElementComputedStyle = function(el, style) {\n return window.getComputedStyle && window.getComputedStyle(el).getPropertyValue(style);\n};\n\nexports.setStyles = function(el, styles) {\n if (el) { // let's check it's still defined, just in case\n Object.keys(styles).forEach(function(key) {\n\n var value = styles[key];\n if (typeof value === 'number' || (typeof value === 'string' && /^(\\d+)?\\.?(\\d+)$/.test(value))) {\n value = value + 'px';\n }\n\n var currentValue = el.style[key];\n\n if (!window.getComputedStyle ||\n // don't change CSS values in pixels, such as height:0\n (\n iframely.getElementComputedStyle(el, key) != value\n // && don't set default aspect ratio if it's defined in CSS anyway\n && !(el.className == 'iframely-responsive' && key === 'paddingBottom' && !currentValue && /^56\\.2\\d+%$/.test(value))\n // && do not change max-width if new value === 'keep'.\n && !(key === 'max-width' && value === 'keep')\n )) {\n\n el.style[key] = value || ''; // remove style that is no longer needed\n }\n });\n }\n};\n\nvar applyNonce = exports.applyNonce = function(element) {\n if (iframely.config.nonce) {\n element.nonce = iframely.config.nonce;\n }\n};\n\nfunction defineDefaultStyles() {\n\n var iframelyStylesId = 'iframely-styles';\n var styles = document.getElementById(iframelyStylesId);\n\n if (!styles) {\n // copy-paste default styles from https://iframely.com/docs/omit-css\n // box-sizing:border-box - need for iOS Safari .\n var iframelyStyles = '.iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}';\n\n styles = document.createElement('style');\n styles.id = iframelyStylesId;\n styles.type = 'text/css';\n applyNonce(styles);\n\n if (styles.styleSheet) {\n // IE.\n styles.styleSheet.cssText = iframelyStyles;\n } else {\n styles.innerHTML = iframelyStyles;\n }\n document.getElementsByTagName('head')[0].appendChild(styles);\n }\n}\n\n\nvar addQueryString = exports.addQueryString = function(href, options) {\n\n var query_string = '';\n\n Object.keys(options).forEach(function(key) {\n var value = options[key];\n\n // array is used e.g. for import: uris and ids\n if (Object.prototype.toString.call(value) === '[object Array]') {\n\n var values = value.map(function(uri) {\n return key + '=' + encodeURIComponent(uri);\n });\n query_string += '&' + values.join('&'); \n\n } else if (typeof value !== 'undefined' && href.indexOf(key + '=') === -1 ) { // set explicitely in options, skip undefines\n\n // Do not convert boolean for _option.\n if (typeof value === 'boolean' && key.charAt(0) !== '_') {\n value = value ? 1 : 0;\n }\n\n query_string += '&' + key + '=' + encodeURIComponent(value);\n }\n\n });\n\n return href + (query_string !== '' ? (href.indexOf('?') > -1 ? '&' : '?') + query_string.replace(/^&/, '') : '');\n};\n\nexports.getEndpoint = function(src, options, config_params) {\n\n var endpoint = src;\n\n if (!/^(https?:)?\\/\\//i.test(src)) {\n endpoint = (options.CDN || iframely.CDN) + endpoint;\n delete options.CDN;\n }\n\n if (!/^(?:https?:)?\\/\\//i.test(endpoint)) {\n endpoint = '//' + endpoint;\n } \n\n if (options) {\n endpoint = addQueryString(endpoint, options);\n }\n\n // get additional params from config\n if (config_params && config_params.length) {\n\n var more_options = {};\n\n var iframely_config_keys = Object.keys(iframely.config);\n for (var i = 0; i < iframely_config_keys.length; i++) {\n var key = iframely_config_keys[i];\n if (containsString(config_params, key)) {\n more_options[key] = iframely.config[key];\n }\n }\n\n endpoint = addQueryString(endpoint, more_options);\n }\n\n\n if (/^(https?:)?\\/\\//i.test(endpoint) // Path is url.\n && !endpoint.match(/^(https?:)?\\/\\//i)[1] // No http protocol specified.\n && document.location.protocol !== 'http:' // Document in `file:` or other protocol.\n && document.location.protocol !== 'https:') {\n\n endpoint = 'https:' + endpoint;\n }\n\n return endpoint;\n};\n\n// helper method to init more options through js code\niframely.extendOptions = function(options) {\n\n options && Object.keys(options).forEach(function(key) {\n var new_value = (\n options[key] === 0 || options[key] === '0' || options[key] === false || options[key] === 'false'\n ? false : (options[key] === 1 || options[key] === '1' || options[key] === true || options[key] === 'true'\n ? true : options[key]));\n\n if (iframely.config[key] !== false) { // set new value only when undefined or not previously disabled\n iframely.config[key] = new_value;\n }\n });\n\n};\n\nfunction parseQueryStringFromScriptSrc() {\n\n // Extract global iframely params.\n var scripts = document.querySelectorAll('script[src*=\"embed.js\"], script[src*=\"iframely.js\"]');\n\n for(var i = 0; i < scripts.length; i++) {\n var src = scripts[i].getAttribute('src').replace(/&/gi, '&');\n\n if (iframely.SCRIPT_RE.test(src)) { // found the script on custom origin or default Iframely CDN\n\n var options = parseQueryString(src, iframely.SUPPORTED_QUERY_STRING.concat('cdn', 'cancel', 'nonce'));\n\n var m2 = src.match(iframely.CDN_RE);\n if (m2 || options.cdn) { // ignore non-Iframely hosts such as s.imgur.com/min/embed.js\n iframely.CDN = options.cdn || m2[1];\n }\n\n if (options.cancel) {\n if (options.cancel === '0' || options.cancel === 'false') {\n iframely.RECOVER_HREFS_ON_CANCEL = true;\n }\n delete options.cancel;\n }\n\n if (Object.keys(options).length > 0) {\n // give preferrence to CDN from scripts that have query-string. \n // CDN is most critical for embeds with empty data-iframely-url\n // and those should have at least ?api_key... in script src\n\n return options;\n } // or keep searching\n }\n }\n // should have exited by now if any querystring found...\n return {};\n}\n\nfunction requestSizeOfExistingIframes(domains) {\n\n var iframes = document.querySelectorAll('iframe[src*=\"' + (domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]');\n for(var i = 0; i < iframes.length; i++) {\n var iframe = iframes[i];\n var src = iframe.src;\n if (src.match(/^(https?:)?\\/\\/[^/]+\\/api\\/iframe\\?.+/)\n || src.match(/^(https?:)?\\/\\/[^/]+\\/\\w+(\\?.*)?$/)) {\n messaging.postMessage({\n method: 'getSize'\n }, '*', iframe.contentWindow);\n }\n }\n} \n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction containsString(list, findValue) {\n var value, i = 0;\n while (i < list.length) {\n value = list[i];\n\n if (value == findValue) {\n return true;\n }\n\n if (value && value.test && value.test(findValue)) {\n return true;\n }\n\n i++;\n }\n}\n\nvar parseQueryString = exports.parseQueryString = function(url, allowed_query_string) {\n var query = url.match(/\\?(.+)/i);\n if (query) {\n query = query[1];\n var data = query.split('&');\n var result = {};\n for(var i=0; i= 0;\n }\n return found && el;\n }\n\n var parentNode = widget.maxWidthWrapper && widget.maxWidthWrapper.parentNode;\n var naNode = widget.maxWidthWrapper;\n\n // Try remove by parentClass first.\n if (iframely.config && iframely.config.parent) {\n // Remove by parent class.\n var parentElement = findParent(widget.maxWidthWrapper, iframely.config.parent);\n\n if (parentElement) {\n parentNode = parentElement.parentNode;\n naNode = parentElement;\n }\n }\n\n if (widget.url) {\n var text = widget.iframe && (widget.iframe.textContent || widget.iframe.innerText);\n\n iframely.triggerAsync('cancel', widget.url, parentNode, text, naNode.nextSibling);\n }\n // Re-creating a link if people had it as text is now deprecated (see in deprecated.js)\n // New use: iframely.on('cancel', function(url, parentNode, text) {...} );\n\n parentNode.removeChild(naNode);\n};\n\n//# sourceURL=webpack:///./widget-cancel.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'cancelWidget') { \n iframely.cancelWidget(widget);\n }\n});\n\niframely.cancelWidget = function(widget) {\n\n if (!widget) {\n console.warn('iframely.cancelWidget called without widget param');\n return;\n }\n\n function findParent(el, className) {\n var found = false;\n while(!found && el.parentNode) {\n el = el.parentNode;\n found = el.className && el.className.split(' ').indexOf(className) >= 0;\n }\n return found && el;\n }\n\n var parentNode = widget.maxWidthWrapper && widget.maxWidthWrapper.parentNode;\n var naNode = widget.maxWidthWrapper;\n\n // Try remove by parentClass first.\n if (iframely.config && iframely.config.parent) {\n // Remove by parent class.\n var parentElement = findParent(widget.maxWidthWrapper, iframely.config.parent);\n\n if (parentElement) {\n parentNode = parentElement.parentNode;\n naNode = parentElement;\n }\n }\n\n if (widget.url) {\n var text = widget.iframe && (widget.iframe.textContent || widget.iframe.innerText);\n\n iframely.triggerAsync('cancel', widget.url, parentNode, text, naNode.nextSibling);\n }\n // Re-creating a link if people had it as text is now deprecated (see in deprecated.js)\n // New use: iframely.on('cancel', function(url, parentNode, text) {...} );\n\n parentNode.removeChild(naNode);\n};\n\n//# sourceURL=webpack:///./widget-cancel.js?\n}"); -/***/ }), +/***/ }, -/***/ "./widget-click.js": +/***/ "./widget-click.js" /*!*************************!*\ !*** ./widget-click.js ***! \*************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'open-href' || message.method === 'click') {\n iframely.trigger(message.method, message.href);\n }\n});\n\n// Do not override user defined handler.\nif (!iframely.openHref) {\n iframely.openHref = function(href) {\n if (href.indexOf(window.location.origin) === 0) {\n // Redirect top on same origin.\n window.location.href = href;\n } else {\n // Open new tab on another origin.\n window.open(href, '_blank', 'noopener');\n }\n };\n}\n\niframely.on('open-href', function(href) {\n iframely.triggerAsync('click', href);\n iframely.openHref(href);\n});\n\n//# sourceURL=webpack:///./widget-click.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'open-href' || message.method === 'click') {\n iframely.trigger(message.method, message.href);\n }\n});\n\n// Do not override user defined handler.\nif (!iframely.openHref) {\n iframely.openHref = function(href) {\n if (href.indexOf(window.location.origin) === 0) {\n // Redirect top on same origin.\n window.location.href = href;\n } else {\n // Open new tab on another origin.\n window.open(href, '_blank', 'noopener');\n }\n };\n}\n\niframely.on('open-href', function(href) {\n iframely.triggerAsync('click', href);\n iframely.openHref(href);\n});\n\n//# sourceURL=webpack:///./widget-click.js?\n}"); -/***/ }), +/***/ }, -/***/ "./widget-options.js": +/***/ "./widget-options.js" /*!***************************!*\ !*** ./widget-options.js ***! \***************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'setIframelyEmbedOptions') {\n iframely.trigger('options', widget, message.data);\n }\n});\n\n\n//# sourceURL=webpack:///./widget-options.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'setIframelyEmbedOptions') {\n iframely.trigger('options', widget, message.data);\n }\n});\n\n\n//# sourceURL=webpack:///./widget-options.js?\n}"); -/***/ }), +/***/ }, -/***/ "./widget-resize.js": +/***/ "./widget-resize.js" /*!**************************!*\ !*** ./widget-resize.js ***! \**************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n\n if (message.method === 'setIframelyWidgetSize' \n || message.method === 'resize' \n || message.method === 'setIframelyEmbedData' \n || message.type === 'embed-size'\n || message.context === 'iframe.resize') {\n\n var frame_styles = null;\n\n if (message.data && message.data.media && message.data.media.frame_style) {\n\n message.data.media.frame_style.split(';').forEach(function(str) {\n\n if(str.trim() !== '' && str.indexOf(':') > -1) {\n var props = str.split(':');\n if (props.length === 2) {\n frame_styles = frame_styles || {};\n frame_styles[props[0].trim()] = props[1].trim();\n }\n }\n });\n\n widgetDecorate(widget, frame_styles);\n\n } else if (message.method === 'setIframelyEmbedData') {\n\n // setIframelyEmbedData always sets frame_style. If not - reset.\n // setIframelyEmbedData without message.data resets border.\n widgetDecorate(widget, null);\n }\n\n var media = message.data && message.data.media;\n if (!media && message.height) {\n media = {\n height: message.height,\n 'max-width': 'keep'\n };\n }\n\n widgetResize(widget, media);\n }\n});\n\n// All frame_style attributes.\nvar resetWrapperBorderStyles = {'border': '', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\nvar resetIframeBorderStyles = {'border': '0', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\n\nfunction widgetDecorate(widget, styles) {\n\n if (styles && widget && widget.iframe) {\n\n if (styles['border-radius']) {\n // fix for Chrome?\n styles.overflow = 'hidden';\n utils.setStyles(widget.aspectWrapper, styles);\n } else {\n utils.setStyles(widget.iframe, styles);\n }\n\n } else if (!styles && widget && widget.iframe) {\n\n utils.setStyles(widget.aspectWrapper, resetWrapperBorderStyles);\n utils.setStyles(widget.iframe, resetIframeBorderStyles);\n }\n}\n\nfunction getTotalBorderWidth(widget) {\n\n // Get frame style from iframe or aspect wrapper as in widgetDecorate for Chrome fix.\n var frameStylesBorder = \n (widget.iframe && widget.iframe.style.border) \n || (widget.aspectWrapper && widget.aspectWrapper.style.border);\n\n // Get iframe border width from frame style.\n var borderWidth = frameStylesBorder && frameStylesBorder.match(/(\\d+)px/) || 0;\n if (borderWidth) {\n borderWidth = parseInt(borderWidth[1]);\n // For width and height border size will be 2x.\n borderWidth = borderWidth * 2;\n }\n\n return borderWidth;\n}\n\nfunction widgetResize(widget, media) {\n\n if (media && Object.keys(media).length > 0 && widget) {\n\n var borderWidth = getTotalBorderWidth(widget);\n\n var oldIframeHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n\n var maxWidth = media['max-width'];\n if (typeof maxWidth === 'number') {\n // Can be max-width: 56vh.\n maxWidth += borderWidth;\n }\n\n utils.setStyles(widget.maxWidthWrapper, {\n 'max-width': maxWidth,\n 'min-width': media['min-width'] && (media['min-width'] + borderWidth),\n width: media.width && (media.width + borderWidth)\n });\n\n if (media.scrolling && widget.iframe) {\n widget.iframe.setAttribute('scrolling', media.scrolling);\n }\n\n var aspectRatio = media['aspect-ratio'];\n\n // If no aspect and height - do not change aspect wrapper.\n if (aspectRatio || media.height) {\n utils.setStyles(widget.aspectWrapper, {\n paddingBottom: aspectRatio ? (Math.round(1000 * 100 / aspectRatio) / 1000 + '%') : 0, // if fixed-size, it will get set to 0\n paddingTop: aspectRatio && media['padding-bottom'], // if a fixed-height padding at the bottom of responsive div is required\n height: aspectRatio ? 0 : (media.height && (media.height + borderWidth)) // if defined\n });\n }\n\n\n var currentHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n if (oldIframeHeight && oldIframeHeight !== currentHeight) {\n iframely.triggerAsync('heightChanged', widget.iframe, oldIframeHeight, currentHeight);\n }\n\n }\n}\n\n\n//# sourceURL=webpack:///./widget-resize.js?"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n\n if (message.method === 'setIframelyWidgetSize' \n || message.method === 'resize' \n || message.method === 'setIframelyEmbedData' \n || message.type === 'embed-size'\n || message.context === 'iframe.resize') {\n\n var frame_styles = null;\n\n if (message.data && message.data.media && message.data.media.frame_style) {\n\n message.data.media.frame_style.split(';').forEach(function(str) {\n\n if(str.trim() !== '' && str.indexOf(':') > -1) {\n var props = str.split(':');\n if (props.length === 2) {\n frame_styles = frame_styles || {};\n frame_styles[props[0].trim()] = props[1].trim();\n }\n }\n });\n\n widgetDecorate(widget, frame_styles);\n\n } else if (message.method === 'setIframelyEmbedData') {\n\n // setIframelyEmbedData always sets frame_style. If not - reset.\n // setIframelyEmbedData without message.data resets border.\n widgetDecorate(widget, null);\n }\n\n var media = message.data && message.data.media;\n if (!media && message.height) {\n media = {\n height: message.height,\n 'max-width': 'keep'\n };\n }\n\n widgetResize(widget, media);\n }\n});\n\n// All frame_style attributes.\nvar resetWrapperBorderStyles = {'border': '', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\nvar resetIframeBorderStyles = {'border': '0', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\n\nfunction widgetDecorate(widget, styles) {\n\n if (styles && widget && widget.iframe) {\n\n if (styles['border-radius']) {\n // fix for Chrome?\n styles.overflow = 'hidden';\n utils.setStyles(widget.aspectWrapper, styles);\n } else {\n utils.setStyles(widget.iframe, styles);\n }\n\n } else if (!styles && widget && widget.iframe) {\n\n utils.setStyles(widget.aspectWrapper, resetWrapperBorderStyles);\n utils.setStyles(widget.iframe, resetIframeBorderStyles);\n }\n}\n\nfunction getTotalBorderWidth(widget) {\n\n // Get frame style from iframe or aspect wrapper as in widgetDecorate for Chrome fix.\n var frameStylesBorder = \n (widget.iframe && widget.iframe.style.border) \n || (widget.aspectWrapper && widget.aspectWrapper.style.border);\n\n // Get iframe border width from frame style.\n var borderWidth = frameStylesBorder && frameStylesBorder.match(/(\\d+)px/) || 0;\n if (borderWidth) {\n borderWidth = parseInt(borderWidth[1]);\n // For width and height border size will be 2x.\n borderWidth = borderWidth * 2;\n }\n\n return borderWidth;\n}\n\nfunction widgetResize(widget, media) {\n\n if (media && Object.keys(media).length > 0 && widget) {\n\n var borderWidth = getTotalBorderWidth(widget);\n\n var oldIframeHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n\n var maxWidth = media['max-width'];\n if (typeof maxWidth === 'number') {\n // Can be max-width: 56vh.\n maxWidth += borderWidth;\n }\n\n utils.setStyles(widget.maxWidthWrapper, {\n 'max-width': maxWidth,\n 'min-width': media['min-width'] && (media['min-width'] + borderWidth),\n width: media.width && (media.width + borderWidth)\n });\n\n if (media.scrolling && widget.iframe) {\n widget.iframe.setAttribute('scrolling', media.scrolling);\n }\n\n var aspectRatio = media['aspect-ratio'];\n\n // If no aspect and height - do not change aspect wrapper.\n if (aspectRatio || media.height) {\n utils.setStyles(widget.aspectWrapper, {\n paddingBottom: aspectRatio ? (Math.round(1000 * 100 / aspectRatio) / 1000 + '%') : 0, // if fixed-size, it will get set to 0\n paddingTop: aspectRatio && media['padding-bottom'], // if a fixed-height padding at the bottom of responsive div is required\n height: aspectRatio ? 0 : (media.height && (media.height + borderWidth)) // if defined\n });\n }\n\n\n var currentHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n if (oldIframeHeight && oldIframeHeight !== currentHeight) {\n iframely.triggerAsync('heightChanged', widget.iframe, oldIframeHeight, currentHeight);\n }\n\n }\n}\n\n\n//# sourceURL=webpack:///./widget-resize.js?\n}"); -/***/ }) +/***/ } -/******/ }); \ No newline at end of file +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ if (!(moduleId in __webpack_modules__)) { +/******/ delete __webpack_module_cache__[moduleId]; +/******/ var e = new Error("Cannot find module '" + moduleId + "'"); +/******/ e.code = 'MODULE_NOT_FOUND'; +/******/ throw e; +/******/ } +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./index-options.js"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/dist/embed-options.min.js b/dist/embed-options.min.js index 6d1a92d..8ab1828 100644 --- a/dist/embed-options.min.js +++ b/dist/embed-options.min.js @@ -1 +1 @@ -!function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=31)}([function(e,t){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},function(e,t,r){var n=r(0),i=r(2);n.on("init",(function(){n.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return i}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),n.config.theme&&n.setTheme(n.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||n.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==n.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==n.ASPECT_WRAPPER_CLASS)){var i=r.parentNode;if(!(!i||"DIV"!==i.nodeName||l(i)>1||t&&i.getAttribute("class")&&-1===i.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)||!t&&i.getAttribute("class")&&!i.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:i}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=n.MAXWIDTH_WRAPPER_CLASS;var i=document.createElement("div");return i.className=n.ASPECT_WRAPPER_CLASS,r.appendChild(i),t.insertBefore(r,e),{aspectWrapper:i,maxWidthWrapper:r}},t.getWidget=function(e){var t=a(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var n=u(e.getAttribute("src"));n.url&&(r.url=n.url)}return r}},n.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(r){var i=t[r];("number"==typeof i||"string"==typeof i&&/^(\d+)?\.?(\d+)$/.test(i))&&(i+="px");var a=e.style[r];window.getComputedStyle&&(n.getElementComputedStyle(e,r)==i||"iframely-responsive"==e.className&&"paddingBottom"===r&&!a&&/^56\.2\d+%$/.test(i)||"max-width"===r&&"keep"===i)||(e.style[r]=i||"")}))};var o=t.applyNonce=function(e){n.config.nonce&&(e.nonce=n.config.nonce)};var s=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach((function(n){var i=t[n];if("[object Array]"===Object.prototype.toString.call(i)){var a=i.map((function(e){return n+"="+encodeURIComponent(e)}));r+="&"+a.join("&")}else void 0!==i&&-1===e.indexOf(n+"=")&&("boolean"==typeof i&&"_"!==n.charAt(0)&&(i=i?1:0),r+="&"+n+"="+encodeURIComponent(i))})),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function l(e){for(var t=0,r=0;r-1?t?"IFRAME"===t.tagName?a(t,e):o(t,e):(n.extendOptions({theme:e}),o(document,e),n.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+n.SUPPORTED_THEMES.join(", "))}},function(e,t,r){var n=r(1),i=r(0),a={};function o(e,t,r){var a,o=e.cancel,s=e.shadow,c=e.renderEvent,u=n.getIframeWrapper(t,!0);if(o)a=n.getWidget(t),i.cancelWidget(a||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var d,f;if((a=document.createElement("div")).innerHTML=e.html,u&&!c?(d=u.aspectWrapper.parentNode,f=u.aspectWrapper,u.maxWidthWrapper.removeAttribute("style")):(d=t.parentNode,f=t),s){var p=document.createElement("div"),m=p.attachShadow({mode:"open"});m.appendChild(a);var h={shadowRoot:m,shadowContainer:p,container:d,context:e.context,stylesIds:e.stylesIds,stylesDict:r.commonShadowStyles};i.trigger("import-shadow-widget-before-render",h),d.insertBefore(p,f),i.trigger("import-shadow-widget-after-render",h)}else d.insertBefore(a,f),function e(t){function r(e){var r=e.text||e.textContent||e.innerHTML||"",i=n.createScript();i.type="text/javascript";for(var a=0;a4&&(t=null);var n=t&&t.parentNode;n&&n.getAttribute("class")&&n.getAttribute("class").split(" ").indexOf(i.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),n.removeAttribute("style"))}i.on("load",(function(e){if(!e&&!1!==i.config.import&&document.head.attachShadow&&document.location&&(i.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!i.config.playerjs&&!i.config.lazy&&!i.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=n.createScript(),r=[],o=[],l=null;function c(e,t){a[e]||(a[e]=[]),a[e].push(t)}function u(e){var t=e.getAttribute("data-iframely-url"),a=t.match(i.ID_RE),s=a&&a[1],u=n.parseQueryString(t,i.SUPPORTED_QUERY_STRING.concat("url")),d=u.url;delete u.url;var f="0"===u.import||"false"===u.import||"1"===u.playerjs||"true"===u.playerjs;if(!f){var p=t.match(i.BASE_RE);u.CDN=p&&p[0],l?JSON.stringify(u,Object.keys(u).sort())!==JSON.stringify(l,Object.keys(l).sort())&&(f=!0):l=u}if(f)i.trigger("load",e);else if(s)e.setAttribute("data-import-uri",s),-1===o.indexOf(s)&&o.push(s),c(s,e);else{d||(d=e.getAttribute("href")),(l.key||l.api_key||i.config.api_key||i.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===r.indexOf(d)&&r.push(d),c(d,e)):i.trigger("load",e)}}for(var d=0;d0||o.length>0?((l=l||{}).touch=i.isTouch(),l.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),l.app=1,i.config.theme&&(l.theme=i.config.theme),r.length>0&&(l.uri=r),o.length>0&&(l.ids=o.join("&")),l.v=i.VERSION,t.src=n.getEndpoint("/api/import/v2",l,i.SUPPORTED_QUERY_STRING),t.onerror=function(){s()},document.head.appendChild(t),i.import=t):(s(),i.trigger("load"))}(t)}})),i.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=a[e.uri];if(r)for(var n=0;n1&&function(e,t){for(var r=0,n=0;n=0;return r&&e}(e.maxWidthWrapper,n.config.parent);i&&(t=i.parentNode,r=i)}if(e.url){var a=e.iframe&&(e.iframe.textContent||e.iframe.innerText);n.triggerAsync("cancel",e.url,t,a,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,r){var n=r(1),i=r(0);i.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}})),s(e,r)):"setIframelyEmbedData"===t.method&&s(e,null);var a=t.data&&t.data.media;!a&&t.height&&(a={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;r&&(r=parseInt(r[1]),r*=2);return r}(e),a=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),n.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var s=t["aspect-ratio"];(s||t.height)&&n.setStyles(e.aspectWrapper,{paddingBottom:s?Math.round(1e5/s)/1e3+"%":0,paddingTop:s&&t["padding-bottom"],height:s?0:t.height&&t.height+r});var l=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");a&&a!==l&&i.triggerAsync("heightChanged",e.iframe,a,l)}}(e,a)}}));var a={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function s(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",n.setStyles(e.aspectWrapper,t)):n.setStyles(e.iframe,t):!t&&e&&e.iframe&&(n.setStyles(e.aspectWrapper,a),n.setStyles(e.iframe,o))}},function(e,t,r){var n=r(0);n.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||n.trigger(t.method,t.href)})),n.openHref||(n.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),n.on("open-href",(function(e){n.triggerAsync("click",e),n.openHref(e)}))},function(e,t,r){var n=r(0);n.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&n.trigger("options",e,t.data)}))},function(e,t,r){var n=r(0);n.widgets=n.widgets||{},n.widgets.load=n.load,n.events||(n.events={},n.events.on=n.on,n.events.trigger=n.trigger),n.on("cancel",(function(e,t,r,i){if(n.RECOVER_HREFS_ON_CANCEL&&!r&&(r=e),e&&t&&r&&""!==r){var a=document.createElement("a");a.setAttribute("href",e),a.setAttribute("target","_blank"),a.setAttribute("rel","noopener"),a.textContent=r,i?t.insertBefore(a,i):t.appendChild(a)}}))},function(e,t,r){var n,i=!!(n=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(n[2],10);r(0).SUPPORT_IFRAME_LOADING_ATTR=i&&i>=77},function(e,t,r){var n=r(0),i=r(20),a=r(22);n.buildOptionsForm=function(e,t,r,n){i({id:e,formContainer:t,options:r,renderer:a,translator:n})},t.iframely=n},function(e,t,r){var n=r(21),i=r(0),a={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],r=t.value;return"number"===t.type&&(r=parseInt(r),isNaN(r)&&(r="")),r},customEvents:function(e,t){var r=e[0];i.addEventListener(r,"click",(function(){r.select()})),i.addEventListener(r,"blur",t),i.addEventListener(r,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},o={};e.exports=function(e){var t=e.options,r=e.formContainer;if(r)if(t){var s=n(t,e.translator),l=e.id,c=e.renderer,u=o[l]=o[l]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(u[e]=t[e].value)}));var d=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=d(e.context.elements)),t+=c(e.type,e.context||{})})),t};r.innerHTML=d(s);var f=function(e){e.forEach((function(e){if(e.context&&e.context.elements)f(e.context.elements);else{var t=a[e.type];e.context&&(e.inputs=r.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,p):e.inputs.forEach((function(e){i.addEventListener(e,"change",p)})):console.warn("No inputs found for option",e.key))}}))};f(s)}else r.innerHTML="";else console.warn("No formContainer in form-builder options",e);function p(){var e=function(){var e={},t=function(r){r.forEach((function(r){if(r.context&&r.context.elements)t(r.context.elements);else if(r.inputs){var n,i=a[r.type];n=i&&i.getValue?i.getValue(r.inputs):r.inputs[0].value,Object.assign(e,r.getQuery(n))}}))};return t(s),e}();Object.keys(u).forEach((function(t){u[t]!==e[t]&&void 0!==e[t]||delete e[t]})),i.trigger("options-changed",l,r,e)}}},function(e,t){var r=/^_./,n=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var i=[],a=Object.keys(e),o=0;if(a.forEach((function(a){var s,l,c={},u=e[a];u.key=a;var d,f,p=u.values&&Object.keys(u.values);if(p&&1===p.length&&(l=!0,d=p[0],f=u.values[d]),c.label=n(f||u.label,t),c.key=u.key,l||"boolean"==typeof u.value)c.checked=l?d===u.value||!d&&!u.value:u.value,o++,i.push({type:"checkbox",context:c,order:r.test(a)?0:1,getQuery:function(e){var t;t=l?e?d:"":e;var r={};return l?""===t||(r[u.key]=t):r[u.key]=e,r}});else if("number"!=typeof u.value&&"string"!=typeof u.value||u.values){if(u.values)if(c.value=u.value+"",s=function(e){var t={};return""===e||(t[u.key]=e),t},Object.keys(u.values).length<=3){u.label?c.label=n(u.label,t):c.label=!1;for(var m=0,h=!1,g=Object.values(u.values);m8,m++}c.inline=!h,c.items=[],Object.keys(u.values).forEach((function(e,r){c.items.push({id:c.key+"-"+r,value:e,label:n(u.values[e],t),checked:c.value===e})})),i.push({type:"radio",context:c,order:h?-3:/theme/.test(a)?-1:-2,getQuery:s})}else c.items=[],Object.keys(u.values).forEach((function(e){c.items.push({value:e,label:n(u.values[e],t),checked:c.value===e})})),i.push({type:"select",context:c,order:5,getQuery:s})}else{var v=u.range&&"number"==typeof u.range.min&&"number"==typeof u.range.max,y="number"==typeof u.value;c.value=u.value,s=function(e){var t={};return""===e||(t[u.key]=e),t},v?(c.min=u.range.min,c.max=u.range.max,i.push({type:"range",context:c,order:9,getQuery:s})):(c.placeholder=n(u.placeholder||"",t),c.inputType=y?"number":"text",i.push({type:"text",context:c,order:/start/i.test(a)?7:8,getQuery:s}))}})),i.sort((function(e,t){return e.order-t.order})),i.forEach((function(e){delete e.order})),o>0){var s,l=[];return i.forEach((function(e,t){if("checkbox"===e.type){var n=o>2&&t>0&&!r.test(e.context.key)&&"checkbox"===i[t-1].type&&r.test(i[t-1].context.key);s&&!n||(s=[],l.push({type:"group",context:{elements:s}})),s.push(e)}else l.push(e)})),l}return i}},function(e,t,r){var n={checkbox:r(23),range:r(24),text:r(25),radio:r(26),select:r(27),group:r(28)};e.exports=function(e,t){return(0,n[e])(t)}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},,,function(e,t,r){r(3);var n=r(0);n._loaded||(n._loaded=!0,r(4),r(5),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15),r(16),r(17),r(18),r(19),n.trigger("init")),t.iframely=n}]); \ No newline at end of file +(()=>{var e={180(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},780(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},392(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},29(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},803(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},382(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},679(e,t,r){var n=r(672),a=r(774);a.on("load",function(e,t){if(e&&e.nodeName&&"string"==typeof t){var r=document.createElement("a");r.setAttribute("href",t),e.appendChild(r),a.trigger("load",r)}}),a.on("load",function(e){if(!e&&!a.import)for(var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])"),r=0;r4&&(t=null);var n=t&&t.parentNode;n&&n.getAttribute("class")&&n.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),n.removeAttribute("style"))}function c(e){function t(e,t){return e.nodeName&&e.nodeName.toUpperCase()===t.toUpperCase()}function r(t){var r=t.text||t.textContent||t.innerHTML||"",a=n.createScript();a.type="text/javascript";for(var i=0;i1&&function(e){var t=n.createScript(),r=[],o=[],l=null;function c(e,t){i[e]||(i[e]=[]),i[e].push(t)}function u(e){var t=e.getAttribute("data-iframely-url"),i=t.match(a.ID_RE),s=i&&i[1],u=n.parseQueryString(t,a.SUPPORTED_QUERY_STRING.concat("url")),d=u.url;delete u.url;var p="0"===u.import||"false"===u.import||"1"===u.playerjs||"true"===u.playerjs;if(!p){var f=t.match(a.BASE_RE);u.CDN=f&&f[0],l?JSON.stringify(u,Object.keys(u).sort())!==JSON.stringify(l,Object.keys(l).sort())&&(p=!0):l=u}p?a.trigger("load",e):s?(e.setAttribute("data-import-uri",s),-1===o.indexOf(s)&&o.push(s),c(s,e)):(d||(d=e.getAttribute("href")),(l.key||l.api_key||a.config.api_key||a.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===r.indexOf(d)&&r.push(d),c(d,e)):a.trigger("load",e))}for(var d=0;d0||o.length>0?((l=l||{}).touch=a.isTouch(),l.flash=function(){var e=!1;try{e=!!new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),l.app=1,a.config.theme&&(l.theme=a.config.theme),r.length>0&&(l.uri=r),o.length>0&&(l.ids=o.join("&")),l.v=a.VERSION,t.src=n.getEndpoint("/api/import/v2",l,a.SUPPORTED_QUERY_STRING),t.onerror=function(){s()},document.head.appendChild(t),a.import=t):(s(),a.trigger("load"))}(t)}}),a.on("load",function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=i[e.uri];if(r)for(var n=0;n1&&function(e,t){for(var r=0,n=0;n=77},369(e,t,r){var n=r(774),a=r(672);function i(e,t){for(var r,n=0;n0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach(function(e){a.addEventListener(e,"change",f)}):console.warn("No inputs found for option",e.key))}})};p(s)}else r.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(r){r.forEach(function(r){if(r.context&&r.context.elements)t(r.context.elements);else if(r.inputs){var n,a=i[r.type];n=a&&a.getValue?a.getValue(r.inputs):r.inputs[0].value,Object.assign(e,r.getQuery(n))}})};return t(s),e}();Object.keys(u).forEach(function(t){u[t]!==e[t]&&void 0!==e[t]||delete e[t]}),a.trigger("options-changed",l,r,e)}}},960(e){var t=/^_./,r=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,n){if(!e)return[];delete(e=Object.assign({},e)).query;var a=[],i=Object.keys(e),o=0;if(i.forEach(function(i){var s,l,c={},u=e[i];u.key=i;var d,p,f=u.values&&Object.keys(u.values);if(f&&1===f.length&&(l=!0,d=f[0],p=u.values[d]),c.label=r(p||u.label,n),c.key=u.key,l||"boolean"==typeof u.value)c.checked=l?d===u.value||!d&&!u.value:u.value,o++,a.push({type:"checkbox",context:c,order:t.test(i)?0:1,getQuery:function(e){var t;t=l?e?d:"":e;var r={};return l?""===t||(r[u.key]=t):r[u.key]=e,r}});else if("number"!=typeof u.value&&"string"!=typeof u.value||u.values){if(u.values)if(c.value=u.value+"",s=function(e){var t={};return""===e||(t[u.key]=e),t},Object.keys(u.values).length<=3){u.label?c.label=r(u.label,n):c.label=!1;for(var m=0,h=!1,g=Object.values(u.values);m8,m++;c.inline=!h,c.items=[],Object.keys(u.values).forEach(function(e,t){c.items.push({id:c.key+"-"+t,value:e,label:r(u.values[e],n),checked:c.value===e})}),a.push({type:"radio",context:c,order:h?-3:/theme/.test(i)?-1:-2,getQuery:s})}else c.items=[],Object.keys(u.values).forEach(function(e){c.items.push({value:e,label:r(u.values[e],n),checked:c.value===e})}),a.push({type:"select",context:c,order:5,getQuery:s})}else{var v=u.range&&"number"==typeof u.range.min&&"number"==typeof u.range.max,y="number"==typeof u.value;c.value=u.value,s=function(e){var t={};return""===e||(t[u.key]=e),t},v?(c.min=u.range.min,c.max=u.range.max,a.push({type:"range",context:c,order:9,getQuery:s})):(c.placeholder=r(u.placeholder||"",n),c.inputType=y?"number":"text",a.push({type:"text",context:c,order:/start/i.test(i)?7:8,getQuery:s}))}}),a.sort(function(e,t){return e.order-t.order}),a.forEach(function(e){delete e.order}),o>0){var s,l=[];return a.forEach(function(e,r){if("checkbox"===e.type){var n=o>2&&r>0&&!t.test(e.context.key)&&"checkbox"===a[r-1].type&&t.test(a[r-1].context.key);s&&!n||(s=[],l.push({type:"group",context:{elements:s}})),s.push(e)}else l.push(e)}),l}return a}},448(e,t,r){var n=r(774),a=r(410),i=r(505);n.buildOptionsForm=function(e,t,r,n){a({id:e,formContainer:t,options:r,renderer:i,translator:n})},t.iframely=n},505(e,t,r){var n={checkbox:r(180),range:r(29),text:r(382),radio:r(392),select:r(803),group:r(780)};e.exports=function(e,t){return(0,n[e])(t)}},908(e,t,r){var n=r(774),a=r(369);function i(e,t){a.postMessage({method:"setTheme",data:t},"*",e.contentWindow)}function o(e,t){for(var r=e.getElementsByTagName("iframe"),n=0;n-1?t?"IFRAME"===t.tagName?i(t,e):o(t,e):(n.extendOptions({theme:e}),o(document,e),n.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+n.SUPPORTED_THEMES.join(", "))}},672(e,t,r){var n=r(774),a=r(369);n.on("init",function(){n.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return a}}return{}}()),function(){var e="iframely-styles",t=document.getElementById(e);if(!t){var r=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(t=document.createElement("style")).id=e,t.type="text/css",o(t),t.styleSheet?t.styleSheet.cssText=r:t.innerHTML=r,document.getElementsByTagName("head")[0].appendChild(t)}}(),n.config.theme&&n.setTheme(n.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||n.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==n.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==n.ASPECT_WRAPPER_CLASS)){var a=r.parentNode;if(!(!a||"DIV"!==a.nodeName||l(a)>1||t&&a.getAttribute("class")&&-1===a.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)||!t&&a.getAttribute("class")&&!a.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:a}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=n.MAXWIDTH_WRAPPER_CLASS;var a=document.createElement("div");return a.className=n.ASPECT_WRAPPER_CLASS,r.appendChild(a),t.insertBefore(r,e),{aspectWrapper:a,maxWidthWrapper:r}},t.getWidget=function(e){var t=i(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var n=u(e.getAttribute("src"));n.url&&(r.url=n.url)}return r}},n.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach(function(r){var a=t[r];("number"==typeof a||"string"==typeof a&&/^(\d+)?\.?(\d+)$/.test(a))&&(a+="px");var i=e.style[r];window.getComputedStyle&&(n.getElementComputedStyle(e,r)==a||"iframely-responsive"==e.className&&"paddingBottom"===r&&!i&&/^56\.2\d+%$/.test(a)||"max-width"===r&&"keep"===a)||(e.style[r]=a||"")})};var o=t.applyNonce=function(e){n.config.nonce&&(e.nonce=n.config.nonce)},s=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach(function(n){var a=t[n];if("[object Array]"===Object.prototype.toString.call(a)){var i=a.map(function(e){return n+"="+encodeURIComponent(e)});r+="&"+i.join("&")}else void 0!==a&&-1===e.indexOf(n+"=")&&("boolean"==typeof a&&"_"!==n.charAt(0)&&(a=a?1:0),r+="&"+n+"="+encodeURIComponent(a))}),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function l(e){for(var t=0,r=0;r=0;return r&&e}(e.maxWidthWrapper,n.config.parent);a&&(t=a.parentNode,r=a)}if(e.url){var i=e.iframe&&(e.iframe.textContent||e.iframe.innerText);n.triggerAsync("cancel",e.url,t,i,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},612(e,t,r){var n=r(774);n.on("message",function(e,t){"open-href"!==t.method&&"click"!==t.method||n.trigger(t.method,t.href)}),n.openHref||(n.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),n.on("open-href",function(e){n.triggerAsync("click",e),n.openHref(e)})},742(e,t,r){var n=r(774);n.on("message",function(e,t){"setIframelyEmbedOptions"===t.method&&n.trigger("options",e,t.data)})},850(e,t,r){var n=r(672),a=r(774);a.on("message",function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach(function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}}),s(e,r)):"setIframelyEmbedData"===t.method&&s(e,null);var i=t.data&&t.data.media;!i&&t.height&&(i={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;return r&&(r=parseInt(r[1]),r*=2),r}(e),i=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),n.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var s=t["aspect-ratio"];(s||t.height)&&n.setStyles(e.aspectWrapper,{paddingBottom:s?Math.round(1e5/s)/1e3+"%":0,paddingTop:s&&t["padding-bottom"],height:s?0:t.height&&t.height+r});var l=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");i&&i!==l&&a.triggerAsync("heightChanged",e.iframe,i,l)}}(e,i)}});var i={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function s(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",n.setStyles(e.aspectWrapper,t)):n.setStyles(e.iframe,t):!t&&e&&e.iframe&&(n.setStyles(e.aspectWrapper,i),n.setStyles(e.iframe,o))}}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),(()=>{r(331);var e=r(774);e._loaded||(e._loaded=!0,r(54),r(912),r(56),r(908),r(472),r(679),r(573),r(324),r(648),r(850),r(612),r(742),r(916),r(291),r(448),e.trigger("init"))})()})(); \ No newline at end of file diff --git a/dist/embed.js b/dist/embed.js index 338513e..75718c6 100644 --- a/dist/embed.js +++ b/dist/embed.js @@ -1,309 +1,255 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./index.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js": -/*!******************************************************************************************************!*\ - !*** ../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js ***! - \******************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack:///../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js?"); - -/***/ }), - -/***/ "./ahref.js": +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./ahref.js" /*!******************!*\ !*** ./ahref.js ***! \******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(container, href) {\n if (container && container.nodeName && typeof href === 'string') {\n var a = document.createElement('a');\n a.setAttribute('href', href);\n container.appendChild(a);\n iframely.trigger('load', a);\n }\n});\n\niframely.on('load', function(el) {\n\n if (!el && !iframely.import) { \n\n var elements = document.querySelectorAll('a[data-iframely-url]:not([data-import-uri])');\n for(var i = 0; i < elements.length; i++) {\n iframely.trigger('load', elements[i]);\n }\n }\n \n});\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'A' && (el.getAttribute('data-iframely-url') || el.getAttribute('href')) && !el.hasAttribute('data-import-uri')) {\n unfurl(el);\n }\n \n});\n\nfunction unfurl(el) {\n if (!el.getAttribute('data-iframely-url') && !el.getAttribute('href')) {\n return; // isn't valid\n }\n var src;\n\n var dataIframelyUrl = el.getAttribute('data-iframely-url');\n if (dataIframelyUrl && /^((?:https?:)?\\/\\/[^/]+)\\/\\w+/i.test(dataIframelyUrl)) {\n src = utils.getEndpoint(dataIframelyUrl, {\n v: iframely.VERSION,\n app: 1,\n theme: iframely.config.theme\n });\n } else if ((iframely.config.api_key || iframely.config.key) && iframely.CDN) {\n\n if (!el.getAttribute('href')) {\n console.warn('Iframely cannot build embeds: \"href\" attribute missing in', el);\n return;\n }\n\n src = utils.getEndpoint('/api/iframe', {\n url: el.getAttribute('href'),\n v: iframely.VERSION,\n app: 1,\n theme: iframely.config.theme\n }, iframely.SUPPORTED_QUERY_STRING);\n } else {\n console.warn('Iframely cannot build embeds: api key is required as query-string of embed.js');\n }\n\n if (!src) {\n el.removeAttribute('data-iframely-url'); \n } else {\n\n var iframe = document.createElement('iframe');\n\n iframe.setAttribute('allowfullscreen', '');\n iframe.setAttribute('allow', 'autoplay *; encrypted-media *; ch-prefers-color-scheme *');\n\n if (el.hasAttribute('data-img')) {\n iframe.setAttribute('data-img', el.getAttribute('data-img'));\n }\n\n var isLazy = el.hasAttribute('data-lazy') || el.hasAttribute('data-img') || /&lazy=1/.test(src) || iframely.config.lazy;\n\n // support restoring failed links by its text\n var text = el.textContent || el.innerText;\n \n if (text && text !== '') {\n iframe.textContent = text;\n } \n\n var wrapper = utils.getIframeWrapper(el, true);\n \n if (wrapper) {\n\n // Delete all in aspect wrapper.\n while (wrapper.aspectWrapper.lastChild) {\n wrapper.aspectWrapper.removeChild(wrapper.aspectWrapper.lastChild);\n }\n\n } else {\n wrapper = utils.addDefaultWrappers(el);\n\n var parentNode = el.parentNode;\n parentNode.removeChild(el);\n }\n\n wrapper.aspectWrapper.appendChild(iframe);\n\n if (isLazy) {\n \n // send to lazy iframe flow\n iframe.setAttribute('data-iframely-url', src);\n iframely.trigger('load', iframe);\n\n } else {\n\n iframe.setAttribute('src', src);\n iframely.trigger('iframe-ready', iframe);\t\t\t\n }\n\n\n }\n\n\n}\n\n//# sourceURL=webpack:///./ahref.js?"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(container, href) {\n if (container && container.nodeName && typeof href === 'string') {\n var a = document.createElement('a');\n a.setAttribute('href', href);\n container.appendChild(a);\n iframely.trigger('load', a);\n }\n});\n\niframely.on('load', function(el) {\n\n if (!el && !iframely.import) { \n\n var elements = document.querySelectorAll('a[data-iframely-url]:not([data-import-uri])');\n for(var i = 0; i < elements.length; i++) {\n iframely.trigger('load', elements[i]);\n }\n }\n \n});\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'A' && (el.getAttribute('data-iframely-url') || el.getAttribute('href')) && !el.hasAttribute('data-import-uri')) {\n unfurl(el);\n }\n \n});\n\nfunction unfurl(el) {\n if (!el.getAttribute('data-iframely-url') && !el.getAttribute('href')) {\n return; // isn't valid\n }\n var src;\n\n var dataIframelyUrl = el.getAttribute('data-iframely-url');\n if (dataIframelyUrl && /^((?:https?:)?\\/\\/[^/]+)\\/\\w+/i.test(dataIframelyUrl)) {\n src = utils.getEndpoint(dataIframelyUrl, {\n v: iframely.VERSION,\n app: 1,\n theme: iframely.config.theme\n });\n } else if ((iframely.config.api_key || iframely.config.key) && iframely.CDN) {\n\n if (!el.getAttribute('href')) {\n console.warn('Iframely cannot build embeds: \"href\" attribute missing in', el);\n return;\n }\n\n src = utils.getEndpoint('/api/iframe', {\n url: el.getAttribute('href'),\n v: iframely.VERSION,\n app: 1,\n theme: iframely.config.theme\n }, iframely.SUPPORTED_QUERY_STRING);\n } else {\n console.warn('Iframely cannot build embeds: api key is required as query-string of embed.js');\n }\n\n if (!src) {\n el.removeAttribute('data-iframely-url'); \n } else {\n\n var iframe = document.createElement('iframe');\n\n iframe.setAttribute('allowfullscreen', '');\n iframe.setAttribute('allow', 'autoplay *; encrypted-media *; ch-prefers-color-scheme *');\n\n if (el.hasAttribute('data-img')) {\n iframe.setAttribute('data-img', el.getAttribute('data-img'));\n }\n\n var isLazy = el.hasAttribute('data-lazy') || el.hasAttribute('data-img') || /&lazy=1/.test(src) || iframely.config.lazy;\n\n // support restoring failed links by its text\n var text = el.textContent || el.innerText;\n \n if (text && text !== '') {\n iframe.textContent = text;\n } \n\n var wrapper = utils.getIframeWrapper(el, true);\n \n if (wrapper) {\n\n // Delete all in aspect wrapper.\n while (wrapper.aspectWrapper.lastChild) {\n wrapper.aspectWrapper.removeChild(wrapper.aspectWrapper.lastChild);\n }\n\n } else {\n wrapper = utils.addDefaultWrappers(el);\n\n var parentNode = el.parentNode;\n parentNode.removeChild(el);\n }\n\n wrapper.aspectWrapper.appendChild(iframe);\n\n if (isLazy) {\n \n // send to lazy iframe flow\n iframe.setAttribute('data-iframely-url', src);\n iframely.trigger('load', iframe);\n\n } else {\n\n iframe.setAttribute('src', src);\n iframely.trigger('iframe-ready', iframe);\t\t\t\n }\n\n\n }\n\n\n}\n\n//# sourceURL=webpack:///./ahref.js?\n}"); -/***/ }), +/***/ }, -/***/ "./const.js": +/***/ "./const.js" /*!******************!*\ !*** ./const.js ***! \******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.VERSION = 1;\n\niframely.ASPECT_WRAPPER_CLASS = 'iframely-responsive';\niframely.MAXWIDTH_WRAPPER_CLASS = 'iframely-embed';\niframely.LOADER_CLASS = 'iframely-loader';\n\niframely.DOMAINS = ['cdn.iframe.ly', 'iframe.ly', 'if-cdn.com', 'iframely.net'];\niframely.CDN = iframely.CDN || iframely.DOMAINS[0]; // default domain, user or script src can change CDN\n\niframely.BASE_RE = /^(?:https?:)?\\/\\/[^/]+/i;\niframely.ID_RE = /^(?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+)(?:\\?.*)?$/;\niframely.SCRIPT_RE = /^(?:https?:|file:\\/)?\\/\\/[^/]+(?:.+)?\\/(?:embed|iframely)\\.js(?:[^/]+)?$/i;\niframely.CDN_RE = /^(?:https?:)?\\/\\/([^/]+)\\/(?:embed|iframely)\\.js(?:[^/]+)?$/i;\n\niframely.SUPPORTED_QUERY_STRING = ['api_key', 'key', 'iframe', 'html5', 'playerjs', 'align', 'language', 'media', 'maxwidth', 'maxheight', 'lazy', 'import', 'parent', 'shadow', 'click_to_play', 'autoplay', 'mute', 'card', 'consent', 'theme', /^_.+/];\n\niframely.SUPPORTED_THEMES = ['auto', 'light', 'dark'];\n\niframely.LAZY_IFRAME_SHOW_TIMEOUT = 3000;\niframely.LAZY_IFRAME_FADE_TIMEOUT = 200;\niframely.CLEAR_WRAPPER_STYLES_TIMEOUT = 3000;\n\niframely.RECOVER_HREFS_ON_CANCEL = false;\n\niframely.SHADOW = 'iframely-shadow';\n\n//# sourceURL=webpack:///./const.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.VERSION = 1;\n\niframely.ASPECT_WRAPPER_CLASS = 'iframely-responsive';\niframely.MAXWIDTH_WRAPPER_CLASS = 'iframely-embed';\niframely.LOADER_CLASS = 'iframely-loader';\n\niframely.DOMAINS = ['cdn.iframe.ly', 'iframe.ly', 'if-cdn.com', 'iframely.net'];\niframely.CDN = iframely.CDN || iframely.DOMAINS[0]; // default domain, user or script src can change CDN\n\niframely.BASE_RE = /^(?:https?:)?\\/\\/[^/]+/i;\niframely.ID_RE = /^(?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+)(?:\\?.*)?$/;\niframely.SCRIPT_RE = /^(?:https?:|file:\\/)?\\/\\/[^/]+(?:.+)?\\/(?:embed|iframely)\\.js(?:[^/]+)?$/i;\niframely.CDN_RE = /^(?:https?:)?\\/\\/([^/]+)\\/(?:embed|iframely)\\.js(?:[^/]+)?$/i;\n\niframely.SUPPORTED_QUERY_STRING = ['api_key', 'key', 'iframe', 'html5', 'playerjs', 'align', 'language', 'media', 'maxwidth', 'maxheight', 'lazy', 'import', 'parent', 'shadow', 'click_to_play', 'autoplay', 'mute', 'card', 'consent', 'theme', /^_.+/];\n\niframely.SUPPORTED_THEMES = ['auto', 'light', 'dark'];\n\niframely.LAZY_IFRAME_SHOW_TIMEOUT = 3000;\niframely.LAZY_IFRAME_FADE_TIMEOUT = 200;\niframely.CLEAR_WRAPPER_STYLES_TIMEOUT = 3000;\n\niframely.RECOVER_HREFS_ON_CANCEL = false;\n\niframely.SHADOW = 'iframely-shadow';\n\n//# sourceURL=webpack:///./const.js?\n}"); -/***/ }), +/***/ }, -/***/ "./deprecated.js": +/***/ "./deprecated.js" /*!***********************!*\ !*** ./deprecated.js ***! \***********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// deprecated. Helper function only, for the reverse compatibility.\niframely.widgets = iframely.widgets || {};\niframely.widgets.load = iframely.load;\n\nif (!iframely.events) {\n iframely.events = {};\n iframely.events.on = iframely.on;\n iframely.events.trigger = iframely.trigger;\n}\n\niframely.on('cancel', function(url, parentNode, text, nextSibling) {\n\n if (iframely.RECOVER_HREFS_ON_CANCEL && !text) {\n text = url;\n }\n\n if (url && parentNode && text && text !== '') {\n var a = document.createElement('a');\n a.setAttribute('href', url);\n a.setAttribute('target', '_blank');\n a.setAttribute('rel', 'noopener');\n a.textContent = text;\n if (nextSibling) {\n parentNode.insertBefore(a, nextSibling);\n } else {\n parentNode.appendChild(a);\n }\n }\n});\n\n//# sourceURL=webpack:///./deprecated.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// deprecated. Helper function only, for the reverse compatibility.\niframely.widgets = iframely.widgets || {};\niframely.widgets.load = iframely.load;\n\nif (!iframely.events) {\n iframely.events = {};\n iframely.events.on = iframely.on;\n iframely.events.trigger = iframely.trigger;\n}\n\niframely.on('cancel', function(url, parentNode, text, nextSibling) {\n\n if (iframely.RECOVER_HREFS_ON_CANCEL && !text) {\n text = url;\n }\n\n if (url && parentNode && text && text !== '') {\n var a = document.createElement('a');\n a.setAttribute('href', url);\n a.setAttribute('target', '_blank');\n a.setAttribute('rel', 'noopener');\n a.textContent = text;\n if (nextSibling) {\n parentNode.insertBefore(a, nextSibling);\n } else {\n parentNode.appendChild(a);\n }\n }\n});\n\n//# sourceURL=webpack:///./deprecated.js?\n}"); -/***/ }), +/***/ }, -/***/ "./dom-ready.js": +/***/ "./dom-ready.js" /*!**********************!*\ !*** ./dom-ready.js ***! \**********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("// TODO: rename core.js to ready.js?\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar DOMReady = function(f) {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n // Run always (in case of async script).\n setTimeout(f, 0);\n }\n document['addEventListener'] ? document['addEventListener']('DOMContentLoaded', f) : window.attachEvent('onload', f);\n};\n\nDOMReady(function() {\n\n // Called each time on script load\n if (typeof iframely.config.autorun === 'undefined' || iframely.config.autorun !== false) {\n iframely.trigger('load');\n }\n});\n\n\n//# sourceURL=webpack:///./dom-ready.js?"); +eval("{// TODO: rename core.js to ready.js?\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar DOMReady = function(f) {\n if (document.readyState === 'complete' || document.readyState === 'interactive') {\n // Run always (in case of async script).\n setTimeout(f, 0);\n }\n document['addEventListener'] ? document['addEventListener']('DOMContentLoaded', f) : window.attachEvent('onload', f);\n};\n\nDOMReady(function() {\n\n // Called each time on script load\n if (typeof iframely.config.autorun === 'undefined' || iframely.config.autorun !== false) {\n iframely.trigger('load');\n }\n});\n\n\n//# sourceURL=webpack:///./dom-ready.js?\n}"); -/***/ }), +/***/ }, -/***/ "./events.js": +/***/ "./events.js" /*!*******************!*\ !*** ./events.js ***! \*******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("/* WEBPACK VAR INJECTION */(function(global) {var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar nextTick = (function(window, prefixes, i, fnc) {\n while (!fnc && i < prefixes.length) {\n fnc = window[prefixes[i++] + 'equestAnimationFrame'];\n }\n return (fnc && fnc.bind(window)) || window.setImmediate || function(fnc) {window.setTimeout(fnc, 0);};\n})(typeof window !== 'undefined' ? window : global, 'r webkitR mozR msR oR'.split(' '), 0);\n\nvar callbacksStack = {};\niframely.on = function(event, cb) {\n var events = callbacksStack[event] = callbacksStack[event] || [];\n events.push(cb);\n};\n\nfunction trigger(event, async, args) {\n var events = callbacksStack[event] || [];\n events.forEach(function(cb) {\n if (async) {\n nextTick(function() {\n cb.apply(iframely, args);\n });\n } else {\n cb.apply(iframely, args);\n }\n });\n\n if (event === 'init') {\n // everything inited, let's clear the callstack, just in case\n // TODO: not good.\n callbacksStack[event] = [];\n }\n}\n\niframely.trigger = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, false, args);\n};\n\niframely.triggerAsync = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, true, args);\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js */ \"../node_modules/.pnpm/webpack@4.47.0_webpack-cli@3.3.12/node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./events.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar nextTick = (function(window, prefixes, i, fnc) {\n while (!fnc && i < prefixes.length) {\n fnc = window[prefixes[i++] + 'equestAnimationFrame'];\n }\n return (fnc && fnc.bind(window)) || window.setImmediate || function(fnc) {window.setTimeout(fnc, 0);};\n})(typeof window !== 'undefined' ? window : __webpack_require__.g, 'r webkitR mozR msR oR'.split(' '), 0);\n\nvar callbacksStack = {};\niframely.on = function(event, cb) {\n var events = callbacksStack[event] = callbacksStack[event] || [];\n events.push(cb);\n};\n\nfunction trigger(event, async, args) {\n var events = callbacksStack[event] || [];\n events.forEach(function(cb) {\n if (async) {\n nextTick(function() {\n cb.apply(iframely, args);\n });\n } else {\n cb.apply(iframely, args);\n }\n });\n\n if (event === 'init') {\n // everything inited, let's clear the callstack, just in case\n // TODO: not good.\n callbacksStack[event] = [];\n }\n}\n\niframely.trigger = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, false, args);\n};\n\niframely.triggerAsync = function(event) {\n var args = Array.prototype.slice.call(arguments, 1);\n trigger(event, true, args);\n};\n\n//# sourceURL=webpack:///./events.js?\n}"); -/***/ }), +/***/ }, -/***/ "./iframely.js": +/***/ "./iframely.js" /*!*********************!*\ !*** ./iframely.js ***! \*********************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("var iframely = window.iframely = window.iframely || {};\niframely.config = iframely.config || {};\n\nmodule.exports = iframely;\n\n//# sourceURL=webpack:///./iframely.js?"); +eval("{var iframely = window.iframely = window.iframely || {};\niframely.config = iframely.config || {};\n\nmodule.exports = iframely;\n\n//# sourceURL=webpack:///./iframely.js?\n}"); -/***/ }), +/***/ }, -/***/ "./import.js": +/***/ "./import.js" /*!*******************!*\ !*** ./import.js ***! \*******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// widgetsCache is used from inside import doc for js callbacks and custom features\nvar widgetsCache = {};\n\niframely.on('load', function(el) {\n\n // load once, if import is not in process and only if query-string from script src has not disabled import\n if (!el && iframely.config.import !== false \n && isImportAble()\n && !iframely.import) {\n\n var elements = document.querySelectorAll('a[data-iframely-url]:not([data-import-uri])');\n if (elements.length > 1) {\n makeImportAPICall(elements);\n }\n }\n\n});\n\niframely.on('load', function(widget, importOptions) {\n\n if (widget && widget.uri && (widget.html || widget.cancel)) {\n\n var els = widgetsCache[widget.uri];\n // alternatively, could as well do querySelectorAll('a[data-iframely-url][data-import=\"' + template.getAttribute('data-uri') + '\"')\n\n if (els) {\n for (var i = 0; i < els.length; i++) {\n loadImportWidget(widget, els[i], importOptions);\n }\n }\n\n delete widgetsCache[widget.uri];\n }\n});\n\nfunction makeImportAPICall(elements) {\n var script = utils.createScript();\n\n var uris = [];\n var ids = [];\n \n var import_options = null; // will be populated from first element; or will remain as null if no params in elements...\n\n // couple helper functions first\n\n function pushElement(uri, el) {\n if (!widgetsCache[uri]) {\n widgetsCache[uri] = [];\n }\n\n widgetsCache[uri].push(el);\n }\n\n function queueElement(el) {\n var src = el.getAttribute('data-iframely-url');\n\n var mId = src.match(iframely.ID_RE);\n var id = mId && mId[1];\n\n var options = utils.parseQueryString(src, iframely.SUPPORTED_QUERY_STRING.concat('url'));\n\n var url = options.url; // can be undefined for IDs\n delete options.url;\n\n // skip import on import=0, playerjs=1\n var skipImport = options.import === '0' || options.import === 'false' \n || options.playerjs === '1' || options.playerjs === 'true';\n\n // or if link's query-string params or CDN are different from the others\n if (!skipImport) {\n var mBase = src.match(iframely.BASE_RE);\n options.CDN = mBase && mBase[0]; // will fall back to iframely.CDN in getEndpoint('/import...' ...)\n\n // set import options from the first el in import\n // that includes api keys \n if (!import_options) {\n import_options = options;\n\n // else check that this el's options are the same as the first one's in import\n } else if (JSON.stringify(options, Object.keys(options).sort()) \n !== JSON.stringify(import_options, Object.keys(import_options).sort())) {\n\n skipImport = true;\n }\n }\n\n\n if (skipImport) {\n // Usual build if no uri and app=1s.\n iframely.trigger('load', el);\n\n } else if (id) {\n el.setAttribute('data-import-uri', id);\n if (ids.indexOf(id) === -1) {\n ids.push(id);\n }\n pushElement(id, el);\n\n } else {\n\n if (!url) {\n url = el.getAttribute('href');\n }\n\n var key = import_options.key || import_options.api_key || iframely.config.api_key || iframely.config.key;\n\n if (key && url) {\n\n el.setAttribute('data-import-uri', url);\n if (uris.indexOf(url) === -1) {\n uris.push(url);\n }\n pushElement(url, el);\n } else {\n // Usual build if no uri.\n iframely.trigger('load', el);\n }\n }\n }\n\n\n // start actual filling up of import request\n\n for(var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (!el.getAttribute('data-import-uri') && el.hasAttribute('data-iframely-url')) {\n queueElement(el);\n }\n }\n\n if ((uris.length > 0 || ids.length > 0)) {\n\n import_options = import_options || {};\n import_options.touch = iframely.isTouch();\n import_options.flash = hasFlash();\n import_options.app = 1;\n // Do not override imports theme if global theme not set.\n if (iframely.config.theme) {\n import_options.theme = iframely.config.theme;\n }\n\n if (uris.length > 0) {\n import_options.uri = uris;\n }\n\n if (ids.length > 0) {\n import_options.ids = ids.join('&');\n }\n\n import_options.v = iframely.VERSION;\n\n script.src = utils.getEndpoint('/api/import/v2', import_options, iframely.SUPPORTED_QUERY_STRING);\n\n script.onerror = function() {\n // Error loading import. No import this time.\n importReady();\n };\n\n document.head.appendChild(script);\n iframely.import = script;\n\n } else {\n importReady();\n iframely.trigger('load');\n }\n}\n\niframely.buildImportWidgets = function(importOptions) {\n\n iframely.trigger('import-loaded', importOptions);\n\n importOptions.widgets.forEach(function(widget) {\n iframely.trigger('load', widget, importOptions);\n });\n\n importReady();\n};\n\nfunction loadImportWidget(widgetOptions, el, importOptions) {\n\n var needCancelWidget = widgetOptions.cancel;\n var shadow = widgetOptions.shadow;\n var hasRenderedEvent = widgetOptions.renderEvent;\n\n var wrapper = utils.getIframeWrapper(el, true);\n var widget;\n\n if (needCancelWidget) {\n widget = utils.getWidget(el);\n\n iframely.cancelWidget(widget || {\n maxWidthWrapper: el,\n iframe: el,\n url: el.getAttribute('href') \n });\n\n } else {\n\n widget = document.createElement('div');\n widget.innerHTML = widgetOptions.html;\n \n var parent, replacedEl;\n\n if (wrapper && !hasRenderedEvent) {\n // Inline widget will replace 'aspectWrapper' but keep 'maxWidthWrapper' as 'iframely-embed' to fix centering, etc.\n // If has rendered event - keep wrapper and remove attrs later by event.\n parent = wrapper.aspectWrapper.parentNode;\n replacedEl = wrapper.aspectWrapper;\n\n // Clear custom attributes.\n wrapper.maxWidthWrapper.removeAttribute('style');\n } else {\n // No wrapper or keep wrapper for later removal.\n parent = el.parentNode;\n replacedEl = el;\n }\n\n if (shadow) {\n\n var shadowContainer = document.createElement('div');\n var shadowRoot = shadowContainer.attachShadow({mode: 'open'});\n shadowRoot.appendChild(widget);\n\n var shadowWidgetOptions = {\n shadowRoot: shadowRoot,\n shadowContainer: shadowContainer,\n container: parent,\n context: widgetOptions.context,\n stylesIds: widgetOptions.stylesIds,\n stylesDict: importOptions.commonShadowStyles\n };\n \n iframely.trigger('import-shadow-widget-before-render', shadowWidgetOptions);\n \n parent.insertBefore(shadowContainer, replacedEl);\n\n iframely.trigger('import-shadow-widget-after-render', shadowWidgetOptions);\n \n } else {\n\n parent.insertBefore(widget, replacedEl);\n\n exec_body_scripts(widget);\n }\n\n parent.removeChild(replacedEl);\n\n if (hasRenderedEvent) {\n setTimeout(function() {\n clearWrapperStylesAndClass(parent);\n }, iframely.CLEAR_WRAPPER_STYLES_TIMEOUT);\n }\n }\n}\n\n\nfunction importReady() {\n\n delete iframely.import;\n\n // clean up all, let other loaders have a go\n var failed_elements = document.querySelectorAll('a[data-iframely-url][data-import-uri]');\n for(var i = 0; i < failed_elements.length; i++) {\n failed_elements[i].removeAttribute('data-import-uri');\n iframely.trigger('load', failed_elements[i]);\n }\n}\n\niframely.isTouch = function() {\n return 'ontouchstart' in window // works on most browsers\n || navigator.maxTouchPoints; // works on IE10/11 and Surface\n};\n\nfunction hasFlash() {\n\n var _hasFlash = false;\n\n try {\n var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');\n if (fo) {\n _hasFlash = true;\n } else {\n _hasFlash = false;\n }\n } catch (e) {\n if (navigator.mimeTypes\n && navigator.mimeTypes['application/x-shockwave-flash'] != undefined\n && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {\n _hasFlash = true;\n } else {\n _hasFlash = false;\n }\n }\n\n return _hasFlash;\n}\n\nfunction isImportAble() {\n\n return document.head.attachShadow\n && document.location // Prevent `Cannot read properties of null (reading 'protocol')` for sandbox iframes.\n && (iframely.debug || document.location.protocol === 'http:' || document.location.protocol === 'https:') // Skip import on file:///\n && !iframely.config.playerjs && !iframely.config.lazy;\n // && !navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n // TODO: test in Firefox 63\n}\n\nfunction clearWrapperStylesAndClass(el) {\n var aspectWrapper = el;\n var parents = 0;\n while(aspectWrapper \n && (!aspectWrapper.getAttribute('class')\n || aspectWrapper.getAttribute('class').split(' ').indexOf(iframely.ASPECT_WRAPPER_CLASS) === -1)) {\n\n aspectWrapper = aspectWrapper.parentNode;\n parents++;\n if (parents > 4) {\n // Do not search further 4 parents.\n aspectWrapper = null;\n }\n }\n\n var maxWidthWrapper = aspectWrapper && aspectWrapper.parentNode;\n if (maxWidthWrapper \n && maxWidthWrapper.getAttribute('class')\n && maxWidthWrapper.getAttribute('class').split(' ').indexOf(iframely.MAXWIDTH_WRAPPER_CLASS) > -1) {\n\n // Remove wrapper specific data. Leave only 'iframely-embed' parent class.\n aspectWrapper.removeAttribute('style');\n aspectWrapper.removeAttribute('class');\n maxWidthWrapper.removeAttribute('style');\n }\n}\n\niframely.on('import-widget-ready', clearWrapperStylesAndClass);\n\n// used in server templates\n\nif (!iframely.addEventListener) {\n iframely.addEventListener = function(elem, type, eventHandle) {\n if (!elem) { return; }\n if ( elem.addEventListener ) {\n elem.addEventListener( type, eventHandle, false );\n } else if ( elem.attachEvent ) {\n elem.attachEvent( 'on' + type, eventHandle );\n } else {\n elem['on' + type] = eventHandle;\n }\n };\n}\n\nfunction exec_body_scripts(body_el) {\n function nodeName(elem, name) {\n return elem.nodeName && elem.nodeName.toUpperCase() ===\n name.toUpperCase();\n }\n\n function evalScript(elem) {\n var data = (elem.text || elem.textContent || elem.innerHTML || '' ),\n script = utils.createScript();\n\n // Copy all script attributes.\n script.type = 'text/javascript';\n for (var i = 0; i < elem.attributes.length; i++) {\n var attr = elem.attributes[i];\n script.setAttribute(attr.name, attr.value);\n }\n try {\n // doesn't work on ie...\n script.appendChild(document.createTextNode(data));\n } catch(e) {\n // IE has funky script nodes\n script.text = data;\n }\n\n body_el.appendChild(script);\n }\n\n // main section of function\n var scripts = [],\n script,\n children_nodes = body_el.childNodes,\n child,\n i;\n\n for (i = 0; children_nodes[i]; i++) {\n child = children_nodes[i];\n if (nodeName(child, 'script' ) &&\n (!child.type || child.type.toLowerCase() === 'text/javascript' || child.type.toLowerCase() === 'application/javascript')) {\n scripts.push(child);\n body_el.removeChild(child);\n } else {\n exec_body_scripts(child);\n }\n }\n\n for (i = 0; scripts[i]; i++) {\n script = scripts[i];\n if (script.parentNode) {script.parentNode.removeChild(script);}\n evalScript(scripts[i]);\n }\n}\n\n//# sourceURL=webpack:///./import.js?"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// widgetsCache is used from inside import doc for js callbacks and custom features\nvar widgetsCache = {};\n\niframely.on('load', function(el) {\n\n // load once, if import is not in process and only if query-string from script src has not disabled import\n if (!el && iframely.config.import !== false \n && isImportAble()\n && !iframely.import) {\n\n var elements = document.querySelectorAll('a[data-iframely-url]:not([data-import-uri])');\n if (elements.length > 1) {\n makeImportAPICall(elements);\n }\n }\n\n});\n\niframely.on('load', function(widget, importOptions) {\n\n if (widget && widget.uri && (widget.html || widget.cancel)) {\n\n var els = widgetsCache[widget.uri];\n // alternatively, could as well do querySelectorAll('a[data-iframely-url][data-import=\"' + template.getAttribute('data-uri') + '\"')\n\n if (els) {\n for (var i = 0; i < els.length; i++) {\n loadImportWidget(widget, els[i], importOptions);\n }\n }\n\n delete widgetsCache[widget.uri];\n }\n});\n\nfunction makeImportAPICall(elements) {\n var script = utils.createScript();\n\n var uris = [];\n var ids = [];\n \n var import_options = null; // will be populated from first element; or will remain as null if no params in elements...\n\n // couple helper functions first\n\n function pushElement(uri, el) {\n if (!widgetsCache[uri]) {\n widgetsCache[uri] = [];\n }\n\n widgetsCache[uri].push(el);\n }\n\n function queueElement(el) {\n var src = el.getAttribute('data-iframely-url');\n\n var mId = src.match(iframely.ID_RE);\n var id = mId && mId[1];\n\n var options = utils.parseQueryString(src, iframely.SUPPORTED_QUERY_STRING.concat('url'));\n\n var url = options.url; // can be undefined for IDs\n delete options.url;\n\n // skip import on import=0, playerjs=1\n var skipImport = options.import === '0' || options.import === 'false' \n || options.playerjs === '1' || options.playerjs === 'true';\n\n // or if link's query-string params or CDN are different from the others\n if (!skipImport) {\n var mBase = src.match(iframely.BASE_RE);\n options.CDN = mBase && mBase[0]; // will fall back to iframely.CDN in getEndpoint('/import...' ...)\n\n // set import options from the first el in import\n // that includes api keys \n if (!import_options) {\n import_options = options;\n\n // else check that this el's options are the same as the first one's in import\n } else if (JSON.stringify(options, Object.keys(options).sort()) \n !== JSON.stringify(import_options, Object.keys(import_options).sort())) {\n\n skipImport = true;\n }\n }\n\n\n if (skipImport) {\n // Usual build if no uri and app=1s.\n iframely.trigger('load', el);\n\n } else if (id) {\n el.setAttribute('data-import-uri', id);\n if (ids.indexOf(id) === -1) {\n ids.push(id);\n }\n pushElement(id, el);\n\n } else {\n\n if (!url) {\n url = el.getAttribute('href');\n }\n\n var key = import_options.key || import_options.api_key || iframely.config.api_key || iframely.config.key;\n\n if (key && url) {\n\n el.setAttribute('data-import-uri', url);\n if (uris.indexOf(url) === -1) {\n uris.push(url);\n }\n pushElement(url, el);\n } else {\n // Usual build if no uri.\n iframely.trigger('load', el);\n }\n }\n }\n\n\n // start actual filling up of import request\n\n for(var i = 0; i < elements.length; i++) {\n var el = elements[i];\n if (!el.getAttribute('data-import-uri') && el.hasAttribute('data-iframely-url')) {\n queueElement(el);\n }\n }\n\n if ((uris.length > 0 || ids.length > 0)) {\n\n import_options = import_options || {};\n import_options.touch = iframely.isTouch();\n import_options.flash = hasFlash();\n import_options.app = 1;\n // Do not override imports theme if global theme not set.\n if (iframely.config.theme) {\n import_options.theme = iframely.config.theme;\n }\n\n if (uris.length > 0) {\n import_options.uri = uris;\n }\n\n if (ids.length > 0) {\n import_options.ids = ids.join('&');\n }\n\n import_options.v = iframely.VERSION;\n\n script.src = utils.getEndpoint('/api/import/v2', import_options, iframely.SUPPORTED_QUERY_STRING);\n\n script.onerror = function() {\n // Error loading import. No import this time.\n importReady();\n };\n\n document.head.appendChild(script);\n iframely.import = script;\n\n } else {\n importReady();\n iframely.trigger('load');\n }\n}\n\niframely.buildImportWidgets = function(importOptions) {\n\n iframely.trigger('import-loaded', importOptions);\n\n importOptions.widgets.forEach(function(widget) {\n iframely.trigger('load', widget, importOptions);\n });\n\n importReady();\n};\n\nfunction loadImportWidget(widgetOptions, el, importOptions) {\n\n var needCancelWidget = widgetOptions.cancel;\n var shadow = widgetOptions.shadow;\n var hasRenderedEvent = widgetOptions.renderEvent;\n\n var wrapper = utils.getIframeWrapper(el, true);\n var widget;\n\n if (needCancelWidget) {\n widget = utils.getWidget(el);\n\n iframely.cancelWidget(widget || {\n maxWidthWrapper: el,\n iframe: el,\n url: el.getAttribute('href') \n });\n\n } else {\n\n widget = document.createElement('div');\n widget.innerHTML = widgetOptions.html;\n \n var parent, replacedEl;\n\n if (wrapper && !hasRenderedEvent) {\n // Inline widget will replace 'aspectWrapper' but keep 'maxWidthWrapper' as 'iframely-embed' to fix centering, etc.\n // If has rendered event - keep wrapper and remove attrs later by event.\n parent = wrapper.aspectWrapper.parentNode;\n replacedEl = wrapper.aspectWrapper;\n\n // Clear custom attributes.\n wrapper.maxWidthWrapper.removeAttribute('style');\n } else {\n // No wrapper or keep wrapper for later removal.\n parent = el.parentNode;\n replacedEl = el;\n }\n\n if (shadow) {\n\n var shadowContainer = document.createElement('div');\n var shadowRoot = shadowContainer.attachShadow({mode: 'open'});\n shadowRoot.appendChild(widget);\n\n var shadowWidgetOptions = {\n shadowRoot: shadowRoot,\n shadowContainer: shadowContainer,\n container: parent,\n context: widgetOptions.context,\n stylesIds: widgetOptions.stylesIds,\n stylesDict: importOptions.commonShadowStyles\n };\n \n iframely.trigger('import-shadow-widget-before-render', shadowWidgetOptions);\n \n parent.insertBefore(shadowContainer, replacedEl);\n\n iframely.trigger('import-shadow-widget-after-render', shadowWidgetOptions);\n \n } else {\n\n parent.insertBefore(widget, replacedEl);\n\n exec_body_scripts(widget);\n }\n\n parent.removeChild(replacedEl);\n\n if (hasRenderedEvent) {\n setTimeout(function() {\n clearWrapperStylesAndClass(parent);\n }, iframely.CLEAR_WRAPPER_STYLES_TIMEOUT);\n }\n }\n}\n\n\nfunction importReady() {\n\n delete iframely.import;\n\n // clean up all, let other loaders have a go\n var failed_elements = document.querySelectorAll('a[data-iframely-url][data-import-uri]');\n for(var i = 0; i < failed_elements.length; i++) {\n failed_elements[i].removeAttribute('data-import-uri');\n iframely.trigger('load', failed_elements[i]);\n }\n}\n\niframely.isTouch = function() {\n return 'ontouchstart' in window // works on most browsers\n || navigator.maxTouchPoints; // works on IE10/11 and Surface\n};\n\nfunction hasFlash() {\n\n var _hasFlash = false;\n\n try {\n var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');\n if (fo) {\n _hasFlash = true;\n } else {\n _hasFlash = false;\n }\n } catch (e) {\n if (navigator.mimeTypes\n && navigator.mimeTypes['application/x-shockwave-flash'] != undefined\n && navigator.mimeTypes['application/x-shockwave-flash'].enabledPlugin) {\n _hasFlash = true;\n } else {\n _hasFlash = false;\n }\n }\n\n return _hasFlash;\n}\n\nfunction isImportAble() {\n\n return document.head.attachShadow\n && document.location // Prevent `Cannot read properties of null (reading 'protocol')` for sandbox iframes.\n && (iframely.debug || document.location.protocol === 'http:' || document.location.protocol === 'https:') // Skip import on file:///\n && !iframely.config.playerjs && !iframely.config.lazy;\n // && !navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n // TODO: test in Firefox 63\n}\n\nfunction clearWrapperStylesAndClass(el) {\n var aspectWrapper = el;\n var parents = 0;\n while(aspectWrapper \n && (!aspectWrapper.getAttribute('class')\n || aspectWrapper.getAttribute('class').split(' ').indexOf(iframely.ASPECT_WRAPPER_CLASS) === -1)) {\n\n aspectWrapper = aspectWrapper.parentNode;\n parents++;\n if (parents > 4) {\n // Do not search further 4 parents.\n aspectWrapper = null;\n }\n }\n\n var maxWidthWrapper = aspectWrapper && aspectWrapper.parentNode;\n if (maxWidthWrapper \n && maxWidthWrapper.getAttribute('class')\n && maxWidthWrapper.getAttribute('class').split(' ').indexOf(iframely.MAXWIDTH_WRAPPER_CLASS) > -1) {\n\n // Remove wrapper specific data. Leave only 'iframely-embed' parent class.\n aspectWrapper.removeAttribute('style');\n aspectWrapper.removeAttribute('class');\n maxWidthWrapper.removeAttribute('style');\n }\n}\n\niframely.on('import-widget-ready', clearWrapperStylesAndClass);\n\n// used in server templates\n\nif (!iframely.addEventListener) {\n iframely.addEventListener = function(elem, type, eventHandle) {\n if (!elem) { return; }\n if ( elem.addEventListener ) {\n elem.addEventListener( type, eventHandle, false );\n } else if ( elem.attachEvent ) {\n elem.attachEvent( 'on' + type, eventHandle );\n } else {\n elem['on' + type] = eventHandle;\n }\n };\n}\n\nfunction exec_body_scripts(body_el) {\n function nodeName(elem, name) {\n return elem.nodeName && elem.nodeName.toUpperCase() ===\n name.toUpperCase();\n }\n\n function evalScript(elem) {\n var data = (elem.text || elem.textContent || elem.innerHTML || '' ),\n script = utils.createScript();\n\n // Copy all script attributes.\n script.type = 'text/javascript';\n for (var i = 0; i < elem.attributes.length; i++) {\n var attr = elem.attributes[i];\n script.setAttribute(attr.name, attr.value);\n }\n try {\n // doesn't work on ie...\n script.appendChild(document.createTextNode(data));\n } catch(e) {\n // IE has funky script nodes\n script.text = data;\n }\n\n body_el.appendChild(script);\n }\n\n // main section of function\n var scripts = [],\n script,\n children_nodes = body_el.childNodes,\n child,\n i;\n\n for (i = 0; children_nodes[i]; i++) {\n child = children_nodes[i];\n if (nodeName(child, 'script' ) &&\n (!child.type || child.type.toLowerCase() === 'text/javascript' || child.type.toLowerCase() === 'application/javascript')) {\n scripts.push(child);\n body_el.removeChild(child);\n } else {\n exec_body_scripts(child);\n }\n }\n\n for (i = 0; scripts[i]; i++) {\n script = scripts[i];\n if (script.parentNode) {script.parentNode.removeChild(script);}\n evalScript(scripts[i]);\n }\n}\n\n//# sourceURL=webpack:///./import.js?\n}"); -/***/ }), +/***/ }, -/***/ "./index.js": +/***/ "./index.js" /*!******************!*\ !*** ./index.js ***! \******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { -eval("__webpack_require__(/*! ./dom-ready */ \"./dom-ready.js\");\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nif (!iframely._loaded) {\n\n iframely._loaded = true;\n\n __webpack_require__(/*! ./const */ \"./const.js\");\n __webpack_require__(/*! ./events */ \"./events.js\");\n // require('./utils'); // Loaded by other modules.\n __webpack_require__(/*! ./intersection */ \"./intersection.js\");\n __webpack_require__(/*! ./theme */ \"./theme.js\");\n __webpack_require__(/*! ./import */ \"./import.js\");\n __webpack_require__(/*! ./ahref */ \"./ahref.js\");\n __webpack_require__(/*! ./lazy-img-placeholder */ \"./lazy-img-placeholder.js\");\n __webpack_require__(/*! ./lazy-iframe */ \"./lazy-iframe.js\");\n // require('./messaging'); // Loaded by other modules.\n __webpack_require__(/*! ./widget-cancel */ \"./widget-cancel.js\");\n __webpack_require__(/*! ./widget-resize */ \"./widget-resize.js\");\n __webpack_require__(/*! ./widget-click */ \"./widget-click.js\");\n __webpack_require__(/*! ./widget-options */ \"./widget-options.js\");\n __webpack_require__(/*! ./deprecated */ \"./deprecated.js\");\n __webpack_require__(/*! ./lazy-loading-native */ \"./lazy-loading-native.js\");\n\n iframely.trigger('init'); \n}\n\nexports.iframely = iframely;\n\n//# sourceURL=webpack:///./index.js?"); +eval("{__webpack_require__(/*! ./dom-ready */ \"./dom-ready.js\");\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nif (!iframely._loaded) {\n\n iframely._loaded = true;\n\n __webpack_require__(/*! ./const */ \"./const.js\");\n __webpack_require__(/*! ./events */ \"./events.js\");\n // require('./utils'); // Loaded by other modules.\n __webpack_require__(/*! ./intersection */ \"./intersection.js\");\n __webpack_require__(/*! ./theme */ \"./theme.js\");\n __webpack_require__(/*! ./import */ \"./import.js\");\n __webpack_require__(/*! ./ahref */ \"./ahref.js\");\n __webpack_require__(/*! ./lazy-img-placeholder */ \"./lazy-img-placeholder.js\");\n __webpack_require__(/*! ./lazy-iframe */ \"./lazy-iframe.js\");\n // require('./messaging'); // Loaded by other modules.\n __webpack_require__(/*! ./widget-cancel */ \"./widget-cancel.js\");\n __webpack_require__(/*! ./widget-resize */ \"./widget-resize.js\");\n __webpack_require__(/*! ./widget-click */ \"./widget-click.js\");\n __webpack_require__(/*! ./widget-options */ \"./widget-options.js\");\n __webpack_require__(/*! ./deprecated */ \"./deprecated.js\");\n __webpack_require__(/*! ./lazy-loading-native */ \"./lazy-loading-native.js\");\n\n iframely.trigger('init'); \n}\n\nexports.iframely = iframely;\n\n//# sourceURL=webpack:///./index.js?\n}"); -/***/ }), +/***/ }, -/***/ "./intersection.js": +/***/ "./intersection.js" /*!*************************!*\ !*** ./intersection.js ***! \*************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var messaging = __webpack_require__(/*! ./messaging */ \"./messaging.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar observers = {};\n\nfunction getObserver(options) {\n var optionsKey = JSON.stringify(options);\n var observer = observers[optionsKey];\n if (!observer) {\n\n observer = new IntersectionObserver(function(entries) {\n\n entries.forEach(function(entry) {\n messaging.postMessage({\n method: 'intersection',\n entry: {\n isIntersecting: entry.isIntersecting\n },\n options: options\n }, '*', entry.target.contentWindow);\n });\n\n }, getObserverOptions(options));\n\n observers[optionsKey] = observer;\n }\n return observer;\n}\n\nfunction getObserverOptions(options) {\n var result = {};\n if (options && options.threshold) {\n result.threshold = options.threshold;\n }\n if (options && options.margin) {\n result.rootMargin = options.margin + 'px ' + options.margin + 'px ' + options.margin + 'px ' + options.margin + 'px';\n }\n return result;\n}\n\nif ('IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window) {\n\n iframely.on('init', function() {\n\n iframely.extendOptions({\n intersection: 1\n });\n \n });\n\n iframely.on('message', function(widget, message) {\n if (message.method === 'send-intersections' && widget.iframe) {\n\n var options = message.options;\n\n if (!options) {\n options = {\n margin: 1000\n };\n }\n\n getObserver(options).observe(widget.iframe);\n }\n });\n}\n\n\n//# sourceURL=webpack:///./intersection.js?"); +eval("{var messaging = __webpack_require__(/*! ./messaging */ \"./messaging.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\nvar observers = {};\n\nfunction getObserver(options) {\n var optionsKey = JSON.stringify(options);\n var observer = observers[optionsKey];\n if (!observer) {\n\n observer = new IntersectionObserver(function(entries) {\n\n entries.forEach(function(entry) {\n messaging.postMessage({\n method: 'intersection',\n entry: {\n isIntersecting: entry.isIntersecting\n },\n options: options\n }, '*', entry.target.contentWindow);\n });\n\n }, getObserverOptions(options));\n\n observers[optionsKey] = observer;\n }\n return observer;\n}\n\nfunction getObserverOptions(options) {\n var result = {};\n if (options && options.threshold) {\n result.threshold = options.threshold;\n }\n if (options && options.margin) {\n result.rootMargin = options.margin + 'px ' + options.margin + 'px ' + options.margin + 'px ' + options.margin + 'px';\n }\n return result;\n}\n\nif ('IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window) {\n\n iframely.on('init', function() {\n\n iframely.extendOptions({\n intersection: 1\n });\n \n });\n\n iframely.on('message', function(widget, message) {\n if (message.method === 'send-intersections' && widget.iframe) {\n\n var options = message.options;\n\n if (!options) {\n options = {\n margin: 1000\n };\n }\n\n getObserver(options).observe(widget.iframe);\n }\n });\n}\n\n\n//# sourceURL=webpack:///./intersection.js?\n}"); -/***/ }), +/***/ }, -/***/ "./lazy-iframe.js": +/***/ "./lazy-iframe.js" /*!************************!*\ !*** ./lazy-iframe.js ***! \************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// Need 'load' handler here instead of on('init') - we load lazy iframes only when DOM ready.\niframely.on('load', function(el) { \n\n if (!el) { // initial load\n\n var elements = document.querySelectorAll('iframe[data-iframely-url]');\n for(var i = 0; i < elements.length; i++) {\n iframely.trigger('load', elements[i]);\n } \n }\n \n});\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && !el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n loadLazyIframe(el);\n }\n \n});\n\n\nfunction loadLazyIframe(el) {\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n var dataImg = el.hasAttribute('data-img-created') || el.hasAttribute('data-img');\n var nativeLazyLoad = !dataImg && iframely.SUPPORT_IFRAME_LOADING_ATTR;\n\n if (widget && src) {\n\n var options = {\n v: iframely.VERSION,\n app: 1, // for example, will fall back to summary card if media is not longer available\n theme: iframely.config.theme\n };\n\n if (!nativeLazyLoad && iframely.config.intersection) {\n options.lazy = 1;\n }\n\n src = utils.getEndpoint(src, options);\n\n }\n\n if (nativeLazyLoad) {\n el.setAttribute('loading', 'lazy');\n }\n\n if (dataImg && iframely.SUPPORT_IFRAME_LOADING_ATTR) {\n // Disable lazy load with `data-img`.\n el.setAttribute('loading', 'edge');\n }\n\n el.setAttribute('src', src);\n el.removeAttribute('data-iframely-url');\n\n iframely.trigger('iframe-ready', el);\n}\n\n//# sourceURL=webpack:///./lazy-iframe.js?"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\n// Need 'load' handler here instead of on('init') - we load lazy iframes only when DOM ready.\niframely.on('load', function(el) { \n\n if (!el) { // initial load\n\n var elements = document.querySelectorAll('iframe[data-iframely-url]');\n for(var i = 0; i < elements.length; i++) {\n iframely.trigger('load', elements[i]);\n } \n }\n \n});\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && !el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n loadLazyIframe(el);\n }\n \n});\n\n\nfunction loadLazyIframe(el) {\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n var dataImg = el.hasAttribute('data-img-created') || el.hasAttribute('data-img');\n var nativeLazyLoad = !dataImg && iframely.SUPPORT_IFRAME_LOADING_ATTR;\n\n if (widget && src) {\n\n var options = {\n v: iframely.VERSION,\n app: 1, // for example, will fall back to summary card if media is not longer available\n theme: iframely.config.theme\n };\n\n if (!nativeLazyLoad && iframely.config.intersection) {\n options.lazy = 1;\n }\n\n src = utils.getEndpoint(src, options);\n\n }\n\n if (nativeLazyLoad) {\n el.setAttribute('loading', 'lazy');\n }\n\n if (dataImg && iframely.SUPPORT_IFRAME_LOADING_ATTR) {\n // Disable lazy load with `data-img`.\n el.setAttribute('loading', 'edge');\n }\n\n el.setAttribute('src', src);\n el.removeAttribute('data-iframely-url');\n\n iframely.trigger('iframe-ready', el);\n}\n\n//# sourceURL=webpack:///./lazy-iframe.js?\n}"); -/***/ }), +/***/ }, -/***/ "./lazy-img-placeholder.js": +/***/ "./lazy-img-placeholder.js" /*!*********************************!*\ !*** ./lazy-img-placeholder.js ***! \*********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?\n}"); -/***/ }), +/***/ }, -/***/ "./lazy-loading-native.js": +/***/ "./lazy-loading-native.js" /*!********************************!*\ !*** ./lazy-loading-native.js ***! \********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("function getChromeVersion() { \n var raw = navigator.userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\n\n return raw ? parseInt(raw[2], 10) : false;\n}\nvar chromeVersion = getChromeVersion();\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\niframely.SUPPORT_IFRAME_LOADING_ATTR = chromeVersion && chromeVersion >= 77;\n\n//# sourceURL=webpack:///./lazy-loading-native.js?"); +eval("{function getChromeVersion() { \n var raw = navigator.userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\n\n return raw ? parseInt(raw[2], 10) : false;\n}\nvar chromeVersion = getChromeVersion();\n\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\niframely.SUPPORT_IFRAME_LOADING_ATTR = chromeVersion && chromeVersion >= 77;\n\n//# sourceURL=webpack:///./lazy-loading-native.js?\n}"); -/***/ }), +/***/ }, -/***/ "./messaging.js": +/***/ "./messaging.js" /*!**********************!*\ !*** ./messaging.js ***! \**********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\n\nfunction receiveMessage(callback) {\n\n function cb(e) {\n var message;\n try {\n if (typeof e.data === 'string') {\n message = JSON.parse(e.data);\n } else if (typeof e.data === 'object') {\n message = e.data;\n }\n } catch (ex) {\n if (typeof e.data === 'string') {\n var m = e.data.match(/heightxPYMx(\\d+)/);\n if (m) {\n message = {\n method: 'resize',\n height: parseInt(m[1]) + 1,\n domains: 'all'\n };\n }\n }\n }\n\n callback(e, message);\n }\n\n // browser supports window.postMessage\n if (window['postMessage']) {\n if (window['addEventListener']) {\n window[callback ? 'addEventListener' : 'removeEventListener']('message', cb, !1);\n } else {\n window[callback ? 'attachEvent' : 'detachEvent']('onmessage', cb);\n }\n }\n}\n\nfunction findIframeByContentWindow(iframes, contentWindow) {\n var foundIframe;\n for(var i = 0; i < iframes.length && !foundIframe; i++) {\n var iframe = iframes[i];\n if (iframe.contentWindow === contentWindow) {\n foundIframe = iframe;\n }\n }\n return foundIframe;\n}\n\nfunction findIframeInElement(element, options) {\n var foundIframe, iframes;\n \n if (options.src) {\n iframes = element.querySelectorAll('iframe[src*=\"' + options.src.replace(/^https?:/, '') + '\"]');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n if (!foundIframe) {\n iframes = options.domains ?\n element.querySelectorAll('iframe[src*=\"' + (options.domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]')\n : element.getElementsByTagName('iframe');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n return foundIframe;\n}\n\nfunction findIframeInShadowRoots(element, options) {\n var foundIframe;\n var className = '.' + (iframely.config.shadow || iframely.SHADOW);\n var shadowRoots = element.querySelectorAll(className);\n for(var i = 0; i < shadowRoots.length && !foundIframe; i++) {\n var shadowRoot = shadowRoots[i].shadowRoot;\n if (shadowRoot) {\n foundIframe = findIframeInElement(shadowRoot, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(shadowRoot, options);\n }\n }\n }\n return foundIframe;\n}\n\n// Do not override existing.\nif (!iframely.findIframe) {\n iframely.findIframe = function(options) {\n var foundIframe = findIframeInElement(document, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(document, options);\n }\n return foundIframe;\n };\n}\n\n\nreceiveMessage(function(e, message) {\n\n if (message && (message.method || message.type || message.context)) {\n\n var foundIframe = iframely.findIframe({\n contentWindow: e.source,\n src: message.src || message.context,\n domains: message.domains !== 'all' && iframely.DOMAINS.concat(iframely.CDN)\n });\n\n if (foundIframe) {\n var widget = utils.getWidget(foundIframe);\n if (widget && message.url) {\n widget.url = message.url;\n }\n iframely.trigger('message', widget, message);\n }\n }\n \n});\n\n\nexports.postMessage = function(message, target_url, target) {\n if (window['postMessage']) {\n\n if (typeof message === 'object') {\n message.context = document.location.href;\n }\n\n message = JSON.stringify(message);\n\n target_url = target_url || '*';\n\n target = target || window.parent; // default to parent\n\n // the browser supports window.postMessage, so call it with a targetOrigin\n // set appropriately, based on the target_url parameter.\n target['postMessage'](message, target_url.replace( /([^:]+:\\/\\/[^/]+).*/, '$1'));\n }\n};\n\n\n//# sourceURL=webpack:///./messaging.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\n\nfunction receiveMessage(callback) {\n\n function cb(e) {\n var message;\n try {\n if (typeof e.data === 'string') {\n message = JSON.parse(e.data);\n } else if (typeof e.data === 'object') {\n message = e.data;\n }\n } catch (ex) {\n if (typeof e.data === 'string') {\n var m = e.data.match(/heightxPYMx(\\d+)/);\n if (m) {\n message = {\n method: 'resize',\n height: parseInt(m[1]) + 1,\n domains: 'all'\n };\n }\n }\n }\n\n callback(e, message);\n }\n\n // browser supports window.postMessage\n if (window['postMessage']) {\n if (window['addEventListener']) {\n window[callback ? 'addEventListener' : 'removeEventListener']('message', cb, !1);\n } else {\n window[callback ? 'attachEvent' : 'detachEvent']('onmessage', cb);\n }\n }\n}\n\nfunction findIframeByContentWindow(iframes, contentWindow) {\n var foundIframe;\n for(var i = 0; i < iframes.length && !foundIframe; i++) {\n var iframe = iframes[i];\n if (iframe.contentWindow === contentWindow) {\n foundIframe = iframe;\n }\n }\n return foundIframe;\n}\n\nfunction findIframeInElement(element, options) {\n var foundIframe, iframes;\n \n if (options.src) {\n iframes = element.querySelectorAll('iframe[src*=\"' + options.src.replace(/^https?:/, '') + '\"]');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n if (!foundIframe) {\n iframes = options.domains ?\n element.querySelectorAll('iframe[src*=\"' + (options.domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]')\n : element.getElementsByTagName('iframe');\n foundIframe = findIframeByContentWindow(iframes, options.contentWindow);\n }\n\n return foundIframe;\n}\n\nfunction findIframeInShadowRoots(element, options) {\n var foundIframe;\n var className = '.' + (iframely.config.shadow || iframely.SHADOW);\n var shadowRoots = element.querySelectorAll(className);\n for(var i = 0; i < shadowRoots.length && !foundIframe; i++) {\n var shadowRoot = shadowRoots[i].shadowRoot;\n if (shadowRoot) {\n foundIframe = findIframeInElement(shadowRoot, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(shadowRoot, options);\n }\n }\n }\n return foundIframe;\n}\n\n// Do not override existing.\nif (!iframely.findIframe) {\n iframely.findIframe = function(options) {\n var foundIframe = findIframeInElement(document, options);\n if (!foundIframe) {\n foundIframe = findIframeInShadowRoots(document, options);\n }\n return foundIframe;\n };\n}\n\n\nreceiveMessage(function(e, message) {\n\n if (message && (message.method || message.type || message.context)) {\n\n var foundIframe = iframely.findIframe({\n contentWindow: e.source,\n src: message.src || message.context,\n domains: message.domains !== 'all' && iframely.DOMAINS.concat(iframely.CDN)\n });\n\n if (foundIframe) {\n var widget = utils.getWidget(foundIframe);\n if (widget && message.url) {\n widget.url = message.url;\n }\n iframely.trigger('message', widget, message);\n }\n }\n \n});\n\n\nexports.postMessage = function(message, target_url, target) {\n if (window['postMessage']) {\n\n if (typeof message === 'object') {\n message.context = document.location.href;\n }\n\n message = JSON.stringify(message);\n\n target_url = target_url || '*';\n\n target = target || window.parent; // default to parent\n\n // the browser supports window.postMessage, so call it with a targetOrigin\n // set appropriately, based on the target_url parameter.\n target['postMessage'](message, target_url.replace( /([^:]+:\\/\\/[^/]+).*/, '$1'));\n }\n};\n\n\n//# sourceURL=webpack:///./messaging.js?\n}"); -/***/ }), +/***/ }, -/***/ "./theme.js": +/***/ "./theme.js" /*!******************!*\ !*** ./theme.js ***! \******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar messaging = __webpack_require__(/*! ./messaging */ \"./messaging.js\");\n\nfunction setThemeInIframe(iframe, theme) {\n messaging.postMessage({\n method: 'setTheme',\n data: theme\n }, '*', iframe.contentWindow);\n}\n\nfunction setThemeInAllIframes(parent, theme) {\n var iframes = parent.getElementsByTagName('iframe');\n for(var i = 0; i < iframes.length; i++) {\n var iframe = iframes[i];\n setThemeInIframe(iframe, theme);\n }\n}\n\niframely.setTheme = function(theme, container) {\n if (theme && iframely.SUPPORTED_THEMES.indexOf(theme) > -1) {\n if (container) {\n if (container.tagName === 'IFRAME') {\n setThemeInIframe(container, theme);\n } else {\n setThemeInAllIframes(container, theme);\n }\n } else {\n // Send get param to next iframes.\n iframely.extendOptions({\n theme: theme\n });\n setThemeInAllIframes(document, theme);\n iframely.trigger('set-theme', theme);\n }\n } else {\n console.warn('Using iframely.setTheme with not supported theme: \"' + theme + '\". Supported themes are: ' + iframely.SUPPORTED_THEMES.join(', '));\n }\n};\n\n//# sourceURL=webpack:///./theme.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar messaging = __webpack_require__(/*! ./messaging */ \"./messaging.js\");\n\nfunction setThemeInIframe(iframe, theme) {\n messaging.postMessage({\n method: 'setTheme',\n data: theme\n }, '*', iframe.contentWindow);\n}\n\nfunction setThemeInAllIframes(parent, theme) {\n var iframes = parent.getElementsByTagName('iframe');\n for(var i = 0; i < iframes.length; i++) {\n var iframe = iframes[i];\n setThemeInIframe(iframe, theme);\n }\n}\n\niframely.setTheme = function(theme, container) {\n if (theme && iframely.SUPPORTED_THEMES.indexOf(theme) > -1) {\n if (container) {\n if (container.tagName === 'IFRAME') {\n setThemeInIframe(container, theme);\n } else {\n setThemeInAllIframes(container, theme);\n }\n } else {\n // Send get param to next iframes.\n iframely.extendOptions({\n theme: theme\n });\n setThemeInAllIframes(document, theme);\n iframely.trigger('set-theme', theme);\n }\n } else {\n console.warn('Using iframely.setTheme with not supported theme: \"' + theme + '\". Supported themes are: ' + iframely.SUPPORTED_THEMES.join(', '));\n }\n};\n\n//# sourceURL=webpack:///./theme.js?\n}"); -/***/ }), +/***/ }, -/***/ "./utils.js": +/***/ "./utils.js" /*!******************!*\ !*** ./utils.js ***! \******************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\nvar messaging = __webpack_require__(/*! ./messaging */ \"./messaging.js\");\n\niframely.on('init', function() {\n\n\n iframely.extendOptions(parseQueryStringFromScriptSrc());\n // if it's hosted from elsewhere - we don't support customizing via query-string.\n // iframely.CDN will be default one unless changed by user (?cdn= or iframely.CDN= )\n\n defineDefaultStyles();\n\n // Set theme for existing iframes.\n if (iframely.config.theme) {\n iframely.setTheme(iframely.config.theme);\n }\n\n requestSizeOfExistingIframes(iframely.DOMAINS.concat(iframely.CDN.replace(/^https?:\\/\\//, '')));\n \n});\n\niframely.load = function() {\n var args = Array.prototype.slice.call(arguments);\n args.unshift('load');\n iframely.trigger.apply(this, args);\n};\n\nvar getIframeWrapper = exports.getIframeWrapper = function(iframe, checkClass) {\n\n var aspectWrapper = iframe.parentNode;\n\n if (!aspectWrapper\n || aspectWrapper.nodeName !== 'DIV'\n || nonTextChildCount(aspectWrapper) > 2 /* 2 is lazy-cover */\n || (checkClass && aspectWrapper.getAttribute('class') !== iframely.ASPECT_WRAPPER_CLASS)\n || (!checkClass && aspectWrapper.style.position !== 'relative' && aspectWrapper.getAttribute('class') !== iframely.ASPECT_WRAPPER_CLASS)) {\n return;\n }\n\n var maxWidthWrapper = aspectWrapper.parentNode;\n\n if (!maxWidthWrapper\n || maxWidthWrapper.nodeName !== 'DIV'\n || nonTextChildCount(maxWidthWrapper) > 1\n || (checkClass && maxWidthWrapper.getAttribute('class') && maxWidthWrapper.getAttribute('class').split(' ').indexOf(iframely.MAXWIDTH_WRAPPER_CLASS) === -1)\n || (!checkClass && maxWidthWrapper.getAttribute('class') && !maxWidthWrapper.getAttribute('class').match(/iframely/i) /* users can modify class */)\n ) {\n return;\n }\n\n return {\n aspectWrapper: aspectWrapper,\n maxWidthWrapper: maxWidthWrapper\n };\n};\n\nexports.addDefaultWrappers = function(el) {\n var parentNode = el.parentNode;\n\n var maxWidthWrapper = document.createElement('div');\n maxWidthWrapper.className = iframely.MAXWIDTH_WRAPPER_CLASS;\n\n var aspectWrapper = document.createElement('div');\n aspectWrapper.className = iframely.ASPECT_WRAPPER_CLASS;\n\n maxWidthWrapper.appendChild(aspectWrapper);\n\n parentNode.insertBefore(maxWidthWrapper, el);\n\n return {\n aspectWrapper: aspectWrapper,\n maxWidthWrapper: maxWidthWrapper\n };\n};\n\nexports.getWidget = function(iframe) {\n var wrapper = getIframeWrapper(iframe);\n if (!wrapper) {\n return;\n }\n var widget = {\n iframe: iframe, // can actually be ahref\n aspectWrapper: wrapper.aspectWrapper,\n maxWidthWrapper: wrapper.maxWidthWrapper\n };\n if (iframe.nodeName === 'A' && iframe.hasAttribute('href')) {\n widget.url = iframe.getAttribute('href');\n } else if (iframe.hasAttribute('src') && /url=/.test(iframe.getAttribute('src'))) {\n var qs = parseQueryString(iframe.getAttribute('src'));\n if (qs.url) {\n widget.url = qs.url;\n }\n }\n return widget;\n};\n\niframely.getElementComputedStyle = function(el, style) {\n return window.getComputedStyle && window.getComputedStyle(el).getPropertyValue(style);\n};\n\nexports.setStyles = function(el, styles) {\n if (el) { // let's check it's still defined, just in case\n Object.keys(styles).forEach(function(key) {\n\n var value = styles[key];\n if (typeof value === 'number' || (typeof value === 'string' && /^(\\d+)?\\.?(\\d+)$/.test(value))) {\n value = value + 'px';\n }\n\n var currentValue = el.style[key];\n\n if (!window.getComputedStyle ||\n // don't change CSS values in pixels, such as height:0\n (\n iframely.getElementComputedStyle(el, key) != value\n // && don't set default aspect ratio if it's defined in CSS anyway\n && !(el.className == 'iframely-responsive' && key === 'paddingBottom' && !currentValue && /^56\\.2\\d+%$/.test(value))\n // && do not change max-width if new value === 'keep'.\n && !(key === 'max-width' && value === 'keep')\n )) {\n\n el.style[key] = value || ''; // remove style that is no longer needed\n }\n });\n }\n};\n\nvar applyNonce = exports.applyNonce = function(element) {\n if (iframely.config.nonce) {\n element.nonce = iframely.config.nonce;\n }\n};\n\nfunction defineDefaultStyles() {\n\n var iframelyStylesId = 'iframely-styles';\n var styles = document.getElementById(iframelyStylesId);\n\n if (!styles) {\n // copy-paste default styles from https://iframely.com/docs/omit-css\n // box-sizing:border-box - need for iOS Safari .\n var iframelyStyles = '.iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}';\n\n styles = document.createElement('style');\n styles.id = iframelyStylesId;\n styles.type = 'text/css';\n applyNonce(styles);\n\n if (styles.styleSheet) {\n // IE.\n styles.styleSheet.cssText = iframelyStyles;\n } else {\n styles.innerHTML = iframelyStyles;\n }\n document.getElementsByTagName('head')[0].appendChild(styles);\n }\n}\n\n\nvar addQueryString = exports.addQueryString = function(href, options) {\n\n var query_string = '';\n\n Object.keys(options).forEach(function(key) {\n var value = options[key];\n\n // array is used e.g. for import: uris and ids\n if (Object.prototype.toString.call(value) === '[object Array]') {\n\n var values = value.map(function(uri) {\n return key + '=' + encodeURIComponent(uri);\n });\n query_string += '&' + values.join('&'); \n\n } else if (typeof value !== 'undefined' && href.indexOf(key + '=') === -1 ) { // set explicitely in options, skip undefines\n\n // Do not convert boolean for _option.\n if (typeof value === 'boolean' && key.charAt(0) !== '_') {\n value = value ? 1 : 0;\n }\n\n query_string += '&' + key + '=' + encodeURIComponent(value);\n }\n\n });\n\n return href + (query_string !== '' ? (href.indexOf('?') > -1 ? '&' : '?') + query_string.replace(/^&/, '') : '');\n};\n\nexports.getEndpoint = function(src, options, config_params) {\n\n var endpoint = src;\n\n if (!/^(https?:)?\\/\\//i.test(src)) {\n endpoint = (options.CDN || iframely.CDN) + endpoint;\n delete options.CDN;\n }\n\n if (!/^(?:https?:)?\\/\\//i.test(endpoint)) {\n endpoint = '//' + endpoint;\n } \n\n if (options) {\n endpoint = addQueryString(endpoint, options);\n }\n\n // get additional params from config\n if (config_params && config_params.length) {\n\n var more_options = {};\n\n var iframely_config_keys = Object.keys(iframely.config);\n for (var i = 0; i < iframely_config_keys.length; i++) {\n var key = iframely_config_keys[i];\n if (containsString(config_params, key)) {\n more_options[key] = iframely.config[key];\n }\n }\n\n endpoint = addQueryString(endpoint, more_options);\n }\n\n\n if (/^(https?:)?\\/\\//i.test(endpoint) // Path is url.\n && !endpoint.match(/^(https?:)?\\/\\//i)[1] // No http protocol specified.\n && document.location.protocol !== 'http:' // Document in `file:` or other protocol.\n && document.location.protocol !== 'https:') {\n\n endpoint = 'https:' + endpoint;\n }\n\n return endpoint;\n};\n\n// helper method to init more options through js code\niframely.extendOptions = function(options) {\n\n options && Object.keys(options).forEach(function(key) {\n var new_value = (\n options[key] === 0 || options[key] === '0' || options[key] === false || options[key] === 'false'\n ? false : (options[key] === 1 || options[key] === '1' || options[key] === true || options[key] === 'true'\n ? true : options[key]));\n\n if (iframely.config[key] !== false) { // set new value only when undefined or not previously disabled\n iframely.config[key] = new_value;\n }\n });\n\n};\n\nfunction parseQueryStringFromScriptSrc() {\n\n // Extract global iframely params.\n var scripts = document.querySelectorAll('script[src*=\"embed.js\"], script[src*=\"iframely.js\"]');\n\n for(var i = 0; i < scripts.length; i++) {\n var src = scripts[i].getAttribute('src').replace(/&/gi, '&');\n\n if (iframely.SCRIPT_RE.test(src)) { // found the script on custom origin or default Iframely CDN\n\n var options = parseQueryString(src, iframely.SUPPORTED_QUERY_STRING.concat('cdn', 'cancel', 'nonce'));\n\n var m2 = src.match(iframely.CDN_RE);\n if (m2 || options.cdn) { // ignore non-Iframely hosts such as s.imgur.com/min/embed.js\n iframely.CDN = options.cdn || m2[1];\n }\n\n if (options.cancel) {\n if (options.cancel === '0' || options.cancel === 'false') {\n iframely.RECOVER_HREFS_ON_CANCEL = true;\n }\n delete options.cancel;\n }\n\n if (Object.keys(options).length > 0) {\n // give preferrence to CDN from scripts that have query-string. \n // CDN is most critical for embeds with empty data-iframely-url\n // and those should have at least ?api_key... in script src\n\n return options;\n } // or keep searching\n }\n }\n // should have exited by now if any querystring found...\n return {};\n}\n\nfunction requestSizeOfExistingIframes(domains) {\n\n var iframes = document.querySelectorAll('iframe[src*=\"' + (domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]');\n for(var i = 0; i < iframes.length; i++) {\n var iframe = iframes[i];\n var src = iframe.src;\n if (src.match(/^(https?:)?\\/\\/[^/]+\\/api\\/iframe\\?.+/)\n || src.match(/^(https?:)?\\/\\/[^/]+\\/\\w+(\\?.*)?$/)) {\n messaging.postMessage({\n method: 'getSize'\n }, '*', iframe.contentWindow);\n }\n }\n} \n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction containsString(list, findValue) {\n var value, i = 0;\n while (i < list.length) {\n value = list[i];\n\n if (value == findValue) {\n return true;\n }\n\n if (value && value.test && value.test(findValue)) {\n return true;\n }\n\n i++;\n }\n}\n\nvar parseQueryString = exports.parseQueryString = function(url, allowed_query_string) {\n var query = url.match(/\\?(.+)/i);\n if (query) {\n query = query[1];\n var data = query.split('&');\n var result = {};\n for(var i=0; i 2 /* 2 is lazy-cover */\n || (checkClass && aspectWrapper.getAttribute('class') !== iframely.ASPECT_WRAPPER_CLASS)\n || (!checkClass && aspectWrapper.style.position !== 'relative' && aspectWrapper.getAttribute('class') !== iframely.ASPECT_WRAPPER_CLASS)) {\n return;\n }\n\n var maxWidthWrapper = aspectWrapper.parentNode;\n\n if (!maxWidthWrapper\n || maxWidthWrapper.nodeName !== 'DIV'\n || nonTextChildCount(maxWidthWrapper) > 1\n || (checkClass && maxWidthWrapper.getAttribute('class') && maxWidthWrapper.getAttribute('class').split(' ').indexOf(iframely.MAXWIDTH_WRAPPER_CLASS) === -1)\n || (!checkClass && maxWidthWrapper.getAttribute('class') && !maxWidthWrapper.getAttribute('class').match(/iframely/i) /* users can modify class */)\n ) {\n return;\n }\n\n return {\n aspectWrapper: aspectWrapper,\n maxWidthWrapper: maxWidthWrapper\n };\n};\n\nexports.addDefaultWrappers = function(el) {\n var parentNode = el.parentNode;\n\n var maxWidthWrapper = document.createElement('div');\n maxWidthWrapper.className = iframely.MAXWIDTH_WRAPPER_CLASS;\n\n var aspectWrapper = document.createElement('div');\n aspectWrapper.className = iframely.ASPECT_WRAPPER_CLASS;\n\n maxWidthWrapper.appendChild(aspectWrapper);\n\n parentNode.insertBefore(maxWidthWrapper, el);\n\n return {\n aspectWrapper: aspectWrapper,\n maxWidthWrapper: maxWidthWrapper\n };\n};\n\nexports.getWidget = function(iframe) {\n var wrapper = getIframeWrapper(iframe);\n if (!wrapper) {\n return;\n }\n var widget = {\n iframe: iframe, // can actually be ahref\n aspectWrapper: wrapper.aspectWrapper,\n maxWidthWrapper: wrapper.maxWidthWrapper\n };\n if (iframe.nodeName === 'A' && iframe.hasAttribute('href')) {\n widget.url = iframe.getAttribute('href');\n } else if (iframe.hasAttribute('src') && /url=/.test(iframe.getAttribute('src'))) {\n var qs = parseQueryString(iframe.getAttribute('src'));\n if (qs.url) {\n widget.url = qs.url;\n }\n }\n return widget;\n};\n\niframely.getElementComputedStyle = function(el, style) {\n return window.getComputedStyle && window.getComputedStyle(el).getPropertyValue(style);\n};\n\nexports.setStyles = function(el, styles) {\n if (el) { // let's check it's still defined, just in case\n Object.keys(styles).forEach(function(key) {\n\n var value = styles[key];\n if (typeof value === 'number' || (typeof value === 'string' && /^(\\d+)?\\.?(\\d+)$/.test(value))) {\n value = value + 'px';\n }\n\n var currentValue = el.style[key];\n\n if (!window.getComputedStyle ||\n // don't change CSS values in pixels, such as height:0\n (\n iframely.getElementComputedStyle(el, key) != value\n // && don't set default aspect ratio if it's defined in CSS anyway\n && !(el.className == 'iframely-responsive' && key === 'paddingBottom' && !currentValue && /^56\\.2\\d+%$/.test(value))\n // && do not change max-width if new value === 'keep'.\n && !(key === 'max-width' && value === 'keep')\n )) {\n\n el.style[key] = value || ''; // remove style that is no longer needed\n }\n });\n }\n};\n\nvar applyNonce = exports.applyNonce = function(element) {\n if (iframely.config.nonce) {\n element.nonce = iframely.config.nonce;\n }\n};\n\nfunction defineDefaultStyles() {\n\n var iframelyStylesId = 'iframely-styles';\n var styles = document.getElementById(iframelyStylesId);\n\n if (!styles) {\n // copy-paste default styles from https://iframely.com/docs/omit-css\n // box-sizing:border-box - need for iOS Safari .\n var iframelyStyles = '.iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}';\n\n styles = document.createElement('style');\n styles.id = iframelyStylesId;\n styles.type = 'text/css';\n applyNonce(styles);\n\n if (styles.styleSheet) {\n // IE.\n styles.styleSheet.cssText = iframelyStyles;\n } else {\n styles.innerHTML = iframelyStyles;\n }\n document.getElementsByTagName('head')[0].appendChild(styles);\n }\n}\n\n\nvar addQueryString = exports.addQueryString = function(href, options) {\n\n var query_string = '';\n\n Object.keys(options).forEach(function(key) {\n var value = options[key];\n\n // array is used e.g. for import: uris and ids\n if (Object.prototype.toString.call(value) === '[object Array]') {\n\n var values = value.map(function(uri) {\n return key + '=' + encodeURIComponent(uri);\n });\n query_string += '&' + values.join('&'); \n\n } else if (typeof value !== 'undefined' && href.indexOf(key + '=') === -1 ) { // set explicitely in options, skip undefines\n\n // Do not convert boolean for _option.\n if (typeof value === 'boolean' && key.charAt(0) !== '_') {\n value = value ? 1 : 0;\n }\n\n query_string += '&' + key + '=' + encodeURIComponent(value);\n }\n\n });\n\n return href + (query_string !== '' ? (href.indexOf('?') > -1 ? '&' : '?') + query_string.replace(/^&/, '') : '');\n};\n\nexports.getEndpoint = function(src, options, config_params) {\n\n var endpoint = src;\n\n if (!/^(https?:)?\\/\\//i.test(src)) {\n endpoint = (options.CDN || iframely.CDN) + endpoint;\n delete options.CDN;\n }\n\n if (!/^(?:https?:)?\\/\\//i.test(endpoint)) {\n endpoint = '//' + endpoint;\n } \n\n if (options) {\n endpoint = addQueryString(endpoint, options);\n }\n\n // get additional params from config\n if (config_params && config_params.length) {\n\n var more_options = {};\n\n var iframely_config_keys = Object.keys(iframely.config);\n for (var i = 0; i < iframely_config_keys.length; i++) {\n var key = iframely_config_keys[i];\n if (containsString(config_params, key)) {\n more_options[key] = iframely.config[key];\n }\n }\n\n endpoint = addQueryString(endpoint, more_options);\n }\n\n\n if (/^(https?:)?\\/\\//i.test(endpoint) // Path is url.\n && !endpoint.match(/^(https?:)?\\/\\//i)[1] // No http protocol specified.\n && document.location.protocol !== 'http:' // Document in `file:` or other protocol.\n && document.location.protocol !== 'https:') {\n\n endpoint = 'https:' + endpoint;\n }\n\n return endpoint;\n};\n\n// helper method to init more options through js code\niframely.extendOptions = function(options) {\n\n options && Object.keys(options).forEach(function(key) {\n var new_value = (\n options[key] === 0 || options[key] === '0' || options[key] === false || options[key] === 'false'\n ? false : (options[key] === 1 || options[key] === '1' || options[key] === true || options[key] === 'true'\n ? true : options[key]));\n\n if (iframely.config[key] !== false) { // set new value only when undefined or not previously disabled\n iframely.config[key] = new_value;\n }\n });\n\n};\n\nfunction parseQueryStringFromScriptSrc() {\n\n // Extract global iframely params.\n var scripts = document.querySelectorAll('script[src*=\"embed.js\"], script[src*=\"iframely.js\"]');\n\n for(var i = 0; i < scripts.length; i++) {\n var src = scripts[i].getAttribute('src').replace(/&/gi, '&');\n\n if (iframely.SCRIPT_RE.test(src)) { // found the script on custom origin or default Iframely CDN\n\n var options = parseQueryString(src, iframely.SUPPORTED_QUERY_STRING.concat('cdn', 'cancel', 'nonce'));\n\n var m2 = src.match(iframely.CDN_RE);\n if (m2 || options.cdn) { // ignore non-Iframely hosts such as s.imgur.com/min/embed.js\n iframely.CDN = options.cdn || m2[1];\n }\n\n if (options.cancel) {\n if (options.cancel === '0' || options.cancel === 'false') {\n iframely.RECOVER_HREFS_ON_CANCEL = true;\n }\n delete options.cancel;\n }\n\n if (Object.keys(options).length > 0) {\n // give preferrence to CDN from scripts that have query-string. \n // CDN is most critical for embeds with empty data-iframely-url\n // and those should have at least ?api_key... in script src\n\n return options;\n } // or keep searching\n }\n }\n // should have exited by now if any querystring found...\n return {};\n}\n\nfunction requestSizeOfExistingIframes(domains) {\n\n var iframes = document.querySelectorAll('iframe[src*=\"' + (domains || iframely.DOMAINS).join('\"], iframe[src*=\"') + '\"]');\n for(var i = 0; i < iframes.length; i++) {\n var iframe = iframes[i];\n var src = iframe.src;\n if (src.match(/^(https?:)?\\/\\/[^/]+\\/api\\/iframe\\?.+/)\n || src.match(/^(https?:)?\\/\\/[^/]+\\/\\w+(\\?.*)?$/)) {\n messaging.postMessage({\n method: 'getSize'\n }, '*', iframe.contentWindow);\n }\n }\n} \n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction containsString(list, findValue) {\n var value, i = 0;\n while (i < list.length) {\n value = list[i];\n\n if (value == findValue) {\n return true;\n }\n\n if (value && value.test && value.test(findValue)) {\n return true;\n }\n\n i++;\n }\n}\n\nvar parseQueryString = exports.parseQueryString = function(url, allowed_query_string) {\n var query = url.match(/\\?(.+)/i);\n if (query) {\n query = query[1];\n var data = query.split('&');\n var result = {};\n for(var i=0; i= 0;\n }\n return found && el;\n }\n\n var parentNode = widget.maxWidthWrapper && widget.maxWidthWrapper.parentNode;\n var naNode = widget.maxWidthWrapper;\n\n // Try remove by parentClass first.\n if (iframely.config && iframely.config.parent) {\n // Remove by parent class.\n var parentElement = findParent(widget.maxWidthWrapper, iframely.config.parent);\n\n if (parentElement) {\n parentNode = parentElement.parentNode;\n naNode = parentElement;\n }\n }\n\n if (widget.url) {\n var text = widget.iframe && (widget.iframe.textContent || widget.iframe.innerText);\n\n iframely.triggerAsync('cancel', widget.url, parentNode, text, naNode.nextSibling);\n }\n // Re-creating a link if people had it as text is now deprecated (see in deprecated.js)\n // New use: iframely.on('cancel', function(url, parentNode, text) {...} );\n\n parentNode.removeChild(naNode);\n};\n\n//# sourceURL=webpack:///./widget-cancel.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'cancelWidget') { \n iframely.cancelWidget(widget);\n }\n});\n\niframely.cancelWidget = function(widget) {\n\n if (!widget) {\n console.warn('iframely.cancelWidget called without widget param');\n return;\n }\n\n function findParent(el, className) {\n var found = false;\n while(!found && el.parentNode) {\n el = el.parentNode;\n found = el.className && el.className.split(' ').indexOf(className) >= 0;\n }\n return found && el;\n }\n\n var parentNode = widget.maxWidthWrapper && widget.maxWidthWrapper.parentNode;\n var naNode = widget.maxWidthWrapper;\n\n // Try remove by parentClass first.\n if (iframely.config && iframely.config.parent) {\n // Remove by parent class.\n var parentElement = findParent(widget.maxWidthWrapper, iframely.config.parent);\n\n if (parentElement) {\n parentNode = parentElement.parentNode;\n naNode = parentElement;\n }\n }\n\n if (widget.url) {\n var text = widget.iframe && (widget.iframe.textContent || widget.iframe.innerText);\n\n iframely.triggerAsync('cancel', widget.url, parentNode, text, naNode.nextSibling);\n }\n // Re-creating a link if people had it as text is now deprecated (see in deprecated.js)\n // New use: iframely.on('cancel', function(url, parentNode, text) {...} );\n\n parentNode.removeChild(naNode);\n};\n\n//# sourceURL=webpack:///./widget-cancel.js?\n}"); -/***/ }), +/***/ }, -/***/ "./widget-click.js": +/***/ "./widget-click.js" /*!*************************!*\ !*** ./widget-click.js ***! \*************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'open-href' || message.method === 'click') {\n iframely.trigger(message.method, message.href);\n }\n});\n\n// Do not override user defined handler.\nif (!iframely.openHref) {\n iframely.openHref = function(href) {\n if (href.indexOf(window.location.origin) === 0) {\n // Redirect top on same origin.\n window.location.href = href;\n } else {\n // Open new tab on another origin.\n window.open(href, '_blank', 'noopener');\n }\n };\n}\n\niframely.on('open-href', function(href) {\n iframely.triggerAsync('click', href);\n iframely.openHref(href);\n});\n\n//# sourceURL=webpack:///./widget-click.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'open-href' || message.method === 'click') {\n iframely.trigger(message.method, message.href);\n }\n});\n\n// Do not override user defined handler.\nif (!iframely.openHref) {\n iframely.openHref = function(href) {\n if (href.indexOf(window.location.origin) === 0) {\n // Redirect top on same origin.\n window.location.href = href;\n } else {\n // Open new tab on another origin.\n window.open(href, '_blank', 'noopener');\n }\n };\n}\n\niframely.on('open-href', function(href) {\n iframely.triggerAsync('click', href);\n iframely.openHref(href);\n});\n\n//# sourceURL=webpack:///./widget-click.js?\n}"); -/***/ }), +/***/ }, -/***/ "./widget-options.js": +/***/ "./widget-options.js" /*!***************************!*\ !*** ./widget-options.js ***! \***************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'setIframelyEmbedOptions') {\n iframely.trigger('options', widget, message.data);\n }\n});\n\n\n//# sourceURL=webpack:///./widget-options.js?"); +eval("{var iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n if (message.method === 'setIframelyEmbedOptions') {\n iframely.trigger('options', widget, message.data);\n }\n});\n\n\n//# sourceURL=webpack:///./widget-options.js?\n}"); -/***/ }), +/***/ }, -/***/ "./widget-resize.js": +/***/ "./widget-resize.js" /*!**************************!*\ !*** ./widget-resize.js ***! \**************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n\n if (message.method === 'setIframelyWidgetSize' \n || message.method === 'resize' \n || message.method === 'setIframelyEmbedData' \n || message.type === 'embed-size'\n || message.context === 'iframe.resize') {\n\n var frame_styles = null;\n\n if (message.data && message.data.media && message.data.media.frame_style) {\n\n message.data.media.frame_style.split(';').forEach(function(str) {\n\n if(str.trim() !== '' && str.indexOf(':') > -1) {\n var props = str.split(':');\n if (props.length === 2) {\n frame_styles = frame_styles || {};\n frame_styles[props[0].trim()] = props[1].trim();\n }\n }\n });\n\n widgetDecorate(widget, frame_styles);\n\n } else if (message.method === 'setIframelyEmbedData') {\n\n // setIframelyEmbedData always sets frame_style. If not - reset.\n // setIframelyEmbedData without message.data resets border.\n widgetDecorate(widget, null);\n }\n\n var media = message.data && message.data.media;\n if (!media && message.height) {\n media = {\n height: message.height,\n 'max-width': 'keep'\n };\n }\n\n widgetResize(widget, media);\n }\n});\n\n// All frame_style attributes.\nvar resetWrapperBorderStyles = {'border': '', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\nvar resetIframeBorderStyles = {'border': '0', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\n\nfunction widgetDecorate(widget, styles) {\n\n if (styles && widget && widget.iframe) {\n\n if (styles['border-radius']) {\n // fix for Chrome?\n styles.overflow = 'hidden';\n utils.setStyles(widget.aspectWrapper, styles);\n } else {\n utils.setStyles(widget.iframe, styles);\n }\n\n } else if (!styles && widget && widget.iframe) {\n\n utils.setStyles(widget.aspectWrapper, resetWrapperBorderStyles);\n utils.setStyles(widget.iframe, resetIframeBorderStyles);\n }\n}\n\nfunction getTotalBorderWidth(widget) {\n\n // Get frame style from iframe or aspect wrapper as in widgetDecorate for Chrome fix.\n var frameStylesBorder = \n (widget.iframe && widget.iframe.style.border) \n || (widget.aspectWrapper && widget.aspectWrapper.style.border);\n\n // Get iframe border width from frame style.\n var borderWidth = frameStylesBorder && frameStylesBorder.match(/(\\d+)px/) || 0;\n if (borderWidth) {\n borderWidth = parseInt(borderWidth[1]);\n // For width and height border size will be 2x.\n borderWidth = borderWidth * 2;\n }\n\n return borderWidth;\n}\n\nfunction widgetResize(widget, media) {\n\n if (media && Object.keys(media).length > 0 && widget) {\n\n var borderWidth = getTotalBorderWidth(widget);\n\n var oldIframeHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n\n var maxWidth = media['max-width'];\n if (typeof maxWidth === 'number') {\n // Can be max-width: 56vh.\n maxWidth += borderWidth;\n }\n\n utils.setStyles(widget.maxWidthWrapper, {\n 'max-width': maxWidth,\n 'min-width': media['min-width'] && (media['min-width'] + borderWidth),\n width: media.width && (media.width + borderWidth)\n });\n\n if (media.scrolling && widget.iframe) {\n widget.iframe.setAttribute('scrolling', media.scrolling);\n }\n\n var aspectRatio = media['aspect-ratio'];\n\n // If no aspect and height - do not change aspect wrapper.\n if (aspectRatio || media.height) {\n utils.setStyles(widget.aspectWrapper, {\n paddingBottom: aspectRatio ? (Math.round(1000 * 100 / aspectRatio) / 1000 + '%') : 0, // if fixed-size, it will get set to 0\n paddingTop: aspectRatio && media['padding-bottom'], // if a fixed-height padding at the bottom of responsive div is required\n height: aspectRatio ? 0 : (media.height && (media.height + borderWidth)) // if defined\n });\n }\n\n\n var currentHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n if (oldIframeHeight && oldIframeHeight !== currentHeight) {\n iframely.triggerAsync('heightChanged', widget.iframe, oldIframeHeight, currentHeight);\n }\n\n }\n}\n\n\n//# sourceURL=webpack:///./widget-resize.js?"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('message', function(widget, message) {\n\n if (message.method === 'setIframelyWidgetSize' \n || message.method === 'resize' \n || message.method === 'setIframelyEmbedData' \n || message.type === 'embed-size'\n || message.context === 'iframe.resize') {\n\n var frame_styles = null;\n\n if (message.data && message.data.media && message.data.media.frame_style) {\n\n message.data.media.frame_style.split(';').forEach(function(str) {\n\n if(str.trim() !== '' && str.indexOf(':') > -1) {\n var props = str.split(':');\n if (props.length === 2) {\n frame_styles = frame_styles || {};\n frame_styles[props[0].trim()] = props[1].trim();\n }\n }\n });\n\n widgetDecorate(widget, frame_styles);\n\n } else if (message.method === 'setIframelyEmbedData') {\n\n // setIframelyEmbedData always sets frame_style. If not - reset.\n // setIframelyEmbedData without message.data resets border.\n widgetDecorate(widget, null);\n }\n\n var media = message.data && message.data.media;\n if (!media && message.height) {\n media = {\n height: message.height,\n 'max-width': 'keep'\n };\n }\n\n widgetResize(widget, media);\n }\n});\n\n// All frame_style attributes.\nvar resetWrapperBorderStyles = {'border': '', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\nvar resetIframeBorderStyles = {'border': '0', 'border-radius': '', 'box-shadow': '', 'overflow': ''};\n\nfunction widgetDecorate(widget, styles) {\n\n if (styles && widget && widget.iframe) {\n\n if (styles['border-radius']) {\n // fix for Chrome?\n styles.overflow = 'hidden';\n utils.setStyles(widget.aspectWrapper, styles);\n } else {\n utils.setStyles(widget.iframe, styles);\n }\n\n } else if (!styles && widget && widget.iframe) {\n\n utils.setStyles(widget.aspectWrapper, resetWrapperBorderStyles);\n utils.setStyles(widget.iframe, resetIframeBorderStyles);\n }\n}\n\nfunction getTotalBorderWidth(widget) {\n\n // Get frame style from iframe or aspect wrapper as in widgetDecorate for Chrome fix.\n var frameStylesBorder = \n (widget.iframe && widget.iframe.style.border) \n || (widget.aspectWrapper && widget.aspectWrapper.style.border);\n\n // Get iframe border width from frame style.\n var borderWidth = frameStylesBorder && frameStylesBorder.match(/(\\d+)px/) || 0;\n if (borderWidth) {\n borderWidth = parseInt(borderWidth[1]);\n // For width and height border size will be 2x.\n borderWidth = borderWidth * 2;\n }\n\n return borderWidth;\n}\n\nfunction widgetResize(widget, media) {\n\n if (media && Object.keys(media).length > 0 && widget) {\n\n var borderWidth = getTotalBorderWidth(widget);\n\n var oldIframeHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n\n var maxWidth = media['max-width'];\n if (typeof maxWidth === 'number') {\n // Can be max-width: 56vh.\n maxWidth += borderWidth;\n }\n\n utils.setStyles(widget.maxWidthWrapper, {\n 'max-width': maxWidth,\n 'min-width': media['min-width'] && (media['min-width'] + borderWidth),\n width: media.width && (media.width + borderWidth)\n });\n\n if (media.scrolling && widget.iframe) {\n widget.iframe.setAttribute('scrolling', media.scrolling);\n }\n\n var aspectRatio = media['aspect-ratio'];\n\n // If no aspect and height - do not change aspect wrapper.\n if (aspectRatio || media.height) {\n utils.setStyles(widget.aspectWrapper, {\n paddingBottom: aspectRatio ? (Math.round(1000 * 100 / aspectRatio) / 1000 + '%') : 0, // if fixed-size, it will get set to 0\n paddingTop: aspectRatio && media['padding-bottom'], // if a fixed-height padding at the bottom of responsive div is required\n height: aspectRatio ? 0 : (media.height && (media.height + borderWidth)) // if defined\n });\n }\n\n\n var currentHeight = window.getComputedStyle && window.getComputedStyle(widget.iframe).getPropertyValue('height');\n\n if (oldIframeHeight && oldIframeHeight !== currentHeight) {\n iframely.triggerAsync('heightChanged', widget.iframe, oldIframeHeight, currentHeight);\n }\n\n }\n}\n\n\n//# sourceURL=webpack:///./widget-resize.js?\n}"); -/***/ }) +/***/ } -/******/ }); \ No newline at end of file +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ if (!(moduleId in __webpack_modules__)) { +/******/ delete __webpack_module_cache__[moduleId]; +/******/ var e = new Error("Cannot find module '" + moduleId + "'"); +/******/ e.code = 'MODULE_NOT_FOUND'; +/******/ throw e; +/******/ } +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/global */ +/******/ (() => { +/******/ __webpack_require__.g = (function() { +/******/ if (typeof globalThis === 'object') return globalThis; +/******/ try { +/******/ return this || new Function('return this')(); +/******/ } catch (e) { +/******/ if (typeof window === 'object') return window; +/******/ } +/******/ })(); +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./index.js"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/dist/embed.min.js b/dist/embed.min.js index 9912fe5..efcca27 100644 --- a/dist/embed.min.js +++ b/dist/embed.min.js @@ -1 +1 @@ -!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=30)}([function(e,t){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},function(e,t,r){var i=r(0),n=r(2);i.on("init",(function(){i.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return n}}return{}}()),function(){var e=document.getElementById("iframely-styles");if(!e){var t=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(e=document.createElement("style")).id="iframely-styles",e.type="text/css",o(e),e.styleSheet?e.styleSheet.cssText=t:e.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(e)}}(),i.config.theme&&i.setTheme(i.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||i.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS)){var n=r.parentNode;if(!(!n||"DIV"!==n.nodeName||c(n)>1||t&&n.getAttribute("class")&&-1===n.getAttribute("class").split(" ").indexOf(i.MAXWIDTH_WRAPPER_CLASS)||!t&&n.getAttribute("class")&&!n.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:n}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=i.MAXWIDTH_WRAPPER_CLASS;var n=document.createElement("div");return n.className=i.ASPECT_WRAPPER_CLASS,r.appendChild(n),t.insertBefore(r,e),{aspectWrapper:n,maxWidthWrapper:r}},t.getWidget=function(e){var t=a(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var i=l(e.getAttribute("src"));i.url&&(r.url=i.url)}return r}},i.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach((function(r){var n=t[r];("number"==typeof n||"string"==typeof n&&/^(\d+)?\.?(\d+)$/.test(n))&&(n+="px");var a=e.style[r];window.getComputedStyle&&(i.getElementComputedStyle(e,r)==n||"iframely-responsive"==e.className&&"paddingBottom"===r&&!a&&/^56\.2\d+%$/.test(n)||"max-width"===r&&"keep"===n)||(e.style[r]=n||"")}))};var o=t.applyNonce=function(e){i.config.nonce&&(e.nonce=i.config.nonce)};var d=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach((function(i){var n=t[i];if("[object Array]"===Object.prototype.toString.call(n)){var a=n.map((function(e){return i+"="+encodeURIComponent(e)}));r+="&"+a.join("&")}else void 0!==n&&-1===e.indexOf(i+"=")&&("boolean"==typeof n&&"_"!==i.charAt(0)&&(n=n?1:0),r+="&"+i+"="+encodeURIComponent(n))})),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function c(e){for(var t=0,r=0;r-1?t?"IFRAME"===t.tagName?a(t,e):o(t,e):(i.extendOptions({theme:e}),o(document,e),i.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+i.SUPPORTED_THEMES.join(", "))}},function(e,t,r){var i=r(1),n=r(0),a={};function o(e,t,r){var a,o=e.cancel,d=e.shadow,s=e.renderEvent,l=i.getIframeWrapper(t,!0);if(o)a=i.getWidget(t),n.cancelWidget(a||{maxWidthWrapper:t,iframe:t,url:t.getAttribute("href")});else{var u,f;if((a=document.createElement("div")).innerHTML=e.html,l&&!s?(u=l.aspectWrapper.parentNode,f=l.aspectWrapper,l.maxWidthWrapper.removeAttribute("style")):(u=t.parentNode,f=t),d){var p=document.createElement("div"),m=p.attachShadow({mode:"open"});m.appendChild(a);var g={shadowRoot:m,shadowContainer:p,container:u,context:e.context,stylesIds:e.stylesIds,stylesDict:r.commonShadowStyles};n.trigger("import-shadow-widget-before-render",g),u.insertBefore(p,f),n.trigger("import-shadow-widget-after-render",g)}else u.insertBefore(a,f),function e(t){function r(e){var r=e.text||e.textContent||e.innerHTML||"",n=i.createScript();n.type="text/javascript";for(var a=0;a4&&(t=null);var i=t&&t.parentNode;i&&i.getAttribute("class")&&i.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),i.removeAttribute("style"))}n.on("load",(function(e){if(!e&&!1!==n.config.import&&document.head.attachShadow&&document.location&&(n.debug||"http:"===document.location.protocol||"https:"===document.location.protocol)&&!n.config.playerjs&&!n.config.lazy&&!n.import){var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])");t.length>1&&function(e){var t=i.createScript(),r=[],o=[],c=null;function s(e,t){a[e]||(a[e]=[]),a[e].push(t)}function l(e){var t=e.getAttribute("data-iframely-url"),a=t.match(n.ID_RE),d=a&&a[1],l=i.parseQueryString(t,n.SUPPORTED_QUERY_STRING.concat("url")),u=l.url;delete l.url;var f="0"===l.import||"false"===l.import||"1"===l.playerjs||"true"===l.playerjs;if(!f){var p=t.match(n.BASE_RE);l.CDN=p&&p[0],c?JSON.stringify(l,Object.keys(l).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(f=!0):c=l}if(f)n.trigger("load",e);else if(d)e.setAttribute("data-import-uri",d),-1===o.indexOf(d)&&o.push(d),s(d,e);else{u||(u=e.getAttribute("href")),(c.key||c.api_key||n.config.api_key||n.config.key)&&u?(e.setAttribute("data-import-uri",u),-1===r.indexOf(u)&&r.push(u),s(u,e)):n.trigger("load",e)}}for(var u=0;u0||o.length>0?((c=c||{}).touch=n.isTouch(),c.flash=function(){var e=!1;try{var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");e=!!t}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,n.config.theme&&(c.theme=n.config.theme),r.length>0&&(c.uri=r),o.length>0&&(c.ids=o.join("&")),c.v=n.VERSION,t.src=i.getEndpoint("/api/import/v2",c,n.SUPPORTED_QUERY_STRING),t.onerror=function(){d()},document.head.appendChild(t),n.import=t):(d(),n.trigger("load"))}(t)}})),n.on("load",(function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=a[e.uri];if(r)for(var i=0;i1&&function(e,t){for(var r=0,i=0;i=0;return r&&e}(e.maxWidthWrapper,i.config.parent);n&&(t=n.parentNode,r=n)}if(e.url){var a=e.iframe&&(e.iframe.textContent||e.iframe.innerText);i.triggerAsync("cancel",e.url,t,a,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},function(e,t,r){var i=r(1),n=r(0);n.on("message",(function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach((function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}})),d(e,r)):"setIframelyEmbedData"===t.method&&d(e,null);var a=t.data&&t.data.media;!a&&t.height&&(a={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;r&&(r=parseInt(r[1]),r*=2);return r}(e),a=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),i.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var d=t["aspect-ratio"];(d||t.height)&&i.setStyles(e.aspectWrapper,{paddingBottom:d?Math.round(1e5/d)/1e3+"%":0,paddingTop:d&&t["padding-bottom"],height:d?0:t.height&&t.height+r});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");a&&a!==c&&n.triggerAsync("heightChanged",e.iframe,a,c)}}(e,a)}}));var a={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function d(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",i.setStyles(e.aspectWrapper,t)):i.setStyles(e.iframe,t):!t&&e&&e.iframe&&(i.setStyles(e.aspectWrapper,a),i.setStyles(e.iframe,o))}},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"open-href"!==t.method&&"click"!==t.method||i.trigger(t.method,t.href)})),i.openHref||(i.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),i.on("open-href",(function(e){i.triggerAsync("click",e),i.openHref(e)}))},function(e,t,r){var i=r(0);i.on("message",(function(e,t){"setIframelyEmbedOptions"===t.method&&i.trigger("options",e,t.data)}))},function(e,t,r){var i=r(0);i.widgets=i.widgets||{},i.widgets.load=i.load,i.events||(i.events={},i.events.on=i.on,i.events.trigger=i.trigger),i.on("cancel",(function(e,t,r,n){if(i.RECOVER_HREFS_ON_CANCEL&&!r&&(r=e),e&&t&&r&&""!==r){var a=document.createElement("a");a.setAttribute("href",e),a.setAttribute("target","_blank"),a.setAttribute("rel","noopener"),a.textContent=r,n?t.insertBefore(a,n):t.appendChild(a)}}))},function(e,t,r){var i,n=!!(i=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./))&&parseInt(i[2],10);r(0).SUPPORT_IFRAME_LOADING_ATTR=n&&n>=77},,,,,,,,,,,,function(e,t,r){r(3);var i=r(0);i._loaded||(i._loaded=!0,r(4),r(5),r(7),r(8),r(9),r(10),r(11),r(12),r(13),r(14),r(15),r(16),r(17),r(18),i.trigger("init")),t.iframely=i}]); \ No newline at end of file +(()=>{var e={679(e,t,r){var i=r(672),a=r(774);a.on("load",function(e,t){if(e&&e.nodeName&&"string"==typeof t){var r=document.createElement("a");r.setAttribute("href",t),e.appendChild(r),a.trigger("load",r)}}),a.on("load",function(e){if(!e&&!a.import)for(var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])"),r=0;r4&&(t=null);var i=t&&t.parentNode;i&&i.getAttribute("class")&&i.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),i.removeAttribute("style"))}function c(e){function t(e,t){return e.nodeName&&e.nodeName.toUpperCase()===t.toUpperCase()}function r(t){var r=t.text||t.textContent||t.innerHTML||"",a=i.createScript();a.type="text/javascript";for(var n=0;n1&&function(e){var t=i.createScript(),r=[],o=[],s=null;function c(e,t){n[e]||(n[e]=[]),n[e].push(t)}function l(e){var t=e.getAttribute("data-iframely-url"),n=t.match(a.ID_RE),d=n&&n[1],l=i.parseQueryString(t,a.SUPPORTED_QUERY_STRING.concat("url")),p=l.url;delete l.url;var u="0"===l.import||"false"===l.import||"1"===l.playerjs||"true"===l.playerjs;if(!u){var m=t.match(a.BASE_RE);l.CDN=m&&m[0],s?JSON.stringify(l,Object.keys(l).sort())!==JSON.stringify(s,Object.keys(s).sort())&&(u=!0):s=l}u?a.trigger("load",e):d?(e.setAttribute("data-import-uri",d),-1===o.indexOf(d)&&o.push(d),c(d,e)):(p||(p=e.getAttribute("href")),(s.key||s.api_key||a.config.api_key||a.config.key)&&p?(e.setAttribute("data-import-uri",p),-1===r.indexOf(p)&&r.push(p),c(p,e)):a.trigger("load",e))}for(var p=0;p0||o.length>0?((s=s||{}).touch=a.isTouch(),s.flash=function(){var e=!1;try{e=!!new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),s.app=1,a.config.theme&&(s.theme=a.config.theme),r.length>0&&(s.uri=r),o.length>0&&(s.ids=o.join("&")),s.v=a.VERSION,t.src=i.getEndpoint("/api/import/v2",s,a.SUPPORTED_QUERY_STRING),t.onerror=function(){d()},document.head.appendChild(t),a.import=t):(d(),a.trigger("load"))}(t)}}),a.on("load",function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=n[e.uri];if(r)for(var i=0;i1&&function(e,t){for(var r=0,i=0;i=77},369(e,t,r){var i=r(774),a=r(672);function n(e,t){for(var r,i=0;i-1?t?"IFRAME"===t.tagName?n(t,e):o(t,e):(i.extendOptions({theme:e}),o(document,e),i.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+i.SUPPORTED_THEMES.join(", "))}},672(e,t,r){var i=r(774),a=r(369);i.on("init",function(){i.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return a}}return{}}()),function(){var e="iframely-styles",t=document.getElementById(e);if(!t){var r=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(t=document.createElement("style")).id=e,t.type="text/css",o(t),t.styleSheet?t.styleSheet.cssText=r:t.innerHTML=r,document.getElementsByTagName("head")[0].appendChild(t)}}(),i.config.theme&&i.setTheme(i.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||i.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==i.ASPECT_WRAPPER_CLASS)){var a=r.parentNode;if(!(!a||"DIV"!==a.nodeName||s(a)>1||t&&a.getAttribute("class")&&-1===a.getAttribute("class").split(" ").indexOf(i.MAXWIDTH_WRAPPER_CLASS)||!t&&a.getAttribute("class")&&!a.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:a}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=i.MAXWIDTH_WRAPPER_CLASS;var a=document.createElement("div");return a.className=i.ASPECT_WRAPPER_CLASS,r.appendChild(a),t.insertBefore(r,e),{aspectWrapper:a,maxWidthWrapper:r}},t.getWidget=function(e){var t=n(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var i=l(e.getAttribute("src"));i.url&&(r.url=i.url)}return r}},i.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach(function(r){var a=t[r];("number"==typeof a||"string"==typeof a&&/^(\d+)?\.?(\d+)$/.test(a))&&(a+="px");var n=e.style[r];window.getComputedStyle&&(i.getElementComputedStyle(e,r)==a||"iframely-responsive"==e.className&&"paddingBottom"===r&&!n&&/^56\.2\d+%$/.test(a)||"max-width"===r&&"keep"===a)||(e.style[r]=a||"")})};var o=t.applyNonce=function(e){i.config.nonce&&(e.nonce=i.config.nonce)},d=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach(function(i){var a=t[i];if("[object Array]"===Object.prototype.toString.call(a)){var n=a.map(function(e){return i+"="+encodeURIComponent(e)});r+="&"+n.join("&")}else void 0!==a&&-1===e.indexOf(i+"=")&&("boolean"==typeof a&&"_"!==i.charAt(0)&&(a=a?1:0),r+="&"+i+"="+encodeURIComponent(a))}),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function s(e){for(var t=0,r=0;r=0;return r&&e}(e.maxWidthWrapper,i.config.parent);a&&(t=a.parentNode,r=a)}if(e.url){var n=e.iframe&&(e.iframe.textContent||e.iframe.innerText);i.triggerAsync("cancel",e.url,t,n,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},612(e,t,r){var i=r(774);i.on("message",function(e,t){"open-href"!==t.method&&"click"!==t.method||i.trigger(t.method,t.href)}),i.openHref||(i.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),i.on("open-href",function(e){i.triggerAsync("click",e),i.openHref(e)})},742(e,t,r){var i=r(774);i.on("message",function(e,t){"setIframelyEmbedOptions"===t.method&&i.trigger("options",e,t.data)})},850(e,t,r){var i=r(672),a=r(774);a.on("message",function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach(function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}}),d(e,r)):"setIframelyEmbedData"===t.method&&d(e,null);var n=t.data&&t.data.media;!n&&t.height&&(n={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;return r&&(r=parseInt(r[1]),r*=2),r}(e),n=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),i.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var d=t["aspect-ratio"];(d||t.height)&&i.setStyles(e.aspectWrapper,{paddingBottom:d?Math.round(1e5/d)/1e3+"%":0,paddingTop:d&&t["padding-bottom"],height:d?0:t.height&&t.height+r});var s=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");n&&n!==s&&a.triggerAsync("heightChanged",e.iframe,n,s)}}(e,n)}});var n={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function d(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",i.setStyles(e.aspectWrapper,t)):i.setStyles(e.iframe,t):!t&&e&&e.iframe&&(i.setStyles(e.aspectWrapper,n),i.setStyles(e.iframe,o))}}},t={};function r(i){var a=t[i];if(void 0!==a)return a.exports;var n=t[i]={exports:{}};return e[i](n,n.exports,r),n.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),(()=>{r(331);var e=r(774);e._loaded||(e._loaded=!0,r(54),r(912),r(56),r(908),r(472),r(679),r(573),r(324),r(648),r(850),r(612),r(742),r(916),r(291),e.trigger("init"))})()})(); \ No newline at end of file diff --git a/dist/options.i18n.de.js b/dist/options.i18n.de.js index 7719cd5..814415b 100644 --- a/dist/options.i18n.de.js +++ b/dist/options.i18n.de.js @@ -1,122 +1,82 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./options/lang/labels.de.js"); -/******/ }) -/************************************************************************/ -/******/ ({ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ -/***/ "./iframely.js": +/***/ "./iframely.js" /*!*********************!*\ !*** ./iframely.js ***! \*********************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("var iframely = window.iframely = window.iframely || {};\niframely.config = iframely.config || {};\n\nmodule.exports = iframely;\n\n//# sourceURL=webpack:///./iframely.js?"); +eval("{var iframely = window.iframely = window.iframely || {};\niframely.config = iframely.config || {};\n\nmodule.exports = iframely;\n\n//# sourceURL=webpack:///./iframely.js?\n}"); -/***/ }), +/***/ }, -/***/ "./options/lang/labels.de.js": +/***/ "./options/lang/labels.de.js" /*!***********************************!*\ !*** ./options/lang/labels.de.js ***! \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var translator = __webpack_require__(/*! ../translator */ \"./options/translator.js\");\n\nvar lang ='de';\n\nvar labels = {\n // general options\n 'Slimmer horizontal player': 'Schlanker horizontaler Player',\n 'Include playlist': 'Wiedergabeliste anzeigen',\n 'Hide artwork': 'Artwork ausblenden',\n 'Theme color': 'Theme Farbe',\n 'Light': 'Hell',\n 'Dark': 'Dunkel',\n 'Auto': 'Automatisch',\n 'Default': 'Standard',\n 'Adjust height': 'Höhe einstellen',\n 'Active page': 'Aktive Seite',\n\n // Codepen\n 'Use click-to-load': 'Verwende click-to-load',\n 'ex.: 600, in px': 'Z.B. 600, in px',\n\n //Instagram\n 'Hide timed comments': 'Kommentare ausblenden',\n\n //Soundcloud\n 'Let Iframely optimize player for the artwork': 'Optimierung des Players durch IFramely',\n\n // scribd\n 'Show as slideshow': 'Als Slideshow zeigen',\n\n // youtube\n 'Start from': 'Start ab',\n 'ex.: 11, 1m10s': 'z.B. 11, 1m10s',\n 'End on': 'Ende an',\n 'Closed captions': 'Untertitel',\n\n // twitter\n 'Include up to 20 tweets': 'Bis zu 20 Tweets anzeigen',\n 'Hide photos, videos, and cards': 'Verberge Fotos, Videos und Cards',\n 'Hide previous Tweet in conversation thread': 'Verberge den vorigen Tweet in der Konversation',\n 'Use dark theme': 'Verwende dunkles Farbschema',\n 'Adjust width': 'Breite anpassen',\n\n // pinterest\n 'Hide description': 'Beschreibung verbergen',\n\n //mixcloud\n 'Widget style': 'Widget-Style',\n 'Mini': 'Mini',\n 'Classic': 'Klassisch',\n 'Picture': 'Bild',\n\n //google maps\n 'Zoom': 'Zoom',\n 'Map orientation': 'Karten-Ausrichtung',\n 'Album': 'Album',\n 'Portrait': 'Portrait',\n 'Square': 'Quadratisch',\n\n // Flickr\n 'Show context slideshow': 'Als Slideshow anzeigen',\n 'Show description footer': 'Fußzeile anzeigen',\n 'Show user header': 'Kopfbereich anzeigen',\n\n //facebook\n 'Show author\\'s text caption': 'Beschriftung des Autors anzeigen',\n 'Hide author\\'s text caption': 'Beschriftung des Autors verbergen',\n 'Include parent comment (if url is a reply)': 'Ursprünglichen Kommentar einschließen (wenn die Url eine Antwort ist)',\n\n 'Show recent posts': 'Neueste Beiträge anzeigen',\n 'Show profile photos when friends like this': 'Profilfotos anzeigen, wenn Freunde dies mögen',\n 'Use the small header instead': 'Kleine Kopfzeile stattdessen verwenden',\n\n //bandcamp\n 'Artwork': 'Artwork',\n 'Small': 'klein',\n 'Big': 'groß',\n 'None': 'Keines',\n\n 'Layout': 'Layout',\n 'Slim': 'Schlank',\n 'Artwork-only': 'Nur Artwork',\n 'Standard': 'Standard',\n\n //omny.fm\n 'Size & style': 'Größe & Stil',\n 'Wide image': 'Breite Darstellung',\n 'Wide simple': 'Breite Darstellung (Einfach)',\n\n // Vimeo\n 'Text language (ignored if no captions)': 'Sprache der Untertitel (wird ignoriert, wenn keine Untertitel vorhanden)',\n 'Two letters: en, fr, es, de...': 'Zwei Buchstaben: en, fr, es, de...',\n \n // Kickstarter\n 'Don\\'t include attached player': 'Player nicht integrieren',\n 'Attached player only, no card': 'Nur Player, keine Card',\n\n //iframely options\n 'Hold load & play until clicked': 'Klicken zum Abspielen',\n 'Make it a small card': 'Kleine Card verwenden',\n //iframely media cards\n 'Keep using full media card': 'Verwende weiterhin vollständige Media-Cards',\n 'Don\\'t include player': 'Player nicht hinzufügen',\n 'Player only, no card': 'Nur Player, keine Card',\n //iframely media=1\n 'Just the player': 'Nur Player',\n 'Just the image': 'Nur Bild'\n};\n\ntranslator.registerLabels(lang, labels);\n\n\n//# sourceURL=webpack:///./options/lang/labels.de.js?"); +eval("{var translator = __webpack_require__(/*! ../translator */ \"./options/translator.js\");\n\nvar lang ='de';\n\nvar labels = {\n // general options\n 'Slimmer horizontal player': 'Schlanker horizontaler Player',\n 'Include playlist': 'Wiedergabeliste anzeigen',\n 'Hide artwork': 'Artwork ausblenden',\n 'Theme color': 'Theme Farbe',\n 'Light': 'Hell',\n 'Dark': 'Dunkel',\n 'Auto': 'Automatisch',\n 'Default': 'Standard',\n 'Adjust height': 'Höhe einstellen',\n 'Active page': 'Aktive Seite',\n\n // Codepen\n 'Use click-to-load': 'Verwende click-to-load',\n 'ex.: 600, in px': 'Z.B. 600, in px',\n\n //Instagram\n 'Hide timed comments': 'Kommentare ausblenden',\n\n //Soundcloud\n 'Let Iframely optimize player for the artwork': 'Optimierung des Players durch IFramely',\n\n // scribd\n 'Show as slideshow': 'Als Slideshow zeigen',\n\n // youtube\n 'Start from': 'Start ab',\n 'ex.: 11, 1m10s': 'z.B. 11, 1m10s',\n 'End on': 'Ende an',\n 'Closed captions': 'Untertitel',\n\n // twitter\n 'Include up to 20 tweets': 'Bis zu 20 Tweets anzeigen',\n 'Hide photos, videos, and cards': 'Verberge Fotos, Videos und Cards',\n 'Hide previous Tweet in conversation thread': 'Verberge den vorigen Tweet in der Konversation',\n 'Use dark theme': 'Verwende dunkles Farbschema',\n 'Adjust width': 'Breite anpassen',\n\n // pinterest\n 'Hide description': 'Beschreibung verbergen',\n\n //mixcloud\n 'Widget style': 'Widget-Style',\n 'Mini': 'Mini',\n 'Classic': 'Klassisch',\n 'Picture': 'Bild',\n\n //google maps\n 'Zoom': 'Zoom',\n 'Map orientation': 'Karten-Ausrichtung',\n 'Album': 'Album',\n 'Portrait': 'Portrait',\n 'Square': 'Quadratisch',\n\n // Flickr\n 'Show context slideshow': 'Als Slideshow anzeigen',\n 'Show description footer': 'Fußzeile anzeigen',\n 'Show user header': 'Kopfbereich anzeigen',\n\n //facebook\n 'Show author\\'s text caption': 'Beschriftung des Autors anzeigen',\n 'Hide author\\'s text caption': 'Beschriftung des Autors verbergen',\n 'Include parent comment (if url is a reply)': 'Ursprünglichen Kommentar einschließen (wenn die Url eine Antwort ist)',\n\n 'Show recent posts': 'Neueste Beiträge anzeigen',\n 'Show profile photos when friends like this': 'Profilfotos anzeigen, wenn Freunde dies mögen',\n 'Use the small header instead': 'Kleine Kopfzeile stattdessen verwenden',\n\n //bandcamp\n 'Artwork': 'Artwork',\n 'Small': 'klein',\n 'Big': 'groß',\n 'None': 'Keines',\n\n 'Layout': 'Layout',\n 'Slim': 'Schlank',\n 'Artwork-only': 'Nur Artwork',\n 'Standard': 'Standard',\n\n //omny.fm\n 'Size & style': 'Größe & Stil',\n 'Wide image': 'Breite Darstellung',\n 'Wide simple': 'Breite Darstellung (Einfach)',\n\n // Vimeo\n 'Text language (ignored if no captions)': 'Sprache der Untertitel (wird ignoriert, wenn keine Untertitel vorhanden)',\n 'Two letters: en, fr, es, de...': 'Zwei Buchstaben: en, fr, es, de...',\n \n // Kickstarter\n 'Don\\'t include attached player': 'Player nicht integrieren',\n 'Attached player only, no card': 'Nur Player, keine Card',\n\n //iframely options\n 'Hold load & play until clicked': 'Klicken zum Abspielen',\n 'Make it a small card': 'Kleine Card verwenden',\n //iframely media cards\n 'Keep using full media card': 'Verwende weiterhin vollständige Media-Cards',\n 'Don\\'t include player': 'Player nicht hinzufügen',\n 'Player only, no card': 'Nur Player, keine Card',\n //iframely media=1\n 'Just the player': 'Nur Player',\n 'Just the image': 'Nur Bild'\n};\n\ntranslator.registerLabels(lang, labels);\n\n\n//# sourceURL=webpack:///./options/lang/labels.de.js?\n}"); -/***/ }), +/***/ }, -/***/ "./options/translator.js": +/***/ "./options/translator.js" /*!*******************************!*\ !*** ./options/translator.js ***! \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { -eval("/*\nTo add more languages to the translator -\nsee ./lang/labels.LAN.example.js\n\n - use the template for the list of currently available labels\n - save it as labels.LAN.js // replace LAN with your actual value, e.g. es, de, ru, etc.\n - fill in the labels translations\n - add to webpack config options as \n\t'options.i18n.fr': './options/lang/labels.fr.js' \n\t(see webpack.common.js as example)\n\nYou can then call iframely.optionsTranslator('LAN') - with your chosen language - to build the options form\n\nYou don't need to translate all the labels. The ones without a translation will be left as-is\n*/\n\nvar iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\n\nvar langs = {};\n\nexports.registerLabels = function(lang, labels) {\n var existingLabels = langs[lang] = langs[lang] || {};\n Object.assign(existingLabels, labels);\n};\n\niframely.optionsTranslator = function(lang) {\n return function (label) {\n return langs[lang] && langs[lang][label] && langs[lang][label] !== '' ? langs[lang][label] : label;\n };\n};\n\n//# sourceURL=webpack:///./options/translator.js?"); +eval("{/*\nTo add more languages to the translator -\nsee ./lang/labels.LAN.example.js\n\n - use the template for the list of currently available labels\n - save it as labels.LAN.js // replace LAN with your actual value, e.g. es, de, ru, etc.\n - fill in the labels translations\n - add to webpack config options as \n\t'options.i18n.fr': './options/lang/labels.fr.js' \n\t(see webpack.common.js as example)\n\nYou can then call iframely.optionsTranslator('LAN') - with your chosen language - to build the options form\n\nYou don't need to translate all the labels. The ones without a translation will be left as-is\n*/\n\nvar iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\n\nvar langs = {};\n\nexports.registerLabels = function(lang, labels) {\n var existingLabels = langs[lang] = langs[lang] || {};\n Object.assign(existingLabels, labels);\n};\n\niframely.optionsTranslator = function(lang) {\n return function (label) {\n return langs[lang] && langs[lang][label] && langs[lang][label] !== '' ? langs[lang][label] : label;\n };\n};\n\n//# sourceURL=webpack:///./options/translator.js?\n}"); -/***/ }) +/***/ } -/******/ }); \ No newline at end of file +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ if (!(moduleId in __webpack_modules__)) { +/******/ delete __webpack_module_cache__[moduleId]; +/******/ var e = new Error("Cannot find module '" + moduleId + "'"); +/******/ e.code = 'MODULE_NOT_FOUND'; +/******/ throw e; +/******/ } +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./options/lang/labels.de.js"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/dist/options.i18n.de.min.js b/dist/options.i18n.de.min.js index c19cc48..1eb6778 100644 --- a/dist/options.i18n.de.min.js +++ b/dist/options.i18n.de.min.js @@ -1 +1 @@ -!function(e){var n={};function r(t){if(n[t])return n[t].exports;var i=n[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)r.d(t,i,function(n){return e[n]}.bind(null,i));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=33)}({0:function(e,n){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},29:function(e,n,r){var t=r(0),i={};n.registerLabels=function(e,n){var r=i[e]=i[e]||{};Object.assign(r,n)},t.optionsTranslator=function(e){return function(n){return i[e]&&i[e][n]&&""!==i[e][n]?i[e][n]:n}}},33:function(e,n,r){r(29).registerLabels("de",{"Slimmer horizontal player":"Schlanker horizontaler Player","Include playlist":"Wiedergabeliste anzeigen","Hide artwork":"Artwork ausblenden","Theme color":"Theme Farbe",Light:"Hell",Dark:"Dunkel",Auto:"Automatisch",Default:"Standard","Adjust height":"Höhe einstellen","Active page":"Aktive Seite","Use click-to-load":"Verwende click-to-load","ex.: 600, in px":"Z.B. 600, in px","Hide timed comments":"Kommentare ausblenden","Let Iframely optimize player for the artwork":"Optimierung des Players durch IFramely","Show as slideshow":"Als Slideshow zeigen","Start from":"Start ab","ex.: 11, 1m10s":"z.B. 11, 1m10s","End on":"Ende an","Closed captions":"Untertitel","Include up to 20 tweets":"Bis zu 20 Tweets anzeigen","Hide photos, videos, and cards":"Verberge Fotos, Videos und Cards","Hide previous Tweet in conversation thread":"Verberge den vorigen Tweet in der Konversation","Use dark theme":"Verwende dunkles Farbschema","Adjust width":"Breite anpassen","Hide description":"Beschreibung verbergen","Widget style":"Widget-Style",Mini:"Mini",Classic:"Klassisch",Picture:"Bild",Zoom:"Zoom","Map orientation":"Karten-Ausrichtung",Album:"Album",Portrait:"Portrait",Square:"Quadratisch","Show context slideshow":"Als Slideshow anzeigen","Show description footer":"Fußzeile anzeigen","Show user header":"Kopfbereich anzeigen","Show author's text caption":"Beschriftung des Autors anzeigen","Hide author's text caption":"Beschriftung des Autors verbergen","Include parent comment (if url is a reply)":"Ursprünglichen Kommentar einschließen (wenn die Url eine Antwort ist)","Show recent posts":"Neueste Beiträge anzeigen","Show profile photos when friends like this":"Profilfotos anzeigen, wenn Freunde dies mögen","Use the small header instead":"Kleine Kopfzeile stattdessen verwenden",Artwork:"Artwork",Small:"klein",Big:"groß",None:"Keines",Layout:"Layout",Slim:"Schlank","Artwork-only":"Nur Artwork",Standard:"Standard","Size & style":"Größe & Stil","Wide image":"Breite Darstellung","Wide simple":"Breite Darstellung (Einfach)","Text language (ignored if no captions)":"Sprache der Untertitel (wird ignoriert, wenn keine Untertitel vorhanden)","Two letters: en, fr, es, de...":"Zwei Buchstaben: en, fr, es, de...","Don't include attached player":"Player nicht integrieren","Attached player only, no card":"Nur Player, keine Card","Hold load & play until clicked":"Klicken zum Abspielen","Make it a small card":"Kleine Card verwenden","Keep using full media card":"Verwende weiterhin vollständige Media-Cards","Don't include player":"Player nicht hinzufügen","Player only, no card":"Nur Player, keine Card","Just the player":"Nur Player","Just the image":"Nur Bild"})}}); \ No newline at end of file +(()=>{var e={774(e){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},132(e,r,n){var i=n(774),t={};r.registerLabels=function(e,r){var n=t[e]=t[e]||{};Object.assign(n,r)},i.optionsTranslator=function(e){return function(r){return t[e]&&t[e][r]&&""!==t[e][r]?t[e][r]:r}}}},r={};(function n(i){var t=r[i];if(void 0!==t)return t.exports;var a=r[i]={exports:{}};return e[i](a,a.exports,n),a.exports})(132).registerLabels("de",{"Slimmer horizontal player":"Schlanker horizontaler Player","Include playlist":"Wiedergabeliste anzeigen","Hide artwork":"Artwork ausblenden","Theme color":"Theme Farbe",Light:"Hell",Dark:"Dunkel",Auto:"Automatisch",Default:"Standard","Adjust height":"Höhe einstellen","Active page":"Aktive Seite","Use click-to-load":"Verwende click-to-load","ex.: 600, in px":"Z.B. 600, in px","Hide timed comments":"Kommentare ausblenden","Let Iframely optimize player for the artwork":"Optimierung des Players durch IFramely","Show as slideshow":"Als Slideshow zeigen","Start from":"Start ab","ex.: 11, 1m10s":"z.B. 11, 1m10s","End on":"Ende an","Closed captions":"Untertitel","Include up to 20 tweets":"Bis zu 20 Tweets anzeigen","Hide photos, videos, and cards":"Verberge Fotos, Videos und Cards","Hide previous Tweet in conversation thread":"Verberge den vorigen Tweet in der Konversation","Use dark theme":"Verwende dunkles Farbschema","Adjust width":"Breite anpassen","Hide description":"Beschreibung verbergen","Widget style":"Widget-Style",Mini:"Mini",Classic:"Klassisch",Picture:"Bild",Zoom:"Zoom","Map orientation":"Karten-Ausrichtung",Album:"Album",Portrait:"Portrait",Square:"Quadratisch","Show context slideshow":"Als Slideshow anzeigen","Show description footer":"Fußzeile anzeigen","Show user header":"Kopfbereich anzeigen","Show author's text caption":"Beschriftung des Autors anzeigen","Hide author's text caption":"Beschriftung des Autors verbergen","Include parent comment (if url is a reply)":"Ursprünglichen Kommentar einschließen (wenn die Url eine Antwort ist)","Show recent posts":"Neueste Beiträge anzeigen","Show profile photos when friends like this":"Profilfotos anzeigen, wenn Freunde dies mögen","Use the small header instead":"Kleine Kopfzeile stattdessen verwenden",Artwork:"Artwork",Small:"klein",Big:"groß",None:"Keines",Layout:"Layout",Slim:"Schlank","Artwork-only":"Nur Artwork",Standard:"Standard","Size & style":"Größe & Stil","Wide image":"Breite Darstellung","Wide simple":"Breite Darstellung (Einfach)","Text language (ignored if no captions)":"Sprache der Untertitel (wird ignoriert, wenn keine Untertitel vorhanden)","Two letters: en, fr, es, de...":"Zwei Buchstaben: en, fr, es, de...","Don't include attached player":"Player nicht integrieren","Attached player only, no card":"Nur Player, keine Card","Hold load & play until clicked":"Klicken zum Abspielen","Make it a small card":"Kleine Card verwenden","Keep using full media card":"Verwende weiterhin vollständige Media-Cards","Don't include player":"Player nicht hinzufügen","Player only, no card":"Nur Player, keine Card","Just the player":"Nur Player","Just the image":"Nur Bild"})})(); \ No newline at end of file diff --git a/dist/options.i18n.fr.js b/dist/options.i18n.fr.js index 8e31610..2caa881 100644 --- a/dist/options.i18n.fr.js +++ b/dist/options.i18n.fr.js @@ -1,122 +1,82 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./options/lang/labels.fr.js"); -/******/ }) -/************************************************************************/ -/******/ ({ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ -/***/ "./iframely.js": +/***/ "./iframely.js" /*!*********************!*\ !*** ./iframely.js ***! \*********************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("var iframely = window.iframely = window.iframely || {};\niframely.config = iframely.config || {};\n\nmodule.exports = iframely;\n\n//# sourceURL=webpack:///./iframely.js?"); +eval("{var iframely = window.iframely = window.iframely || {};\niframely.config = iframely.config || {};\n\nmodule.exports = iframely;\n\n//# sourceURL=webpack:///./iframely.js?\n}"); -/***/ }), +/***/ }, -/***/ "./options/lang/labels.fr.js": +/***/ "./options/lang/labels.fr.js" /*!***********************************!*\ !*** ./options/lang/labels.fr.js ***! \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("var translator = __webpack_require__(/*! ../translator */ \"./options/translator.js\");\n\nvar lang ='fr';\n\nvar labels = {\n // general options\n 'Slimmer horizontal player': 'Joueur de audio classique',\n 'Include playlist': 'Inclure la playlist',\n 'Hide artwork': 'Masquer la illustration',\n 'Theme color': 'Couleur du thème',\n 'Light': 'Lumière',\n 'Dark': 'Sombre',\n 'Auto': '',\n 'Default': 'Défaut',\n 'Adjust height': 'Height',\n 'Active page': 'Page active',\n\n // Codepen\n 'Use click-to-load': 'Utilisez click-to-load',\n 'ex.: 600, in px': '',\n\n //Instagram\n 'Hide timed comments': 'Masquer les commentaires',\n\n //Soundcloud\n 'Let Iframely optimize player for the artwork': 'Optimiser le lecteur pour l\\'illustration',\n\n // scribd\n 'Show as slideshow': 'Montrer en diaporama',\n\n // youtube\n 'Start from': 'Commencer',\n 'ex.: 11, 1m10s': '',\n 'End on': 'Fin sur',\n\n // twitter\n 'Include up to 20 tweets': 'Incluez jusqu\\'à 20 tweets',\n 'Hide photos, videos, and cards': 'Masquer les photos, les vidéos et les cartes',\n 'Hide previous Tweet in conversation thread': 'Masquer le tweet parent',\n\n // pinterest\n 'Hide description': 'Masquer la description',\n\n //mixcloud\n 'Widget style': 'Style de widget',\n 'Mini': '', // can leave empty - will remain as is\n 'Classic': 'Classique',\n 'Picture': 'Image',\n\n //google maps\n 'Zoom': '',\n 'Map orientation': 'Orientation de la carte',\n 'Album': '',\n 'Portrait': '',\n 'Square': 'Carré',\n\n // Flickr\n 'Show context slideshow': 'Afficher le diaporama contextuel',\n 'Show description footer': 'Afficher la description pied de page',\n 'Show user header': 'Afficher l\\'en-tête de l\\'utilisateur',\n\n //facebook\n 'Show author\\'s text caption': 'Afficher la description de l\\'auteur',\n 'Hide author\\'s text caption': 'Masquer la description de l\\'auteur',\n 'Include parent comment (if url is a reply)': '',\n\n 'Show recent posts': 'Afficher les messages récents',\n 'Show profile photos when friends like this': '',\n 'Use the small header instead': 'Utilisez plutôt le petit en-tête',\n\n //bandcamp\n 'Artwork': 'Ouvrages d\\'art',\n 'Small': 'Petite',\n 'Big': 'Grosse',\n 'None': 'Aucune',\n\n 'Layout': 'Disposition',\n 'Slim': 'Svelte',\n 'Artwork-only': 'Oeuvre seule',\n 'Standard': 'Standard',\n\n //omny.fm\n 'Size & style': 'Style',\n 'Wide image': 'Image large',\n 'Wide simple': 'Large simple',\n\n\n //iframely options\n 'Hold load & play until clicked': 'Click-to-play',\n 'Make it a small card': 'Carte compacte',\n //iframely media cards\n 'Keep using full media card': 'Continuez à utiliser la carte média complète',\n 'Don\\'t include player': 'Ne pas inclure la vidéo',\n 'Player only, no card': 'La vidéo seulement, pas de carte',\n //iframely media=1\n 'Just the player': 'Seulement la vidéo',\n 'Just the image': 'Seulement l\\'image'\n};\n\ntranslator.registerLabels(lang, labels);\n\n//# sourceURL=webpack:///./options/lang/labels.fr.js?"); +eval("{var translator = __webpack_require__(/*! ../translator */ \"./options/translator.js\");\n\nvar lang ='fr';\n\nvar labels = {\n // general options\n 'Slimmer horizontal player': 'Joueur de audio classique',\n 'Include playlist': 'Inclure la playlist',\n 'Hide artwork': 'Masquer la illustration',\n 'Theme color': 'Couleur du thème',\n 'Light': 'Lumière',\n 'Dark': 'Sombre',\n 'Auto': '',\n 'Default': 'Défaut',\n 'Adjust height': 'Height',\n 'Active page': 'Page active',\n\n // Codepen\n 'Use click-to-load': 'Utilisez click-to-load',\n 'ex.: 600, in px': '',\n\n //Instagram\n 'Hide timed comments': 'Masquer les commentaires',\n\n //Soundcloud\n 'Let Iframely optimize player for the artwork': 'Optimiser le lecteur pour l\\'illustration',\n\n // scribd\n 'Show as slideshow': 'Montrer en diaporama',\n\n // youtube\n 'Start from': 'Commencer',\n 'ex.: 11, 1m10s': '',\n 'End on': 'Fin sur',\n\n // twitter\n 'Include up to 20 tweets': 'Incluez jusqu\\'à 20 tweets',\n 'Hide photos, videos, and cards': 'Masquer les photos, les vidéos et les cartes',\n 'Hide previous Tweet in conversation thread': 'Masquer le tweet parent',\n\n // pinterest\n 'Hide description': 'Masquer la description',\n\n //mixcloud\n 'Widget style': 'Style de widget',\n 'Mini': '', // can leave empty - will remain as is\n 'Classic': 'Classique',\n 'Picture': 'Image',\n\n //google maps\n 'Zoom': '',\n 'Map orientation': 'Orientation de la carte',\n 'Album': '',\n 'Portrait': '',\n 'Square': 'Carré',\n\n // Flickr\n 'Show context slideshow': 'Afficher le diaporama contextuel',\n 'Show description footer': 'Afficher la description pied de page',\n 'Show user header': 'Afficher l\\'en-tête de l\\'utilisateur',\n\n //facebook\n 'Show author\\'s text caption': 'Afficher la description de l\\'auteur',\n 'Hide author\\'s text caption': 'Masquer la description de l\\'auteur',\n 'Include parent comment (if url is a reply)': '',\n\n 'Show recent posts': 'Afficher les messages récents',\n 'Show profile photos when friends like this': '',\n 'Use the small header instead': 'Utilisez plutôt le petit en-tête',\n\n //bandcamp\n 'Artwork': 'Ouvrages d\\'art',\n 'Small': 'Petite',\n 'Big': 'Grosse',\n 'None': 'Aucune',\n\n 'Layout': 'Disposition',\n 'Slim': 'Svelte',\n 'Artwork-only': 'Oeuvre seule',\n 'Standard': 'Standard',\n\n //omny.fm\n 'Size & style': 'Style',\n 'Wide image': 'Image large',\n 'Wide simple': 'Large simple',\n\n\n //iframely options\n 'Hold load & play until clicked': 'Click-to-play',\n 'Make it a small card': 'Carte compacte',\n //iframely media cards\n 'Keep using full media card': 'Continuez à utiliser la carte média complète',\n 'Don\\'t include player': 'Ne pas inclure la vidéo',\n 'Player only, no card': 'La vidéo seulement, pas de carte',\n //iframely media=1\n 'Just the player': 'Seulement la vidéo',\n 'Just the image': 'Seulement l\\'image'\n};\n\ntranslator.registerLabels(lang, labels);\n\n//# sourceURL=webpack:///./options/lang/labels.fr.js?\n}"); -/***/ }), +/***/ }, -/***/ "./options/translator.js": +/***/ "./options/translator.js" /*!*******************************!*\ !*** ./options/translator.js ***! \*******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { +(__unused_webpack_module, exports, __webpack_require__) { -eval("/*\nTo add more languages to the translator -\nsee ./lang/labels.LAN.example.js\n\n - use the template for the list of currently available labels\n - save it as labels.LAN.js // replace LAN with your actual value, e.g. es, de, ru, etc.\n - fill in the labels translations\n - add to webpack config options as \n\t'options.i18n.fr': './options/lang/labels.fr.js' \n\t(see webpack.common.js as example)\n\nYou can then call iframely.optionsTranslator('LAN') - with your chosen language - to build the options form\n\nYou don't need to translate all the labels. The ones without a translation will be left as-is\n*/\n\nvar iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\n\nvar langs = {};\n\nexports.registerLabels = function(lang, labels) {\n var existingLabels = langs[lang] = langs[lang] || {};\n Object.assign(existingLabels, labels);\n};\n\niframely.optionsTranslator = function(lang) {\n return function (label) {\n return langs[lang] && langs[lang][label] && langs[lang][label] !== '' ? langs[lang][label] : label;\n };\n};\n\n//# sourceURL=webpack:///./options/translator.js?"); +eval("{/*\nTo add more languages to the translator -\nsee ./lang/labels.LAN.example.js\n\n - use the template for the list of currently available labels\n - save it as labels.LAN.js // replace LAN with your actual value, e.g. es, de, ru, etc.\n - fill in the labels translations\n - add to webpack config options as \n\t'options.i18n.fr': './options/lang/labels.fr.js' \n\t(see webpack.common.js as example)\n\nYou can then call iframely.optionsTranslator('LAN') - with your chosen language - to build the options form\n\nYou don't need to translate all the labels. The ones without a translation will be left as-is\n*/\n\nvar iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\n\nvar langs = {};\n\nexports.registerLabels = function(lang, labels) {\n var existingLabels = langs[lang] = langs[lang] || {};\n Object.assign(existingLabels, labels);\n};\n\niframely.optionsTranslator = function(lang) {\n return function (label) {\n return langs[lang] && langs[lang][label] && langs[lang][label] !== '' ? langs[lang][label] : label;\n };\n};\n\n//# sourceURL=webpack:///./options/translator.js?\n}"); -/***/ }) +/***/ } -/******/ }); \ No newline at end of file +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ if (!(moduleId in __webpack_modules__)) { +/******/ delete __webpack_module_cache__[moduleId]; +/******/ var e = new Error("Cannot find module '" + moduleId + "'"); +/******/ e.code = 'MODULE_NOT_FOUND'; +/******/ throw e; +/******/ } +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./options/lang/labels.fr.js"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/dist/options.i18n.fr.min.js b/dist/options.i18n.fr.min.js index 4fa3ced..486b022 100644 --- a/dist/options.i18n.fr.min.js +++ b/dist/options.i18n.fr.min.js @@ -1 +1 @@ -!function(e){var t={};function r(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(i,o,function(t){return e[t]}.bind(null,o));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=32)}({0:function(e,t){var r=window.iframely=window.iframely||{};r.config=r.config||{},e.exports=r},29:function(e,t,r){var i=r(0),o={};t.registerLabels=function(e,t){var r=o[e]=o[e]||{};Object.assign(r,t)},i.optionsTranslator=function(e){return function(t){return o[e]&&o[e][t]&&""!==o[e][t]?o[e][t]:t}}},32:function(e,t,r){r(29).registerLabels("fr",{"Slimmer horizontal player":"Joueur de audio classique","Include playlist":"Inclure la playlist","Hide artwork":"Masquer la illustration","Theme color":"Couleur du thème",Light:"Lumière",Dark:"Sombre",Auto:"",Default:"Défaut","Adjust height":"Height","Active page":"Page active","Use click-to-load":"Utilisez click-to-load","ex.: 600, in px":"","Hide timed comments":"Masquer les commentaires","Let Iframely optimize player for the artwork":"Optimiser le lecteur pour l'illustration","Show as slideshow":"Montrer en diaporama","Start from":"Commencer","ex.: 11, 1m10s":"","End on":"Fin sur","Include up to 20 tweets":"Incluez jusqu'à 20 tweets","Hide photos, videos, and cards":"Masquer les photos, les vidéos et les cartes","Hide previous Tweet in conversation thread":"Masquer le tweet parent","Hide description":"Masquer la description","Widget style":"Style de widget",Mini:"",Classic:"Classique",Picture:"Image",Zoom:"","Map orientation":"Orientation de la carte",Album:"",Portrait:"",Square:"Carré","Show context slideshow":"Afficher le diaporama contextuel","Show description footer":"Afficher la description pied de page","Show user header":"Afficher l'en-tête de l'utilisateur","Show author's text caption":"Afficher la description de l'auteur","Hide author's text caption":"Masquer la description de l'auteur","Include parent comment (if url is a reply)":"","Show recent posts":"Afficher les messages récents","Show profile photos when friends like this":"","Use the small header instead":"Utilisez plutôt le petit en-tête",Artwork:"Ouvrages d'art",Small:"Petite",Big:"Grosse",None:"Aucune",Layout:"Disposition",Slim:"Svelte","Artwork-only":"Oeuvre seule",Standard:"Standard","Size & style":"Style","Wide image":"Image large","Wide simple":"Large simple","Hold load & play until clicked":"Click-to-play","Make it a small card":"Carte compacte","Keep using full media card":"Continuez à utiliser la carte média complète","Don't include player":"Ne pas inclure la vidéo","Player only, no card":"La vidéo seulement, pas de carte","Just the player":"Seulement la vidéo","Just the image":"Seulement l'image"})}}); \ No newline at end of file +(()=>{var e={774(e){var t=window.iframely=window.iframely||{};t.config=t.config||{},e.exports=t},132(e,t,i){var r=i(774),a={};t.registerLabels=function(e,t){var i=a[e]=a[e]||{};Object.assign(i,t)},r.optionsTranslator=function(e){return function(t){return a[e]&&a[e][t]&&""!==a[e][t]?a[e][t]:t}}}},t={};(function i(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,i),o.exports})(132).registerLabels("fr",{"Slimmer horizontal player":"Joueur de audio classique","Include playlist":"Inclure la playlist","Hide artwork":"Masquer la illustration","Theme color":"Couleur du thème",Light:"Lumière",Dark:"Sombre",Auto:"",Default:"Défaut","Adjust height":"Height","Active page":"Page active","Use click-to-load":"Utilisez click-to-load","ex.: 600, in px":"","Hide timed comments":"Masquer les commentaires","Let Iframely optimize player for the artwork":"Optimiser le lecteur pour l'illustration","Show as slideshow":"Montrer en diaporama","Start from":"Commencer","ex.: 11, 1m10s":"","End on":"Fin sur","Include up to 20 tweets":"Incluez jusqu'à 20 tweets","Hide photos, videos, and cards":"Masquer les photos, les vidéos et les cartes","Hide previous Tweet in conversation thread":"Masquer le tweet parent","Hide description":"Masquer la description","Widget style":"Style de widget",Mini:"",Classic:"Classique",Picture:"Image",Zoom:"","Map orientation":"Orientation de la carte",Album:"",Portrait:"",Square:"Carré","Show context slideshow":"Afficher le diaporama contextuel","Show description footer":"Afficher la description pied de page","Show user header":"Afficher l'en-tête de l'utilisateur","Show author's text caption":"Afficher la description de l'auteur","Hide author's text caption":"Masquer la description de l'auteur","Include parent comment (if url is a reply)":"","Show recent posts":"Afficher les messages récents","Show profile photos when friends like this":"","Use the small header instead":"Utilisez plutôt le petit en-tête",Artwork:"Ouvrages d'art",Small:"Petite",Big:"Grosse",None:"Aucune",Layout:"Disposition",Slim:"Svelte","Artwork-only":"Oeuvre seule",Standard:"Standard","Size & style":"Style","Wide image":"Image large","Wide simple":"Large simple","Hold load & play until clicked":"Click-to-play","Make it a small card":"Carte compacte","Keep using full media card":"Continuez à utiliser la carte média complète","Don't include player":"Ne pas inclure la vidéo","Player only, no card":"La vidéo seulement, pas de carte","Just the player":"Seulement la vidéo","Just the image":"Seulement l'image"})})(); \ No newline at end of file diff --git a/dist/options.js b/dist/options.js index efe859e..c1e6c2b 100644 --- a/dist/options.js +++ b/dist/options.js @@ -1,210 +1,162 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./options/index.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./iframely.js": -/*!*********************!*\ - !*** ./iframely.js ***! - \*********************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("var iframely = window.iframely = window.iframely || {};\niframely.config = iframely.config || {};\n\nmodule.exports = iframely;\n\n//# sourceURL=webpack:///./iframely.js?"); - -/***/ }), - -/***/ "./options/form-builder.js": -/*!*********************************!*\ - !*** ./options/form-builder.js ***! - \*********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var getFormElements = __webpack_require__(/*! ./form-generator */ \"./options/form-generator.js\");\nvar iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\n\nvar UIelements = {\n checkbox: {\n getValue: function(inputs) {\n var input = inputs[0];\n return input.checked;\n }\n },\n text: {\n getValue: function(inputs) {\n var input = inputs[0];\n var value = input.value;\n if (input.type === 'number') {\n value = parseInt(value);\n if (isNaN(value)) {\n value = '';\n }\n }\n return value;\n },\n customEvents: function(inputs, submitOptionsCb) {\n var input = inputs[0];\n iframely.addEventListener(input, 'click', function() {\n input.select();\n });\n iframely.addEventListener(input, 'blur', submitOptionsCb);\n iframely.addEventListener(input, 'keyup', function(e) {\n // Apply on enter.\n if (e.keyCode === 13) {\n submitOptionsCb();\n }\n });\n }\n },\n radio: {\n getValue: function(inputs) {\n var selectedInput;\n inputs.forEach(function(input) {\n if (input.checked) {\n selectedInput = input;\n }\n });\n return selectedInput.value;\n }\n }\n};\n\nvar defaultQueryById = {};\n\nmodule.exports = function(params) {\n\n var options = params.options;\n var formContainer = params.formContainer;\n\n if (!formContainer) {\n console.warn('No formContainer in form-builder options', params);\n return;\n }\n\n if (!options) {\n formContainer.innerHTML = '';\n return;\n }\n\n var elements = getFormElements(options, params.translator);\n var id = params.id;\n var renderer = params.renderer;\n\n var defaultQuery = defaultQueryById[id] = defaultQueryById[id] || {};\n // Exclude default values.\n Object.keys(options).forEach(function(key) {\n if (!options.query || options.query.indexOf(key) === -1) {\n // Store default value.\n defaultQuery[key] = options[key].value;\n }\n });\n\n function getQueryFromForm() {\n\n var query = {};\n\n var getOptionsFromElements = function(elements) {\n // Get options from all inputs.\n elements.forEach(function(element) {\n\n if (element.context && element.context.elements) {\n\n getOptionsFromElements(element.context.elements);\n\n } else if (element.inputs) {\n\n var elementUI = UIelements[element.type];\n var inputValue;\n if (elementUI && elementUI.getValue) {\n inputValue = elementUI.getValue(element.inputs);\n } else {\n inputValue = element.inputs[0].value;\n }\n Object.assign(query, element.getQuery(inputValue));\n }\n });\n };\n\n getOptionsFromElements(elements);\n \n return query;\n }\n\n function getAndSubmitOptions() {\n var query = getQueryFromForm();\n\n Object.keys(defaultQuery).forEach(function(key) {\n if (defaultQuery[key] === query[key] \n || query[key] === undefined) { // remove undefined so it's not included while JSON.stringify\n delete query[key];\n }\n });\n\n iframely.trigger('options-changed', id, formContainer, query);\n }\n\n // Render form.\n var renderElements = function(elements) {\n var html = '';\n elements.forEach(function(element) {\n if (element.context && element.context.elements) {\n element.context.elementsHtml = renderElements(element.context.elements);\n }\n html += renderer(element.type, element.context || {});\n });\n return html;\n };\n formContainer.innerHTML = renderElements(elements);\n\n // Bind events.\n var bindElements = function(elements) {\n \n elements.forEach(function(element) {\n\n if (element.context && element.context.elements) {\n\n bindElements(element.context.elements);\n\n } else {\n\n var elementUI = UIelements[element.type];\n if (element.context) {\n element.inputs = formContainer.querySelectorAll('[name=\"' + element.context.key + '\"]');\n if (element.inputs.length > 0) {\n if (elementUI && elementUI.customEvents) {\n elementUI.customEvents(element.inputs, getAndSubmitOptions);\n } else {\n element.inputs.forEach(function(input) {\n iframely.addEventListener(input, 'change', getAndSubmitOptions);\n });\n }\n } else {\n console.warn('No inputs found for option', element.key);\n }\n }\n }\n });\n };\n bindElements(elements);\n};\n\n//# sourceURL=webpack:///./options/form-builder.js?"); - -/***/ }), - -/***/ "./options/form-generator.js": -/*!***********************************!*\ - !*** ./options/form-generator.js ***! - \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("var _RE = /^_./;\n\nvar translate = function (label, translator) {\n return translator && typeof translator === 'function' \n ? translator (label) || label\n : label;\n};\n\nmodule.exports = function(options, translator) {\n\n if (!options) {\n return [];\n }\n\n // Remove query key.\n options = Object.assign({}, options);\n delete options.query;\n\n var items = [];\n var keys = Object.keys(options);\n var checkboxCount = 0;\n \n keys.forEach(function(key) {\n \n var context = {};\n\n var getQuery;\n var option = options[key];\n option.key = key;\n\n var forceCheckboxForSingleKeyValue;\n var valuesKeys = option.values && Object.keys(option.values);\n var singleKey, singleLabel;\n if (valuesKeys && valuesKeys.length === 1) {\n forceCheckboxForSingleKeyValue = true;\n singleKey = valuesKeys[0];\n singleLabel = option.values[singleKey];\n }\n\n context.label = translate(singleLabel || option.label, translator);\n context.key = option.key;\n\n if (forceCheckboxForSingleKeyValue || typeof option.value === 'boolean') {\n\n if (forceCheckboxForSingleKeyValue) {\n context.checked = (singleKey === option.value) || (!singleKey && !option.value);\n } else {\n context.checked = option.value;\n }\n\n checkboxCount++;\n\n items.push({\n type: 'checkbox',\n context: context,\n order: _RE.test(key) ? 0 : 1,\n getQuery: function(checked) {\n\n var value;\n if (forceCheckboxForSingleKeyValue) {\n value = checked ? singleKey : '';\n } else {\n value = checked;\n }\n\n var result = {};\n\n if (forceCheckboxForSingleKeyValue) {\n if (value === '') {\n // Empty.\n } else {\n result[option.key] = value;\n }\n } else {\n result[option.key] = checked;\n }\n return result;\n }\n });\n\n } else if ((typeof option.value === 'number' || typeof option.value === 'string') && !option.values) {\n\n var useSlider = option.range && typeof option.range.min === 'number' && typeof option.range.max === 'number';\n var useNumber = typeof option.value === 'number';\n\n context.value = option.value;\n\n getQuery = function(inputValue) {\n var result = {};\n if (inputValue === '') {\n // Empty.\n } else {\n result[option.key] = inputValue;\n }\n return result;\n };\n\n if (useSlider) {\n context.min = option.range.min;\n context.max = option.range.max;\n items.push({\n type: 'range',\n context: context,\n order: 9, // last one\n getQuery: getQuery\n });\n } else {\n context.placeholder = translate(option.placeholder || '', translator);\n context.inputType = useNumber ? 'number' : 'text';\n items.push({\n type: 'text',\n context: context,\n order: /start/i.test(key) ? 7 : 8, // start/end for player timing, ex.: youtube\n getQuery: getQuery\n });\n }\n\n } else if (option.values) {\n\n context.value = option.value + '';\n\n getQuery = function(inputValue) {\n var result = {};\n if (inputValue === '') {\n // Empty.\n } else {\n result[option.key] = inputValue;\n }\n return result;\n };\n\n if (Object.keys(option.values).length <= 3) {\n\n if (option.label) {\n context.label = translate(option.label, translator);\n } else {\n context.label = false;\n }\n\n var i = 0;\n var hasLongLabel = false;\n var values = Object.values(option.values);\n while (i < values.length && !hasLongLabel) {\n var label = values[i];\n hasLongLabel = label.length > 8;\n i++;\n }\n context.inline = !hasLongLabel;\n\n context.items = [];\n\n Object.keys(option.values).forEach(function(key, idx2) {\n context.items.push({\n id: context.key + '-' + idx2,\n value: key,\n label: translate(option.values[key], translator),\n checked: context.value === key\n });\n });\n\n items.push({\n type: 'radio',\n context: context,\n order: hasLongLabel ? -3 : (!/theme/.test(key) ? -2 : -1),\n getQuery: getQuery\n });\n\n } else {\n\n context.items = [];\n\n Object.keys(option.values).forEach(function(key) {\n context.items.push({\n value: key,\n label: translate(option.values[key], translator),\n checked: context.value === key\n });\n });\n\n items.push({\n type: 'select',\n context: context,\n order: 5,\n getQuery: getQuery\n });\n }\n }\n });\n\n items.sort(function(a, b) {\n return a.order - b.order;\n });\n\n items.forEach(function(item) {\n delete item.order;\n });\n\n if (checkboxCount > 0) {\n\n var groupedItems = [];\n var subItems;\n\n items.forEach(function(item, idx) {\n\n if (item.type === 'checkbox') {\n\n // Grouping for checkboxes.\n\n var newCheckboxGroup = \n checkboxCount > 2\n && idx > 0 \n && !_RE.test(item.context.key) \n && items[idx - 1].type === 'checkbox'\n && _RE.test(items[idx - 1].context.key);\n\n if (!subItems // First group.\n || newCheckboxGroup // Second group on _ prefix removed.\n ) {\n\n subItems = [];\n groupedItems.push({\n type: 'group',\n context: {\n elements: subItems\n }\n });\n }\n\n subItems.push(item);\n\n } else {\n // Other items. Just add.\n groupedItems.push(item);\n }\n });\n\n return groupedItems;\n\n } else {\n return items;\n }\n};\n\n//# sourceURL=webpack:///./options/form-generator.js?"); - -/***/ }), - -/***/ "./options/index.js": -/*!**************************!*\ - !*** ./options/index.js ***! - \**************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\nvar formBuilder = __webpack_require__(/*! ./form-builder */ \"./options/form-builder.js\");\nvar renderer = __webpack_require__(/*! ./renderer */ \"./options/renderer.js\");\n\niframely.buildOptionsForm = function(id, formContainer, options, translator) {\n formBuilder({\n id: id,\n formContainer: formContainer,\n options: options,\n renderer: renderer,\n translator: translator\n });\n};\n\nexports.iframely = iframely;\n\n//# sourceURL=webpack:///./options/index.js?"); - -/***/ }), - -/***/ "./options/renderer.js": -/*!*****************************!*\ - !*** ./options/renderer.js ***! - \*****************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var checkboxTemplate = __webpack_require__(/*! ./templates/checkbox.ejs */ \"./options/templates/checkbox.ejs\");\nvar rangeTemplate = __webpack_require__(/*! ./templates/range.ejs */ \"./options/templates/range.ejs\");\nvar textTemplate = __webpack_require__(/*! ./templates/text.ejs */ \"./options/templates/text.ejs\");\nvar radioTemplate = __webpack_require__(/*! ./templates/radio.ejs */ \"./options/templates/radio.ejs\");\nvar selectTemplate = __webpack_require__(/*! ./templates/select.ejs */ \"./options/templates/select.ejs\");\nvar groupTemplate = __webpack_require__(/*! ./templates/group.ejs */ \"./options/templates/group.ejs\");\n\nvar templates = {\n checkbox: checkboxTemplate,\n range: rangeTemplate,\n text: textTemplate,\n radio: radioTemplate,\n select: selectTemplate,\n group: groupTemplate\n};\n\nmodule.exports = function(type, context) {\n var template = templates[type];\n var renderedTemplate = template(context);\n return renderedTemplate;\n};\n\n//# sourceURL=webpack:///./options/renderer.js?"); - -/***/ }), - -/***/ "./options/templates/checkbox.ejs": +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./options/templates/checkbox.ejs" /*!****************************************!*\ !*** ./options/templates/checkbox.ejs ***! \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?"); +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?\n}"); -/***/ }), +/***/ }, -/***/ "./options/templates/group.ejs": +/***/ "./options/templates/group.ejs" /*!*************************************!*\ !*** ./options/templates/group.ejs ***! \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?"); +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?\n}"); -/***/ }), +/***/ }, -/***/ "./options/templates/radio.ejs": +/***/ "./options/templates/radio.ejs" /*!*************************************!*\ !*** ./options/templates/radio.ejs ***! \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?"); +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?\n}"); -/***/ }), +/***/ }, -/***/ "./options/templates/range.ejs": +/***/ "./options/templates/range.ejs" /*!*************************************!*\ !*** ./options/templates/range.ejs ***! \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?"); +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?\n}"); -/***/ }), +/***/ }, -/***/ "./options/templates/select.ejs": +/***/ "./options/templates/select.ejs" /*!**************************************!*\ !*** ./options/templates/select.ejs ***! \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?"); +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?\n}"); -/***/ }), +/***/ }, -/***/ "./options/templates/text.ejs": +/***/ "./options/templates/text.ejs" /*!************************************!*\ !*** ./options/templates/text.ejs ***! \************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { +(module) { -eval("module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?"); +eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?\n}"); -/***/ }) +/***/ }, -/******/ }); \ No newline at end of file +/***/ "./iframely.js" +/*!*********************!*\ + !*** ./iframely.js ***! + \*********************/ +(module) { + +eval("{var iframely = window.iframely = window.iframely || {};\niframely.config = iframely.config || {};\n\nmodule.exports = iframely;\n\n//# sourceURL=webpack:///./iframely.js?\n}"); + +/***/ }, + +/***/ "./options/form-builder.js" +/*!*********************************!*\ + !*** ./options/form-builder.js ***! + \*********************************/ +(module, __unused_webpack_exports, __webpack_require__) { + +eval("{var getFormElements = __webpack_require__(/*! ./form-generator */ \"./options/form-generator.js\");\nvar iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\n\nvar UIelements = {\n checkbox: {\n getValue: function(inputs) {\n var input = inputs[0];\n return input.checked;\n }\n },\n text: {\n getValue: function(inputs) {\n var input = inputs[0];\n var value = input.value;\n if (input.type === 'number') {\n value = parseInt(value);\n if (isNaN(value)) {\n value = '';\n }\n }\n return value;\n },\n customEvents: function(inputs, submitOptionsCb) {\n var input = inputs[0];\n iframely.addEventListener(input, 'click', function() {\n input.select();\n });\n iframely.addEventListener(input, 'blur', submitOptionsCb);\n iframely.addEventListener(input, 'keyup', function(e) {\n // Apply on enter.\n if (e.keyCode === 13) {\n submitOptionsCb();\n }\n });\n }\n },\n radio: {\n getValue: function(inputs) {\n var selectedInput;\n inputs.forEach(function(input) {\n if (input.checked) {\n selectedInput = input;\n }\n });\n return selectedInput.value;\n }\n }\n};\n\nvar defaultQueryById = {};\n\nmodule.exports = function(params) {\n\n var options = params.options;\n var formContainer = params.formContainer;\n\n if (!formContainer) {\n console.warn('No formContainer in form-builder options', params);\n return;\n }\n\n if (!options) {\n formContainer.innerHTML = '';\n return;\n }\n\n var elements = getFormElements(options, params.translator);\n var id = params.id;\n var renderer = params.renderer;\n\n var defaultQuery = defaultQueryById[id] = defaultQueryById[id] || {};\n // Exclude default values.\n Object.keys(options).forEach(function(key) {\n if (!options.query || options.query.indexOf(key) === -1) {\n // Store default value.\n defaultQuery[key] = options[key].value;\n }\n });\n\n function getQueryFromForm() {\n\n var query = {};\n\n var getOptionsFromElements = function(elements) {\n // Get options from all inputs.\n elements.forEach(function(element) {\n\n if (element.context && element.context.elements) {\n\n getOptionsFromElements(element.context.elements);\n\n } else if (element.inputs) {\n\n var elementUI = UIelements[element.type];\n var inputValue;\n if (elementUI && elementUI.getValue) {\n inputValue = elementUI.getValue(element.inputs);\n } else {\n inputValue = element.inputs[0].value;\n }\n Object.assign(query, element.getQuery(inputValue));\n }\n });\n };\n\n getOptionsFromElements(elements);\n \n return query;\n }\n\n function getAndSubmitOptions() {\n var query = getQueryFromForm();\n\n Object.keys(defaultQuery).forEach(function(key) {\n if (defaultQuery[key] === query[key] \n || query[key] === undefined) { // remove undefined so it's not included while JSON.stringify\n delete query[key];\n }\n });\n\n iframely.trigger('options-changed', id, formContainer, query);\n }\n\n // Render form.\n var renderElements = function(elements) {\n var html = '';\n elements.forEach(function(element) {\n if (element.context && element.context.elements) {\n element.context.elementsHtml = renderElements(element.context.elements);\n }\n html += renderer(element.type, element.context || {});\n });\n return html;\n };\n formContainer.innerHTML = renderElements(elements);\n\n // Bind events.\n var bindElements = function(elements) {\n \n elements.forEach(function(element) {\n\n if (element.context && element.context.elements) {\n\n bindElements(element.context.elements);\n\n } else {\n\n var elementUI = UIelements[element.type];\n if (element.context) {\n element.inputs = formContainer.querySelectorAll('[name=\"' + element.context.key + '\"]');\n if (element.inputs.length > 0) {\n if (elementUI && elementUI.customEvents) {\n elementUI.customEvents(element.inputs, getAndSubmitOptions);\n } else {\n element.inputs.forEach(function(input) {\n iframely.addEventListener(input, 'change', getAndSubmitOptions);\n });\n }\n } else {\n console.warn('No inputs found for option', element.key);\n }\n }\n }\n });\n };\n bindElements(elements);\n};\n\n//# sourceURL=webpack:///./options/form-builder.js?\n}"); + +/***/ }, + +/***/ "./options/form-generator.js" +/*!***********************************!*\ + !*** ./options/form-generator.js ***! + \***********************************/ +(module) { + +eval("{var _RE = /^_./;\n\nvar translate = function (label, translator) {\n return translator && typeof translator === 'function' \n ? translator (label) || label\n : label;\n};\n\nmodule.exports = function(options, translator) {\n\n if (!options) {\n return [];\n }\n\n // Remove query key.\n options = Object.assign({}, options);\n delete options.query;\n\n var items = [];\n var keys = Object.keys(options);\n var checkboxCount = 0;\n \n keys.forEach(function(key) {\n \n var context = {};\n\n var getQuery;\n var option = options[key];\n option.key = key;\n\n var forceCheckboxForSingleKeyValue;\n var valuesKeys = option.values && Object.keys(option.values);\n var singleKey, singleLabel;\n if (valuesKeys && valuesKeys.length === 1) {\n forceCheckboxForSingleKeyValue = true;\n singleKey = valuesKeys[0];\n singleLabel = option.values[singleKey];\n }\n\n context.label = translate(singleLabel || option.label, translator);\n context.key = option.key;\n\n if (forceCheckboxForSingleKeyValue || typeof option.value === 'boolean') {\n\n if (forceCheckboxForSingleKeyValue) {\n context.checked = (singleKey === option.value) || (!singleKey && !option.value);\n } else {\n context.checked = option.value;\n }\n\n checkboxCount++;\n\n items.push({\n type: 'checkbox',\n context: context,\n order: _RE.test(key) ? 0 : 1,\n getQuery: function(checked) {\n\n var value;\n if (forceCheckboxForSingleKeyValue) {\n value = checked ? singleKey : '';\n } else {\n value = checked;\n }\n\n var result = {};\n\n if (forceCheckboxForSingleKeyValue) {\n if (value === '') {\n // Empty.\n } else {\n result[option.key] = value;\n }\n } else {\n result[option.key] = checked;\n }\n return result;\n }\n });\n\n } else if ((typeof option.value === 'number' || typeof option.value === 'string') && !option.values) {\n\n var useSlider = option.range && typeof option.range.min === 'number' && typeof option.range.max === 'number';\n var useNumber = typeof option.value === 'number';\n\n context.value = option.value;\n\n getQuery = function(inputValue) {\n var result = {};\n if (inputValue === '') {\n // Empty.\n } else {\n result[option.key] = inputValue;\n }\n return result;\n };\n\n if (useSlider) {\n context.min = option.range.min;\n context.max = option.range.max;\n items.push({\n type: 'range',\n context: context,\n order: 9, // last one\n getQuery: getQuery\n });\n } else {\n context.placeholder = translate(option.placeholder || '', translator);\n context.inputType = useNumber ? 'number' : 'text';\n items.push({\n type: 'text',\n context: context,\n order: /start/i.test(key) ? 7 : 8, // start/end for player timing, ex.: youtube\n getQuery: getQuery\n });\n }\n\n } else if (option.values) {\n\n context.value = option.value + '';\n\n getQuery = function(inputValue) {\n var result = {};\n if (inputValue === '') {\n // Empty.\n } else {\n result[option.key] = inputValue;\n }\n return result;\n };\n\n if (Object.keys(option.values).length <= 3) {\n\n if (option.label) {\n context.label = translate(option.label, translator);\n } else {\n context.label = false;\n }\n\n var i = 0;\n var hasLongLabel = false;\n var values = Object.values(option.values);\n while (i < values.length && !hasLongLabel) {\n var label = values[i];\n hasLongLabel = label.length > 8;\n i++;\n }\n context.inline = !hasLongLabel;\n\n context.items = [];\n\n Object.keys(option.values).forEach(function(key, idx2) {\n context.items.push({\n id: context.key + '-' + idx2,\n value: key,\n label: translate(option.values[key], translator),\n checked: context.value === key\n });\n });\n\n items.push({\n type: 'radio',\n context: context,\n order: hasLongLabel ? -3 : (!/theme/.test(key) ? -2 : -1),\n getQuery: getQuery\n });\n\n } else {\n\n context.items = [];\n\n Object.keys(option.values).forEach(function(key) {\n context.items.push({\n value: key,\n label: translate(option.values[key], translator),\n checked: context.value === key\n });\n });\n\n items.push({\n type: 'select',\n context: context,\n order: 5,\n getQuery: getQuery\n });\n }\n }\n });\n\n items.sort(function(a, b) {\n return a.order - b.order;\n });\n\n items.forEach(function(item) {\n delete item.order;\n });\n\n if (checkboxCount > 0) {\n\n var groupedItems = [];\n var subItems;\n\n items.forEach(function(item, idx) {\n\n if (item.type === 'checkbox') {\n\n // Grouping for checkboxes.\n\n var newCheckboxGroup = \n checkboxCount > 2\n && idx > 0 \n && !_RE.test(item.context.key) \n && items[idx - 1].type === 'checkbox'\n && _RE.test(items[idx - 1].context.key);\n\n if (!subItems // First group.\n || newCheckboxGroup // Second group on _ prefix removed.\n ) {\n\n subItems = [];\n groupedItems.push({\n type: 'group',\n context: {\n elements: subItems\n }\n });\n }\n\n subItems.push(item);\n\n } else {\n // Other items. Just add.\n groupedItems.push(item);\n }\n });\n\n return groupedItems;\n\n } else {\n return items;\n }\n};\n\n//# sourceURL=webpack:///./options/form-generator.js?\n}"); + +/***/ }, + +/***/ "./options/index.js" +/*!**************************!*\ + !*** ./options/index.js ***! + \**************************/ +(__unused_webpack_module, exports, __webpack_require__) { + +eval("{var iframely = __webpack_require__(/*! ../iframely */ \"./iframely.js\");\nvar formBuilder = __webpack_require__(/*! ./form-builder */ \"./options/form-builder.js\");\nvar renderer = __webpack_require__(/*! ./renderer */ \"./options/renderer.js\");\n\niframely.buildOptionsForm = function(id, formContainer, options, translator) {\n formBuilder({\n id: id,\n formContainer: formContainer,\n options: options,\n renderer: renderer,\n translator: translator\n });\n};\n\nexports.iframely = iframely;\n\n//# sourceURL=webpack:///./options/index.js?\n}"); + +/***/ }, + +/***/ "./options/renderer.js" +/*!*****************************!*\ + !*** ./options/renderer.js ***! + \*****************************/ +(module, __unused_webpack_exports, __webpack_require__) { + +eval("{var checkboxTemplate = __webpack_require__(/*! ./templates/checkbox.ejs */ \"./options/templates/checkbox.ejs\");\nvar rangeTemplate = __webpack_require__(/*! ./templates/range.ejs */ \"./options/templates/range.ejs\");\nvar textTemplate = __webpack_require__(/*! ./templates/text.ejs */ \"./options/templates/text.ejs\");\nvar radioTemplate = __webpack_require__(/*! ./templates/radio.ejs */ \"./options/templates/radio.ejs\");\nvar selectTemplate = __webpack_require__(/*! ./templates/select.ejs */ \"./options/templates/select.ejs\");\nvar groupTemplate = __webpack_require__(/*! ./templates/group.ejs */ \"./options/templates/group.ejs\");\n\nvar templates = {\n checkbox: checkboxTemplate,\n range: rangeTemplate,\n text: textTemplate,\n radio: radioTemplate,\n select: selectTemplate,\n group: groupTemplate\n};\n\nmodule.exports = function(type, context) {\n var template = templates[type];\n var renderedTemplate = template(context);\n return renderedTemplate;\n};\n\n//# sourceURL=webpack:///./options/renderer.js?\n}"); + +/***/ } + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ if (!(moduleId in __webpack_modules__)) { +/******/ delete __webpack_module_cache__[moduleId]; +/******/ var e = new Error("Cannot find module '" + moduleId + "'"); +/******/ e.code = 'MODULE_NOT_FOUND'; +/******/ throw e; +/******/ } +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./options/index.js"); +/******/ +/******/ })() +; \ No newline at end of file diff --git a/dist/options.min.js b/dist/options.min.js index 55d192f..219deb7 100644 --- a/dist/options.min.js +++ b/dist/options.min.js @@ -1 +1 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=19)}([function(e,t){var n=window.iframely=window.iframely||{};n.config=n.config||{},e.exports=n},,,,,,,,,,,,,,,,,,,function(e,t,n){var r=n(0),o=n(20),u=n(22);r.buildOptionsForm=function(e,t,n,r){o({id:e,formContainer:t,options:n,renderer:u,translator:r})},t.iframely=r},function(e,t,n){var r=n(21),o=n(0),u={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];o.addEventListener(n,"click",(function(){n.select()})),o.addEventListener(n,"blur",t),o.addEventListener(n,"keyup",(function(e){13===e.keyCode&&t()}))}},radio:{getValue:function(e){var t;return e.forEach((function(e){e.checked&&(t=e)})),t.value}}},l={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var s=r(t,e.translator),a=e.id,i=e.renderer,c=l[a]=l[a]||{};Object.keys(t).forEach((function(e){t.query&&-1!==t.query.indexOf(e)||(c[e]=t[e].value)}));var f=function(e){var t="";return e.forEach((function(e){e.context&&e.context.elements&&(e.context.elementsHtml=f(e.context.elements)),t+=i(e.type,e.context||{})})),t};n.innerHTML=f(s);var p=function(e){e.forEach((function(e){if(e.context&&e.context.elements)p(e.context.elements);else{var t=u[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,d):e.inputs.forEach((function(e){o.addEventListener(e,"change",d)})):console.warn("No inputs found for option",e.key))}}))};p(s)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function d(){var e=function(){var e={},t=function(n){n.forEach((function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var r,o=u[n.type];r=o&&o.getValue?o.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(r))}}))};return t(s),e}();Object.keys(c).forEach((function(t){c[t]!==e[t]&&void 0!==e[t]||delete e[t]})),o.trigger("options-changed",a,n,e)}}},function(e,t){var n=/^_./,r=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,t){if(!e)return[];delete(e=Object.assign({},e)).query;var o=[],u=Object.keys(e),l=0;if(u.forEach((function(u){var s,a,i={},c=e[u];c.key=u;var f,p,d=c.values&&Object.keys(c.values);if(d&&1===d.length&&(a=!0,f=d[0],p=c.values[f]),i.label=r(p||c.label,t),i.key=c.key,a||"boolean"==typeof c.value)i.checked=a?f===c.value||!f&&!c.value:c.value,l++,o.push({type:"checkbox",context:i,order:n.test(u)?0:1,getQuery:function(e){var t;t=a?e?f:"":e;var n={};return a?""===t||(n[c.key]=t):n[c.key]=e,n}});else if("number"!=typeof c.value&&"string"!=typeof c.value||c.values){if(c.values)if(i.value=c.value+"",s=function(e){var t={};return""===e||(t[c.key]=e),t},Object.keys(c.values).length<=3){c.label?i.label=r(c.label,t):i.label=!1;for(var y=0,v=!1,h=Object.values(c.values);y8,y++}i.inline=!v,i.items=[],Object.keys(c.values).forEach((function(e,n){i.items.push({id:i.key+"-"+n,value:e,label:r(c.values[e],t),checked:i.value===e})})),o.push({type:"radio",context:i,order:v?-3:/theme/.test(u)?-1:-2,getQuery:s})}else i.items=[],Object.keys(c.values).forEach((function(e){i.items.push({value:e,label:r(c.values[e],t),checked:i.value===e})})),o.push({type:"select",context:i,order:5,getQuery:s})}else{var b=c.range&&"number"==typeof c.range.min&&"number"==typeof c.range.max,x="number"==typeof c.value;i.value=c.value,s=function(e){var t={};return""===e||(t[c.key]=e),t},b?(i.min=c.range.min,i.max=c.range.max,o.push({type:"range",context:i,order:9,getQuery:s})):(i.placeholder=r(c.placeholder||"",t),i.inputType=x?"number":"text",o.push({type:"text",context:i,order:/start/i.test(u)?7:8,getQuery:s}))}})),o.sort((function(e,t){return e.order-t.order})),o.forEach((function(e){delete e.order})),l>0){var s,a=[];return o.forEach((function(e,t){if("checkbox"===e.type){var r=l>2&&t>0&&!n.test(e.context.key)&&"checkbox"===o[t-1].type&&n.test(o[t-1].context.key);s&&!r||(s=[],a.push({type:"group",context:{elements:s}})),s.push(e)}else a.push(e)})),a}return o}},function(e,t,n){var r={checkbox:n(23),range:n(24),text:n(25),radio:n(26),select:n(27),group:n(28)};e.exports=function(e,t){return(0,r[e])(t)}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},function(e,t){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}}]); \ No newline at end of file +(()=>{var e,t,n,r={180(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},780(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},392(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},29(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},803(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},382(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},774(e){var t=window.iframely=window.iframely||{};t.config=t.config||{},e.exports=t},410(e,t,n){var r=n(960),o=n(774),l={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];o.addEventListener(n,"click",function(){n.select()}),o.addEventListener(n,"blur",t),o.addEventListener(n,"keyup",function(e){13===e.keyCode&&t()})}},radio:{getValue:function(e){var t;return e.forEach(function(e){e.checked&&(t=e)}),t.value}}},u={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var s=r(t,e.translator),a=e.id,i=e.renderer,c=u[a]=u[a]||{};Object.keys(t).forEach(function(e){t.query&&-1!==t.query.indexOf(e)||(c[e]=t[e].value)});var f=function(e){var t="";return e.forEach(function(e){e.context&&e.context.elements&&(e.context.elementsHtml=f(e.context.elements)),t+=i(e.type,e.context||{})}),t};n.innerHTML=f(s);var p=function(e){e.forEach(function(e){if(e.context&&e.context.elements)p(e.context.elements);else{var t=l[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,v):e.inputs.forEach(function(e){o.addEventListener(e,"change",v)}):console.warn("No inputs found for option",e.key))}})};p(s)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function v(){var e=function(){var e={},t=function(n){n.forEach(function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var r,o=l[n.type];r=o&&o.getValue?o.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(r))}})};return t(s),e}();Object.keys(c).forEach(function(t){c[t]!==e[t]&&void 0!==e[t]||delete e[t]}),o.trigger("options-changed",a,n,e)}}},960(e){var t=/^_./,n=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,r){if(!e)return[];delete(e=Object.assign({},e)).query;var o=[],l=Object.keys(e),u=0;if(l.forEach(function(l){var s,a,i={},c=e[l];c.key=l;var f,p,v=c.values&&Object.keys(c.values);if(v&&1===v.length&&(a=!0,f=v[0],p=c.values[f]),i.label=n(p||c.label,r),i.key=c.key,a||"boolean"==typeof c.value)i.checked=a?f===c.value||!f&&!c.value:c.value,u++,o.push({type:"checkbox",context:i,order:t.test(l)?0:1,getQuery:function(e){var t;t=a?e?f:"":e;var n={};return a?""===t||(n[c.key]=t):n[c.key]=e,n}});else if("number"!=typeof c.value&&"string"!=typeof c.value||c.values){if(c.values)if(i.value=c.value+"",s=function(e){var t={};return""===e||(t[c.key]=e),t},Object.keys(c.values).length<=3){c.label?i.label=n(c.label,r):i.label=!1;for(var d=0,h=!1,y=Object.values(c.values);d8,d++;i.inline=!h,i.items=[],Object.keys(c.values).forEach(function(e,t){i.items.push({id:i.key+"-"+t,value:e,label:n(c.values[e],r),checked:i.value===e})}),o.push({type:"radio",context:i,order:h?-3:/theme/.test(l)?-1:-2,getQuery:s})}else i.items=[],Object.keys(c.values).forEach(function(e){i.items.push({value:e,label:n(c.values[e],r),checked:i.value===e})}),o.push({type:"select",context:i,order:5,getQuery:s})}else{var b=c.range&&"number"==typeof c.range.min&&"number"==typeof c.range.max,x="number"==typeof c.value;i.value=c.value,s=function(e){var t={};return""===e||(t[c.key]=e),t},b?(i.min=c.range.min,i.max=c.range.max,o.push({type:"range",context:i,order:9,getQuery:s})):(i.placeholder=n(c.placeholder||"",r),i.inputType=x?"number":"text",o.push({type:"text",context:i,order:/start/i.test(l)?7:8,getQuery:s}))}}),o.sort(function(e,t){return e.order-t.order}),o.forEach(function(e){delete e.order}),u>0){var s,a=[];return o.forEach(function(e,n){if("checkbox"===e.type){var r=u>2&&n>0&&!t.test(e.context.key)&&"checkbox"===o[n-1].type&&t.test(o[n-1].context.key);s&&!r||(s=[],a.push({type:"group",context:{elements:s}})),s.push(e)}else a.push(e)}),a}return o}},505(e,t,n){var r={checkbox:n(180),range:n(29),text:n(382),radio:n(392),select:n(803),group:n(780)};e.exports=function(e,t){return(0,r[e])(t)}}},o={};function l(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e](n,n.exports,l),n.exports}e=l(774),t=l(410),n=l(505),e.buildOptionsForm=function(e,r,o,l){t({id:e,formContainer:r,options:o,renderer:n,translator:l})}})(); \ No newline at end of file diff --git a/package.json b/package.json index 994af31..88b1465 100644 --- a/package.json +++ b/package.json @@ -20,18 +20,18 @@ }, "main": "src/index.js", "scripts": { - "start": "webpack --env development --progress --profile --colors --watch", - "build": "webpack --env production --progress --profile --colors", + "start": "webpack --env development --progress --watch", + "build": "webpack --env production --progress", "all": "webpack --env production && webpack --env development", "lint": "eslint ./src/**.js" }, "devDependencies": { "compile-ejs-loader": "0.0.2", - "eslint": "^5.15.3", - "eslint-loader": "^2.1.2", - "webpack": "^4.29.6", - "webpack-cli": "^3.3.0", - "webpack-merge": "^4.2.1", + "eslint": "^8.57.0", + "eslint-webpack-plugin": "^4.0.1", + "webpack": "^5.90.0", + "webpack-cli": "^5.1.4", + "webpack-merge": "^6.0.1", "ejs": "^5.0.1", "html-minifier": "^3.5.19", "uglify-js": "^3.4.6" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 33a0761..6503d79 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,16 +10,16 @@ importers: devDependencies: compile-ejs-loader: specifier: 0.0.2 - version: 0.0.2(webpack@4.47.0) + version: 0.0.2(webpack@5.105.4) ejs: specifier: ^5.0.1 version: 5.0.1 eslint: - specifier: ^5.15.3 - version: 5.16.0 - eslint-loader: - specifier: ^2.1.2 - version: 2.2.1(eslint@5.16.0)(webpack@4.47.0) + specifier: ^8.57.0 + version: 8.57.1 + eslint-webpack-plugin: + specifier: ^4.0.1 + version: 4.2.0(eslint@8.57.1)(webpack@5.105.4) html-minifier: specifier: ^3.5.19 version: 3.5.21 @@ -27,78 +27,196 @@ importers: specifier: ^3.4.6 version: 3.19.3 webpack: - specifier: ^4.29.6 - version: 4.47.0(webpack-cli@3.3.12) + specifier: ^5.90.0 + version: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) webpack-cli: - specifier: ^3.3.0 - version: 3.3.12(webpack@4.47.0) + specifier: ^5.1.4 + version: 5.1.4(webpack@5.105.4) webpack-merge: - specifier: ^4.2.1 - version: 4.2.2 + specifier: ^6.0.1 + version: 6.0.1 packages: - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} - engines: {node: '>=6.9.0'} + '@discoveryjs/json-ext@0.5.7': + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} - '@babel/helper-validator-identifier@7.27.1': - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} - engines: {node: '>=6.9.0'} + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@sinclair/typebox@0.27.10': + resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@8.56.12': + resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/node@25.4.0': + resolution: {integrity: sha512-9wLpoeWuBlcbBpOY3XmzSTG3oscB6xjBEEtn+pYXTfhyXhIxC5FsBer2KTopBlvKEiW9l13po9fq+SJY/5lkhw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@webassemblyjs/ast@1.9.0': - resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} + '@types/yargs@17.0.35': + resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@webassemblyjs/floating-point-hex-parser@1.9.0': - resolution: {integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==} + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@webassemblyjs/helper-api-error@1.9.0': - resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==} + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} - '@webassemblyjs/helper-buffer@1.9.0': - resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==} + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} - '@webassemblyjs/helper-code-frame@1.9.0': - resolution: {integrity: sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==} + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} - '@webassemblyjs/helper-fsm@1.9.0': - resolution: {integrity: sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==} + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} - '@webassemblyjs/helper-module-context@1.9.0': - resolution: {integrity: sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==} + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} - '@webassemblyjs/helper-wasm-bytecode@1.9.0': - resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} - '@webassemblyjs/helper-wasm-section@1.9.0': - resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==} + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} - '@webassemblyjs/ieee754@1.9.0': - resolution: {integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==} + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} - '@webassemblyjs/leb128@1.9.0': - resolution: {integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==} + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} - '@webassemblyjs/utf8@1.9.0': - resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==} + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} - '@webassemblyjs/wasm-edit@1.9.0': - resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==} + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} - '@webassemblyjs/wasm-gen@1.9.0': - resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==} + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} - '@webassemblyjs/wasm-opt@1.9.0': - resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==} + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} - '@webassemblyjs/wasm-parser@1.9.0': - resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==} + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} - '@webassemblyjs/wast-parser@1.9.0': - resolution: {integrity: sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==} + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} - '@webassemblyjs/wast-printer@1.9.0': - resolution: {integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==} + '@webpack-cli/configtest@2.1.1': + resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + + '@webpack-cli/info@2.0.2': + resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + + '@webpack-cli/serve@2.0.5': + resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + webpack-dev-server: '*' + peerDependenciesMeta: + webpack-dev-server: + optional: true '@webpack-contrib/schema-utils@1.0.0-beta.0': resolution: {integrity: sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==} @@ -112,187 +230,91 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@6.4.2: - resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==} - engines: {node: '>=0.4.0'} - hasBin: true - - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} engines: {node: '>=0.4.0'} hasBin: true - ajv-errors@1.0.1: - resolution: {integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==} + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: - ajv: '>=5.0.0' + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true ajv-keywords@3.5.2: resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: ajv: ^6.9.1 + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ansi-escapes@3.2.0: - resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} - engines: {node: '>=4'} + ajv@8.18.0: + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} ansi-regex@3.0.1: resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} engines: {node: '>=4'} - ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - anymatch@2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - aproba@1.2.0: - resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - - arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - - arr-union@3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} - - array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - - asn1.js@4.10.1: - resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} - - assert@1.5.1: - resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} - - assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - - astral-regex@1.0.0: - resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} - engines: {node: '>=4'} - - async-each@1.0.6: - resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==} + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} - atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} + baseline-browser-mapping@2.10.7: + resolution: {integrity: sha512-1ghYO3HnxGec0TCGBXiDLVns4eCSx4zJpxnHrlqFQajmhfKMQBzUGDdkMK7fUW7PTHTeLf+j87aTuKuuwWzMGw==} + engines: {node: '>=6.0.0'} + hasBin: true big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - binary-extensions@1.13.1: - resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} - engines: {node: '>=0.10.0'} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - - bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - - bn.js@4.12.2: - resolution: {integrity: sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==} - - bn.js@5.2.2: - resolution: {integrity: sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==} - brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - - browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} - - browserify-cipher@1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} - - browserify-des@1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} - - browserify-rsa@4.1.1: - resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} - engines: {node: '>= 0.10'} - - browserify-sign@4.2.3: - resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} - engines: {node: '>= 0.12'} - - browserify-zlib@0.2.0: - resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - - buffer@4.9.2: - resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} - - builtin-status-codes@3.0.0: - resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} - - cacache@12.0.4: - resolution: {integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==} - - cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -312,63 +334,53 @@ packages: camel-case@3.0.0: resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + caniuse-lite@1.0.30001778: + resolution: {integrity: sha512-PN7uxFL+ExFJO61aVmP1aIEG4i9whQd4eoSCebav62UwDyp5OHh06zN4jqKSMePVgxHifCw1QJxdRkA1Pisekg==} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - - chokidar@2.1.8: - resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} - cipher-base@1.0.6: - resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} - engines: {node: '>= 0.10'} - - class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} clean-css@4.2.4: resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} engines: {node: '>= 4.0'} - cli-cursor@2.1.0: - resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} - engines: {node: '>=4'} - - cli-width@2.2.1: - resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} - - cliui@5.0.0: - resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==} - - collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + commander@2.17.1: resolution: {integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==} @@ -378,73 +390,22 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - compile-ejs-loader@0.0.2: resolution: {integrity: sha512-sipblPeNzCUhyF15Yfdti4S7CL5yFFtOwxeyKpdtdxtwa/M/uyeyS5Svmc5cO/GoiQjhbzrp/dXzpNg/nzMlhA==} peerDependencies: webpack: ^4.16.3 - component-emitter@1.3.1: - resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - - console-browserify@1.2.0: - resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} - - constants-browserify@1.0.0: - resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} - - copy-concurrently@1.0.5: - resolution: {integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==} - deprecated: This package is no longer supported. - - copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - create-ecdh@4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} - - create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} - - create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} - - cross-spawn@6.0.6: - resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} - engines: {node: '>=4.8'} - - crypto-browserify@3.12.1: - resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} - engines: {node: '>= 0.10'} - - cyclist@1.0.2: - resolution: {integrity: sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} d@1.0.2: resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} engines: {node: '>=0.12'} - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.1: resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} @@ -454,14 +415,6 @@ packages: supports-color: optional: true - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - - decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -473,67 +426,33 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - - define-property@1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} - - define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - - des.js@1.1.0: - resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} - - detect-file@1.0.0: - resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} - engines: {node: '>=0.10.0'} - - diffie-hellman@5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} - doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - domain-browser@1.2.0: - resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} - engines: {node: '>=0.4', npm: '>=1.2'} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - duplexify@3.7.1: - resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} - ejs@5.0.1: resolution: {integrity: sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A==} engines: {node: '>=0.12.18'} hasBin: true - elliptic@6.6.1: - resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} - - emoji-regex@7.0.3: - resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} + electron-to-chromium@1.5.313: + resolution: {integrity: sha512-QBMrTWEf00GXZmJyx2lbYD45jpI3TUFnNIzJ5BBc8piGUDwMPa1GV6HJWTZVvY/eiN3fSopl7NRbgGp9sZ9LTA==} emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - - enhanced-resolve@4.5.0: - resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} - engines: {node: '>=6.9.0'} + enhanced-resolve@5.20.0: + resolution: {integrity: sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==} + engines: {node: '>=10.13.0'} - errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + envinfo@7.21.0: + resolution: {integrity: sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==} + engines: {node: '>=4'} hasBin: true es-define-property@1.0.1: @@ -544,6 +463,9 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} + es-module-lexer@2.0.0: + resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -559,32 +481,40 @@ packages: resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} engines: {node: '>=0.12'} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - eslint-loader@2.2.1: - resolution: {integrity: sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==} - deprecated: This loader has been deprecated. Please use eslint-webpack-plugin - peerDependencies: - eslint: '>=1.6.0 <7.0.0' - webpack: '>=2.0.0 <5.0.0' + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} - eslint-scope@4.0.3: - resolution: {integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==} - engines: {node: '>=4.0.0'} + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} - eslint-utils@1.4.3: - resolution: {integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==} - engines: {node: '>=6'} + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-webpack-plugin@4.2.0: + resolution: {integrity: sha512-rsfpFQ01AWQbqtjgPRr2usVRxhWDuG0YDYcG8DJOteD3EFnpeuYuOwk0PQiN7PRBTqS6ElNdtPZPggj8If9WnA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + eslint: ^8.0.0 || ^9.0.0 + webpack: ^5.0.0 - eslint@5.16.0: - resolution: {integrity: sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==} - engines: {node: ^6.14.0 || ^8.10.0 || >=9.10.0} + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true @@ -592,14 +522,9 @@ packages: resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} engines: {node: '>=0.10'} - espree@5.0.1: - resolution: {integrity: sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==} - engines: {node: '>=6.0.0'} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} esquery@1.6.0: resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} @@ -628,36 +553,9 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} - - expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - - expand-tilde@2.0.2: - resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==} - engines: {node: '>=0.10.0'} - ext@1.7.0: resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - - extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} - - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - - extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -667,98 +565,49 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - figgy-pudding@3.5.2: - resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} - deprecated: This module is no longer supported. - - figures@2.0.0: - resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} - engines: {node: '>=4'} + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} - file-entry-cache@5.0.1: - resolution: {integrity: sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==} - engines: {node: '>=4'} + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} - file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} - fill-range@4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - find-cache-dir@0.1.1: - resolution: {integrity: sha512-Z9XSBoNE7xQiV6MSgPuCfyMokH2K7JdpRkOYE1+mu3d4BFJtx3GW+f6Bo4q8IX6rlf5MYbLBKW0pjl2cWdkm2A==} - engines: {node: '>=0.10.0'} - - find-cache-dir@2.1.0: - resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} - engines: {node: '>=6'} - - find-up@1.1.2: - resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==} - engines: {node: '>=0.10.0'} - - find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - - findup-sync@3.0.0: - resolution: {integrity: sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==} - engines: {node: '>= 0.10'} - - flat-cache@2.0.1: - resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} - engines: {node: '>=4'} - - flatted@2.0.2: - resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} - - flush-write-stream@1.1.1: - resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==} + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} - for-in@1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} - fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} - from2@2.3.0: - resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true - fs-write-stream-atomic@1.0.10: - resolution: {integrity: sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==} - deprecated: This package is no longer supported. + flatted@3.4.1: + resolution: {integrity: sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ==} fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@1.2.13: - resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} - engines: {node: '>= 4.0'} - os: [darwin] - deprecated: Upgrade to fsevents v2 to mitigate potential security issues - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - functional-red-black-tree@1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -767,40 +616,20 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - - glob-parent@3.1.0: - resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported - - global-modules@1.0.0: - resolution: {integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==} - engines: {node: '>=0.10.0'} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - global-modules@2.0.0: - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} - engines: {node: '>=6'} - - global-prefix@1.0.2: - resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} - engines: {node: '>=0.10.0'} - - global-prefix@3.0.0: - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} - engines: {node: '>=6'} - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} @@ -809,10 +638,17 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -820,29 +656,6 @@ packages: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - - has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - - has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - - has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - - hash-base@3.0.5: - resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} - engines: {node: '>= 0.10'} - - hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -851,170 +664,98 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - - homedir-polyfill@1.0.3: - resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} - engines: {node: '>=0.10.0'} - html-minifier@3.5.21: resolution: {integrity: sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==} engines: {node: '>=4'} hasBin: true - https-browserify@1.0.0: - resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - iferr@0.1.5: - resolution: {integrity: sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==} - - ignore@4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - import-local@2.0.0: - resolution: {integrity: sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==} - engines: {node: '>=6'} + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} hasBin: true imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + interpret@3.1.1: + resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} + engines: {node: '>=10.13.0'} - inquirer@6.5.2: - resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} - engines: {node: '>=6.0.0'} + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} - interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - - is-accessor-descriptor@1.0.1: - resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} - engines: {node: '>= 0.10'} - - is-binary-path@1.0.1: - resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==} - engines: {node: '>=0.10.0'} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - - is-data-descriptor@1.0.1: - resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} - engines: {node: '>= 0.4'} - - is-descriptor@0.1.7: - resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} - engines: {node: '>= 0.4'} - - is-descriptor@1.0.3: - resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} - engines: {node: '>= 0.4'} - - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - - is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@2.0.0: - resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} - engines: {node: '>=4'} - - is-glob@3.1.0: - resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==} - engines: {node: '>=0.10.0'} + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-number@3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - - is-wsl@1.1.0: - resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} - engines: {node: '>=4'} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -1022,39 +763,35 @@ packages: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true - kind-of@3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} - - kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} - levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - loader-fs-cache@1.0.3: - resolution: {integrity: sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==} - - loader-runner@2.4.0: - resolution: {integrity: sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==} - engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + loader-runner@4.3.1: + resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} + engines: {node: '>=6.11.5'} loader-utils@1.4.2: resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} engines: {node: '>=4.0.0'} - locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} log-symbols@2.2.0: resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} @@ -1067,52 +804,24 @@ packages: lower-case@1.1.4: resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - - map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - - map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - - memory-fs@0.4.1: - resolution: {integrity: sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==} + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - memory-fs@0.5.0: - resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} - engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} - - micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - - miller-rabin@4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} - hasBin: true - - mimic-fn@1.2.0: - resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} - engines: {node: '>=4'} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} - minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -1120,38 +829,9 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mississippi@3.0.0: - resolution: {integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==} - engines: {node: '>=4.0.0'} - - mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - - move-concurrently@1.0.1: - resolution: {integrity: sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==} - deprecated: This package is no longer supported. - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mute-stream@0.0.7: - resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} - - nan@2.22.2: - resolution: {integrity: sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==} - - nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -1161,91 +841,51 @@ packages: next-tick@1.1.0: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - no-case@2.3.2: resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} - node-libs-browser@2.2.1: - resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} - - normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} + node-releases@2.0.36: + resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - - object-hash@1.3.1: - resolution: {integrity: sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==} - engines: {node: '>= 0.10.0'} - - object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} - object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - object.assign@4.1.7: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} - object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@2.0.1: - resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} - engines: {node: '>=4'} - - optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - os-browserify@0.3.0: - resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} - - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} - p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - - parallel-transform@1.2.0: - resolution: {integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==} - param-case@2.1.1: resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} @@ -1253,46 +893,20 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-asn1@5.1.7: - resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} - engines: {node: '>= 0.10'} - - parse-passwd@1.0.0: - resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} - engines: {node: '>=0.10.0'} - - pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - - path-browserify@0.0.1: - resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} - - path-dirname@1.0.2: - resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==} - - path-exists@2.1.0: - resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} - engines: {node: '>=0.10.0'} - - path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - path-is-inside@1.0.2: - resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} - - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} - pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1301,446 +915,178 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - - pinkie-promise@2.0.1: - resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} - engines: {node: '>=0.10.0'} - - pinkie@2.0.4: - resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} - engines: {node: '>=0.10.0'} - - pkg-dir@1.0.0: - resolution: {integrity: sha512-c6pv3OE78mcZ92ckebVDqg0aWSoKhOTbwCV6qbCWMk546mAL9pZln0+QsN/yQ7fkucd4+yJPLrCBXNt8Ruk+Eg==} - engines: {node: '>=0.10.0'} - - pkg-dir@3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} - - posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} - prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - - progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - - promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - - prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} - - public-encrypt@4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} - - pump@2.0.1: - resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} - - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - - pumpify@1.5.1: - resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} - - punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} - engines: {node: '>=0.6'} - - querystring-es3@0.2.1: - resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} - engines: {node: '>=0.4.x'} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - randomfill@1.0.4: - resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} - - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readdirp@2.2.1: - resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} - engines: {node: '>=0.10'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - - regexpp@2.0.1: - resolution: {integrity: sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==} - engines: {node: '>=6.5.0'} + rechoir@0.8.0: + resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} + engines: {node: '>= 10.13.0'} relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} - remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - - repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - - resolve-cwd@2.0.0: - resolution: {integrity: sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==} - engines: {node: '>=4'} - - resolve-dir@1.0.1: - resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - resolve-from@3.0.0: - resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} - engines: {node: '>=4'} + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated - - restore-cursor@2.0.0: - resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} - engines: {node: '>=4'} - - ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - - rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} - rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - deprecated: Rimraf versions prior to v4 are no longer supported + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} hasBin: true - ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - - run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - - run-queue@1.0.3: - resolution: {integrity: sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==} + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - schema-utils@1.0.0: - resolution: {integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==} - engines: {node: '>= 4'} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - serialize-javascript@4.0.0: - resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + schema-utils@4.3.3: + resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} + engines: {node: '>= 10.13.0'} set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - - setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - - sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true - - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - slice-ansi@2.1.0: - resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} - engines: {node: '>=6'} - - snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - - snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - - snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} - source-list-map@2.0.1: - resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} - source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - ssri@6.0.2: - resolution: {integrity: sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==} - - static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - - stream-browserify@2.0.2: - resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} - - stream-each@1.2.3: - resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==} - - stream-http@2.8.3: - resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} - - stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - - string-width@2.1.1: - resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} - engines: {node: '>=4'} - - string-width@3.1.0: - resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} - engines: {node: '>=6'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - strip-ansi@4.0.0: resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} engines: {node: '>=4'} - strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} - supports-color@6.1.0: - resolution: {integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==} - engines: {node: '>=6'} + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} - table@5.4.6: - resolution: {integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==} - engines: {node: '>=6.0.0'} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} - tapable@1.1.3: - resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + tapable@2.3.0: + resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} - terser-webpack-plugin@1.4.6: - resolution: {integrity: sha512-2lBVf/VMVIddjSn3GqbT90GvIJ/eYXJkt8cTzU7NbjKqK8fwv18Ftr4PlbF46b/e88743iZFL5Dtr/rC4hjIeA==} - engines: {node: '>= 6.9.0'} + terser-webpack-plugin@5.4.0: + resolution: {integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==} + engines: {node: '>= 10.13.0'} peerDependencies: - webpack: ^4.0.0 + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true - terser@4.8.1: - resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==} - engines: {node: '>=6.0.0'} + terser@5.46.0: + resolution: {integrity: sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==} + engines: {node: '>=10'} hasBin: true text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} - timers-browserify@2.0.12: - resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} - engines: {node: '>=0.6.0'} + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - to-arraybuffer@1.0.1: - resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==} - - to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - - to-regex-range@2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tty-browserify@0.0.0: - resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} - - type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - - type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - - typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - - uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} - engines: {node: '>=0.8.0'} - hasBin: true + uglify-js@3.19.3: + resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + engines: {node: '>=0.8.0'} + hasBin: true uglify-js@3.4.10: resolution: {integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==} engines: {node: '>=0.8.0'} hasBin: true - union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - - unique-filename@1.1.1: - resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} - - unique-slug@2.0.2: - resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} - - unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} + undici-types@7.18.2: + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - upath@1.2.0: - resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} - engines: {node: '>=4'} + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' upper-case@1.1.3: resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} @@ -1748,457 +1094,383 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - - url@0.11.4: - resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} - engines: {node: '>= 0.4'} - - use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - util@0.10.4: - resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} - - util@0.11.1: - resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} - uuid@3.4.0: resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true - v8-compile-cache@2.4.0: - resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} - - vm-browserify@1.1.2: - resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + watchpack@2.5.1: + resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} + engines: {node: '>=10.13.0'} - watchpack-chokidar2@2.0.1: - resolution: {integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==} - - watchpack@1.7.5: - resolution: {integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==} - - webpack-cli@3.3.12: - resolution: {integrity: sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==} - engines: {node: '>=6.11.5'} + webpack-cli@5.1.4: + resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} + engines: {node: '>=14.15.0'} hasBin: true peerDependencies: - webpack: 4.x.x + '@webpack-cli/generators': '*' + webpack: 5.x.x + webpack-bundle-analyzer: '*' + webpack-dev-server: '*' + peerDependenciesMeta: + '@webpack-cli/generators': + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true webpack-log@1.2.0: resolution: {integrity: sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==} engines: {node: '>=6'} - webpack-merge@4.2.2: - resolution: {integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==} + webpack-merge@5.10.0: + resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} + engines: {node: '>=10.0.0'} - webpack-sources@1.4.3: - resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} + webpack-merge@6.0.1: + resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} + engines: {node: '>=18.0.0'} - webpack@4.47.0: - resolution: {integrity: sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==} - engines: {node: '>=6.11.5'} + webpack-sources@3.3.4: + resolution: {integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==} + engines: {node: '>=10.13.0'} + + webpack@5.105.4: + resolution: {integrity: sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==} + engines: {node: '>=10.13.0'} hasBin: true peerDependencies: webpack-cli: '*' - webpack-command: '*' peerDependenciesMeta: webpack-cli: optional: true - webpack-command: - optional: true - which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true + wildcard@2.0.1: + resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - worker-farm@1.7.0: - resolution: {integrity: sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==} - - wrap-ansi@5.1.0: - resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} - engines: {node: '>=6'} - wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - write@1.0.3: - resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} - engines: {node: '>=4'} - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} +snapshots: - yargs-parser@13.1.2: - resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==} + '@discoveryjs/json-ext@0.5.7': {} - yargs@13.3.2: - resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} + '@eslint-community/eslint-utils@4.9.1(eslint@8.57.1)': + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 -snapshots: + '@eslint-community/regexpp@4.12.2': {} - '@babel/code-frame@7.27.1': + '@eslint/eslintrc@2.1.4': dependencies: - '@babel/helper-validator-identifier': 7.27.1 - js-tokens: 4.0.0 - picocolors: 1.1.1 + ajv: 6.12.6 + debug: 4.4.1 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color - '@babel/helper-validator-identifier@7.27.1': {} + '@eslint/js@8.57.1': {} - '@webassemblyjs/ast@1.9.0': + '@humanwhocodes/config-array@0.13.0': dependencies: - '@webassemblyjs/helper-module-context': 1.9.0 - '@webassemblyjs/helper-wasm-bytecode': 1.9.0 - '@webassemblyjs/wast-parser': 1.9.0 - - '@webassemblyjs/floating-point-hex-parser@1.9.0': {} + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.4.1 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color - '@webassemblyjs/helper-api-error@1.9.0': {} + '@humanwhocodes/module-importer@1.0.1': {} - '@webassemblyjs/helper-buffer@1.9.0': {} + '@humanwhocodes/object-schema@2.0.3': {} - '@webassemblyjs/helper-code-frame@1.9.0': + '@jest/schemas@29.6.3': dependencies: - '@webassemblyjs/wast-printer': 1.9.0 + '@sinclair/typebox': 0.27.10 - '@webassemblyjs/helper-fsm@1.9.0': {} - - '@webassemblyjs/helper-module-context@1.9.0': + '@jest/types@29.6.3': dependencies: - '@webassemblyjs/ast': 1.9.0 - - '@webassemblyjs/helper-wasm-bytecode@1.9.0': {} + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 25.4.0 + '@types/yargs': 17.0.35 + chalk: 4.1.2 - '@webassemblyjs/helper-wasm-section@1.9.0': + '@jridgewell/gen-mapping@0.3.13': dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-buffer': 1.9.0 - '@webassemblyjs/helper-wasm-bytecode': 1.9.0 - '@webassemblyjs/wasm-gen': 1.9.0 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 - '@webassemblyjs/ieee754@1.9.0': - dependencies: - '@xtuc/ieee754': 1.2.0 + '@jridgewell/resolve-uri@3.1.2': {} - '@webassemblyjs/leb128@1.9.0': + '@jridgewell/source-map@0.3.11': dependencies: - '@xtuc/long': 4.2.2 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - '@webassemblyjs/utf8@1.9.0': {} + '@jridgewell/sourcemap-codec@1.5.5': {} - '@webassemblyjs/wasm-edit@1.9.0': + '@jridgewell/trace-mapping@0.3.31': dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-buffer': 1.9.0 - '@webassemblyjs/helper-wasm-bytecode': 1.9.0 - '@webassemblyjs/helper-wasm-section': 1.9.0 - '@webassemblyjs/wasm-gen': 1.9.0 - '@webassemblyjs/wasm-opt': 1.9.0 - '@webassemblyjs/wasm-parser': 1.9.0 - '@webassemblyjs/wast-printer': 1.9.0 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 - '@webassemblyjs/wasm-gen@1.9.0': + '@nodelib/fs.scandir@2.1.5': dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-wasm-bytecode': 1.9.0 - '@webassemblyjs/ieee754': 1.9.0 - '@webassemblyjs/leb128': 1.9.0 - '@webassemblyjs/utf8': 1.9.0 + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 - '@webassemblyjs/wasm-opt@1.9.0': - dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-buffer': 1.9.0 - '@webassemblyjs/wasm-gen': 1.9.0 - '@webassemblyjs/wasm-parser': 1.9.0 + '@nodelib/fs.stat@2.0.5': {} - '@webassemblyjs/wasm-parser@1.9.0': + '@nodelib/fs.walk@1.2.8': dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-api-error': 1.9.0 - '@webassemblyjs/helper-wasm-bytecode': 1.9.0 - '@webassemblyjs/ieee754': 1.9.0 - '@webassemblyjs/leb128': 1.9.0 - '@webassemblyjs/utf8': 1.9.0 + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.20.1 - '@webassemblyjs/wast-parser@1.9.0': + '@sinclair/typebox@0.27.10': {} + + '@types/eslint-scope@3.7.7': dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/floating-point-hex-parser': 1.9.0 - '@webassemblyjs/helper-api-error': 1.9.0 - '@webassemblyjs/helper-code-frame': 1.9.0 - '@webassemblyjs/helper-fsm': 1.9.0 - '@xtuc/long': 4.2.2 + '@types/eslint': 9.6.1 + '@types/estree': 1.0.8 - '@webassemblyjs/wast-printer@1.9.0': + '@types/eslint@8.56.12': dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/wast-parser': 1.9.0 - '@xtuc/long': 4.2.2 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 - '@webpack-contrib/schema-utils@1.0.0-beta.0(webpack@4.47.0)': + '@types/eslint@9.6.1': dependencies: - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - chalk: 2.4.2 - strip-ansi: 4.0.0 - text-table: 0.2.0 - webpack: 4.47.0(webpack-cli@3.3.12) - webpack-log: 1.2.0 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 - '@xtuc/ieee754@1.2.0': {} + '@types/estree@1.0.8': {} - '@xtuc/long@4.2.2': {} + '@types/istanbul-lib-coverage@2.0.6': {} - acorn-jsx@5.3.2(acorn@6.4.2): + '@types/istanbul-lib-report@3.0.3': dependencies: - acorn: 6.4.2 + '@types/istanbul-lib-coverage': 2.0.6 - acorn@6.4.2: {} + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 - acorn@8.15.0: {} + '@types/json-schema@7.0.15': {} - ajv-errors@1.0.1(ajv@6.12.6): + '@types/node@25.4.0': dependencies: - ajv: 6.12.6 + undici-types: 7.18.2 - ajv-keywords@3.5.2(ajv@6.12.6): - dependencies: - ajv: 6.12.6 + '@types/yargs-parser@21.0.3': {} - ajv@6.12.6: + '@types/yargs@17.0.35': dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 + '@types/yargs-parser': 21.0.3 - ansi-escapes@3.2.0: {} + '@ungap/structured-clone@1.3.0': {} - ansi-regex@3.0.1: {} + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - ansi-regex@4.1.1: {} + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 + '@webassemblyjs/helper-api-error@1.13.2': {} - anymatch@2.0.0: - dependencies: - micromatch: 3.1.10(supports-color@6.1.0) - normalize-path: 2.1.1 - transitivePeerDependencies: - - supports-color - optional: true + '@webassemblyjs/helper-buffer@1.14.1': {} - anymatch@3.1.3: + '@webassemblyjs/helper-numbers@1.13.2': dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - optional: true + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 - aproba@1.2.0: {} + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} - argparse@1.0.10: + '@webassemblyjs/helper-wasm-section@1.14.1': dependencies: - sprintf-js: 1.0.3 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 - arr-diff@4.0.0: {} - - arr-flatten@1.1.0: {} + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 - arr-union@3.1.0: {} + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 - array-unique@0.3.2: {} + '@webassemblyjs/utf8@1.13.2': {} - asn1.js@4.10.1: + '@webassemblyjs/wasm-edit@1.14.1': dependencies: - bn.js: 4.12.2 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 - assert@1.5.1: + '@webassemblyjs/wasm-gen@1.14.1': dependencies: - object.assign: 4.1.7 - util: 0.10.4 - - assign-symbols@1.0.0: {} + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - astral-regex@1.0.0: {} + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 - async-each@1.0.6: - optional: true + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 - atob@2.1.2: {} + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 - balanced-match@1.0.2: {} + '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.105.4)': + dependencies: + webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.105.4) - base64-js@1.5.1: {} + '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.105.4)': + dependencies: + webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.105.4) - base@0.11.2: + '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.105.4)': dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.1 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 + webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.105.4) - big.js@5.2.2: {} + '@webpack-contrib/schema-utils@1.0.0-beta.0(webpack@5.105.4)': + dependencies: + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + chalk: 2.4.2 + strip-ansi: 4.0.0 + text-table: 0.2.0 + webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + webpack-log: 1.2.0 - binary-extensions@1.13.1: - optional: true + '@xtuc/ieee754@1.2.0': {} - binary-extensions@2.3.0: - optional: true + '@xtuc/long@4.2.2': {} - bindings@1.5.0: + acorn-import-phases@1.0.4(acorn@8.16.0): dependencies: - file-uri-to-path: 1.0.0 - optional: true + acorn: 8.16.0 - bluebird@3.7.2: {} + acorn-jsx@5.3.2(acorn@8.16.0): + dependencies: + acorn: 8.16.0 - bn.js@4.12.2: {} + acorn@8.16.0: {} - bn.js@5.2.2: {} + ajv-formats@2.1.1(ajv@8.18.0): + optionalDependencies: + ajv: 8.18.0 - brace-expansion@1.1.12: + ajv-keywords@3.5.2(ajv@6.12.6): dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 + ajv: 6.12.6 - braces@2.3.2(supports-color@6.1.0): + ajv-keywords@5.1.0(ajv@8.18.0): dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2(supports-color@6.1.0) - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color + ajv: 8.18.0 + fast-deep-equal: 3.1.3 - braces@3.0.3: + ajv@6.12.6: dependencies: - fill-range: 7.1.1 - optional: true - - brorand@1.1.0: {} + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 - browserify-aes@1.2.0: + ajv@8.18.0: dependencies: - buffer-xor: 1.0.3 - cipher-base: 1.0.6 - create-hash: 1.2.0 - evp_bytestokey: 1.0.3 - inherits: 2.0.4 - safe-buffer: 5.2.1 + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 - browserify-cipher@1.0.1: - dependencies: - browserify-aes: 1.2.0 - browserify-des: 1.0.2 - evp_bytestokey: 1.0.3 + ansi-regex@3.0.1: {} - browserify-des@1.0.2: - dependencies: - cipher-base: 1.0.6 - des.js: 1.1.0 - inherits: 2.0.4 - safe-buffer: 5.2.1 + ansi-regex@5.0.1: {} - browserify-rsa@4.1.1: + ansi-styles@3.2.1: dependencies: - bn.js: 5.2.2 - randombytes: 2.1.0 - safe-buffer: 5.2.1 + color-convert: 1.9.3 - browserify-sign@4.2.3: + ansi-styles@4.3.0: dependencies: - bn.js: 5.2.2 - browserify-rsa: 4.1.1 - create-hash: 1.2.0 - create-hmac: 1.1.7 - elliptic: 6.6.1 - hash-base: 3.0.5 - inherits: 2.0.4 - parse-asn1: 5.1.7 - readable-stream: 2.3.8 - safe-buffer: 5.2.1 + color-convert: 2.0.1 - browserify-zlib@0.2.0: - dependencies: - pako: 1.0.11 + argparse@2.0.1: {} - buffer-from@1.1.2: {} + balanced-match@1.0.2: {} + + baseline-browser-mapping@2.10.7: {} - buffer-xor@1.0.3: {} + big.js@5.2.2: {} - buffer@4.9.2: + brace-expansion@1.1.12: dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - isarray: 1.0.0 + balanced-match: 1.0.2 + concat-map: 0.0.1 - builtin-status-codes@3.0.0: {} + braces@3.0.3: + dependencies: + fill-range: 7.1.1 - cacache@12.0.4: + browserslist@4.28.1: dependencies: - bluebird: 3.7.2 - chownr: 1.1.4 - figgy-pudding: 3.5.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - infer-owner: 1.0.4 - lru-cache: 5.1.1 - mississippi: 3.0.0 - mkdirp: 0.5.6 - move-concurrently: 1.0.1 - promise-inflight: 1.0.1(bluebird@3.7.2) - rimraf: 2.7.1 - ssri: 6.0.2 - unique-filename: 1.1.1 - y18n: 4.0.3 - - cache-base@1.0.1: - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.1 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 + baseline-browser-mapping: 2.10.7 + caniuse-lite: 1.0.30001778 + electron-to-chromium: 1.5.313 + node-releases: 2.0.36 + update-browserslist-db: 1.2.3(browserslist@4.28.1) + + buffer-from@1.1.2: {} call-bind-apply-helpers@1.0.2: dependencies: @@ -2224,7 +1496,7 @@ snapshots: no-case: 2.3.2 upper-case: 1.1.3 - camelcase@5.3.1: {} + caniuse-lite@1.0.30001778: {} chalk@2.4.2: dependencies: @@ -2232,191 +1504,70 @@ snapshots: escape-string-regexp: 1.0.5 supports-color: 5.5.0 - chardet@0.7.0: {} - - chokidar@2.1.8: - dependencies: - anymatch: 2.0.0 - async-each: 1.0.6 - braces: 2.3.2(supports-color@6.1.0) - glob-parent: 3.1.0 - inherits: 2.0.4 - is-binary-path: 1.0.1 - is-glob: 4.0.3 - normalize-path: 3.0.0 - path-is-absolute: 1.0.1 - readdirp: 2.2.1 - upath: 1.2.0 - optionalDependencies: - fsevents: 1.2.13 - transitivePeerDependencies: - - supports-color - optional: true - - chokidar@3.6.0: + chalk@4.1.2: dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - optional: true - - chownr@1.1.4: {} + ansi-styles: 4.3.0 + supports-color: 7.2.0 chrome-trace-event@1.0.4: {} - cipher-base@1.0.6: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - - class-utils@0.3.6: - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 + ci-info@3.9.0: {} clean-css@4.2.4: dependencies: source-map: 0.6.1 - cli-cursor@2.1.0: - dependencies: - restore-cursor: 2.0.0 - - cli-width@2.2.1: {} - - cliui@5.0.0: - dependencies: - string-width: 3.1.0 - strip-ansi: 5.2.0 - wrap-ansi: 5.1.0 - - collection-visit@1.0.0: + clone-deep@4.0.1: dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 color-convert@1.9.3: dependencies: color-name: 1.1.3 + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + color-name@1.1.3: {} + color-name@1.1.4: {} + + colorette@2.0.20: {} + + commander@10.0.1: {} + commander@2.17.1: {} commander@2.19.0: {} commander@2.20.3: {} - commondir@1.0.1: {} - - compile-ejs-loader@0.0.2(webpack@4.47.0): + compile-ejs-loader@0.0.2(webpack@5.105.4): dependencies: - '@webpack-contrib/schema-utils': 1.0.0-beta.0(webpack@4.47.0) + '@webpack-contrib/schema-utils': 1.0.0-beta.0(webpack@5.105.4) loader-utils: 1.4.2 - webpack: 4.47.0(webpack-cli@3.3.12) - - component-emitter@1.3.1: {} + webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) concat-map@0.0.1: {} - concat-stream@1.6.2: - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - typedarray: 0.0.6 - - console-browserify@1.2.0: {} - - constants-browserify@1.0.0: {} - - copy-concurrently@1.0.5: - dependencies: - aproba: 1.2.0 - fs-write-stream-atomic: 1.0.10 - iferr: 0.1.5 - mkdirp: 0.5.6 - rimraf: 2.7.1 - run-queue: 1.0.3 - - copy-descriptor@0.1.1: {} - - core-util-is@1.0.3: {} - - create-ecdh@4.0.4: - dependencies: - bn.js: 4.12.2 - elliptic: 6.6.1 - - create-hash@1.2.0: + cross-spawn@7.0.6: dependencies: - cipher-base: 1.0.6 - inherits: 2.0.4 - md5.js: 1.3.5 - ripemd160: 2.0.2 - sha.js: 2.4.11 - - create-hmac@1.1.7: - dependencies: - cipher-base: 1.0.6 - create-hash: 1.2.0 - inherits: 2.0.4 - ripemd160: 2.0.2 - safe-buffer: 5.2.1 - sha.js: 2.4.11 - - cross-spawn@6.0.6: - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - - crypto-browserify@3.12.1: - dependencies: - browserify-cipher: 1.0.1 - browserify-sign: 4.2.3 - create-ecdh: 4.0.4 - create-hash: 1.2.0 - create-hmac: 1.1.7 - diffie-hellman: 5.0.3 - hash-base: 3.0.5 - inherits: 2.0.4 - pbkdf2: 3.1.2 - public-encrypt: 4.0.3 - randombytes: 2.1.0 - randomfill: 1.0.4 - - cyclist@1.0.2: {} + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 d@1.0.2: dependencies: es5-ext: 0.10.64 type: 2.7.3 - debug@2.6.9(supports-color@6.1.0): - dependencies: - ms: 2.0.0 - optionalDependencies: - supports-color: 6.1.0 - debug@4.4.1: dependencies: ms: 2.1.3 - decamelize@1.2.0: {} - - decode-uri-component@0.2.2: {} - deep-is@0.1.4: {} define-data-property@1.1.4: @@ -2431,85 +1582,35 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - define-property@0.2.5: - dependencies: - is-descriptor: 0.1.7 - - define-property@1.0.0: - dependencies: - is-descriptor: 1.0.3 - - define-property@2.0.2: - dependencies: - is-descriptor: 1.0.3 - isobject: 3.0.1 - - des.js@1.1.0: - dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - - detect-file@1.0.0: {} - - diffie-hellman@5.0.3: - dependencies: - bn.js: 4.12.2 - miller-rabin: 4.0.1 - randombytes: 2.1.0 - doctrine@3.0.0: dependencies: esutils: 2.0.3 - domain-browser@1.2.0: {} - dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 es-errors: 1.3.0 gopd: 1.2.0 - duplexify@3.7.1: - dependencies: - end-of-stream: 1.4.4 - inherits: 2.0.4 - readable-stream: 2.3.8 - stream-shift: 1.0.3 - ejs@5.0.1: {} - elliptic@6.6.1: - dependencies: - bn.js: 4.12.2 - brorand: 1.1.0 - hash.js: 1.1.7 - hmac-drbg: 1.0.1 - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - - emoji-regex@7.0.3: {} + electron-to-chromium@1.5.313: {} emojis-list@3.0.0: {} - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - - enhanced-resolve@4.5.0: + enhanced-resolve@5.20.0: dependencies: graceful-fs: 4.2.11 - memory-fs: 0.5.0 - tapable: 1.1.3 + tapable: 2.3.0 - errno@0.1.8: - dependencies: - prr: 1.0.1 + envinfo@7.21.0: {} es-define-property@1.0.1: {} es-errors@1.3.0: {} + es-module-lexer@2.0.0: {} + es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -2532,66 +1633,73 @@ snapshots: d: 1.0.2 ext: 1.7.0 + escalade@3.2.0: {} + escape-string-regexp@1.0.5: {} - eslint-loader@2.2.1(eslint@5.16.0)(webpack@4.47.0): - dependencies: - eslint: 5.16.0 - loader-fs-cache: 1.0.3 - loader-utils: 1.4.2 - object-assign: 4.1.1 - object-hash: 1.3.1 - rimraf: 2.7.1 - webpack: 4.47.0(webpack-cli@3.3.12) + escape-string-regexp@4.0.0: {} - eslint-scope@4.0.3: + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-utils@1.4.3: + eslint-scope@7.2.2: dependencies: - eslint-visitor-keys: 1.3.0 + esrecurse: 4.3.0 + estraverse: 5.3.0 - eslint-visitor-keys@1.3.0: {} + eslint-visitor-keys@3.4.3: {} - eslint@5.16.0: + eslint-webpack-plugin@4.2.0(eslint@8.57.1)(webpack@5.105.4): dependencies: - '@babel/code-frame': 7.27.1 + '@types/eslint': 8.56.12 + eslint: 8.57.1 + jest-worker: 29.7.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + schema-utils: 4.3.3 + webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + + eslint@8.57.1: + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.2 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.3.0 ajv: 6.12.6 - chalk: 2.4.2 - cross-spawn: 6.0.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 debug: 4.4.1 doctrine: 3.0.0 - eslint-scope: 4.0.3 - eslint-utils: 1.4.3 - eslint-visitor-keys: 1.3.0 - espree: 5.0.1 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.6.0 esutils: 2.0.3 - file-entry-cache: 5.0.1 - functional-red-black-tree: 1.0.1 - glob: 7.2.3 - globals: 11.12.0 - ignore: 4.0.6 - import-fresh: 3.3.1 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.2 imurmurhash: 0.1.4 - inquirer: 6.5.2 - js-yaml: 3.14.1 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.1 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.3.0 - lodash: 4.17.21 + levn: 0.4.1 + lodash.merge: 4.6.2 minimatch: 3.1.2 - mkdirp: 0.5.6 natural-compare: 1.4.0 - optionator: 0.8.3 - path-is-inside: 1.0.2 - progress: 2.0.3 - regexpp: 2.0.1 - semver: 5.7.2 - strip-ansi: 4.0.0 - strip-json-comments: 2.0.1 - table: 5.4.6 + optionator: 0.9.4 + strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color @@ -2603,13 +1711,11 @@ snapshots: event-emitter: 0.3.5 type: 2.7.3 - espree@5.0.1: + espree@9.6.1: dependencies: - acorn: 6.4.2 - acorn-jsx: 5.3.2(acorn@6.4.2) - eslint-visitor-keys: 1.3.0 - - esprima@4.0.1: {} + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) + eslint-visitor-keys: 3.4.3 esquery@1.6.0: dependencies: @@ -2632,168 +1738,56 @@ snapshots: events@3.3.0: {} - evp_bytestokey@1.0.3: - dependencies: - md5.js: 1.3.5 - safe-buffer: 5.2.1 - - expand-brackets@2.1.4(supports-color@6.1.0): - dependencies: - debug: 2.6.9(supports-color@6.1.0) - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2(supports-color@6.1.0) - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - expand-tilde@2.0.2: - dependencies: - homedir-polyfill: 1.0.3 - ext@1.7.0: dependencies: type: 2.7.3 - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - - extend-shallow@3.0.2: - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - - extglob@2.0.4(supports-color@6.1.0): - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4(supports-color@6.1.0) - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2(supports-color@6.1.0) - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - fast-deep-equal@3.1.3: {} fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} - figgy-pudding@3.5.2: {} + fast-uri@3.1.0: {} - figures@2.0.0: - dependencies: - escape-string-regexp: 1.0.5 + fastest-levenshtein@1.0.16: {} - file-entry-cache@5.0.1: + fastq@1.20.1: dependencies: - flat-cache: 2.0.1 + reusify: 1.1.0 - file-uri-to-path@1.0.0: - optional: true - - fill-range@4.0.0: + file-entry-cache@6.0.1: dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 + flat-cache: 3.2.0 fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - optional: true - - find-cache-dir@0.1.1: - dependencies: - commondir: 1.0.1 - mkdirp: 0.5.6 - pkg-dir: 1.0.0 - - find-cache-dir@2.1.0: - dependencies: - commondir: 1.0.1 - make-dir: 2.1.0 - pkg-dir: 3.0.0 - - find-up@1.1.2: - dependencies: - path-exists: 2.1.0 - pinkie-promise: 2.0.1 - - find-up@3.0.0: - dependencies: - locate-path: 3.0.0 - - findup-sync@3.0.0(supports-color@6.1.0): - dependencies: - detect-file: 1.0.0 - is-glob: 4.0.3 - micromatch: 3.1.10(supports-color@6.1.0) - resolve-dir: 1.0.1 - transitivePeerDependencies: - - supports-color - flat-cache@2.0.1: + find-up@4.1.0: dependencies: - flatted: 2.0.2 - rimraf: 2.6.3 - write: 1.0.3 - - flatted@2.0.2: {} + locate-path: 5.0.0 + path-exists: 4.0.0 - flush-write-stream@1.1.1: + find-up@5.0.0: dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 + locate-path: 6.0.0 + path-exists: 4.0.0 - for-in@1.0.2: {} - - fragment-cache@0.2.1: + flat-cache@3.2.0: dependencies: - map-cache: 0.2.2 + flatted: 3.4.1 + keyv: 4.5.4 + rimraf: 3.0.2 - from2@2.3.0: - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 + flat@5.0.2: {} - fs-write-stream-atomic@1.0.10: - dependencies: - graceful-fs: 4.2.11 - iferr: 0.1.5 - imurmurhash: 0.1.4 - readable-stream: 2.3.8 + flatted@3.4.1: {} fs.realpath@1.0.0: {} - fsevents@1.2.13: - dependencies: - bindings: 1.5.0 - nan: 2.22.2 - optional: true - - fsevents@2.3.3: - optional: true - function-bind@1.1.2: {} - functional-red-black-tree@1.0.1: {} - - get-caller-file@2.0.5: {} - get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -2812,18 +1806,11 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - get-value@2.0.6: {} - - glob-parent@3.1.0: - dependencies: - is-glob: 3.1.0 - path-dirname: 1.0.2 - optional: true - - glob-parent@5.1.2: + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - optional: true + + glob-to-regexp@0.4.1: {} glob@7.2.3: dependencies: @@ -2834,1033 +1821,398 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - global-modules@1.0.0: - dependencies: - global-prefix: 1.0.2 - is-windows: 1.0.2 - resolve-dir: 1.0.1 - - global-modules@2.0.0: - dependencies: - global-prefix: 3.0.0 - - global-prefix@1.0.2: + globals@13.24.0: dependencies: - expand-tilde: 2.0.2 - homedir-polyfill: 1.0.3 - ini: 1.3.8 - is-windows: 1.0.2 - which: 1.3.1 - - global-prefix@3.0.0: - dependencies: - ini: 1.3.8 - kind-of: 6.0.3 - which: 1.3.1 - - globals@11.12.0: {} + type-fest: 0.20.2 gopd@1.2.0: {} graceful-fs@4.2.11: {} + graphemer@1.4.0: {} + has-flag@3.0.0: {} + has-flag@4.0.0: {} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 has-symbols@1.1.0: {} - has-value@0.3.1: - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - - has-value@1.0.0: - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - - has-values@0.1.4: {} - - has-values@1.0.0: - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - - hash-base@3.0.5: - dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 - - hash.js@1.1.7: - dependencies: - inherits: 2.0.4 - minimalistic-assert: 1.0.1 - hasown@2.0.2: dependencies: function-bind: 1.1.2 he@1.2.0: {} - hmac-drbg@1.0.1: - dependencies: - hash.js: 1.1.7 - minimalistic-assert: 1.0.1 - minimalistic-crypto-utils: 1.0.1 - - homedir-polyfill@1.0.3: - dependencies: - parse-passwd: 1.0.0 - - html-minifier@3.5.21: - dependencies: - camel-case: 3.0.0 - clean-css: 4.2.4 - commander: 2.17.1 - he: 1.2.0 - param-case: 2.1.1 - relateurl: 0.2.7 - uglify-js: 3.4.10 - - https-browserify@1.0.0: {} - - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - - ieee754@1.2.1: {} - - iferr@0.1.5: {} - - ignore@4.0.6: {} - - import-fresh@3.3.1: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - import-local@2.0.0: - dependencies: - pkg-dir: 3.0.0 - resolve-cwd: 2.0.0 - - imurmurhash@0.1.4: {} - - infer-owner@1.0.4: {} - - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.3: {} - - inherits@2.0.4: {} - - ini@1.3.8: {} - - inquirer@6.5.2: - dependencies: - ansi-escapes: 3.2.0 - chalk: 2.4.2 - cli-cursor: 2.1.0 - cli-width: 2.2.1 - external-editor: 3.1.0 - figures: 2.0.0 - lodash: 4.17.21 - mute-stream: 0.0.7 - run-async: 2.4.1 - rxjs: 6.6.7 - string-width: 2.1.1 - strip-ansi: 5.2.0 - through: 2.3.8 - - interpret@1.4.0: {} - - is-accessor-descriptor@1.0.1: - dependencies: - hasown: 2.0.2 - - is-binary-path@1.0.1: - dependencies: - binary-extensions: 1.13.1 - optional: true - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - optional: true - - is-buffer@1.1.6: {} - - is-data-descriptor@1.0.1: - dependencies: - hasown: 2.0.2 - - is-descriptor@0.1.7: - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - - is-descriptor@1.0.3: - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - - is-extendable@0.1.1: {} - - is-extendable@1.0.1: - dependencies: - is-plain-object: 2.0.4 - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@2.0.0: {} - - is-glob@3.1.0: - dependencies: - is-extglob: 2.1.1 - optional: true - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-number@3.0.0: - dependencies: - kind-of: 3.2.2 - - is-number@7.0.0: - optional: true - - is-plain-object@2.0.4: - dependencies: - isobject: 3.0.1 - - is-windows@1.0.2: {} - - is-wsl@1.1.0: {} - - isarray@1.0.0: {} - - isexe@2.0.0: {} - - isobject@2.1.0: - dependencies: - isarray: 1.0.0 - - isobject@3.0.1: {} - - js-tokens@4.0.0: {} - - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - - json-parse-better-errors@1.0.2: {} - - json-schema-traverse@0.4.1: {} - - json-stable-stringify-without-jsonify@1.0.1: {} - - json5@1.0.2: - dependencies: - minimist: 1.2.8 - - kind-of@3.2.2: - dependencies: - is-buffer: 1.1.6 - - kind-of@4.0.0: - dependencies: - is-buffer: 1.1.6 - - kind-of@6.0.3: {} - - levn@0.3.0: - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - - loader-fs-cache@1.0.3: - dependencies: - find-cache-dir: 0.1.1 - mkdirp: 0.5.6 - - loader-runner@2.4.0: {} - - loader-utils@1.4.2: - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 1.0.2 - - locate-path@3.0.0: - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 - - lodash@4.17.21: {} - - log-symbols@2.2.0: - dependencies: - chalk: 2.4.2 - - loglevelnext@1.0.5: - dependencies: - es6-symbol: 3.1.4 - object.assign: 4.1.7 - - lower-case@1.1.4: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - make-dir@2.1.0: - dependencies: - pify: 4.0.1 - semver: 5.7.2 - - map-cache@0.2.2: {} - - map-visit@1.0.0: - dependencies: - object-visit: 1.0.1 - - math-intrinsics@1.1.0: {} - - md5.js@1.3.5: - dependencies: - hash-base: 3.0.5 - inherits: 2.0.4 - safe-buffer: 5.2.1 - - memory-fs@0.4.1: - dependencies: - errno: 0.1.8 - readable-stream: 2.3.8 - - memory-fs@0.5.0: - dependencies: - errno: 0.1.8 - readable-stream: 2.3.8 - - micromatch@3.1.10(supports-color@6.1.0): - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2(supports-color@6.1.0) - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4(supports-color@6.1.0) - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13(supports-color@6.1.0) - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2(supports-color@6.1.0) - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - miller-rabin@4.0.1: - dependencies: - bn.js: 4.12.2 - brorand: 1.1.0 - - mimic-fn@1.2.0: {} - - minimalistic-assert@1.0.1: {} - - minimalistic-crypto-utils@1.0.1: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.12 - - minimist@1.2.8: {} - - mississippi@3.0.0: - dependencies: - concat-stream: 1.6.2 - duplexify: 3.7.1 - end-of-stream: 1.4.4 - flush-write-stream: 1.1.1 - from2: 2.3.0 - parallel-transform: 1.2.0 - pump: 3.0.2 - pumpify: 1.5.1 - stream-each: 1.2.3 - through2: 2.0.5 - - mixin-deep@1.3.2: - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 - - move-concurrently@1.0.1: - dependencies: - aproba: 1.2.0 - copy-concurrently: 1.0.5 - fs-write-stream-atomic: 1.0.10 - mkdirp: 0.5.6 - rimraf: 2.7.1 - run-queue: 1.0.3 - - ms@2.0.0: {} - - ms@2.1.3: {} - - mute-stream@0.0.7: {} - - nan@2.22.2: - optional: true - - nanomatch@1.2.13(supports-color@6.1.0): - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2(supports-color@6.1.0) - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - - natural-compare@1.4.0: {} - - neo-async@2.6.2: {} - - next-tick@1.1.0: {} - - nice-try@1.0.5: {} - - no-case@2.3.2: - dependencies: - lower-case: 1.1.4 - - node-libs-browser@2.2.1: - dependencies: - assert: 1.5.1 - browserify-zlib: 0.2.0 - buffer: 4.9.2 - console-browserify: 1.2.0 - constants-browserify: 1.0.0 - crypto-browserify: 3.12.1 - domain-browser: 1.2.0 - events: 3.3.0 - https-browserify: 1.0.0 - os-browserify: 0.3.0 - path-browserify: 0.0.1 - process: 0.11.10 - punycode: 1.4.1 - querystring-es3: 0.2.1 - readable-stream: 2.3.8 - stream-browserify: 2.0.2 - stream-http: 2.8.3 - string_decoder: 1.3.0 - timers-browserify: 2.0.12 - tty-browserify: 0.0.0 - url: 0.11.4 - util: 0.11.1 - vm-browserify: 1.1.2 - - normalize-path@2.1.1: - dependencies: - remove-trailing-separator: 1.1.0 - optional: true - - normalize-path@3.0.0: - optional: true - - object-assign@4.1.1: {} - - object-copy@0.1.0: - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - - object-hash@1.3.1: {} - - object-inspect@1.13.4: {} - - object-keys@1.1.1: {} - - object-visit@1.0.1: - dependencies: - isobject: 3.0.1 - - object.assign@4.1.7: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - has-symbols: 1.1.0 - object-keys: 1.1.1 - - object.pick@1.3.0: - dependencies: - isobject: 3.0.1 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - onetime@2.0.1: - dependencies: - mimic-fn: 1.2.0 - - optionator@0.8.3: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.5 - - os-browserify@0.3.0: {} - - os-tmpdir@1.0.2: {} - - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - - p-locate@3.0.0: - dependencies: - p-limit: 2.3.0 - - p-try@2.2.0: {} - - pako@1.0.11: {} - - parallel-transform@1.2.0: - dependencies: - cyclist: 1.0.2 - inherits: 2.0.4 - readable-stream: 2.3.8 - - param-case@2.1.1: + html-minifier@3.5.21: dependencies: - no-case: 2.3.2 + camel-case: 3.0.0 + clean-css: 4.2.4 + commander: 2.17.1 + he: 1.2.0 + param-case: 2.1.1 + relateurl: 0.2.7 + uglify-js: 3.4.10 - parent-module@1.0.1: + ignore@5.3.2: {} + + import-fresh@3.3.1: dependencies: - callsites: 3.1.0 + parent-module: 1.0.1 + resolve-from: 4.0.0 - parse-asn1@5.1.7: + import-local@3.2.0: dependencies: - asn1.js: 4.10.1 - browserify-aes: 1.2.0 - evp_bytestokey: 1.0.3 - hash-base: 3.0.5 - pbkdf2: 3.1.2 - safe-buffer: 5.2.1 + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 - parse-passwd@1.0.0: {} + imurmurhash@0.1.4: {} - pascalcase@0.1.1: {} + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 - path-browserify@0.0.1: {} + inherits@2.0.4: {} - path-dirname@1.0.2: - optional: true + interpret@3.1.1: {} - path-exists@2.1.0: + is-core-module@2.16.1: dependencies: - pinkie-promise: 2.0.1 + hasown: 2.0.2 - path-exists@3.0.0: {} + is-extglob@2.1.1: {} - path-is-absolute@1.0.1: {} + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 - path-is-inside@1.0.2: {} + is-number@7.0.0: {} - path-key@2.0.1: {} + is-path-inside@3.0.3: {} - pbkdf2@3.1.2: + is-plain-object@2.0.4: dependencies: - create-hash: 1.2.0 - create-hmac: 1.1.7 - ripemd160: 2.0.2 - safe-buffer: 5.2.1 - sha.js: 2.4.11 - - picocolors@1.1.1: {} + isobject: 3.0.1 - picomatch@2.3.1: - optional: true + isexe@2.0.0: {} - pify@4.0.1: {} + isobject@3.0.1: {} - pinkie-promise@2.0.1: + jest-util@29.7.0: dependencies: - pinkie: 2.0.4 - - pinkie@2.0.4: {} + '@jest/types': 29.6.3 + '@types/node': 25.4.0 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 - pkg-dir@1.0.0: + jest-worker@27.5.1: dependencies: - find-up: 1.1.2 + '@types/node': 25.4.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 - pkg-dir@3.0.0: + jest-worker@29.7.0: dependencies: - find-up: 3.0.0 - - posix-character-classes@0.1.1: {} - - prelude-ls@1.1.2: {} + '@types/node': 25.4.0 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 - process-nextick-args@2.0.1: {} - - process@0.11.10: {} + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 - progress@2.0.3: {} + json-buffer@3.0.1: {} - promise-inflight@1.0.1(bluebird@3.7.2): - optionalDependencies: - bluebird: 3.7.2 + json-parse-even-better-errors@2.3.1: {} - prr@1.0.1: {} + json-schema-traverse@0.4.1: {} - public-encrypt@4.0.3: - dependencies: - bn.js: 4.12.2 - browserify-rsa: 4.1.1 - create-hash: 1.2.0 - parse-asn1: 5.1.7 - randombytes: 2.1.0 - safe-buffer: 5.2.1 + json-schema-traverse@1.0.0: {} - pump@2.0.1: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 + json-stable-stringify-without-jsonify@1.0.1: {} - pump@3.0.2: + json5@1.0.2: dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 + minimist: 1.2.8 - pumpify@1.5.1: + keyv@4.5.4: dependencies: - duplexify: 3.7.1 - inherits: 2.0.4 - pump: 2.0.1 + json-buffer: 3.0.1 - punycode@1.4.1: {} - - punycode@2.3.1: {} + kind-of@6.0.3: {} - qs@6.14.0: + levn@0.4.1: dependencies: - side-channel: 1.1.0 + prelude-ls: 1.2.1 + type-check: 0.4.0 - querystring-es3@0.2.1: {} + loader-runner@4.3.1: {} - randombytes@2.1.0: + loader-utils@1.4.2: dependencies: - safe-buffer: 5.2.1 + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 - randomfill@1.0.4: + locate-path@5.0.0: dependencies: - randombytes: 2.1.0 - safe-buffer: 5.2.1 + p-locate: 4.1.0 - readable-stream@2.3.8: + locate-path@6.0.0: dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 + p-locate: 5.0.0 - readdirp@2.2.1: - dependencies: - graceful-fs: 4.2.11 - micromatch: 3.1.10(supports-color@6.1.0) - readable-stream: 2.3.8 - transitivePeerDependencies: - - supports-color - optional: true + lodash.merge@4.6.2: {} - readdirp@3.6.0: + log-symbols@2.2.0: dependencies: - picomatch: 2.3.1 - optional: true + chalk: 2.4.2 - regex-not@1.0.2: + loglevelnext@1.0.5: dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - - regexpp@2.0.1: {} - - relateurl@0.2.7: {} + es6-symbol: 3.1.4 + object.assign: 4.1.7 - remove-trailing-separator@1.1.0: - optional: true + lower-case@1.1.4: {} - repeat-element@1.1.4: {} + math-intrinsics@1.1.0: {} - repeat-string@1.6.1: {} + merge-stream@2.0.0: {} - require-directory@2.1.1: {} + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 - require-main-filename@2.0.0: {} + mime-db@1.52.0: {} - resolve-cwd@2.0.0: + mime-types@2.1.35: dependencies: - resolve-from: 3.0.0 + mime-db: 1.52.0 - resolve-dir@1.0.1: + minimatch@3.1.2: dependencies: - expand-tilde: 2.0.2 - global-modules: 1.0.0 + brace-expansion: 1.1.12 - resolve-from@3.0.0: {} + minimist@1.2.8: {} - resolve-from@4.0.0: {} + ms@2.1.3: {} - resolve-url@0.2.1: {} + natural-compare@1.4.0: {} - restore-cursor@2.0.0: - dependencies: - onetime: 2.0.1 - signal-exit: 3.0.7 + neo-async@2.6.2: {} - ret@0.1.15: {} + next-tick@1.1.0: {} - rimraf@2.6.3: + no-case@2.3.2: dependencies: - glob: 7.2.3 + lower-case: 1.1.4 - rimraf@2.7.1: - dependencies: - glob: 7.2.3 + node-releases@2.0.36: {} - ripemd160@2.0.2: - dependencies: - hash-base: 3.0.5 - inherits: 2.0.4 + normalize-path@3.0.0: {} - run-async@2.4.1: {} + object-keys@1.1.1: {} - run-queue@1.0.3: + object.assign@4.1.7: dependencies: - aproba: 1.2.0 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 - rxjs@6.6.7: + once@1.4.0: dependencies: - tslib: 1.14.1 - - safe-buffer@5.1.2: {} - - safe-buffer@5.2.1: {} + wrappy: 1.0.2 - safe-regex@1.1.0: + optionator@0.9.4: dependencies: - ret: 0.1.15 - - safer-buffer@2.1.2: {} + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 - schema-utils@1.0.0: + p-limit@2.3.0: dependencies: - ajv: 6.12.6 - ajv-errors: 1.0.1(ajv@6.12.6) - ajv-keywords: 3.5.2(ajv@6.12.6) - - semver@5.7.2: {} + p-try: 2.2.0 - serialize-javascript@4.0.0: + p-limit@3.1.0: dependencies: - randombytes: 2.1.0 - - set-blocking@2.0.0: {} + yocto-queue: 0.1.0 - set-function-length@1.2.2: + p-locate@4.1.0: dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.3.0 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 + p-limit: 2.3.0 - set-value@2.0.1: + p-locate@5.0.0: dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 + p-limit: 3.1.0 - setimmediate@1.0.5: {} + p-try@2.2.0: {} - sha.js@2.4.11: + param-case@2.1.1: dependencies: - inherits: 2.0.4 - safe-buffer: 5.2.1 + no-case: 2.3.2 - shebang-command@1.2.0: + parent-module@1.0.1: dependencies: - shebang-regex: 1.0.0 + callsites: 3.1.0 - shebang-regex@1.0.0: {} + path-exists@4.0.0: {} - side-channel-list@1.0.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 + path-is-absolute@1.0.1: {} - side-channel-map@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 + path-key@3.1.1: {} - side-channel-weakmap@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 - side-channel-map: 1.0.1 + path-parse@1.0.7: {} - side-channel@1.1.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 + picocolors@1.1.1: {} - signal-exit@3.0.7: {} + picomatch@2.3.1: {} - slice-ansi@2.1.0: + pkg-dir@4.2.0: dependencies: - ansi-styles: 3.2.1 - astral-regex: 1.0.0 - is-fullwidth-code-point: 2.0.0 + find-up: 4.1.0 - snapdragon-node@2.1.1: - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 + prelude-ls@1.2.1: {} - snapdragon-util@3.0.1: - dependencies: - kind-of: 3.2.2 + punycode@2.3.1: {} - snapdragon@0.8.2(supports-color@6.1.0): + queue-microtask@1.2.3: {} + + rechoir@0.8.0: dependencies: - base: 0.11.2 - debug: 2.6.9(supports-color@6.1.0) - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color + resolve: 1.22.11 - source-list-map@2.0.1: {} + relateurl@0.2.7: {} - source-map-resolve@0.5.3: - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 + require-from-string@2.0.2: {} - source-map-support@0.5.21: + resolve-cwd@3.0.0: dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 + resolve-from: 5.0.0 - source-map-url@0.4.1: {} - - source-map@0.5.7: {} + resolve-from@4.0.0: {} - source-map@0.6.1: {} + resolve-from@5.0.0: {} - split-string@3.1.0: + resolve@1.22.11: dependencies: - extend-shallow: 3.0.2 + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 - sprintf-js@1.0.3: {} + reusify@1.1.0: {} - ssri@6.0.2: + rimraf@3.0.2: dependencies: - figgy-pudding: 3.5.2 + glob: 7.2.3 - static-extend@0.1.2: + run-parallel@1.2.0: dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 + queue-microtask: 1.2.3 - stream-browserify@2.0.2: + schema-utils@4.3.3: dependencies: - inherits: 2.0.4 - readable-stream: 2.3.8 + '@types/json-schema': 7.0.15 + ajv: 8.18.0 + ajv-formats: 2.1.1(ajv@8.18.0) + ajv-keywords: 5.1.0(ajv@8.18.0) - stream-each@1.2.3: + set-function-length@1.2.2: dependencies: - end-of-stream: 1.4.4 - stream-shift: 1.0.3 + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 - stream-http@2.8.3: + shallow-clone@3.0.1: dependencies: - builtin-status-codes: 3.0.0 - inherits: 2.0.4 - readable-stream: 2.3.8 - to-arraybuffer: 1.0.1 - xtend: 4.0.2 - - stream-shift@1.0.3: {} + kind-of: 6.0.3 - string-width@2.1.1: + shebang-command@2.0.0: dependencies: - is-fullwidth-code-point: 2.0.0 - strip-ansi: 4.0.0 + shebang-regex: 3.0.0 - string-width@3.1.0: - dependencies: - emoji-regex: 7.0.3 - is-fullwidth-code-point: 2.0.0 - strip-ansi: 5.2.0 + shebang-regex@3.0.0: {} - string_decoder@1.1.1: + source-map-support@0.5.21: dependencies: - safe-buffer: 5.1.2 + buffer-from: 1.1.2 + source-map: 0.6.1 - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 + source-map@0.6.1: {} strip-ansi@4.0.0: dependencies: ansi-regex: 3.0.1 - strip-ansi@5.2.0: + strip-ansi@6.0.1: dependencies: - ansi-regex: 4.1.1 + ansi-regex: 5.0.1 - strip-json-comments@2.0.1: {} + strip-json-comments@3.1.1: {} supports-color@5.5.0: dependencies: has-flag: 3.0.0 - supports-color@6.1.0: + supports-color@7.2.0: dependencies: - has-flag: 3.0.0 + has-flag: 4.0.0 - table@5.4.6: + supports-color@8.1.1: dependencies: - ajv: 6.12.6 - lodash: 4.17.21 - slice-ansi: 2.1.0 - string-width: 3.1.0 + has-flag: 4.0.0 - tapable@1.1.3: {} + supports-preserve-symlinks-flag@1.0.0: {} - terser-webpack-plugin@1.4.6(webpack@4.47.0): + tapable@2.3.0: {} + + terser-webpack-plugin@5.4.0(uglify-js@3.19.3)(webpack@5.105.4): dependencies: - cacache: 12.0.4 - find-cache-dir: 2.1.0 - is-wsl: 1.1.0 - schema-utils: 1.0.0 - serialize-javascript: 4.0.0 - source-map: 0.6.1 - terser: 4.8.1 - webpack: 4.47.0(webpack-cli@3.3.12) - webpack-sources: 1.4.3 - worker-farm: 1.7.0 + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + terser: 5.46.0 + webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + optionalDependencies: + uglify-js: 3.19.3 - terser@4.8.1: + terser@5.46.0: dependencies: - acorn: 8.15.0 + '@jridgewell/source-map': 0.3.11 + acorn: 8.16.0 commander: 2.20.3 - source-map: 0.6.1 source-map-support: 0.5.21 text-table@0.2.0: {} - through2@2.0.5: - dependencies: - readable-stream: 2.3.8 - xtend: 4.0.2 - - through@2.3.8: {} - - timers-browserify@2.0.12: - dependencies: - setimmediate: 1.0.5 - - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - - to-arraybuffer@1.0.1: {} - - to-object-path@0.3.0: - dependencies: - kind-of: 3.2.2 - - to-regex-range@2.1.1: - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - optional: true - to-regex@3.0.2: + type-check@0.4.0: dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - - tslib@1.14.1: {} - - tty-browserify@0.0.0: {} + prelude-ls: 1.2.1 - type-check@0.3.2: - dependencies: - prelude-ls: 1.1.2 + type-fest@0.20.2: {} type@2.7.3: {} - typedarray@0.0.6: {} - uglify-js@3.19.3: {} uglify-js@3.4.10: @@ -3868,28 +2220,13 @@ snapshots: commander: 2.19.0 source-map: 0.6.1 - union-value@1.0.1: - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - - unique-filename@1.1.1: - dependencies: - unique-slug: 2.0.2 - - unique-slug@2.0.2: - dependencies: - imurmurhash: 0.1.4 + undici-types@7.18.2: {} - unset-value@1.0.0: + update-browserslist-db@1.2.3(browserslist@4.28.1): dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - - upath@1.2.0: - optional: true + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 upper-case@1.1.3: {} @@ -3897,62 +2234,29 @@ snapshots: dependencies: punycode: 2.3.1 - urix@0.1.0: {} - - url@0.11.4: - dependencies: - punycode: 1.4.1 - qs: 6.14.0 - - use@3.1.1: {} - - util-deprecate@1.0.2: {} - - util@0.10.4: - dependencies: - inherits: 2.0.3 - - util@0.11.1: - dependencies: - inherits: 2.0.3 - uuid@3.4.0: {} - v8-compile-cache@2.4.0: {} - - vm-browserify@1.1.2: {} - - watchpack-chokidar2@2.0.1: - dependencies: - chokidar: 2.1.8 - transitivePeerDependencies: - - supports-color - optional: true - - watchpack@1.7.5: + watchpack@2.5.1: dependencies: + glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - neo-async: 2.6.2 - optionalDependencies: - chokidar: 3.6.0 - watchpack-chokidar2: 2.0.1 - transitivePeerDependencies: - - supports-color - webpack-cli@3.3.12(webpack@4.47.0): - dependencies: - chalk: 2.4.2 - cross-spawn: 6.0.6 - enhanced-resolve: 4.5.0 - findup-sync: 3.0.0(supports-color@6.1.0) - global-modules: 2.0.0 - import-local: 2.0.0 - interpret: 1.4.0 - loader-utils: 1.4.2 - supports-color: 6.1.0 - v8-compile-cache: 2.4.0 - webpack: 4.47.0(webpack-cli@3.3.12) - yargs: 13.3.2 + webpack-cli@5.1.4(webpack@5.105.4): + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.105.4) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.105.4) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.105.4) + colorette: 2.0.20 + commander: 10.0.1 + cross-spawn: 7.0.6 + envinfo: 7.21.0 + fastest-levenshtein: 1.0.16 + import-local: 3.2.0 + interpret: 3.1.1 + rechoir: 0.8.0 + webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + webpack-merge: 5.10.0 webpack-log@1.2.0: dependencies: @@ -3961,89 +2265,62 @@ snapshots: loglevelnext: 1.0.5 uuid: 3.4.0 - webpack-merge@4.2.2: + webpack-merge@5.10.0: dependencies: - lodash: 4.17.21 + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 - webpack-sources@1.4.3: + webpack-merge@6.0.1: dependencies: - source-list-map: 2.0.1 - source-map: 0.6.1 + clone-deep: 4.0.1 + flat: 5.0.2 + wildcard: 2.0.1 - webpack@4.47.0(webpack-cli@3.3.12): + webpack-sources@3.3.4: {} + + webpack@5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4): dependencies: - '@webassemblyjs/ast': 1.9.0 - '@webassemblyjs/helper-module-context': 1.9.0 - '@webassemblyjs/wasm-edit': 1.9.0 - '@webassemblyjs/wasm-parser': 1.9.0 - acorn: 6.4.2 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.16.0 + acorn-import-phases: 1.0.4(acorn@8.16.0) + browserslist: 4.28.1 chrome-trace-event: 1.0.4 - enhanced-resolve: 4.5.0 - eslint-scope: 4.0.3 - json-parse-better-errors: 1.0.2 - loader-runner: 2.4.0 - loader-utils: 1.4.2 - memory-fs: 0.4.1 - micromatch: 3.1.10(supports-color@6.1.0) - mkdirp: 0.5.6 + enhanced-resolve: 5.20.0 + es-module-lexer: 2.0.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.1 + mime-types: 2.1.35 neo-async: 2.6.2 - node-libs-browser: 2.2.1 - schema-utils: 1.0.0 - tapable: 1.1.3 - terser-webpack-plugin: 1.4.6(webpack@4.47.0) - watchpack: 1.7.5 - webpack-sources: 1.4.3 + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.4.0(uglify-js@3.19.3)(webpack@5.105.4) + watchpack: 2.5.1 + webpack-sources: 3.3.4 optionalDependencies: - webpack-cli: 3.3.12(webpack@4.47.0) + webpack-cli: 5.1.4(webpack@5.105.4) transitivePeerDependencies: - - supports-color - - which-module@2.0.1: {} + - '@swc/core' + - esbuild + - uglify-js - which@1.3.1: + which@2.0.2: dependencies: isexe: 2.0.0 - word-wrap@1.2.5: {} - - worker-farm@1.7.0: - dependencies: - errno: 0.1.8 + wildcard@2.0.1: {} - wrap-ansi@5.1.0: - dependencies: - ansi-styles: 3.2.1 - string-width: 3.1.0 - strip-ansi: 5.2.0 + word-wrap@1.2.5: {} wrappy@1.0.2: {} - write@1.0.3: - dependencies: - mkdirp: 0.5.6 - - xtend@4.0.2: {} - - y18n@4.0.3: {} - - yallist@3.1.1: {} - - yargs-parser@13.1.2: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - - yargs@13.3.2: - dependencies: - cliui: 5.0.0 - find-up: 3.0.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 3.1.0 - which-module: 2.0.1 - y18n: 4.0.3 - yargs-parser: 13.1.2 + yocto-queue@0.1.0: {} diff --git a/webpack.config.js b/webpack.config.js index 611a672..8f08f95 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,3 +1,4 @@ module.exports = function(env) { - return require(`./conf/webpack.${env}.js`); -}; \ No newline at end of file + const environment = env.production ? 'production' : 'development'; + return require(`./conf/webpack.${environment}.js`); +}; From 6bac60333c65a2d36a61d467fdc57b849762f8ea Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Thu, 12 Mar 2026 18:09:25 +0200 Subject: [PATCH 8/9] fix audit --- audit.log | 72 +-- conf/webpack.common.js | 7 +- conf/webpack.production.js | 9 +- dist/embed-options.js | 14 +- dist/embed-options.min.js | 2 +- dist/embed.js | 2 +- dist/options.js | 12 +- dist/options.min.js | 2 +- eslint.config.js | 64 +++ package.json | 11 +- pnpm-lock.yaml | 1027 +++++++----------------------------- 11 files changed, 270 insertions(+), 952 deletions(-) create mode 100644 eslint.config.js diff --git a/audit.log b/audit.log index ac8e453..5c418af 100644 --- a/audit.log +++ b/audit.log @@ -1,71 +1 @@ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ high │ kangax html-minifier REDoS vulnerability │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ html-minifier │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <=4.0.0 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ <0.0.0 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>html-minifier │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-pfq8-rq6v-vf5m │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ high │ minimatch has a ReDoS via repeated wildcards with │ -│ │ non-matching literal in pattern │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ minimatch │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <3.1.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=3.1.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>eslint>minimatch │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-3ppc-4f35-3m26 │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ high │ minimatch has ReDoS: matchOne() combinatorial │ -│ │ backtracking via multiple non-adjacent GLOBSTAR │ -│ │ segments │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ minimatch │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <3.1.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=3.1.3 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>eslint>minimatch │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-7r86-cg39-jmmj │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ high │ minimatch ReDoS: nested *() extglobs generate │ -│ │ catastrophically backtracking regular expressions │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ minimatch │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <3.1.4 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=3.1.4 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>eslint>minimatch │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-23c5-xmqv-rm74 │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -┌─────────────────────┬────────────────────────────────────────────────────────┐ -│ moderate │ ajv has ReDoS when using `$data` option │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Package │ ajv │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Vulnerable versions │ <6.14.0 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Patched versions │ >=6.14.0 │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ Paths │ .>compile-ejs-loader>@webpack-contrib/schema-utils>ajv │ -├─────────────────────┼────────────────────────────────────────────────────────┤ -│ More info │ https://github.com/advisories/GHSA-2g4f-4pwh-qvx6 │ -└─────────────────────┴────────────────────────────────────────────────────────┘ -5 vulnerabilities found -Severity: 1 moderate | 4 high +No known vulnerabilities found diff --git a/conf/webpack.common.js b/conf/webpack.common.js index 9197797..cabef37 100644 --- a/conf/webpack.common.js +++ b/conf/webpack.common.js @@ -20,12 +20,9 @@ module.exports = { module: { rules: [{ test: /\.ejs$/, - loader: 'compile-ejs-loader', + loader: 'ejs-loader', options: { - 'htmlmin': true, - 'htmlminOptions': { - removeComments: true - } + esModule: false } }] }, diff --git a/conf/webpack.production.js b/conf/webpack.production.js index 7cca9f9..4376776 100644 --- a/conf/webpack.production.js +++ b/conf/webpack.production.js @@ -1,7 +1,6 @@ const { merge } = require('webpack-merge'); const CommonConfig = require('./webpack.common.js'); const path = require('path'); -const ESLintPlugin = require('eslint-webpack-plugin'); module.exports = merge(CommonConfig, { mode: 'production', @@ -11,11 +10,5 @@ module.exports = merge(CommonConfig, { output: { path: path.join(process.cwd(), 'dist'), filename: '[name].min.js' - }, - plugins: [ - new ESLintPlugin({ - extensions: ['js'], - exclude: 'node_modules' - }) - ] + } }); diff --git a/dist/embed-options.js b/dist/embed-options.js index 4d2508e..87929e6 100644 --- a/dist/embed-options.js +++ b/dist/embed-options.js @@ -15,7 +15,7 @@ \****************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '', __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\nwith (obj) {\n__p += '
\\n \\n ' +\n((__t = ( label )) == null ? '' : __t) +\n'\\n \\n
\\n';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?\n}"); /***/ }, @@ -25,7 +25,7 @@ eval("{module.exports = function anonymous(data) {\n var include = function(p \*************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '', __e = _.escape;\nwith (obj) {\n__p += '
\\n
\\n ' +\n__e( elementsHtml ) +\n'\\n
\\n
';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?\n}"); /***/ }, @@ -35,7 +35,7 @@ eval("{module.exports = function anonymous(data) {\n var include = function(p \*************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '', __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\nwith (obj) {\n__p += '
\\n ';\n if (label) { ;\n__p += '\\n \\n ';\n } ;\n__p += '\\n
\\n ' +\n((__t = ( subContext.label )) == null ? '' : __t) +\n'\\n \\n
\\n ';\n }); ;\n__p += '\\n
\\n';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?\n}"); /***/ }, @@ -45,7 +45,7 @@ eval("{module.exports = function anonymous(data) {\n var include = function(p \*************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '';\nwith (obj) {\n__p += '
\\n \\n
\\n \\n
\\n
';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?\n}"); /***/ }, @@ -55,7 +55,7 @@ eval("{module.exports = function anonymous(data) {\n var include = function(p \**************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '', __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\nwith (obj) {\n__p += '
\\n \\n
\\n \\n
\\n
';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?\n}"); /***/ }, @@ -65,7 +65,7 @@ eval("{module.exports = function anonymous(data) {\n var include = function(p \************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '';\nwith (obj) {\n__p += '
\\n \\n
\\n \\n
\\n
';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?\n}"); /***/ }, @@ -175,7 +175,7 @@ eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar ifra \*********************************/ (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?\n}"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n\n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?\n}"); /***/ }, diff --git a/dist/embed-options.min.js b/dist/embed-options.min.js index 8ab1828..0b983c2 100644 --- a/dist/embed-options.min.js +++ b/dist/embed-options.min.js @@ -1 +1 @@ -(()=>{var e={180(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},780(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},392(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},29(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},803(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},382(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,r){var n=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return r&&(n=utils_js_1.default.shallowCopy(n,r)),includeFile(t,opts)(n)},rethrow])}},679(e,t,r){var n=r(672),a=r(774);a.on("load",function(e,t){if(e&&e.nodeName&&"string"==typeof t){var r=document.createElement("a");r.setAttribute("href",t),e.appendChild(r),a.trigger("load",r)}}),a.on("load",function(e){if(!e&&!a.import)for(var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])"),r=0;r4&&(t=null);var n=t&&t.parentNode;n&&n.getAttribute("class")&&n.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),n.removeAttribute("style"))}function c(e){function t(e,t){return e.nodeName&&e.nodeName.toUpperCase()===t.toUpperCase()}function r(t){var r=t.text||t.textContent||t.innerHTML||"",a=n.createScript();a.type="text/javascript";for(var i=0;i1&&function(e){var t=n.createScript(),r=[],o=[],l=null;function c(e,t){i[e]||(i[e]=[]),i[e].push(t)}function u(e){var t=e.getAttribute("data-iframely-url"),i=t.match(a.ID_RE),s=i&&i[1],u=n.parseQueryString(t,a.SUPPORTED_QUERY_STRING.concat("url")),d=u.url;delete u.url;var p="0"===u.import||"false"===u.import||"1"===u.playerjs||"true"===u.playerjs;if(!p){var f=t.match(a.BASE_RE);u.CDN=f&&f[0],l?JSON.stringify(u,Object.keys(u).sort())!==JSON.stringify(l,Object.keys(l).sort())&&(p=!0):l=u}p?a.trigger("load",e):s?(e.setAttribute("data-import-uri",s),-1===o.indexOf(s)&&o.push(s),c(s,e)):(d||(d=e.getAttribute("href")),(l.key||l.api_key||a.config.api_key||a.config.key)&&d?(e.setAttribute("data-import-uri",d),-1===r.indexOf(d)&&r.push(d),c(d,e)):a.trigger("load",e))}for(var d=0;d0||o.length>0?((l=l||{}).touch=a.isTouch(),l.flash=function(){var e=!1;try{e=!!new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),l.app=1,a.config.theme&&(l.theme=a.config.theme),r.length>0&&(l.uri=r),o.length>0&&(l.ids=o.join("&")),l.v=a.VERSION,t.src=n.getEndpoint("/api/import/v2",l,a.SUPPORTED_QUERY_STRING),t.onerror=function(){s()},document.head.appendChild(t),a.import=t):(s(),a.trigger("load"))}(t)}}),a.on("load",function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=i[e.uri];if(r)for(var n=0;n1&&function(e,t){for(var r=0,n=0;n=77},369(e,t,r){var n=r(774),a=r(672);function i(e,t){for(var r,n=0;n0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach(function(e){a.addEventListener(e,"change",f)}):console.warn("No inputs found for option",e.key))}})};p(s)}else r.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(r){r.forEach(function(r){if(r.context&&r.context.elements)t(r.context.elements);else if(r.inputs){var n,a=i[r.type];n=a&&a.getValue?a.getValue(r.inputs):r.inputs[0].value,Object.assign(e,r.getQuery(n))}})};return t(s),e}();Object.keys(u).forEach(function(t){u[t]!==e[t]&&void 0!==e[t]||delete e[t]}),a.trigger("options-changed",l,r,e)}}},960(e){var t=/^_./,r=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,n){if(!e)return[];delete(e=Object.assign({},e)).query;var a=[],i=Object.keys(e),o=0;if(i.forEach(function(i){var s,l,c={},u=e[i];u.key=i;var d,p,f=u.values&&Object.keys(u.values);if(f&&1===f.length&&(l=!0,d=f[0],p=u.values[d]),c.label=r(p||u.label,n),c.key=u.key,l||"boolean"==typeof u.value)c.checked=l?d===u.value||!d&&!u.value:u.value,o++,a.push({type:"checkbox",context:c,order:t.test(i)?0:1,getQuery:function(e){var t;t=l?e?d:"":e;var r={};return l?""===t||(r[u.key]=t):r[u.key]=e,r}});else if("number"!=typeof u.value&&"string"!=typeof u.value||u.values){if(u.values)if(c.value=u.value+"",s=function(e){var t={};return""===e||(t[u.key]=e),t},Object.keys(u.values).length<=3){u.label?c.label=r(u.label,n):c.label=!1;for(var m=0,h=!1,g=Object.values(u.values);m8,m++;c.inline=!h,c.items=[],Object.keys(u.values).forEach(function(e,t){c.items.push({id:c.key+"-"+t,value:e,label:r(u.values[e],n),checked:c.value===e})}),a.push({type:"radio",context:c,order:h?-3:/theme/.test(i)?-1:-2,getQuery:s})}else c.items=[],Object.keys(u.values).forEach(function(e){c.items.push({value:e,label:r(u.values[e],n),checked:c.value===e})}),a.push({type:"select",context:c,order:5,getQuery:s})}else{var v=u.range&&"number"==typeof u.range.min&&"number"==typeof u.range.max,y="number"==typeof u.value;c.value=u.value,s=function(e){var t={};return""===e||(t[u.key]=e),t},v?(c.min=u.range.min,c.max=u.range.max,a.push({type:"range",context:c,order:9,getQuery:s})):(c.placeholder=r(u.placeholder||"",n),c.inputType=y?"number":"text",a.push({type:"text",context:c,order:/start/i.test(i)?7:8,getQuery:s}))}}),a.sort(function(e,t){return e.order-t.order}),a.forEach(function(e){delete e.order}),o>0){var s,l=[];return a.forEach(function(e,r){if("checkbox"===e.type){var n=o>2&&r>0&&!t.test(e.context.key)&&"checkbox"===a[r-1].type&&t.test(a[r-1].context.key);s&&!n||(s=[],l.push({type:"group",context:{elements:s}})),s.push(e)}else l.push(e)}),l}return a}},448(e,t,r){var n=r(774),a=r(410),i=r(505);n.buildOptionsForm=function(e,t,r,n){a({id:e,formContainer:t,options:r,renderer:i,translator:n})},t.iframely=n},505(e,t,r){var n={checkbox:r(180),range:r(29),text:r(382),radio:r(392),select:r(803),group:r(780)};e.exports=function(e,t){return(0,n[e])(t)}},908(e,t,r){var n=r(774),a=r(369);function i(e,t){a.postMessage({method:"setTheme",data:t},"*",e.contentWindow)}function o(e,t){for(var r=e.getElementsByTagName("iframe"),n=0;n-1?t?"IFRAME"===t.tagName?i(t,e):o(t,e):(n.extendOptions({theme:e}),o(document,e),n.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+n.SUPPORTED_THEMES.join(", "))}},672(e,t,r){var n=r(774),a=r(369);n.on("init",function(){n.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return a}}return{}}()),function(){var e="iframely-styles",t=document.getElementById(e);if(!t){var r=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(t=document.createElement("style")).id=e,t.type="text/css",o(t),t.styleSheet?t.styleSheet.cssText=r:t.innerHTML=r,document.getElementsByTagName("head")[0].appendChild(t)}}(),n.config.theme&&n.setTheme(n.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||n.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==n.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==n.ASPECT_WRAPPER_CLASS)){var a=r.parentNode;if(!(!a||"DIV"!==a.nodeName||l(a)>1||t&&a.getAttribute("class")&&-1===a.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)||!t&&a.getAttribute("class")&&!a.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:a}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=n.MAXWIDTH_WRAPPER_CLASS;var a=document.createElement("div");return a.className=n.ASPECT_WRAPPER_CLASS,r.appendChild(a),t.insertBefore(r,e),{aspectWrapper:a,maxWidthWrapper:r}},t.getWidget=function(e){var t=i(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var n=u(e.getAttribute("src"));n.url&&(r.url=n.url)}return r}},n.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach(function(r){var a=t[r];("number"==typeof a||"string"==typeof a&&/^(\d+)?\.?(\d+)$/.test(a))&&(a+="px");var i=e.style[r];window.getComputedStyle&&(n.getElementComputedStyle(e,r)==a||"iframely-responsive"==e.className&&"paddingBottom"===r&&!i&&/^56\.2\d+%$/.test(a)||"max-width"===r&&"keep"===a)||(e.style[r]=a||"")})};var o=t.applyNonce=function(e){n.config.nonce&&(e.nonce=n.config.nonce)},s=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach(function(n){var a=t[n];if("[object Array]"===Object.prototype.toString.call(a)){var i=a.map(function(e){return n+"="+encodeURIComponent(e)});r+="&"+i.join("&")}else void 0!==a&&-1===e.indexOf(n+"=")&&("boolean"==typeof a&&"_"!==n.charAt(0)&&(a=a?1:0),r+="&"+n+"="+encodeURIComponent(a))}),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function l(e){for(var t=0,r=0;r=0;return r&&e}(e.maxWidthWrapper,n.config.parent);a&&(t=a.parentNode,r=a)}if(e.url){var i=e.iframe&&(e.iframe.textContent||e.iframe.innerText);n.triggerAsync("cancel",e.url,t,i,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},612(e,t,r){var n=r(774);n.on("message",function(e,t){"open-href"!==t.method&&"click"!==t.method||n.trigger(t.method,t.href)}),n.openHref||(n.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),n.on("open-href",function(e){n.triggerAsync("click",e),n.openHref(e)})},742(e,t,r){var n=r(774);n.on("message",function(e,t){"setIframelyEmbedOptions"===t.method&&n.trigger("options",e,t.data)})},850(e,t,r){var n=r(672),a=r(774);a.on("message",function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach(function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}}),s(e,r)):"setIframelyEmbedData"===t.method&&s(e,null);var i=t.data&&t.data.media;!i&&t.height&&(i={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;return r&&(r=parseInt(r[1]),r*=2),r}(e),i=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),n.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var s=t["aspect-ratio"];(s||t.height)&&n.setStyles(e.aspectWrapper,{paddingBottom:s?Math.round(1e5/s)/1e3+"%":0,paddingTop:s&&t["padding-bottom"],height:s?0:t.height&&t.height+r});var l=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");i&&i!==l&&a.triggerAsync("heightChanged",e.iframe,i,l)}}(e,i)}});var i={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function s(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",n.setStyles(e.aspectWrapper,t)):n.setStyles(e.iframe,t):!t&&e&&e.iframe&&(n.setStyles(e.aspectWrapper,i),n.setStyles(e.iframe,o))}}},t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),(()=>{r(331);var e=r(774);e._loaded||(e._loaded=!0,r(54),r(912),r(56),r(908),r(472),r(679),r(573),r(324),r(648),r(850),r(612),r(742),r(916),r(291),r(448),e.trigger("init"))})()})(); \ No newline at end of file +(()=>{var __webpack_modules__={530(module){module.exports=function(obj){obj||(obj={});var __t,__p="",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,"")}with(obj)__p+='
\n \n '+(null==(__t=label)?"":__t)+"\n \n
\n";return __p}},30(module){module.exports=function(obj){obj||(obj={});var __t,__p="",__e=_.escape;with(obj)__p+='
\n
\n '+__e(elementsHtml)+"\n
\n
";return __p}},510(module){module.exports=function(obj){obj||(obj={});var __t,__p="",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,"")}with(obj)__p+='
\n ',label&&(__p+='\n \n "),__p+='\n
\n '+(null==(__t=e.label)?"":__t)+"\n \n
\n "}),__p+="\n
\n";return __p}},300(module){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='
\n \n
\n \n
\n
';return __p}},37(module){module.exports=function(obj){obj||(obj={});var __t,__p="",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,"")}with(obj)__p+='
\n \n
\n \n
\n
";return __p}},712(module){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='
\n \n
\n \n
\n
';return __p}},679(e,t,r){var n=r(672),a=r(774);a.on("load",function(e,t){if(e&&e.nodeName&&"string"==typeof t){var r=document.createElement("a");r.setAttribute("href",t),e.appendChild(r),a.trigger("load",r)}}),a.on("load",function(e){if(!e&&!a.import)for(var t=document.querySelectorAll("a[data-iframely-url]:not([data-import-uri])"),r=0;r4&&(t=null);var n=t&&t.parentNode;n&&n.getAttribute("class")&&n.getAttribute("class").split(" ").indexOf(a.MAXWIDTH_WRAPPER_CLASS)>-1&&(t.removeAttribute("style"),t.removeAttribute("class"),n.removeAttribute("style"))}function s(e){function t(e,t){return e.nodeName&&e.nodeName.toUpperCase()===t.toUpperCase()}function r(t){var r=t.text||t.textContent||t.innerHTML||"",a=n.createScript();a.type="text/javascript";for(var i=0;i1&&function(e){var t=n.createScript(),r=[],o=[],c=null;function s(e,t){i[e]||(i[e]=[]),i[e].push(t)}function d(e){var t=e.getAttribute("data-iframely-url"),i=t.match(a.ID_RE),l=i&&i[1],d=n.parseQueryString(t,a.SUPPORTED_QUERY_STRING.concat("url")),u=d.url;delete d.url;var p="0"===d.import||"false"===d.import||"1"===d.playerjs||"true"===d.playerjs;if(!p){var f=t.match(a.BASE_RE);d.CDN=f&&f[0],c?JSON.stringify(d,Object.keys(d).sort())!==JSON.stringify(c,Object.keys(c).sort())&&(p=!0):c=d}p?a.trigger("load",e):l?(e.setAttribute("data-import-uri",l),-1===o.indexOf(l)&&o.push(l),s(l,e)):(u||(u=e.getAttribute("href")),(c.key||c.api_key||a.config.api_key||a.config.key)&&u?(e.setAttribute("data-import-uri",u),-1===r.indexOf(u)&&r.push(u),s(u,e)):a.trigger("load",e))}for(var u=0;u0||o.length>0?((c=c||{}).touch=a.isTouch(),c.flash=function(){var e=!1;try{e=!!new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(t){e=!(!navigator.mimeTypes||null==navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}return e}(),c.app=1,a.config.theme&&(c.theme=a.config.theme),r.length>0&&(c.uri=r),o.length>0&&(c.ids=o.join("&")),c.v=a.VERSION,t.src=n.getEndpoint("/api/import/v2",c,a.SUPPORTED_QUERY_STRING),t.onerror=function(){l()},document.head.appendChild(t),a.import=t):(l(),a.trigger("load"))}(t)}}),a.on("load",function(e,t){if(e&&e.uri&&(e.html||e.cancel)){var r=i[e.uri];if(r)for(var n=0;n1&&function(e,t){for(var r=0,n=0;n=77},369(e,t,r){var n=r(774),a=r(672);function i(e,t){for(var r,n=0;n0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach(function(e){a.addEventListener(e,"change",f)}):console.warn("No inputs found for option",e.key))}})};p(l)}else r.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(r){r.forEach(function(r){if(r.context&&r.context.elements)t(r.context.elements);else if(r.inputs){var n,a=i[r.type];n=a&&a.getValue?a.getValue(r.inputs):r.inputs[0].value,Object.assign(e,r.getQuery(n))}})};return t(l),e}();Object.keys(d).forEach(function(t){d[t]!==e[t]&&void 0!==e[t]||delete e[t]}),a.trigger("options-changed",c,r,e)}}},960(e){var t=/^_./,r=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,n){if(!e)return[];delete(e=Object.assign({},e)).query;var a=[],i=Object.keys(e),o=0;if(i.forEach(function(i){var l,c,s={},d=e[i];d.key=i;var u,p,f=d.values&&Object.keys(d.values);if(f&&1===f.length&&(c=!0,u=f[0],p=d.values[u]),s.label=r(p||d.label,n),s.key=d.key,c||"boolean"==typeof d.value)s.checked=c?u===d.value||!u&&!d.value:d.value,o++,a.push({type:"checkbox",context:s,order:t.test(i)?0:1,getQuery:function(e){var t;t=c?e?u:"":e;var r={};return c?""===t||(r[d.key]=t):r[d.key]=e,r}});else if("number"!=typeof d.value&&"string"!=typeof d.value||d.values){if(d.values)if(s.value=d.value+"",l=function(e){var t={};return""===e||(t[d.key]=e),t},Object.keys(d.values).length<=3){d.label?s.label=r(d.label,n):s.label=!1;for(var m=0,_=!1,h=Object.values(d.values);m8,m++;s.inline=!_,s.items=[],Object.keys(d.values).forEach(function(e,t){s.items.push({id:s.key+"-"+t,value:e,label:r(d.values[e],n),checked:s.value===e})}),a.push({type:"radio",context:s,order:_?-3:/theme/.test(i)?-1:-2,getQuery:l})}else s.items=[],Object.keys(d.values).forEach(function(e){s.items.push({value:e,label:r(d.values[e],n),checked:s.value===e})}),a.push({type:"select",context:s,order:5,getQuery:l})}else{var g=d.range&&"number"==typeof d.range.min&&"number"==typeof d.range.max,v="number"==typeof d.value;s.value=d.value,l=function(e){var t={};return""===e||(t[d.key]=e),t},g?(s.min=d.range.min,s.max=d.range.max,a.push({type:"range",context:s,order:9,getQuery:l})):(s.placeholder=r(d.placeholder||"",n),s.inputType=v?"number":"text",a.push({type:"text",context:s,order:/start/i.test(i)?7:8,getQuery:l}))}}),a.sort(function(e,t){return e.order-t.order}),a.forEach(function(e){delete e.order}),o>0){var l,c=[];return a.forEach(function(e,r){if("checkbox"===e.type){var n=o>2&&r>0&&!t.test(e.context.key)&&"checkbox"===a[r-1].type&&t.test(a[r-1].context.key);l&&!n||(l=[],c.push({type:"group",context:{elements:l}})),l.push(e)}else c.push(e)}),c}return a}},448(e,t,r){var n=r(774),a=r(410),i=r(505);n.buildOptionsForm=function(e,t,r,n){a({id:e,formContainer:t,options:r,renderer:i,translator:n})},t.iframely=n},505(e,t,r){var n={checkbox:r(530),range:r(300),text:r(712),radio:r(510),select:r(37),group:r(30)};e.exports=function(e,t){return(0,n[e])(t)}},908(e,t,r){var n=r(774),a=r(369);function i(e,t){a.postMessage({method:"setTheme",data:t},"*",e.contentWindow)}function o(e,t){for(var r=e.getElementsByTagName("iframe"),n=0;n-1?t?"IFRAME"===t.tagName?i(t,e):o(t,e):(n.extendOptions({theme:e}),o(document,e),n.trigger("set-theme",e)):console.warn('Using iframely.setTheme with not supported theme: "'+e+'". Supported themes are: '+n.SUPPORTED_THEMES.join(", "))}},672(e,t,r){var n=r(774),a=r(369);n.on("init",function(){n.extendOptions(function(){for(var e=document.querySelectorAll('script[src*="embed.js"], script[src*="iframely.js"]'),t=0;t0)return a}}return{}}()),function(){var e="iframely-styles",t=document.getElementById(e);if(!t){var r=".iframely-responsive{top:0;left:0;width:100%;height:0;position:relative;padding-bottom:56.25%;box-sizing:border-box;}.iframely-responsive>*{top:0;left:0;width:100%;height:100%;position:absolute;border:0;box-sizing:border-box;}";(t=document.createElement("style")).id=e,t.type="text/css",o(t),t.styleSheet?t.styleSheet.cssText=r:t.innerHTML=r,document.getElementsByTagName("head")[0].appendChild(t)}}(),n.config.theme&&n.setTheme(n.config.theme),function(e){for(var t=document.querySelectorAll('iframe[src*="'+(e||n.DOMAINS).join('"], iframe[src*="')+'"]'),r=0;r2||t&&r.getAttribute("class")!==n.ASPECT_WRAPPER_CLASS||!t&&"relative"!==r.style.position&&r.getAttribute("class")!==n.ASPECT_WRAPPER_CLASS)){var a=r.parentNode;if(!(!a||"DIV"!==a.nodeName||c(a)>1||t&&a.getAttribute("class")&&-1===a.getAttribute("class").split(" ").indexOf(n.MAXWIDTH_WRAPPER_CLASS)||!t&&a.getAttribute("class")&&!a.getAttribute("class").match(/iframely/i)))return{aspectWrapper:r,maxWidthWrapper:a}}};t.addDefaultWrappers=function(e){var t=e.parentNode,r=document.createElement("div");r.className=n.MAXWIDTH_WRAPPER_CLASS;var a=document.createElement("div");return a.className=n.ASPECT_WRAPPER_CLASS,r.appendChild(a),t.insertBefore(r,e),{aspectWrapper:a,maxWidthWrapper:r}},t.getWidget=function(e){var t=i(e);if(t){var r={iframe:e,aspectWrapper:t.aspectWrapper,maxWidthWrapper:t.maxWidthWrapper};if("A"===e.nodeName&&e.hasAttribute("href"))r.url=e.getAttribute("href");else if(e.hasAttribute("src")&&/url=/.test(e.getAttribute("src"))){var n=d(e.getAttribute("src"));n.url&&(r.url=n.url)}return r}},n.getElementComputedStyle=function(e,t){return window.getComputedStyle&&window.getComputedStyle(e).getPropertyValue(t)},t.setStyles=function(e,t){e&&Object.keys(t).forEach(function(r){var a=t[r];("number"==typeof a||"string"==typeof a&&/^(\d+)?\.?(\d+)$/.test(a))&&(a+="px");var i=e.style[r];window.getComputedStyle&&(n.getElementComputedStyle(e,r)==a||"iframely-responsive"==e.className&&"paddingBottom"===r&&!i&&/^56\.2\d+%$/.test(a)||"max-width"===r&&"keep"===a)||(e.style[r]=a||"")})};var o=t.applyNonce=function(e){n.config.nonce&&(e.nonce=n.config.nonce)},l=t.addQueryString=function(e,t){var r="";return Object.keys(t).forEach(function(n){var a=t[n];if("[object Array]"===Object.prototype.toString.call(a)){var i=a.map(function(e){return n+"="+encodeURIComponent(e)});r+="&"+i.join("&")}else void 0!==a&&-1===e.indexOf(n+"=")&&("boolean"==typeof a&&"_"!==n.charAt(0)&&(a=a?1:0),r+="&"+n+"="+encodeURIComponent(a))}),e+(""!==r?(e.indexOf("?")>-1?"&":"?")+r.replace(/^&/,""):"")};function c(e){for(var t=0,r=0;r=0;return r&&e}(e.maxWidthWrapper,n.config.parent);a&&(t=a.parentNode,r=a)}if(e.url){var i=e.iframe&&(e.iframe.textContent||e.iframe.innerText);n.triggerAsync("cancel",e.url,t,i,r.nextSibling)}t.removeChild(r)}else console.warn("iframely.cancelWidget called without widget param")}},612(e,t,r){var n=r(774);n.on("message",function(e,t){"open-href"!==t.method&&"click"!==t.method||n.trigger(t.method,t.href)}),n.openHref||(n.openHref=function(e){0===e.indexOf(window.location.origin)?window.location.href=e:window.open(e,"_blank","noopener")}),n.on("open-href",function(e){n.triggerAsync("click",e),n.openHref(e)})},742(e,t,r){var n=r(774);n.on("message",function(e,t){"setIframelyEmbedOptions"===t.method&&n.trigger("options",e,t.data)})},850(e,t,r){var n=r(672),a=r(774);a.on("message",function(e,t){if("setIframelyWidgetSize"===t.method||"resize"===t.method||"setIframelyEmbedData"===t.method||"embed-size"===t.type||"iframe.resize"===t.context){var r=null;t.data&&t.data.media&&t.data.media.frame_style?(t.data.media.frame_style.split(";").forEach(function(e){if(""!==e.trim()&&e.indexOf(":")>-1){var t=e.split(":");2===t.length&&((r=r||{})[t[0].trim()]=t[1].trim())}}),l(e,r)):"setIframelyEmbedData"===t.method&&l(e,null);var i=t.data&&t.data.media;!i&&t.height&&(i={height:t.height,"max-width":"keep"}),function(e,t){if(t&&Object.keys(t).length>0&&e){var r=function(e){var t=e.iframe&&e.iframe.style.border||e.aspectWrapper&&e.aspectWrapper.style.border,r=t&&t.match(/(\d+)px/)||0;return r&&(r=parseInt(r[1]),r*=2),r}(e),i=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height"),o=t["max-width"];"number"==typeof o&&(o+=r),n.setStyles(e.maxWidthWrapper,{"max-width":o,"min-width":t["min-width"]&&t["min-width"]+r,width:t.width&&t.width+r}),t.scrolling&&e.iframe&&e.iframe.setAttribute("scrolling",t.scrolling);var l=t["aspect-ratio"];(l||t.height)&&n.setStyles(e.aspectWrapper,{paddingBottom:l?Math.round(1e5/l)/1e3+"%":0,paddingTop:l&&t["padding-bottom"],height:l?0:t.height&&t.height+r});var c=window.getComputedStyle&&window.getComputedStyle(e.iframe).getPropertyValue("height");i&&i!==c&&a.triggerAsync("heightChanged",e.iframe,i,c)}}(e,i)}});var i={border:"","border-radius":"","box-shadow":"",overflow:""},o={border:"0","border-radius":"","box-shadow":"",overflow:""};function l(e,t){t&&e&&e.iframe?t["border-radius"]?(t.overflow="hidden",n.setStyles(e.aspectWrapper,t)):n.setStyles(e.iframe,t):!t&&e&&e.iframe&&(n.setStyles(e.aspectWrapper,i),n.setStyles(e.iframe,o))}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var __webpack_exports__={};(()=>{__webpack_require__(331);var e=__webpack_require__(774);e._loaded||(e._loaded=!0,__webpack_require__(54),__webpack_require__(912),__webpack_require__(56),__webpack_require__(908),__webpack_require__(472),__webpack_require__(679),__webpack_require__(573),__webpack_require__(324),__webpack_require__(648),__webpack_require__(850),__webpack_require__(612),__webpack_require__(742),__webpack_require__(916),__webpack_require__(291),__webpack_require__(448),e.trigger("init"))})()})(); \ No newline at end of file diff --git a/dist/embed.js b/dist/embed.js index 75718c6..a584cd5 100644 --- a/dist/embed.js +++ b/dist/embed.js @@ -115,7 +115,7 @@ eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar ifra \*********************************/ (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?\n}"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n\n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?\n}"); /***/ }, diff --git a/dist/options.js b/dist/options.js index c1e6c2b..98d463b 100644 --- a/dist/options.js +++ b/dist/options.js @@ -15,7 +15,7 @@ \****************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '', __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\nwith (obj) {\n__p += '
\\n \\n ' +\n((__t = ( label )) == null ? '' : __t) +\n'\\n \\n
\\n';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/checkbox.ejs?\n}"); /***/ }, @@ -25,7 +25,7 @@ eval("{module.exports = function anonymous(data) {\n var include = function(p \*************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '', __e = _.escape;\nwith (obj) {\n__p += '
\\n
\\n ' +\n__e( elementsHtml ) +\n'\\n
\\n
';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/group.ejs?\n}"); /***/ }, @@ -35,7 +35,7 @@ eval("{module.exports = function anonymous(data) {\n var include = function(p \*************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '', __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\nwith (obj) {\n__p += '
\\n ';\n if (label) { ;\n__p += '\\n \\n ';\n } ;\n__p += '\\n
\\n ' +\n((__t = ( subContext.label )) == null ? '' : __t) +\n'\\n \\n
\\n ';\n }); ;\n__p += '\\n
\\n';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/radio.ejs?\n}"); /***/ }, @@ -45,7 +45,7 @@ eval("{module.exports = function anonymous(data) {\n var include = function(p \*************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '';\nwith (obj) {\n__p += '
\\n \\n
\\n \\n
\\n
';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/range.ejs?\n}"); /***/ }, @@ -55,7 +55,7 @@ eval("{module.exports = function anonymous(data) {\n var include = function(p \**************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '', __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\nwith (obj) {\n__p += '
\\n \\n
\\n \\n
\\n
';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/select.ejs?\n}"); /***/ }, @@ -65,7 +65,7 @@ eval("{module.exports = function anonymous(data) {\n var include = function(p \************************************/ (module) { -eval("{module.exports = function anonymous(data) {\n var include = function(path, includeData) {\n var d = utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils_js_1.default.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [ data || utils_js_1.default.createNullProtoObjWherePossible(), escapeFn, include, rethrow ]);\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?\n}"); +eval("{module.exports = function(obj) {\nobj || (obj = {});\nvar __t, __p = '';\nwith (obj) {\n__p += '
\\n \\n
\\n \\n
\\n
';\n\n}\nreturn __p\n}\n\n//# sourceURL=webpack:///./options/templates/text.ejs?\n}"); /***/ }, diff --git a/dist/options.min.js b/dist/options.min.js index 219deb7..2be8265 100644 --- a/dist/options.min.js +++ b/dist/options.min.js @@ -1 +1 @@ -(()=>{var e,t,n,r={180(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},780(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},392(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},29(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},803(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},382(e){e.exports=function(e){return fn.apply(opts.context,[e||utils_js_1.default.createNullProtoObjWherePossible(),escapeFn,function(t,n){var r=utils_js_1.default.shallowCopy(utils_js_1.default.createNullProtoObjWherePossible(),e);return n&&(r=utils_js_1.default.shallowCopy(r,n)),includeFile(t,opts)(r)},rethrow])}},774(e){var t=window.iframely=window.iframely||{};t.config=t.config||{},e.exports=t},410(e,t,n){var r=n(960),o=n(774),l={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];o.addEventListener(n,"click",function(){n.select()}),o.addEventListener(n,"blur",t),o.addEventListener(n,"keyup",function(e){13===e.keyCode&&t()})}},radio:{getValue:function(e){var t;return e.forEach(function(e){e.checked&&(t=e)}),t.value}}},u={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var s=r(t,e.translator),a=e.id,i=e.renderer,c=u[a]=u[a]||{};Object.keys(t).forEach(function(e){t.query&&-1!==t.query.indexOf(e)||(c[e]=t[e].value)});var f=function(e){var t="";return e.forEach(function(e){e.context&&e.context.elements&&(e.context.elementsHtml=f(e.context.elements)),t+=i(e.type,e.context||{})}),t};n.innerHTML=f(s);var p=function(e){e.forEach(function(e){if(e.context&&e.context.elements)p(e.context.elements);else{var t=l[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,v):e.inputs.forEach(function(e){o.addEventListener(e,"change",v)}):console.warn("No inputs found for option",e.key))}})};p(s)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function v(){var e=function(){var e={},t=function(n){n.forEach(function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var r,o=l[n.type];r=o&&o.getValue?o.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(r))}})};return t(s),e}();Object.keys(c).forEach(function(t){c[t]!==e[t]&&void 0!==e[t]||delete e[t]}),o.trigger("options-changed",a,n,e)}}},960(e){var t=/^_./,n=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,r){if(!e)return[];delete(e=Object.assign({},e)).query;var o=[],l=Object.keys(e),u=0;if(l.forEach(function(l){var s,a,i={},c=e[l];c.key=l;var f,p,v=c.values&&Object.keys(c.values);if(v&&1===v.length&&(a=!0,f=v[0],p=c.values[f]),i.label=n(p||c.label,r),i.key=c.key,a||"boolean"==typeof c.value)i.checked=a?f===c.value||!f&&!c.value:c.value,u++,o.push({type:"checkbox",context:i,order:t.test(l)?0:1,getQuery:function(e){var t;t=a?e?f:"":e;var n={};return a?""===t||(n[c.key]=t):n[c.key]=e,n}});else if("number"!=typeof c.value&&"string"!=typeof c.value||c.values){if(c.values)if(i.value=c.value+"",s=function(e){var t={};return""===e||(t[c.key]=e),t},Object.keys(c.values).length<=3){c.label?i.label=n(c.label,r):i.label=!1;for(var d=0,h=!1,y=Object.values(c.values);d8,d++;i.inline=!h,i.items=[],Object.keys(c.values).forEach(function(e,t){i.items.push({id:i.key+"-"+t,value:e,label:n(c.values[e],r),checked:i.value===e})}),o.push({type:"radio",context:i,order:h?-3:/theme/.test(l)?-1:-2,getQuery:s})}else i.items=[],Object.keys(c.values).forEach(function(e){i.items.push({value:e,label:n(c.values[e],r),checked:i.value===e})}),o.push({type:"select",context:i,order:5,getQuery:s})}else{var b=c.range&&"number"==typeof c.range.min&&"number"==typeof c.range.max,x="number"==typeof c.value;i.value=c.value,s=function(e){var t={};return""===e||(t[c.key]=e),t},b?(i.min=c.range.min,i.max=c.range.max,o.push({type:"range",context:i,order:9,getQuery:s})):(i.placeholder=n(c.placeholder||"",r),i.inputType=x?"number":"text",o.push({type:"text",context:i,order:/start/i.test(l)?7:8,getQuery:s}))}}),o.sort(function(e,t){return e.order-t.order}),o.forEach(function(e){delete e.order}),u>0){var s,a=[];return o.forEach(function(e,n){if("checkbox"===e.type){var r=u>2&&n>0&&!t.test(e.context.key)&&"checkbox"===o[n-1].type&&t.test(o[n-1].context.key);s&&!r||(s=[],a.push({type:"group",context:{elements:s}})),s.push(e)}else a.push(e)}),a}return o}},505(e,t,n){var r={checkbox:n(180),range:n(29),text:n(382),radio:n(392),select:n(803),group:n(780)};e.exports=function(e,t){return(0,r[e])(t)}}},o={};function l(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e](n,n.exports,l),n.exports}e=l(774),t=l(410),n=l(505),e.buildOptionsForm=function(e,r,o,l){t({id:e,formContainer:r,options:o,renderer:n,translator:l})}})(); \ No newline at end of file +(()=>{var __webpack_modules__={530(module){module.exports=function(obj){obj||(obj={});var __t,__p="",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,"")}with(obj)__p+='
\n \n '+(null==(__t=label)?"":__t)+"\n \n
\n";return __p}},30(module){module.exports=function(obj){obj||(obj={});var __t,__p="",__e=_.escape;with(obj)__p+='
\n
\n '+__e(elementsHtml)+"\n
\n
";return __p}},510(module){module.exports=function(obj){obj||(obj={});var __t,__p="",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,"")}with(obj)__p+='
\n ',label&&(__p+='\n \n "),__p+='\n
\n '+(null==(__t=e.label)?"":__t)+"\n \n
\n "}),__p+="\n
\n";return __p}},300(module){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='
\n \n
\n \n
\n
';return __p}},37(module){module.exports=function(obj){obj||(obj={});var __t,__p="",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,"")}with(obj)__p+='
\n \n
\n \n
\n
";return __p}},712(module){module.exports=function(obj){obj||(obj={});var __t,__p="";with(obj)__p+='
\n \n
\n \n
\n
';return __p}},774(e){var t=window.iframely=window.iframely||{};t.config=t.config||{},e.exports=t},410(e,t,n){var _=n(960),l=n(774),o={checkbox:{getValue:function(e){return e[0].checked}},text:{getValue:function(e){var t=e[0],n=t.value;return"number"===t.type&&(n=parseInt(n),isNaN(n)&&(n="")),n},customEvents:function(e,t){var n=e[0];l.addEventListener(n,"click",function(){n.select()}),l.addEventListener(n,"blur",t),l.addEventListener(n,"keyup",function(e){13===e.keyCode&&t()})}},radio:{getValue:function(e){var t;return e.forEach(function(e){e.checked&&(t=e)}),t.value}}},r={};e.exports=function(e){var t=e.options,n=e.formContainer;if(n)if(t){var a=_(t,e.translator),i=e.id,u=e.renderer,c=r[i]=r[i]||{};Object.keys(t).forEach(function(e){t.query&&-1!==t.query.indexOf(e)||(c[e]=t[e].value)});var p=function(e){var t="";return e.forEach(function(e){e.context&&e.context.elements&&(e.context.elementsHtml=p(e.context.elements)),t+=u(e.type,e.context||{})}),t};n.innerHTML=p(a);var s=function(e){e.forEach(function(e){if(e.context&&e.context.elements)s(e.context.elements);else{var t=o[e.type];e.context&&(e.inputs=n.querySelectorAll('[name="'+e.context.key+'"]'),e.inputs.length>0?t&&t.customEvents?t.customEvents(e.inputs,f):e.inputs.forEach(function(e){l.addEventListener(e,"change",f)}):console.warn("No inputs found for option",e.key))}})};s(a)}else n.innerHTML="";else console.warn("No formContainer in form-builder options",e);function f(){var e=function(){var e={},t=function(n){n.forEach(function(n){if(n.context&&n.context.elements)t(n.context.elements);else if(n.inputs){var _,l=o[n.type];_=l&&l.getValue?l.getValue(n.inputs):n.inputs[0].value,Object.assign(e,n.getQuery(_))}})};return t(a),e}();Object.keys(c).forEach(function(t){c[t]!==e[t]&&void 0!==e[t]||delete e[t]}),l.trigger("options-changed",i,n,e)}}},960(e){var t=/^_./,n=function(e,t){return t&&"function"==typeof t&&t(e)||e};e.exports=function(e,_){if(!e)return[];delete(e=Object.assign({},e)).query;var l=[],o=Object.keys(e),r=0;if(o.forEach(function(o){var a,i,u={},c=e[o];c.key=o;var p,s,f=c.values&&Object.keys(c.values);if(f&&1===f.length&&(i=!0,p=f[0],s=c.values[p]),u.label=n(s||c.label,_),u.key=c.key,i||"boolean"==typeof c.value)u.checked=i?p===c.value||!p&&!c.value:c.value,r++,l.push({type:"checkbox",context:u,order:t.test(o)?0:1,getQuery:function(e){var t;t=i?e?p:"":e;var n={};return i?""===t||(n[c.key]=t):n[c.key]=e,n}});else if("number"!=typeof c.value&&"string"!=typeof c.value||c.values){if(c.values)if(u.value=c.value+"",a=function(e){var t={};return""===e||(t[c.key]=e),t},Object.keys(c.values).length<=3){c.label?u.label=n(c.label,_):u.label=!1;for(var v=0,d=!1,y=Object.values(c.values);v8,v++;u.inline=!d,u.items=[],Object.keys(c.values).forEach(function(e,t){u.items.push({id:u.key+"-"+t,value:e,label:n(c.values[e],_),checked:u.value===e})}),l.push({type:"radio",context:u,order:d?-3:/theme/.test(o)?-1:-2,getQuery:a})}else u.items=[],Object.keys(c.values).forEach(function(e){u.items.push({value:e,label:n(c.values[e],_),checked:u.value===e})}),l.push({type:"select",context:u,order:5,getQuery:a})}else{var m=c.range&&"number"==typeof c.range.min&&"number"==typeof c.range.max,b="number"==typeof c.value;u.value=c.value,a=function(e){var t={};return""===e||(t[c.key]=e),t},m?(u.min=c.range.min,u.max=c.range.max,l.push({type:"range",context:u,order:9,getQuery:a})):(u.placeholder=n(c.placeholder||"",_),u.inputType=b?"number":"text",l.push({type:"text",context:u,order:/start/i.test(o)?7:8,getQuery:a}))}}),l.sort(function(e,t){return e.order-t.order}),l.forEach(function(e){delete e.order}),r>0){var a,i=[];return l.forEach(function(e,n){if("checkbox"===e.type){var _=r>2&&n>0&&!t.test(e.context.key)&&"checkbox"===l[n-1].type&&t.test(l[n-1].context.key);a&&!_||(a=[],i.push({type:"group",context:{elements:a}})),a.push(e)}else i.push(e)}),i}return l}},505(e,t,n){var _={checkbox:n(530),range:n(300),text:n(712),radio:n(510),select:n(37),group:n(30)};e.exports=function(e,t){return(0,_[e])(t)}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](n,n.exports,__webpack_require__),n.exports}var __webpack_exports__={},iframely,formBuilder,renderer;iframely=__webpack_require__(774),formBuilder=__webpack_require__(410),renderer=__webpack_require__(505),iframely.buildOptionsForm=function(e,t,n,_){formBuilder({id:e,formContainer:t,options:n,renderer,translator:_})}})(); \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..99a278c --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,64 @@ +module.exports = [ + { + languageOptions: { + ecmaVersion: 2018, + sourceType: 'module', + globals: { + ActiveXObject: 'readonly', + console: 'readonly', + window: 'readonly', + document: 'readonly', + navigator: 'readonly', + setTimeout: 'readonly', + clearTimeout: 'readonly', + setInterval: 'readonly', + clearInterval: 'readonly', + requestAnimationFrame: 'readonly', + cancelAnimationFrame: 'readonly', + IntersectionObserver: 'readonly', + MutationObserver: 'readonly', + XMLHttpRequest: 'readonly', + location: 'readonly', + module: 'readonly', + require: 'readonly', + exports: 'readonly' + } + }, + rules: { + 'indent': [ + 'error', + 4, + { + 'ignoreComments': true + } + ], + 'linebreak-style': [ + 'error', + 'unix' + ], + 'quotes': [ + 'error', + 'single', + { + 'avoidEscape': true + } + ], + 'semi': [ + 'error', + 'always' + ], + 'no-console': [ + 'warn', + { + 'allow': ['warn', 'error'] + } + ], + 'no-empty': [ + 'error', + { + 'allowEmptyCatch': true + } + ] + } + } +]; diff --git a/package.json b/package.json index 88b1465..800e1b2 100644 --- a/package.json +++ b/package.json @@ -21,20 +21,19 @@ "main": "src/index.js", "scripts": { "start": "webpack --env development --progress --watch", + "prebuild": "eslint ./src/**.js", "build": "webpack --env production --progress", "all": "webpack --env production && webpack --env development", "lint": "eslint ./src/**.js" }, "devDependencies": { - "compile-ejs-loader": "0.0.2", - "eslint": "^8.57.0", - "eslint-webpack-plugin": "^4.0.1", + "ejs-loader": "^0.5.0", + "eslint": "^10.0.0", + "eslint-webpack-plugin": "^5.0.1", "webpack": "^5.90.0", "webpack-cli": "^5.1.4", "webpack-merge": "^6.0.1", - "ejs": "^5.0.1", - "html-minifier": "^3.5.19", - "uglify-js": "^3.4.6" + "ejs": "^5.0.1" }, "license": "MIT", "dependencies": {} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6503d79..62d73f6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,27 +8,21 @@ importers: .: devDependencies: - compile-ejs-loader: - specifier: 0.0.2 - version: 0.0.2(webpack@5.105.4) ejs: specifier: ^5.0.1 version: 5.0.1 + ejs-loader: + specifier: ^0.5.0 + version: 0.5.0 eslint: - specifier: ^8.57.0 - version: 8.57.1 + specifier: ^10.0.0 + version: 10.0.3 eslint-webpack-plugin: - specifier: ^4.0.1 - version: 4.2.0(eslint@8.57.1)(webpack@5.105.4) - html-minifier: - specifier: ^3.5.19 - version: 3.5.21 - uglify-js: - specifier: ^3.4.6 - version: 3.19.3 + specifier: ^5.0.1 + version: 5.0.3(eslint@10.0.3)(webpack@5.105.4) webpack: specifier: ^5.90.0 - version: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + version: 5.105.4(webpack-cli@5.1.4) webpack-cli: specifier: ^5.1.4 version: 5.1.4(webpack@5.105.4) @@ -52,26 +46,41 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.23.3': + resolution: {integrity: sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-helpers@0.5.3': + resolution: {integrity: sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/core@1.1.1': + resolution: {integrity: sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/object-schema@3.0.3': + resolution: {integrity: sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@eslint/plugin-kit@0.6.1': + resolution: {integrity: sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.7': + resolution: {integrity: sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} @@ -97,30 +106,18 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - '@sinclair/typebox@0.27.10': resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==} '@types/eslint-scope@3.7.7': resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - '@types/eslint@8.56.12': - resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==} - '@types/eslint@9.6.1': resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -136,8 +133,8 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node@25.4.0': - resolution: {integrity: sha512-9wLpoeWuBlcbBpOY3XmzSTG3oscB6xjBEEtn+pYXTfhyXhIxC5FsBer2KTopBlvKEiW9l13po9fq+SJY/5lkhw==} + '@types/node@25.5.0': + resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -145,9 +142,6 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -218,12 +212,6 @@ packages: webpack-dev-server: optional: true - '@webpack-contrib/schema-utils@1.0.0-beta.0': - resolution: {integrity: sha512-LonryJP+FxQQHsjGBi6W786TQB1Oym+agTpY0c+Kj8alnIw+DLUJb6SI8Y1GHGhLCH1yPRrucjObUmxNICQ1pg==} - engines: {node: '>= 6.9.0 || >= 8.9.0'} - peerDependencies: - webpack: ^3.0.0 || ^4.0.0 - '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -254,43 +242,24 @@ packages: ajv: optional: true - ajv-keywords@3.5.2: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - ajv-keywords@5.1.0: resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} peerDependencies: ajv: ^8.8.2 - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.14.0: + resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} ajv@8.18.0: resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} - ansi-regex@3.0.1: - resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} - engines: {node: '>=4'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} baseline-browser-mapping@2.10.7: resolution: {integrity: sha512-1ghYO3HnxGec0TCGBXiDLVns4eCSx4zJpxnHrlqFQajmhfKMQBzUGDdkMK7fUW7PTHTeLf+j87aTuKuuwWzMGw==} @@ -300,8 +269,9 @@ packages: big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + brace-expansion@5.0.4: + resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==} + engines: {node: 18 || 20 || >=22} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -315,32 +285,9 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} - - call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camel-case@3.0.0: - resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} - caniuse-lite@1.0.30001778: resolution: {integrity: sha512-PN7uxFL+ExFJO61aVmP1aIEG4i9whQd4eoSCebav62UwDyp5OHh06zN4jqKSMePVgxHifCw1QJxdRkA1Pisekg==} - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -353,24 +300,14 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - clean-css@4.2.4: - resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} - engines: {node: '>= 4.0'} - clone-deep@4.0.1: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} engines: {node: '>=6'} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -381,33 +318,15 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - commander@2.17.1: - resolution: {integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==} - - commander@2.19.0: - resolution: {integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==} - commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - compile-ejs-loader@0.0.2: - resolution: {integrity: sha512-sipblPeNzCUhyF15Yfdti4S7CL5yFFtOwxeyKpdtdxtwa/M/uyeyS5Svmc5cO/GoiQjhbzrp/dXzpNg/nzMlhA==} - peerDependencies: - webpack: ^4.16.3 - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} - - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -418,21 +337,8 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} + ejs-loader@0.5.0: + resolution: {integrity: sha512-iirFqlP3tiFoedNZ7dQcjvechunl054VbW6Ki38T/pabgXMAncduSE0ZXLeVGn1NbmcUJF9Z5TC0EvQ4RIpP9Q==} ejs@5.0.1: resolution: {integrity: sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A==} @@ -455,40 +361,13 @@ packages: engines: {node: '>=4'} hasBin: true - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - es-module-lexer@2.0.0: resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} - - es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - - es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - - es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} - escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -497,37 +376,41 @@ packages: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@9.1.2: + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-webpack-plugin@4.2.0: - resolution: {integrity: sha512-rsfpFQ01AWQbqtjgPRr2usVRxhWDuG0YDYcG8DJOteD3EFnpeuYuOwk0PQiN7PRBTqS6ElNdtPZPggj8If9WnA==} - engines: {node: '>= 14.15.0'} + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint-webpack-plugin@5.0.3: + resolution: {integrity: sha512-P2Id4RMSMQMwMEuw3W9x3n2qDbKPeD+tehWMY3ENFsoSPKNZ9i3WTZEsFE7NeQIpNebhNEGw8qorvpLVq1rK1g==} + engines: {node: '>= 18.12.0'} peerDependencies: eslint: ^8.0.0 || ^9.0.0 webpack: ^5.0.0 - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint@10.0.3: + resolution: {integrity: sha512-COV33RzXZkqhG9P2rZCFl9ZmJ7WL+gQSCRzE7RhkbclbQPtLAWReL7ysA0Sh4c8Im2U9ynybdR56PV0XcKvqaQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} - - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@11.2.0: + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -546,16 +429,10 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -572,12 +449,9 @@ packages: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} - fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} - - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -591,9 +465,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -602,20 +476,9 @@ packages: flatted@3.4.1: resolution: {integrity: sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ==} - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} @@ -623,60 +486,21 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - - html-minifier@3.5.21: - resolution: {integrity: sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==} - engines: {node: '>=4'} - hasBin: true - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} - import-local@3.2.0: resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} engines: {node: '>=8'} @@ -686,13 +510,6 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - interpret@3.1.1: resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} engines: {node: '>=10.13.0'} @@ -713,10 +530,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} @@ -740,10 +553,6 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - js-yaml@4.1.1: - resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} - hasBin: true - json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -759,8 +568,9 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true keyv@4.5.4: @@ -778,9 +588,9 @@ packages: resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} engines: {node: '>=6.11.5'} - loader-utils@1.4.2: - resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} - engines: {node: '>=4.0.0'} + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} @@ -790,23 +600,8 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - log-symbols@2.2.0: - resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} - engines: {node: '>=4'} - - loglevelnext@1.0.5: - resolution: {integrity: sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==} - engines: {node: '>= 6'} - - lower-case@1.1.4: - resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} + lodash@4.17.23: + resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -823,11 +618,9 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minimatch@10.2.4: + resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} + engines: {node: 18 || 20 || >=22} ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -838,12 +631,6 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - - no-case@2.3.2: - resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} - node-releases@2.0.36: resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==} @@ -851,17 +638,6 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -886,21 +662,10 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - param-case@2.1.1: - resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -927,17 +692,10 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - rechoir@0.8.0: resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} engines: {node: '>= 10.13.0'} - relateurl@0.2.7: - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} - engines: {node: '>= 0.10'} - require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -946,10 +704,6 @@ packages: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -959,26 +713,10 @@ packages: engines: {node: '>= 0.4'} hasBin: true - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - schema-utils@4.3.3: resolution: {integrity: sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==} engines: {node: '>= 10.13.0'} - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -998,22 +736,6 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - strip-ansi@4.0.0: - resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} - engines: {node: '>=4'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -1051,9 +773,6 @@ packages: engines: {node: '>=10'} hasBin: true - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -1062,23 +781,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - - uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} - engines: {node: '>=0.8.0'} - hasBin: true - - uglify-js@3.4.10: - resolution: {integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==} - engines: {node: '>=0.8.0'} - hasBin: true - undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} @@ -1088,17 +790,9 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - upper-case@1.1.3: - resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} - uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - watchpack@2.5.1: resolution: {integrity: sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==} engines: {node: '>=10.13.0'} @@ -1120,10 +814,6 @@ packages: webpack-dev-server: optional: true - webpack-log@1.2.0: - resolution: {integrity: sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==} - engines: {node: '>=6'} - webpack-merge@5.10.0: resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==} engines: {node: '>=10.0.0'} @@ -1158,9 +848,6 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -1169,40 +856,46 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@eslint-community/eslint-utils@4.9.1(eslint@8.57.1)': + '@eslint-community/eslint-utils@4.9.1(eslint@10.0.3)': dependencies: - eslint: 8.57.1 + eslint: 10.0.3 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/eslintrc@2.1.4': + '@eslint/config-array@0.23.3': dependencies: - ajv: 6.12.6 - debug: 4.4.1 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.1 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 + '@eslint/object-schema': 3.0.3 + debug: 4.4.3 + minimatch: 10.2.4 transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} + '@eslint/config-helpers@0.5.3': + dependencies: + '@eslint/core': 1.1.1 - '@humanwhocodes/config-array@0.13.0': + '@eslint/core@1.1.1': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.1 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@types/json-schema': 7.0.15 + + '@eslint/object-schema@3.0.3': {} + + '@eslint/plugin-kit@0.6.1': + dependencies: + '@eslint/core': 1.1.1 + levn: 0.4.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.7': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.4.3 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.4.3': {} '@jest/schemas@29.6.3': dependencies: @@ -1213,7 +906,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 25.4.0 + '@types/node': 25.5.0 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -1236,18 +929,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.20.1 - '@sinclair/typebox@0.27.10': {} '@types/eslint-scope@3.7.7': @@ -1255,16 +936,13 @@ snapshots: '@types/eslint': 9.6.1 '@types/estree': 1.0.8 - '@types/eslint@8.56.12': - dependencies: - '@types/estree': 1.0.8 - '@types/json-schema': 7.0.15 - '@types/eslint@9.6.1': dependencies: '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 + '@types/esrecurse@4.3.1': {} + '@types/estree@1.0.8': {} '@types/istanbul-lib-coverage@2.0.6': {} @@ -1279,7 +957,7 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/node@25.4.0': + '@types/node@25.5.0': dependencies: undici-types: 7.18.2 @@ -1289,8 +967,6 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@ungap/structured-clone@1.3.0': {} - '@webassemblyjs/ast@1.14.1': dependencies: '@webassemblyjs/helper-numbers': 1.13.2 @@ -1369,29 +1045,19 @@ snapshots: '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.105.4)': dependencies: - webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + webpack: 5.105.4(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.105.4) '@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.105.4)': dependencies: - webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + webpack: 5.105.4(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.105.4) '@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.105.4)': dependencies: - webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + webpack: 5.105.4(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.105.4) - '@webpack-contrib/schema-utils@1.0.0-beta.0(webpack@5.105.4)': - dependencies: - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - chalk: 2.4.2 - strip-ansi: 4.0.0 - text-table: 0.2.0 - webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) - webpack-log: 1.2.0 - '@xtuc/ieee754@1.2.0': {} '@xtuc/long@4.2.2': {} @@ -1410,16 +1076,12 @@ snapshots: optionalDependencies: ajv: 8.18.0 - ajv-keywords@3.5.2(ajv@6.12.6): - dependencies: - ajv: 6.12.6 - ajv-keywords@5.1.0(ajv@8.18.0): dependencies: ajv: 8.18.0 fast-deep-equal: 3.1.3 - ajv@6.12.6: + ajv@6.14.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -1433,30 +1095,19 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-regex@3.0.1: {} - - ansi-regex@5.0.1: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - argparse@2.0.1: {} - - balanced-match@1.0.2: {} + balanced-match@4.0.4: {} baseline-browser-mapping@2.10.7: {} big.js@5.2.2: {} - brace-expansion@1.1.12: + brace-expansion@5.0.4: dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 + balanced-match: 4.0.4 braces@3.0.3: dependencies: @@ -1472,38 +1123,8 @@ snapshots: buffer-from@1.1.2: {} - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - - callsites@3.1.0: {} - - camel-case@3.0.0: - dependencies: - no-case: 2.3.2 - upper-case: 1.1.3 - caniuse-lite@1.0.30001778: {} - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -1513,84 +1134,40 @@ snapshots: ci-info@3.9.0: {} - clean-css@4.2.4: - dependencies: - source-map: 0.6.1 - clone-deep@4.0.1: dependencies: is-plain-object: 2.0.4 kind-of: 6.0.3 shallow-clone: 3.0.1 - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: {} - color-name@1.1.4: {} colorette@2.0.20: {} commander@10.0.1: {} - commander@2.17.1: {} - - commander@2.19.0: {} - commander@2.20.3: {} - compile-ejs-loader@0.0.2(webpack@5.105.4): - dependencies: - '@webpack-contrib/schema-utils': 1.0.0-beta.0(webpack@5.105.4) - loader-utils: 1.4.2 - webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) - - concat-map@0.0.1: {} - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - d@1.0.2: - dependencies: - es5-ext: 0.10.64 - type: 2.7.3 - - debug@4.4.1: + debug@4.4.3: dependencies: ms: 2.1.3 deep-is@0.1.4: {} - define-data-property@1.1.4: + ejs-loader@0.5.0: dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 + loader-utils: 2.0.4 + lodash: 4.17.23 ejs@5.0.1: {} @@ -1605,38 +1182,10 @@ snapshots: envinfo@7.21.0: {} - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - es-module-lexer@2.0.0: {} - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 - - es5-ext@0.10.64: - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - esniff: 2.0.1 - next-tick: 1.1.0 - - es6-iterator@2.0.3: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-symbol: 3.1.4 - - es6-symbol@3.1.4: - dependencies: - d: 1.0.2 - ext: 1.7.0 - escalade@3.2.0: {} - escape-string-regexp@1.0.5: {} - escape-string-regexp@4.0.0: {} eslint-scope@5.1.1: @@ -1644,80 +1193,70 @@ snapshots: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@7.2.2: + eslint-scope@9.1.2: dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.8 esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-webpack-plugin@4.2.0(eslint@8.57.1)(webpack@5.105.4): + eslint-visitor-keys@5.0.1: {} + + eslint-webpack-plugin@5.0.3(eslint@10.0.3)(webpack@5.105.4): dependencies: - '@types/eslint': 8.56.12 - eslint: 8.57.1 + '@types/eslint': 9.6.1 + eslint: 10.0.3 + flatted: 3.4.1 jest-worker: 29.7.0 micromatch: 4.0.8 normalize-path: 3.0.0 schema-utils: 4.3.3 - webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + webpack: 5.105.4(webpack-cli@5.1.4) - eslint@8.57.1: + eslint@10.0.3: dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.3) '@eslint-community/regexpp': 4.12.2 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint/config-array': 0.23.3 + '@eslint/config-helpers': 0.5.3 + '@eslint/core': 1.1.1 + '@eslint/plugin-kit': 0.6.1 + '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.3.0 - ajv: 6.12.6 - chalk: 4.1.2 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.14.0 cross-spawn: 7.0.6 - debug: 4.4.1 - doctrine: 3.0.0 + debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.6.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.1 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 10.2.4 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 transitivePeerDependencies: - supports-color - esniff@2.0.1: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-emitter: 0.3.5 - type: 2.7.3 - - espree@9.6.1: + espree@11.2.0: dependencies: acorn: 8.16.0 acorn-jsx: 5.3.2(acorn@8.16.0) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 5.0.1 - esquery@1.6.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -1731,17 +1270,8 @@ snapshots: esutils@2.0.3: {} - event-emitter@0.3.5: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - events@3.3.0: {} - ext@1.7.0: - dependencies: - type: 2.7.3 - fast-deep-equal@3.1.3: {} fast-json-stable-stringify@2.1.0: {} @@ -1752,13 +1282,9 @@ snapshots: fastest-levenshtein@1.0.16: {} - fastq@1.20.1: + file-entry-cache@8.0.0: dependencies: - reusify: 1.1.0 - - file-entry-cache@6.0.1: - dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 fill-range@7.1.1: dependencies: @@ -1774,96 +1300,33 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.4.1 keyv: 4.5.4 - rimraf: 3.0.2 flat@5.0.2: {} flatted@3.4.1: {} - fs.realpath@1.0.0: {} - function-bind@1.1.2: {} - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - glob-parent@6.0.2: dependencies: is-glob: 4.0.3 glob-to-regexp@0.4.1: {} - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - - gopd@1.2.0: {} - graceful-fs@4.2.11: {} - graphemer@1.4.0: {} - - has-flag@3.0.0: {} - has-flag@4.0.0: {} - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.1 - - has-symbols@1.1.0: {} - hasown@2.0.2: dependencies: function-bind: 1.1.2 - he@1.2.0: {} - - html-minifier@3.5.21: - dependencies: - camel-case: 3.0.0 - clean-css: 4.2.4 - commander: 2.17.1 - he: 1.2.0 - param-case: 2.1.1 - relateurl: 0.2.7 - uglify-js: 3.4.10 - ignore@5.3.2: {} - import-fresh@3.3.1: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - import-local@3.2.0: dependencies: pkg-dir: 4.2.0 @@ -1871,13 +1334,6 @@ snapshots: imurmurhash@0.1.4: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.4: {} - interpret@3.1.1: {} is-core-module@2.16.1: @@ -1892,8 +1348,6 @@ snapshots: is-number@7.0.0: {} - is-path-inside@3.0.3: {} - is-plain-object@2.0.4: dependencies: isobject: 3.0.1 @@ -1905,7 +1359,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 25.4.0 + '@types/node': 25.5.0 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -1913,21 +1367,17 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 25.4.0 + '@types/node': 25.5.0 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 25.4.0 + '@types/node': 25.5.0 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - js-yaml@4.1.1: - dependencies: - argparse: 2.0.1 - json-buffer@3.0.1: {} json-parse-even-better-errors@2.3.1: {} @@ -1938,9 +1388,7 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json5@1.0.2: - dependencies: - minimist: 1.2.8 + json5@2.2.3: {} keyv@4.5.4: dependencies: @@ -1955,11 +1403,11 @@ snapshots: loader-runner@4.3.1: {} - loader-utils@1.4.2: + loader-utils@2.0.4: dependencies: big.js: 5.2.2 emojis-list: 3.0.0 - json5: 1.0.2 + json5: 2.2.3 locate-path@5.0.0: dependencies: @@ -1969,20 +1417,7 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.merge@4.6.2: {} - - log-symbols@2.2.0: - dependencies: - chalk: 2.4.2 - - loglevelnext@1.0.5: - dependencies: - es6-symbol: 3.1.4 - object.assign: 4.1.7 - - lower-case@1.1.4: {} - - math-intrinsics@1.1.0: {} + lodash@4.17.23: {} merge-stream@2.0.0: {} @@ -1997,11 +1432,9 @@ snapshots: dependencies: mime-db: 1.52.0 - minimatch@3.1.2: + minimatch@10.2.4: dependencies: - brace-expansion: 1.1.12 - - minimist@1.2.8: {} + brace-expansion: 5.0.4 ms@2.1.3: {} @@ -2009,31 +1442,10 @@ snapshots: neo-async@2.6.2: {} - next-tick@1.1.0: {} - - no-case@2.3.2: - dependencies: - lower-case: 1.1.4 - node-releases@2.0.36: {} normalize-path@3.0.0: {} - object-keys@1.1.1: {} - - object.assign@4.1.7: - dependencies: - call-bind: 1.0.8 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.1 - has-symbols: 1.1.0 - object-keys: 1.1.1 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -2061,18 +1473,8 @@ snapshots: p-try@2.2.0: {} - param-case@2.1.1: - dependencies: - no-case: 2.3.2 - - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - path-exists@4.0.0: {} - path-is-absolute@1.0.1: {} - path-key@3.1.1: {} path-parse@1.0.7: {} @@ -2089,22 +1491,16 @@ snapshots: punycode@2.3.1: {} - queue-microtask@1.2.3: {} - rechoir@0.8.0: dependencies: resolve: 1.22.11 - relateurl@0.2.7: {} - require-from-string@2.0.2: {} resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 - resolve-from@4.0.0: {} - resolve-from@5.0.0: {} resolve@1.22.11: @@ -2113,16 +1509,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - reusify@1.1.0: {} - - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - schema-utils@4.3.3: dependencies: '@types/json-schema': 7.0.15 @@ -2130,15 +1516,6 @@ snapshots: ajv-formats: 2.1.1(ajv@8.18.0) ajv-keywords: 5.1.0(ajv@8.18.0) - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.3.0 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - shallow-clone@3.0.1: dependencies: kind-of: 6.0.3 @@ -2156,20 +1533,6 @@ snapshots: source-map@0.6.1: {} - strip-ansi@4.0.0: - dependencies: - ansi-regex: 3.0.1 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-json-comments@3.1.1: {} - - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -2182,15 +1545,13 @@ snapshots: tapable@2.3.0: {} - terser-webpack-plugin@5.4.0(uglify-js@3.19.3)(webpack@5.105.4): + terser-webpack-plugin@5.4.0(webpack@5.105.4): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 terser: 5.46.0 - webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) - optionalDependencies: - uglify-js: 3.19.3 + webpack: 5.105.4(webpack-cli@5.1.4) terser@5.46.0: dependencies: @@ -2199,8 +1560,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - text-table@0.2.0: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -2209,17 +1568,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@0.20.2: {} - - type@2.7.3: {} - - uglify-js@3.19.3: {} - - uglify-js@3.4.10: - dependencies: - commander: 2.19.0 - source-map: 0.6.1 - undici-types@7.18.2: {} update-browserslist-db@1.2.3(browserslist@4.28.1): @@ -2228,14 +1576,10 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - upper-case@1.1.3: {} - uri-js@4.4.1: dependencies: punycode: 2.3.1 - uuid@3.4.0: {} - watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -2255,16 +1599,9 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4) + webpack: 5.105.4(webpack-cli@5.1.4) webpack-merge: 5.10.0 - webpack-log@1.2.0: - dependencies: - chalk: 2.4.2 - log-symbols: 2.2.0 - loglevelnext: 1.0.5 - uuid: 3.4.0 - webpack-merge@5.10.0: dependencies: clone-deep: 4.0.1 @@ -2279,7 +1616,7 @@ snapshots: webpack-sources@3.3.4: {} - webpack@5.105.4(uglify-js@3.19.3)(webpack-cli@5.1.4): + webpack@5.105.4(webpack-cli@5.1.4): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -2303,7 +1640,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.3 tapable: 2.3.0 - terser-webpack-plugin: 5.4.0(uglify-js@3.19.3)(webpack@5.105.4) + terser-webpack-plugin: 5.4.0(webpack@5.105.4) watchpack: 2.5.1 webpack-sources: 3.3.4 optionalDependencies: @@ -2321,6 +1658,4 @@ snapshots: word-wrap@1.2.5: {} - wrappy@1.0.2: {} - yocto-queue@0.1.0: {} From cd05410ffb74e4a130eea204ea00ca7f3275d433 Mon Sep 17 00:00:00 2001 From: Nazar Leush Date: Thu, 12 Mar 2026 18:12:13 +0200 Subject: [PATCH 9/9] build --- dist/embed-options.js | 2 +- dist/embed.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/embed-options.js b/dist/embed-options.js index 87929e6..5ef77cb 100644 --- a/dist/embed-options.js +++ b/dist/embed-options.js @@ -175,7 +175,7 @@ eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar ifra \*********************************/ (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n\n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?\n}"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?\n}"); /***/ }, diff --git a/dist/embed.js b/dist/embed.js index a584cd5..75718c6 100644 --- a/dist/embed.js +++ b/dist/embed.js @@ -115,7 +115,7 @@ eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar ifra \*********************************/ (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n\n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?\n}"); +eval("{var utils = __webpack_require__(/*! ./utils */ \"./utils.js\");\nvar iframely = __webpack_require__(/*! ./iframely */ \"./iframely.js\");\n\niframely.on('load', function(el) {\n\n if (el && el.nodeName === 'IFRAME'\n && el.hasAttribute('data-iframely-url')\n && el.hasAttribute('data-img')\n && !el.getAttribute('src')) {\n\n var dataImg = el.getAttribute('data-img');\n\n el.removeAttribute('data-img');\n el.setAttribute('data-img-created', '');\n\n var widget = utils.getWidget(el);\n var src = el.getAttribute('data-iframely-url');\n\n addPlaceholderThumbnail(widget, src, dataImg);\n\n src = utils.addQueryString(src, {img: 1});\n el.setAttribute('data-iframely-url', src);\n\n new WaitingWidget(widget);\n\n iframely.trigger('load', el);\n\n }\n});\n\niframely.on('message', function(widget, message) {\n\n var waitingWidget;\n\n if (message.method === 'widgetRendered') {\n hidePlaceholderThumbnail(widget);\n\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.deactivate();\n }\n\n if (message.method === 'begin-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.clearLoadingTimeout();\n }\n\n if (message.method === 'end-waiting-widget-render') {\n waitingWidget = findWaitingWidget(widget);\n waitingWidget && waitingWidget.registerLoadingTimeout();\n }\n});\n\n\nfunction addPlaceholderThumbnail(widget, href, imageUrl) {\n\n var thumbHref;\n\n if (imageUrl && /^(https?:)?\\/\\//.test(imageUrl)) {\n thumbHref = imageUrl;\n } else {\n\n // Start of image url calculation.\n \n var query = utils.parseQueryString(href);\n \n // Extract widget params to invalidate image cache.\n var _params = {};\n for(var param in query) {\n if (param.indexOf('_') === 0) {\n _params[param] = query[param];\n }\n }\n\n // Force proxy `media` param.\n if (query.media) {\n _params.media = query.media;\n }\n \n // need to run through getEndpoint at least to avoid file:///\n if (href.match(/\\/api\\/iframe/)) {\n thumbHref = utils.getEndpoint(href.match(/^(.+)\\/api\\/iframe/i)[1] + '/api/thumbnail', Object.assign({\n url: query.url,\n api_key: query.api_key,\n key: query.key\n }, _params));\n } else if (href.match(iframely.ID_RE)) {\n // RE copied from `iframely.ID_RE` and modified to replace path part.\n thumbHref = utils.getEndpoint(href.replace(/^((?:https?:)?\\/\\/[^/]+\\/(\\w+-?\\w+))(?:\\?.*)?$/, '$1/thumbnail'), _params);\n } else {\n return;\n }\n }\n\n // End of image url calculation.\n\n var thumb = document.createElement('div');\n // Parent div not always has ASPECT_WRAPPER_CLASS. Need explicit inline styles.\n utils.setStyles(thumb, {\n position: 'absolute',\n width: '100%',\n height: '100%',\n backgroundImage: \"url('\" + thumbHref + \"')\",\n backgroundSize: 'cover',\n backgroundPosition: 'center'\n });\n\n var iframelyLoaderDiv = document.createElement('div');\n iframelyLoaderDiv.setAttribute('class', iframely.LOADER_CLASS);\n thumb.appendChild(iframelyLoaderDiv);\n\n var paddingTop = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-top');\n var paddingBottom = iframely.getElementComputedStyle(widget.aspectWrapper, 'padding-bottom');\n\n var paddingTopMatch = paddingTop.match(/^(\\d+)px$/);\n var paddingTopInt = paddingTopMatch && parseInt(paddingTopMatch[1]);\n\n if (paddingTopInt && paddingBottom) {\n\n var thumbWrapper = document.createElement('div');\n\n utils.setStyles(thumbWrapper, {\n top: '-' + paddingTop,\n width: '100%',\n height: 0,\n position: 'relative',\n paddingBottom: paddingBottom\n }); \n\n thumbWrapper.appendChild(thumb);\n\n widget.aspectWrapper.appendChild(thumbWrapper);\n\n } else {\n\n widget.aspectWrapper.appendChild(thumb);\n }\n}\n\nfunction getNthNonTextChildNode(nth, element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n // Nop.\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n if (nth === count) {\n return el;\n }\n count++;\n }\n }\n}\n\nfunction nonTextChildCount(element) {\n var count = 0;\n for(var i = 0; i < element.childNodes.length; i++) {\n var el = element.childNodes[i];\n if (el.nodeType === Node.TEXT_NODE) {\n var text = el.textContent || el.innerText;\n text = text.replace(/\\s|\\n/g, '');\n if (text) {\n // Do not skip text node with text.\n count++;\n }\n } else if (el.nodeType === Node.ELEMENT_NODE) {\n count++;\n }\n }\n return count;\n}\n\nfunction hidePlaceholderThumbnail(widget) {\n var thumb = widget.aspectWrapper && nonTextChildCount(widget.aspectWrapper) > 1 && getNthNonTextChildNode(1, widget.aspectWrapper);\n if (thumb && thumb.nodeName === 'DIV') {\n widget.aspectWrapper.removeChild(thumb);\n }\n}\n\n//===\n\n// Working WaitingWidgets' collection.\n\nvar waitingWidgets = [];\n\nfunction findWaitingWidgetIdx(widget) {\n var i = 0;\n while(i < waitingWidgets.length && waitingWidgets[i].widget.iframe !== widget.iframe) {\n i++;\n }\n if (i < waitingWidgets.length && waitingWidgets[i].widget.iframe === widget.iframe) {\n return i;\n }\n}\n\nfunction findWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n return waitingWidgets[idx];\n }\n}\n\nfunction removeWaitingWidget(widget) {\n var idx = findWaitingWidgetIdx(widget);\n if (idx || idx === 0) {\n waitingWidgets.splice(idx, 1);\n }\n}\n\n//===\n\n// WaitingWidget proto.\n\nfunction WaitingWidget(widget) {\n this.widget = widget;\n this.loadCount = 0;\n\n var iframe = widget.iframe;\n\n var that = this;\n function iframeOnLoad() {\n // Bind method to self.\n that.iframeOnLoad();\n }\n\n iframely.addEventListener(iframe, 'load', iframeOnLoad);\n\n this.registerLoadingTimeout();\n\n waitingWidgets.push(this);\n}\n\nWaitingWidget.prototype.iframeOnLoad = function() {\n\n this.loadCount++;\n\n // Skip first load of hosted widget OR timeout call.\n if (this.loadCount !== 2) {\n return;\n }\n\n this.deactivate();\n\n var that = this;\n setTimeout(function() {\n hidePlaceholderThumbnail(that.widget);\n }, iframely.LAZY_IFRAME_FADE_TIMEOUT);\n};\n\nWaitingWidget.prototype.deactivate = function() {\n this.clearLoadingTimeout();\n removeWaitingWidget(this);\n};\n\nWaitingWidget.prototype.clearLoadingTimeout = function() {\n this.timeoutId && clearTimeout(this.timeoutId);\n this.timeoutId = null;\n};\n\nWaitingWidget.prototype.registerLoadingTimeout = function() {\n if (this.timeoutId) {\n return;\n }\n var that = this;\n this.timeoutId = setTimeout(function() {\n that.iframeOnLoad();\n }, iframely.LAZY_IFRAME_SHOW_TIMEOUT);\n};\n\n\n//# sourceURL=webpack:///./lazy-img-placeholder.js?\n}"); /***/ },