lookbook 0.7.0 → 0.7.2.beta.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
1
- !function(){var e={};!function(t){if("undefined"!=typeof window){var n=!0,o="",i=0,r="",a=null,u="",c=!1,s={resize:1,click:1},d=128,l=!0,f=1,m="bodyOffset",h=m,g=!0,p="",v={},y=32,w=null,b=!1,T=!1,E="[iFrameSizer]",O=E.length,S="",M={max:1,min:1,bodyScroll:1,documentElementScroll:1},I="child",N=window.parent,A="*",C=0,z=!1,k=null,R=16,x=1,L="scroll",F=L,P=window,D=function(){re("onMessage function not defined")},j=function(){},q=function(){},H={height:function(){return re("Custom height calculation function not defined"),document.documentElement.offsetHeight},width:function(){return re("Custom width calculation function not defined"),document.body.scrollWidth}},W={},B=!1;try{var J=Object.create({},{passive:{get:function(){B=!0}}});window.addEventListener("test",ee,J),window.removeEventListener("test",ee,J)}catch(e){}var U,V,X,Y,K,Q,G,Z={bodyOffset:function(){return document.body.offsetHeight+pe("marginTop")+pe("marginBottom")},offset:function(){return Z.bodyOffset()},bodyScroll:function(){return document.body.scrollHeight},custom:function(){return H.height()},documentElementOffset:function(){return document.documentElement.offsetHeight},documentElementScroll:function(){return document.documentElement.scrollHeight},max:function(){return Math.max.apply(null,ye(Z))},min:function(){return Math.min.apply(null,ye(Z))},grow:function(){return Z.max()},lowestElement:function(){return Math.max(Z.bodyOffset()||Z.documentElementOffset(),ve("bottom",be()))},taggedElement:function(){return we("bottom","data-iframe-height")}},$={bodyScroll:function(){return document.body.scrollWidth},bodyOffset:function(){return document.body.offsetWidth},custom:function(){return H.width()},documentElementScroll:function(){return document.documentElement.scrollWidth},documentElementOffset:function(){return document.documentElement.offsetWidth},scroll:function(){return Math.max($.bodyScroll(),$.documentElementScroll())},max:function(){return Math.max.apply(null,ye($))},min:function(){return Math.min.apply(null,ye($))},rightMostElement:function(){return ve("right",be())},taggedElement:function(){return we("right","data-iframe-width")}},_=(U=Te,K=null,Q=0,G=function(){Q=Date.now(),K=null,Y=U.apply(V,X),K||(V=X=null)},function(){var e=Date.now();Q||(Q=e);var t=R-(e-Q);return V=this,X=arguments,t<=0||t>R?(K&&(clearTimeout(K),K=null),Q=e,Y=U.apply(V,X),K||(V=X=null)):K||(K=setTimeout(G,t)),Y});te(window,"message",(function(t){var n={init:function(){p=t.data,N=t.source,ae(),l=!1,setTimeout((function(){g=!1}),d)},reset:function(){g?ie("Page reset ignored by init"):(ie("Page size reset by host page"),Se("resetPage"))},resize:function(){Ee("resizeParent","Parent window requested size check")},moveToAnchor:function(){v.findTarget(i())},inPageLink:function(){this.moveToAnchor()},pageInfo:function(){var e=i();ie("PageInfoFromParent called from parent: "+e),q(JSON.parse(e)),ie(" --")},message:function(){var e=i();ie("onMessage called from parent: "+e),D(JSON.parse(e)),ie(" --")}};function o(){return t.data.split("]")[1].split(":")[0]}function i(){return t.data.substr(t.data.indexOf(":")+1)}function r(){return t.data.split(":")[2]in{true:1,false:1}}function a(){var i=o();i in n?n[i]():!e&&"iFrameResize"in window||"jQuery"in window&&"iFrameResize"in window.jQuery.prototype||r()||re("Unexpected message ("+t.data+")")}E===(""+t.data).substr(0,O)&&(!1===l?a():r()?n.init():ie('Ignored message of type "'+o()+'". Received before initialization.'))})),te(window,"readystatechange",Ne),Ne()}function ee(){}function te(e,t,n,o){e.addEventListener(t,n,!!B&&(o||{}))}function ne(e){return e.charAt(0).toUpperCase()+e.slice(1)}function oe(e){return E+"["+S+"] "+e}function ie(e){b&&"object"==typeof window.console&&console.log(oe(e))}function re(e){"object"==typeof window.console&&console.warn(oe(e))}function ae(){var e;!function(){function e(e){return"true"===e}var a=p.substr(O).split(":");S=a[0],i=t!==a[1]?Number(a[1]):i,c=t!==a[2]?e(a[2]):c,b=t!==a[3]?e(a[3]):b,y=t!==a[4]?Number(a[4]):y,n=t!==a[6]?e(a[6]):n,r=a[7],h=t!==a[8]?a[8]:h,o=a[9],u=a[10],C=t!==a[11]?Number(a[11]):C,v.enable=t!==a[12]&&e(a[12]),I=t!==a[13]?a[13]:I,F=t!==a[14]?a[14]:F,T=t!==a[15]?Boolean(a[15]):T}(),ie("Initialising iFrame ("+window.location.href+")"),function(){function e(){var e=window.iFrameResizer;ie("Reading data from page: "+JSON.stringify(e)),Object.keys(e).forEach(ue,e),D="onMessage"in e?e.onMessage:D,j="onReady"in e?e.onReady:j,A="targetOrigin"in e?e.targetOrigin:A,h="heightCalculationMethod"in e?e.heightCalculationMethod:h,F="widthCalculationMethod"in e?e.widthCalculationMethod:F}function t(e,t){return"function"==typeof e&&(ie("Setup custom "+t+"CalcMethod"),H[t]=e,e="custom"),e}"iFrameResizer"in window&&Object===window.iFrameResizer.constructor&&(e(),h=t(h,"height"),F=t(F,"width"));ie("TargetOrigin for parent set to: "+A)}(),function(){t===r&&(r=i+"px");ce("margin",function(e,t){-1!==t.indexOf("-")&&(re("Negative CSS value ignored for "+e),t="");return t}("margin",r))}(),ce("background",o),ce("padding",u),(e=document.createElement("div")).style.clear="both",e.style.display="block",e.style.height="0",document.body.appendChild(e),fe(),me(),document.documentElement.style.height="",document.body.style.height="",ie('HTML & body height set to "auto"'),ie("Enable public methods"),P.parentIFrame={autoResize:function(e){return!0===e&&!1===n?(n=!0,he()):!1===e&&!0===n&&(n=!1,de("remove"),null!==a&&a.disconnect(),clearInterval(w)),Ie(0,0,"autoResize",JSON.stringify(n)),n},close:function(){Ie(0,0,"close")},getId:function(){return S},getPageInfo:function(e){"function"==typeof e?(q=e,Ie(0,0,"pageInfo")):(q=function(){},Ie(0,0,"pageInfoStop"))},moveToAnchor:function(e){v.findTarget(e)},reset:function(){Me("parentIFrame.reset")},scrollTo:function(e,t){Ie(t,e,"scrollTo")},scrollToOffset:function(e,t){Ie(t,e,"scrollToOffset")},sendMessage:function(e,t){Ie(0,0,"message",JSON.stringify(e),t)},setHeightCalculationMethod:function(e){h=e,fe()},setWidthCalculationMethod:function(e){F=e,me()},setTargetOrigin:function(e){ie("Set targetOrigin: "+e),A=e},size:function(e,t){Ee("size","parentIFrame.size("+(e||"")+(t?","+t:"")+")",e,t)}},function(){if(!0!==T)return;function e(e){Ie(0,0,e.type,e.screenY+":"+e.screenX)}function t(t,n){ie("Add event listener: "+n),te(window.document,t,e)}t("mouseenter","Mouse Enter"),t("mouseleave","Mouse Leave")}(),he(),v=function(){function e(){return{x:window.pageXOffset!==t?window.pageXOffset:document.documentElement.scrollLeft,y:window.pageYOffset!==t?window.pageYOffset:document.documentElement.scrollTop}}function n(t){var n=t.getBoundingClientRect(),o=e();return{x:parseInt(n.left,10)+parseInt(o.x,10),y:parseInt(n.top,10)+parseInt(o.y,10)}}function o(e){function o(e){var t=n(e);ie("Moving to in page link (#"+i+") at x: "+t.x+" y: "+t.y),Ie(t.y,t.x,"scrollToOffset")}var i=e.split("#")[1]||e,r=decodeURIComponent(i),a=document.getElementById(r)||document.getElementsByName(r)[0];t!==a?o(a):(ie("In page link (#"+i+") not found in iFrame, so sending to parent"),Ie(0,0,"inPageLink","#"+i))}function i(){var e=window.location.hash,t=window.location.href;""!==e&&"#"!==e&&o(t)}function r(){function e(e){function t(e){e.preventDefault(),o(this.getAttribute("href"))}"#"!==e.getAttribute("href")&&te(e,"click",t)}Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'),e)}function a(){te(window,"hashchange",i)}function u(){setTimeout(i,d)}function c(){Array.prototype.forEach&&document.querySelectorAll?(ie("Setting up location.hash handlers"),r(),a(),u()):re("In page linking not fully supported in this browser! (See README.md for IE8 workaround)")}v.enable?c():ie("In page linking not enabled");return{findTarget:o}}(),Ee("init","Init message from host page"),j()}function ue(e){var t=e.split("Callback");if(2===t.length){var n="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[n]=this[e],delete this[e],re("Deprecated: '"+e+"' has been renamed '"+n+"'. The old method will be removed in the next major version.")}}function ce(e,n){t!==n&&""!==n&&"null"!==n&&(document.body.style[e]=n,ie("Body "+e+' set to "'+n+'"'))}function se(e){var t={add:function(t){function n(){Ee(e.eventName,e.eventType)}W[t]=n,te(window,t,n,{passive:!0})},remove:function(e){var t,n,o,i=W[e];delete W[e],t=window,n=e,o=i,t.removeEventListener(n,o,!1)}};e.eventNames&&Array.prototype.map?(e.eventName=e.eventNames[0],e.eventNames.map(t[e.method])):t[e.method](e.eventName),ie(ne(e.method)+" event listener: "+e.eventType)}function de(e){se({method:e,eventType:"Animation Start",eventNames:["animationstart","webkitAnimationStart"]}),se({method:e,eventType:"Animation Iteration",eventNames:["animationiteration","webkitAnimationIteration"]}),se({method:e,eventType:"Animation End",eventNames:["animationend","webkitAnimationEnd"]}),se({method:e,eventType:"Input",eventName:"input"}),se({method:e,eventType:"Mouse Up",eventName:"mouseup"}),se({method:e,eventType:"Mouse Down",eventName:"mousedown"}),se({method:e,eventType:"Orientation Change",eventName:"orientationchange"}),se({method:e,eventType:"Print",eventName:["afterprint","beforeprint"]}),se({method:e,eventType:"Ready State Change",eventName:"readystatechange"}),se({method:e,eventType:"Touch Start",eventName:"touchstart"}),se({method:e,eventType:"Touch End",eventName:"touchend"}),se({method:e,eventType:"Touch Cancel",eventName:"touchcancel"}),se({method:e,eventType:"Transition Start",eventNames:["transitionstart","webkitTransitionStart","MSTransitionStart","oTransitionStart","otransitionstart"]}),se({method:e,eventType:"Transition Iteration",eventNames:["transitioniteration","webkitTransitionIteration","MSTransitionIteration","oTransitionIteration","otransitioniteration"]}),se({method:e,eventType:"Transition End",eventNames:["transitionend","webkitTransitionEnd","MSTransitionEnd","oTransitionEnd","otransitionend"]}),"child"===I&&se({method:e,eventType:"IFrame Resized",eventName:"resize"})}function le(e,t,n,o){return t!==e&&(e in n||(re(e+" is not a valid option for "+o+"CalculationMethod."),e=t),ie(o+' calculation method set to "'+e+'"')),e}function fe(){h=le(h,m,Z,"height")}function me(){F=le(F,L,$,"width")}function he(){var e;!0===n?(de("add"),e=0>y,window.MutationObserver||window.WebKitMutationObserver?e?ge():a=function(){function e(e){function t(e){!1===e.complete&&(ie("Attach listeners to "+e.src),e.addEventListener("load",i,!1),e.addEventListener("error",r,!1),c.push(e))}"attributes"===e.type&&"src"===e.attributeName?t(e.target):"childList"===e.type&&Array.prototype.forEach.call(e.target.querySelectorAll("img"),t)}function t(e){c.splice(c.indexOf(e),1)}function n(e){ie("Remove listeners from "+e.src),e.removeEventListener("load",i,!1),e.removeEventListener("error",r,!1),t(e)}function o(e,t,o){n(e.target),Ee(t,o+": "+e.target.src)}function i(e){o(e,"imageLoad","Image loaded")}function r(e){o(e,"imageLoadFailed","Image load failed")}function a(t){Ee("mutationObserver","mutationObserver: "+t[0].target+" "+t[0].type),t.forEach(e)}function u(){var e=document.querySelector("body"),t={attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0};return d=new s(a),ie("Create body MutationObserver"),d.observe(e,t),d}var c=[],s=window.MutationObserver||window.WebKitMutationObserver,d=u();return{disconnect:function(){"disconnect"in d&&(ie("Disconnect body MutationObserver"),d.disconnect(),c.forEach(n))}}}():(ie("MutationObserver not supported in this browser!"),ge())):ie("Auto Resize disabled")}function ge(){0!==y&&(ie("setInterval: "+y+"ms"),w=setInterval((function(){Ee("interval","setInterval: "+y)}),Math.abs(y)))}function pe(e,t){var n=0;return t=t||document.body,n=null!==(n=document.defaultView.getComputedStyle(t,null))?n[e]:0,parseInt(n,10)}function ve(e,t){for(var n=t.length,o=0,i=0,r=ne(e),a=Date.now(),u=0;u<n;u++)(o=t[u].getBoundingClientRect()[e]+pe("margin"+r,t[u]))>i&&(i=o);return a=Date.now()-a,ie("Parsed "+n+" HTML elements"),ie("Element position calculated in "+a+"ms"),function(e){e>R/2&&ie("Event throttle increased to "+(R=2*e)+"ms")}(a),i}function ye(e){return[e.bodyOffset(),e.bodyScroll(),e.documentElementOffset(),e.documentElementScroll()]}function we(e,t){var n=document.querySelectorAll("["+t+"]");return 0===n.length&&(re("No tagged elements ("+t+") found on page"),document.querySelectorAll("body *")),ve(e,n)}function be(){return document.querySelectorAll("body *")}function Te(e,n,o,i){var r,a;!function(){function e(e,t){return!(Math.abs(e-t)<=C)}return r=t!==o?o:Z[h](),a=t!==i?i:$[F](),e(f,r)||c&&e(x,a)}()&&"init"!==e?!(e in{init:1,interval:1,size:1})&&(h in M||c&&F in M)?Me(n):e in{interval:1}||ie("No change in size detected"):(Oe(),Ie(f=r,x=a,e))}function Ee(e,t,n,o){z&&e in s?ie("Trigger event cancelled: "+e):(e in{reset:1,resetPage:1,init:1}||ie("Trigger event: "+t),"init"===e?Te(e,t,n,o):_(e,t,n,o))}function Oe(){z||(z=!0,ie("Trigger event lock on")),clearTimeout(k),k=setTimeout((function(){z=!1,ie("Trigger event lock off"),ie("--")}),d)}function Se(e){f=Z[h](),x=$[F](),Ie(f,x,e)}function Me(e){var t=h;h=m,ie("Reset trigger event: "+e),Oe(),Se("reset"),h=t}function Ie(e,n,o,i,r){var a;t===r?r=A:ie("Message targetOrigin: "+r),ie("Sending message to host page ("+(a=S+":"+e+":"+n+":"+o+(t!==i?":"+i:""))+")"),N.postMessage(E+a,r)}function Ne(){"loading"!==document.readyState&&window.parent.postMessage("[iFrameResizerChild]Ready","*")}}()}();
1
+ (()=>{var e={};!function(t){if("undefined"!=typeof window){var n=!0,o="",i=0,r="",a=null,u="",c=!1,s={resize:1,click:1},d=128,l=!0,f=1,m="bodyOffset",h=m,g=!0,p="",v={},y=32,w=null,b=!1,T=!1,E="[iFrameSizer]",O=E.length,S="",M={max:1,min:1,bodyScroll:1,documentElementScroll:1},I="child",N=window.parent,A="*",C=0,z=!1,k=null,R=16,x=1,L="scroll",F=L,P=window,D=function(){re("onMessage function not defined")},j=function(){},q=function(){},H={height:function(){return re("Custom height calculation function not defined"),document.documentElement.offsetHeight},width:function(){return re("Custom width calculation function not defined"),document.body.scrollWidth}},W={},B=!1;try{var J=Object.create({},{passive:{get:function(){B=!0}}});window.addEventListener("test",ee,J),window.removeEventListener("test",ee,J)}catch(e){}var U,V,X,Y,K,Q,G,Z={bodyOffset:function(){return document.body.offsetHeight+pe("marginTop")+pe("marginBottom")},offset:function(){return Z.bodyOffset()},bodyScroll:function(){return document.body.scrollHeight},custom:function(){return H.height()},documentElementOffset:function(){return document.documentElement.offsetHeight},documentElementScroll:function(){return document.documentElement.scrollHeight},max:function(){return Math.max.apply(null,ye(Z))},min:function(){return Math.min.apply(null,ye(Z))},grow:function(){return Z.max()},lowestElement:function(){return Math.max(Z.bodyOffset()||Z.documentElementOffset(),ve("bottom",be()))},taggedElement:function(){return we("bottom","data-iframe-height")}},$={bodyScroll:function(){return document.body.scrollWidth},bodyOffset:function(){return document.body.offsetWidth},custom:function(){return H.width()},documentElementScroll:function(){return document.documentElement.scrollWidth},documentElementOffset:function(){return document.documentElement.offsetWidth},scroll:function(){return Math.max($.bodyScroll(),$.documentElementScroll())},max:function(){return Math.max.apply(null,ye($))},min:function(){return Math.min.apply(null,ye($))},rightMostElement:function(){return ve("right",be())},taggedElement:function(){return we("right","data-iframe-width")}},_=(U=Te,K=null,Q=0,G=function(){Q=Date.now(),K=null,Y=U.apply(V,X),K||(V=X=null)},function(){var e=Date.now();Q||(Q=e);var t=R-(e-Q);return V=this,X=arguments,t<=0||t>R?(K&&(clearTimeout(K),K=null),Q=e,Y=U.apply(V,X),K||(V=X=null)):K||(K=setTimeout(G,t)),Y});te(window,"message",(function(t){var n={init:function(){p=t.data,N=t.source,ae(),l=!1,setTimeout((function(){g=!1}),d)},reset:function(){g?ie("Page reset ignored by init"):(ie("Page size reset by host page"),Se("resetPage"))},resize:function(){Ee("resizeParent","Parent window requested size check")},moveToAnchor:function(){v.findTarget(i())},inPageLink:function(){this.moveToAnchor()},pageInfo:function(){var e=i();ie("PageInfoFromParent called from parent: "+e),q(JSON.parse(e)),ie(" --")},message:function(){var e=i();ie("onMessage called from parent: "+e),D(JSON.parse(e)),ie(" --")}};function o(){return t.data.split("]")[1].split(":")[0]}function i(){return t.data.substr(t.data.indexOf(":")+1)}function r(){return t.data.split(":")[2]in{true:1,false:1}}function a(){var i=o();i in n?n[i]():!e&&"iFrameResize"in window||"jQuery"in window&&"iFrameResize"in window.jQuery.prototype||r()||re("Unexpected message ("+t.data+")")}E===(""+t.data).substr(0,O)&&(!1===l?a():r()?n.init():ie('Ignored message of type "'+o()+'". Received before initialization.'))})),te(window,"readystatechange",Ne),Ne()}function ee(){}function te(e,t,n,o){e.addEventListener(t,n,!!B&&(o||{}))}function ne(e){return e.charAt(0).toUpperCase()+e.slice(1)}function oe(e){return E+"["+S+"] "+e}function ie(e){b&&"object"==typeof window.console&&console.log(oe(e))}function re(e){"object"==typeof window.console&&console.warn(oe(e))}function ae(){var e;!function(){function e(e){return"true"===e}var a=p.substr(O).split(":");S=a[0],i=t!==a[1]?Number(a[1]):i,c=t!==a[2]?e(a[2]):c,b=t!==a[3]?e(a[3]):b,y=t!==a[4]?Number(a[4]):y,n=t!==a[6]?e(a[6]):n,r=a[7],h=t!==a[8]?a[8]:h,o=a[9],u=a[10],C=t!==a[11]?Number(a[11]):C,v.enable=t!==a[12]&&e(a[12]),I=t!==a[13]?a[13]:I,F=t!==a[14]?a[14]:F,T=t!==a[15]?Boolean(a[15]):T}(),ie("Initialising iFrame ("+window.location.href+")"),function(){function e(){var e=window.iFrameResizer;ie("Reading data from page: "+JSON.stringify(e)),Object.keys(e).forEach(ue,e),D="onMessage"in e?e.onMessage:D,j="onReady"in e?e.onReady:j,A="targetOrigin"in e?e.targetOrigin:A,h="heightCalculationMethod"in e?e.heightCalculationMethod:h,F="widthCalculationMethod"in e?e.widthCalculationMethod:F}function t(e,t){return"function"==typeof e&&(ie("Setup custom "+t+"CalcMethod"),H[t]=e,e="custom"),e}"iFrameResizer"in window&&Object===window.iFrameResizer.constructor&&(e(),h=t(h,"height"),F=t(F,"width"));ie("TargetOrigin for parent set to: "+A)}(),function(){t===r&&(r=i+"px");ce("margin",function(e,t){-1!==t.indexOf("-")&&(re("Negative CSS value ignored for "+e),t="");return t}("margin",r))}(),ce("background",o),ce("padding",u),(e=document.createElement("div")).style.clear="both",e.style.display="block",e.style.height="0",document.body.appendChild(e),fe(),me(),document.documentElement.style.height="",document.body.style.height="",ie('HTML & body height set to "auto"'),ie("Enable public methods"),P.parentIFrame={autoResize:function(e){return!0===e&&!1===n?(n=!0,he()):!1===e&&!0===n&&(n=!1,de("remove"),null!==a&&a.disconnect(),clearInterval(w)),Ie(0,0,"autoResize",JSON.stringify(n)),n},close:function(){Ie(0,0,"close")},getId:function(){return S},getPageInfo:function(e){"function"==typeof e?(q=e,Ie(0,0,"pageInfo")):(q=function(){},Ie(0,0,"pageInfoStop"))},moveToAnchor:function(e){v.findTarget(e)},reset:function(){Me("parentIFrame.reset")},scrollTo:function(e,t){Ie(t,e,"scrollTo")},scrollToOffset:function(e,t){Ie(t,e,"scrollToOffset")},sendMessage:function(e,t){Ie(0,0,"message",JSON.stringify(e),t)},setHeightCalculationMethod:function(e){h=e,fe()},setWidthCalculationMethod:function(e){F=e,me()},setTargetOrigin:function(e){ie("Set targetOrigin: "+e),A=e},size:function(e,t){Ee("size","parentIFrame.size("+(e||"")+(t?","+t:"")+")",e,t)}},function(){if(!0!==T)return;function e(e){Ie(0,0,e.type,e.screenY+":"+e.screenX)}function t(t,n){ie("Add event listener: "+n),te(window.document,t,e)}t("mouseenter","Mouse Enter"),t("mouseleave","Mouse Leave")}(),he(),v=function(){function e(){return{x:window.pageXOffset!==t?window.pageXOffset:document.documentElement.scrollLeft,y:window.pageYOffset!==t?window.pageYOffset:document.documentElement.scrollTop}}function n(t){var n=t.getBoundingClientRect(),o=e();return{x:parseInt(n.left,10)+parseInt(o.x,10),y:parseInt(n.top,10)+parseInt(o.y,10)}}function o(e){function o(e){var t=n(e);ie("Moving to in page link (#"+i+") at x: "+t.x+" y: "+t.y),Ie(t.y,t.x,"scrollToOffset")}var i=e.split("#")[1]||e,r=decodeURIComponent(i),a=document.getElementById(r)||document.getElementsByName(r)[0];t!==a?o(a):(ie("In page link (#"+i+") not found in iFrame, so sending to parent"),Ie(0,0,"inPageLink","#"+i))}function i(){var e=window.location.hash,t=window.location.href;""!==e&&"#"!==e&&o(t)}function r(){function e(e){function t(e){e.preventDefault(),o(this.getAttribute("href"))}"#"!==e.getAttribute("href")&&te(e,"click",t)}Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'),e)}function a(){te(window,"hashchange",i)}function u(){setTimeout(i,d)}function c(){Array.prototype.forEach&&document.querySelectorAll?(ie("Setting up location.hash handlers"),r(),a(),u()):re("In page linking not fully supported in this browser! (See README.md for IE8 workaround)")}v.enable?c():ie("In page linking not enabled");return{findTarget:o}}(),Ee("init","Init message from host page"),j()}function ue(e){var t=e.split("Callback");if(2===t.length){var n="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[n]=this[e],delete this[e],re("Deprecated: '"+e+"' has been renamed '"+n+"'. The old method will be removed in the next major version.")}}function ce(e,n){t!==n&&""!==n&&"null"!==n&&(document.body.style[e]=n,ie("Body "+e+' set to "'+n+'"'))}function se(e){var t={add:function(t){function n(){Ee(e.eventName,e.eventType)}W[t]=n,te(window,t,n,{passive:!0})},remove:function(e){var t,n,o,i=W[e];delete W[e],t=window,n=e,o=i,t.removeEventListener(n,o,!1)}};e.eventNames&&Array.prototype.map?(e.eventName=e.eventNames[0],e.eventNames.map(t[e.method])):t[e.method](e.eventName),ie(ne(e.method)+" event listener: "+e.eventType)}function de(e){se({method:e,eventType:"Animation Start",eventNames:["animationstart","webkitAnimationStart"]}),se({method:e,eventType:"Animation Iteration",eventNames:["animationiteration","webkitAnimationIteration"]}),se({method:e,eventType:"Animation End",eventNames:["animationend","webkitAnimationEnd"]}),se({method:e,eventType:"Input",eventName:"input"}),se({method:e,eventType:"Mouse Up",eventName:"mouseup"}),se({method:e,eventType:"Mouse Down",eventName:"mousedown"}),se({method:e,eventType:"Orientation Change",eventName:"orientationchange"}),se({method:e,eventType:"Print",eventName:["afterprint","beforeprint"]}),se({method:e,eventType:"Ready State Change",eventName:"readystatechange"}),se({method:e,eventType:"Touch Start",eventName:"touchstart"}),se({method:e,eventType:"Touch End",eventName:"touchend"}),se({method:e,eventType:"Touch Cancel",eventName:"touchcancel"}),se({method:e,eventType:"Transition Start",eventNames:["transitionstart","webkitTransitionStart","MSTransitionStart","oTransitionStart","otransitionstart"]}),se({method:e,eventType:"Transition Iteration",eventNames:["transitioniteration","webkitTransitionIteration","MSTransitionIteration","oTransitionIteration","otransitioniteration"]}),se({method:e,eventType:"Transition End",eventNames:["transitionend","webkitTransitionEnd","MSTransitionEnd","oTransitionEnd","otransitionend"]}),"child"===I&&se({method:e,eventType:"IFrame Resized",eventName:"resize"})}function le(e,t,n,o){return t!==e&&(e in n||(re(e+" is not a valid option for "+o+"CalculationMethod."),e=t),ie(o+' calculation method set to "'+e+'"')),e}function fe(){h=le(h,m,Z,"height")}function me(){F=le(F,L,$,"width")}function he(){var e;!0===n?(de("add"),e=0>y,window.MutationObserver||window.WebKitMutationObserver?e?ge():a=function(){function e(e){function t(e){!1===e.complete&&(ie("Attach listeners to "+e.src),e.addEventListener("load",i,!1),e.addEventListener("error",r,!1),c.push(e))}"attributes"===e.type&&"src"===e.attributeName?t(e.target):"childList"===e.type&&Array.prototype.forEach.call(e.target.querySelectorAll("img"),t)}function t(e){c.splice(c.indexOf(e),1)}function n(e){ie("Remove listeners from "+e.src),e.removeEventListener("load",i,!1),e.removeEventListener("error",r,!1),t(e)}function o(e,t,o){n(e.target),Ee(t,o+": "+e.target.src)}function i(e){o(e,"imageLoad","Image loaded")}function r(e){o(e,"imageLoadFailed","Image load failed")}function a(t){Ee("mutationObserver","mutationObserver: "+t[0].target+" "+t[0].type),t.forEach(e)}function u(){var e=document.querySelector("body"),t={attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0};return d=new s(a),ie("Create body MutationObserver"),d.observe(e,t),d}var c=[],s=window.MutationObserver||window.WebKitMutationObserver,d=u();return{disconnect:function(){"disconnect"in d&&(ie("Disconnect body MutationObserver"),d.disconnect(),c.forEach(n))}}}():(ie("MutationObserver not supported in this browser!"),ge())):ie("Auto Resize disabled")}function ge(){0!==y&&(ie("setInterval: "+y+"ms"),w=setInterval((function(){Ee("interval","setInterval: "+y)}),Math.abs(y)))}function pe(e,t){var n=0;return t=t||document.body,n=null!==(n=document.defaultView.getComputedStyle(t,null))?n[e]:0,parseInt(n,10)}function ve(e,t){for(var n=t.length,o=0,i=0,r=ne(e),a=Date.now(),u=0;u<n;u++)(o=t[u].getBoundingClientRect()[e]+pe("margin"+r,t[u]))>i&&(i=o);return a=Date.now()-a,ie("Parsed "+n+" HTML elements"),ie("Element position calculated in "+a+"ms"),function(e){e>R/2&&ie("Event throttle increased to "+(R=2*e)+"ms")}(a),i}function ye(e){return[e.bodyOffset(),e.bodyScroll(),e.documentElementOffset(),e.documentElementScroll()]}function we(e,t){var n=document.querySelectorAll("["+t+"]");return 0===n.length&&(re("No tagged elements ("+t+") found on page"),document.querySelectorAll("body *")),ve(e,n)}function be(){return document.querySelectorAll("body *")}function Te(e,n,o,i){var r,a;!function(){function e(e,t){return!(Math.abs(e-t)<=C)}return r=t!==o?o:Z[h](),a=t!==i?i:$[F](),e(f,r)||c&&e(x,a)}()&&"init"!==e?!(e in{init:1,interval:1,size:1})&&(h in M||c&&F in M)?Me(n):e in{interval:1}||ie("No change in size detected"):(Oe(),Ie(f=r,x=a,e))}function Ee(e,t,n,o){z&&e in s?ie("Trigger event cancelled: "+e):(e in{reset:1,resetPage:1,init:1}||ie("Trigger event: "+t),"init"===e?Te(e,t,n,o):_(e,t,n,o))}function Oe(){z||(z=!0,ie("Trigger event lock on")),clearTimeout(k),k=setTimeout((function(){z=!1,ie("Trigger event lock off"),ie("--")}),d)}function Se(e){f=Z[h](),x=$[F](),Ie(f,x,e)}function Me(e){var t=h;h=m,ie("Reset trigger event: "+e),Oe(),Se("reset"),h=t}function Ie(e,n,o,i,r){var a;t===r?r=A:ie("Message targetOrigin: "+r),ie("Sending message to host page ("+(a=S+":"+e+":"+n+":"+o+(t!==i?":"+i:""))+")"),N.postMessage(E+a,r)}function Ne(){"loading"!==document.readyState&&window.parent.postMessage("[iFrameResizerChild]Ready","*")}}()})();
2
2
  //# sourceMappingURL=embed.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["node_modules/iframe-resizer/js/iframeResizer.contentWindow.js"],"sourcesContent":["/*\n * File: iframeResizer.contentWindow.js\n * Desc: Include this file in any page being loaded into an iframe\n * to force the iframe to resize to the content size.\n * Requires: iframeResizer.js on host page.\n * Doc: https://github.com/davidjbradshaw/iframe-resizer\n * Author: David J. Bradshaw - dave@bradshaw.net\n *\n */\n\n// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names\n;(function (undefined) {\n if (typeof window === 'undefined') return // don't run for server side render\n\n var autoResize = true,\n base = 10,\n bodyBackground = '',\n bodyMargin = 0,\n bodyMarginStr = '',\n bodyObserver = null,\n bodyPadding = '',\n calculateWidth = false,\n doubleEventList = { resize: 1, click: 1 },\n eventCancelTimer = 128,\n firstRun = true,\n height = 1,\n heightCalcModeDefault = 'bodyOffset',\n heightCalcMode = heightCalcModeDefault,\n initLock = true,\n initMsg = '',\n inPageLinks = {},\n interval = 32,\n intervalTimer = null,\n logging = false,\n mouseEvents = false,\n msgID = '[iFrameSizer]', // Must match host page msg ID\n msgIdLen = msgID.length,\n myID = '',\n resetRequiredMethods = {\n max: 1,\n min: 1,\n bodyScroll: 1,\n documentElementScroll: 1\n },\n resizeFrom = 'child',\n sendPermit = true,\n target = window.parent,\n targetOriginDefault = '*',\n tolerance = 0,\n triggerLocked = false,\n triggerLockedTimer = null,\n throttledTimer = 16,\n width = 1,\n widthCalcModeDefault = 'scroll',\n widthCalcMode = widthCalcModeDefault,\n win = window,\n onMessage = function () {\n warn('onMessage function not defined')\n },\n onReady = function () {},\n onPageInfo = function () {},\n customCalcMethods = {\n height: function () {\n warn('Custom height calculation function not defined')\n return document.documentElement.offsetHeight\n },\n width: function () {\n warn('Custom width calculation function not defined')\n return document.body.scrollWidth\n }\n },\n eventHandlersByName = {},\n passiveSupported = false\n\n function noop() {}\n\n try {\n var options = Object.create(\n {},\n {\n passive: {\n get: function () {\n passiveSupported = true\n }\n }\n }\n )\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop, options)\n } catch (error) {\n /* */\n }\n\n function addEventListener(el, evt, func, options) {\n el.addEventListener(evt, func, passiveSupported ? options || {} : false)\n }\n\n function removeEventListener(el, evt, func) {\n el.removeEventListener(evt, func, false)\n }\n\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1)\n }\n\n // Based on underscore.js\n function throttle(func) {\n var context,\n args,\n result,\n timeout = null,\n previous = 0,\n later = function () {\n previous = Date.now()\n timeout = null\n result = func.apply(context, args)\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n }\n\n return function () {\n var now = Date.now()\n\n if (!previous) {\n previous = now\n }\n\n var remaining = throttledTimer - (now - previous)\n\n context = this\n args = arguments\n\n if (remaining <= 0 || remaining > throttledTimer) {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n\n previous = now\n result = func.apply(context, args)\n\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n } else if (!timeout) {\n timeout = setTimeout(later, remaining)\n }\n\n return result\n }\n }\n\n function formatLogMsg(msg) {\n return msgID + '[' + myID + '] ' + msg\n }\n\n function log(msg) {\n if (logging && 'object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.log(formatLogMsg(msg))\n }\n }\n\n function warn(msg) {\n if ('object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.warn(formatLogMsg(msg))\n }\n }\n\n function init() {\n readDataFromParent()\n log('Initialising iFrame (' + window.location.href + ')')\n readDataFromPage()\n setMargin()\n setBodyStyle('background', bodyBackground)\n setBodyStyle('padding', bodyPadding)\n injectClearFixIntoBodyElement()\n checkHeightMode()\n checkWidthMode()\n stopInfiniteResizingOfIFrame()\n setupPublicMethods()\n setupMouseEvents()\n startEventListeners()\n inPageLinks = setupInPageLinks()\n sendSize('init', 'Init message from host page')\n onReady()\n }\n\n function readDataFromParent() {\n function strBool(str) {\n return 'true' === str\n }\n\n var data = initMsg.substr(msgIdLen).split(':')\n\n myID = data[0]\n bodyMargin = undefined !== data[1] ? Number(data[1]) : bodyMargin // For V1 compatibility\n calculateWidth = undefined !== data[2] ? strBool(data[2]) : calculateWidth\n logging = undefined !== data[3] ? strBool(data[3]) : logging\n interval = undefined !== data[4] ? Number(data[4]) : interval\n autoResize = undefined !== data[6] ? strBool(data[6]) : autoResize\n bodyMarginStr = data[7]\n heightCalcMode = undefined !== data[8] ? data[8] : heightCalcMode\n bodyBackground = data[9]\n bodyPadding = data[10]\n tolerance = undefined !== data[11] ? Number(data[11]) : tolerance\n inPageLinks.enable = undefined !== data[12] ? strBool(data[12]) : false\n resizeFrom = undefined !== data[13] ? data[13] : resizeFrom\n widthCalcMode = undefined !== data[14] ? data[14] : widthCalcMode\n mouseEvents = undefined !== data[15] ? Boolean(data[15]) : mouseEvents\n }\n\n function depricate(key) {\n var splitName = key.split('Callback')\n\n if (splitName.length === 2) {\n var name =\n 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1)\n this[name] = this[key]\n delete this[key]\n warn(\n \"Deprecated: '\" +\n key +\n \"' has been renamed '\" +\n name +\n \"'. The old method will be removed in the next major version.\"\n )\n }\n }\n\n function readDataFromPage() {\n function readData() {\n var data = window.iFrameResizer\n\n log('Reading data from page: ' + JSON.stringify(data))\n Object.keys(data).forEach(depricate, data)\n\n onMessage = 'onMessage' in data ? data.onMessage : onMessage\n onReady = 'onReady' in data ? data.onReady : onReady\n targetOriginDefault =\n 'targetOrigin' in data ? data.targetOrigin : targetOriginDefault\n heightCalcMode =\n 'heightCalculationMethod' in data\n ? data.heightCalculationMethod\n : heightCalcMode\n widthCalcMode =\n 'widthCalculationMethod' in data\n ? data.widthCalculationMethod\n : widthCalcMode\n }\n\n function setupCustomCalcMethods(calcMode, calcFunc) {\n if ('function' === typeof calcMode) {\n log('Setup custom ' + calcFunc + 'CalcMethod')\n customCalcMethods[calcFunc] = calcMode\n calcMode = 'custom'\n }\n\n return calcMode\n }\n\n if (\n 'iFrameResizer' in window &&\n Object === window.iFrameResizer.constructor\n ) {\n readData()\n heightCalcMode = setupCustomCalcMethods(heightCalcMode, 'height')\n widthCalcMode = setupCustomCalcMethods(widthCalcMode, 'width')\n }\n\n log('TargetOrigin for parent set to: ' + targetOriginDefault)\n }\n\n function chkCSS(attr, value) {\n if (-1 !== value.indexOf('-')) {\n warn('Negative CSS value ignored for ' + attr)\n value = ''\n }\n return value\n }\n\n function setBodyStyle(attr, value) {\n if (undefined !== value && '' !== value && 'null' !== value) {\n document.body.style[attr] = value\n log('Body ' + attr + ' set to \"' + value + '\"')\n }\n }\n\n function setMargin() {\n // If called via V1 script, convert bodyMargin from int to str\n if (undefined === bodyMarginStr) {\n bodyMarginStr = bodyMargin + 'px'\n }\n\n setBodyStyle('margin', chkCSS('margin', bodyMarginStr))\n }\n\n function stopInfiniteResizingOfIFrame() {\n document.documentElement.style.height = ''\n document.body.style.height = ''\n log('HTML & body height set to \"auto\"')\n }\n\n function manageTriggerEvent(options) {\n var listener = {\n add: function (eventName) {\n function handleEvent() {\n sendSize(options.eventName, options.eventType)\n }\n\n eventHandlersByName[eventName] = handleEvent\n\n addEventListener(window, eventName, handleEvent, { passive: true })\n },\n remove: function (eventName) {\n var handleEvent = eventHandlersByName[eventName]\n delete eventHandlersByName[eventName]\n\n removeEventListener(window, eventName, handleEvent)\n }\n }\n\n if (options.eventNames && Array.prototype.map) {\n options.eventName = options.eventNames[0]\n options.eventNames.map(listener[options.method])\n } else {\n listener[options.method](options.eventName)\n }\n\n log(\n capitalizeFirstLetter(options.method) +\n ' event listener: ' +\n options.eventType\n )\n }\n\n function manageEventListeners(method) {\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Start',\n eventNames: ['animationstart', 'webkitAnimationStart']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Iteration',\n eventNames: ['animationiteration', 'webkitAnimationIteration']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation End',\n eventNames: ['animationend', 'webkitAnimationEnd']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Input',\n eventName: 'input'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Up',\n eventName: 'mouseup'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Down',\n eventName: 'mousedown'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Orientation Change',\n eventName: 'orientationchange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Print',\n eventName: ['afterprint', 'beforeprint']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Ready State Change',\n eventName: 'readystatechange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Start',\n eventName: 'touchstart'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch End',\n eventName: 'touchend'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Cancel',\n eventName: 'touchcancel'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Start',\n eventNames: [\n 'transitionstart',\n 'webkitTransitionStart',\n 'MSTransitionStart',\n 'oTransitionStart',\n 'otransitionstart'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Iteration',\n eventNames: [\n 'transitioniteration',\n 'webkitTransitionIteration',\n 'MSTransitionIteration',\n 'oTransitionIteration',\n 'otransitioniteration'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition End',\n eventNames: [\n 'transitionend',\n 'webkitTransitionEnd',\n 'MSTransitionEnd',\n 'oTransitionEnd',\n 'otransitionend'\n ]\n })\n if ('child' === resizeFrom) {\n manageTriggerEvent({\n method: method,\n eventType: 'IFrame Resized',\n eventName: 'resize'\n })\n }\n }\n\n function checkCalcMode(calcMode, calcModeDefault, modes, type) {\n if (calcModeDefault !== calcMode) {\n if (!(calcMode in modes)) {\n warn(\n calcMode + ' is not a valid option for ' + type + 'CalculationMethod.'\n )\n calcMode = calcModeDefault\n }\n log(type + ' calculation method set to \"' + calcMode + '\"')\n }\n\n return calcMode\n }\n\n function checkHeightMode() {\n heightCalcMode = checkCalcMode(\n heightCalcMode,\n heightCalcModeDefault,\n getHeight,\n 'height'\n )\n }\n\n function checkWidthMode() {\n widthCalcMode = checkCalcMode(\n widthCalcMode,\n widthCalcModeDefault,\n getWidth,\n 'width'\n )\n }\n\n function startEventListeners() {\n if (true === autoResize) {\n manageEventListeners('add')\n setupMutationObserver()\n } else {\n log('Auto Resize disabled')\n }\n }\n\n // function stopMsgsToParent() {\n // log('Disable outgoing messages')\n // sendPermit = false\n // }\n\n // function removeMsgListener() {\n // log('Remove event listener: Message')\n // removeEventListener(window, 'message', receiver)\n // }\n\n function disconnectMutationObserver() {\n if (null !== bodyObserver) {\n /* istanbul ignore next */ // Not testable in PhantonJS\n bodyObserver.disconnect()\n }\n }\n\n function stopEventListeners() {\n manageEventListeners('remove')\n disconnectMutationObserver()\n clearInterval(intervalTimer)\n }\n\n // function teardown() {\n // stopMsgsToParent()\n // removeMsgListener()\n // if (true === autoResize) stopEventListeners()\n // }\n\n function injectClearFixIntoBodyElement() {\n var clearFix = document.createElement('div')\n clearFix.style.clear = 'both'\n // Guard against the following having been globally redefined in CSS.\n clearFix.style.display = 'block'\n clearFix.style.height = '0'\n document.body.appendChild(clearFix)\n }\n\n function setupInPageLinks() {\n function getPagePosition() {\n return {\n x:\n window.pageXOffset !== undefined\n ? window.pageXOffset\n : document.documentElement.scrollLeft,\n y:\n window.pageYOffset !== undefined\n ? window.pageYOffset\n : document.documentElement.scrollTop\n }\n }\n\n function getElementPosition(el) {\n var elPosition = el.getBoundingClientRect(),\n pagePosition = getPagePosition()\n\n return {\n x: parseInt(elPosition.left, 10) + parseInt(pagePosition.x, 10),\n y: parseInt(elPosition.top, 10) + parseInt(pagePosition.y, 10)\n }\n }\n\n function findTarget(location) {\n function jumpToTarget(target) {\n var jumpPosition = getElementPosition(target)\n\n log(\n 'Moving to in page link (#' +\n hash +\n ') at x: ' +\n jumpPosition.x +\n ' y: ' +\n jumpPosition.y\n )\n sendMsg(jumpPosition.y, jumpPosition.x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n }\n\n var hash = location.split('#')[1] || location, // Remove # if present\n hashData = decodeURIComponent(hash),\n target =\n document.getElementById(hashData) ||\n document.getElementsByName(hashData)[0]\n\n if (undefined !== target) {\n jumpToTarget(target)\n } else {\n log(\n 'In page link (#' +\n hash +\n ') not found in iFrame, so sending to parent'\n )\n sendMsg(0, 0, 'inPageLink', '#' + hash)\n }\n }\n\n function checkLocationHash() {\n var hash = window.location.hash\n var href = window.location.href\n\n if ('' !== hash && '#' !== hash) {\n findTarget(href)\n }\n }\n\n function bindAnchors() {\n function setupLink(el) {\n function linkClicked(e) {\n e.preventDefault()\n\n /* jshint validthis:true */\n findTarget(this.getAttribute('href'))\n }\n\n if ('#' !== el.getAttribute('href')) {\n addEventListener(el, 'click', linkClicked)\n }\n }\n\n Array.prototype.forEach.call(\n document.querySelectorAll('a[href^=\"#\"]'),\n setupLink\n )\n }\n\n function bindLocationHash() {\n addEventListener(window, 'hashchange', checkLocationHash)\n }\n\n function initCheck() {\n // Check if page loaded with location hash after init resize\n setTimeout(checkLocationHash, eventCancelTimer)\n }\n\n function enableInPageLinks() {\n /* istanbul ignore else */ // Not testable in phantonJS\n if (Array.prototype.forEach && document.querySelectorAll) {\n log('Setting up location.hash handlers')\n bindAnchors()\n bindLocationHash()\n initCheck()\n } else {\n warn(\n 'In page linking not fully supported in this browser! (See README.md for IE8 workaround)'\n )\n }\n }\n\n if (inPageLinks.enable) {\n enableInPageLinks()\n } else {\n log('In page linking not enabled')\n }\n\n return {\n findTarget: findTarget\n }\n }\n\n function setupMouseEvents() {\n if (mouseEvents !== true) return\n\n function sendMouse(e) {\n sendMsg(0, 0, e.type, e.screenY + ':' + e.screenX)\n }\n\n function addMouseListener(evt, name) {\n log('Add event listener: ' + name)\n addEventListener(window.document, evt, sendMouse)\n }\n\n addMouseListener('mouseenter', 'Mouse Enter')\n addMouseListener('mouseleave', 'Mouse Leave')\n }\n\n function setupPublicMethods() {\n log('Enable public methods')\n\n win.parentIFrame = {\n autoResize: function autoResizeF(resize) {\n if (true === resize && false === autoResize) {\n autoResize = true\n startEventListeners()\n } else if (false === resize && true === autoResize) {\n autoResize = false\n stopEventListeners()\n }\n sendMsg(0, 0, 'autoResize', JSON.stringify(autoResize))\n return autoResize\n },\n\n close: function closeF() {\n sendMsg(0, 0, 'close')\n // teardown()\n },\n\n getId: function getIdF() {\n return myID\n },\n\n getPageInfo: function getPageInfoF(callback) {\n if ('function' === typeof callback) {\n onPageInfo = callback\n sendMsg(0, 0, 'pageInfo')\n } else {\n onPageInfo = function () {}\n sendMsg(0, 0, 'pageInfoStop')\n }\n },\n\n moveToAnchor: function moveToAnchorF(hash) {\n inPageLinks.findTarget(hash)\n },\n\n reset: function resetF() {\n resetIFrame('parentIFrame.reset')\n },\n\n scrollTo: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollTo') // X&Y reversed at sendMsg uses height/width\n },\n\n scrollToOffset: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n },\n\n sendMessage: function sendMessageF(msg, targetOrigin) {\n sendMsg(0, 0, 'message', JSON.stringify(msg), targetOrigin)\n },\n\n setHeightCalculationMethod: function setHeightCalculationMethodF(\n heightCalculationMethod\n ) {\n heightCalcMode = heightCalculationMethod\n checkHeightMode()\n },\n\n setWidthCalculationMethod: function setWidthCalculationMethodF(\n widthCalculationMethod\n ) {\n widthCalcMode = widthCalculationMethod\n checkWidthMode()\n },\n\n setTargetOrigin: function setTargetOriginF(targetOrigin) {\n log('Set targetOrigin: ' + targetOrigin)\n targetOriginDefault = targetOrigin\n },\n\n size: function sizeF(customHeight, customWidth) {\n var valString =\n '' + (customHeight || '') + (customWidth ? ',' + customWidth : '')\n sendSize(\n 'size',\n 'parentIFrame.size(' + valString + ')',\n customHeight,\n customWidth\n )\n }\n }\n }\n\n function initInterval() {\n if (0 !== interval) {\n log('setInterval: ' + interval + 'ms')\n intervalTimer = setInterval(function () {\n sendSize('interval', 'setInterval: ' + interval)\n }, Math.abs(interval))\n }\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n function setupBodyMutationObserver() {\n function addImageLoadListners(mutation) {\n function addImageLoadListener(element) {\n if (false === element.complete) {\n log('Attach listeners to ' + element.src)\n element.addEventListener('load', imageLoaded, false)\n element.addEventListener('error', imageError, false)\n elements.push(element)\n }\n }\n\n if (mutation.type === 'attributes' && mutation.attributeName === 'src') {\n addImageLoadListener(mutation.target)\n } else if (mutation.type === 'childList') {\n Array.prototype.forEach.call(\n mutation.target.querySelectorAll('img'),\n addImageLoadListener\n )\n }\n }\n\n function removeFromArray(element) {\n elements.splice(elements.indexOf(element), 1)\n }\n\n function removeImageLoadListener(element) {\n log('Remove listeners from ' + element.src)\n element.removeEventListener('load', imageLoaded, false)\n element.removeEventListener('error', imageError, false)\n removeFromArray(element)\n }\n\n function imageEventTriggered(event, type, typeDesc) {\n removeImageLoadListener(event.target)\n sendSize(type, typeDesc + ': ' + event.target.src)\n }\n\n function imageLoaded(event) {\n imageEventTriggered(event, 'imageLoad', 'Image loaded')\n }\n\n function imageError(event) {\n imageEventTriggered(event, 'imageLoadFailed', 'Image load failed')\n }\n\n function mutationObserved(mutations) {\n sendSize(\n 'mutationObserver',\n 'mutationObserver: ' + mutations[0].target + ' ' + mutations[0].type\n )\n\n // Deal with WebKit / Blink asyncing image loading when tags are injected into the page\n mutations.forEach(addImageLoadListners)\n }\n\n function createMutationObserver() {\n var target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n observer = new MutationObserver(mutationObserved)\n\n log('Create body MutationObserver')\n observer.observe(target, config)\n\n return observer\n }\n\n var elements = [],\n MutationObserver =\n window.MutationObserver || window.WebKitMutationObserver,\n observer = createMutationObserver()\n\n return {\n disconnect: function () {\n if ('disconnect' in observer) {\n log('Disconnect body MutationObserver')\n observer.disconnect()\n elements.forEach(removeImageLoadListener)\n }\n }\n }\n }\n\n function setupMutationObserver() {\n var forceIntervalTimer = 0 > interval\n\n // Not testable in PhantomJS\n /* istanbul ignore if */ if (\n window.MutationObserver ||\n window.WebKitMutationObserver\n ) {\n if (forceIntervalTimer) {\n initInterval()\n } else {\n bodyObserver = setupBodyMutationObserver()\n }\n } else {\n log('MutationObserver not supported in this browser!')\n initInterval()\n }\n }\n\n // document.documentElement.offsetHeight is not reliable, so\n // we have to jump through hoops to get a better value.\n function getComputedStyle(prop, el) {\n var retVal = 0\n el = el || document.body // Not testable in phantonJS\n\n retVal = document.defaultView.getComputedStyle(el, null)\n retVal = null !== retVal ? retVal[prop] : 0\n\n return parseInt(retVal, base)\n }\n\n function chkEventThottle(timer) {\n if (timer > throttledTimer / 2) {\n throttledTimer = 2 * timer\n log('Event throttle increased to ' + throttledTimer + 'ms')\n }\n }\n\n // Idea from https://github.com/guardian/iframe-messenger\n function getMaxElement(side, elements) {\n var elementsLength = elements.length,\n elVal = 0,\n maxVal = 0,\n Side = capitalizeFirstLetter(side),\n timer = Date.now()\n\n for (var i = 0; i < elementsLength; i++) {\n elVal =\n elements[i].getBoundingClientRect()[side] +\n getComputedStyle('margin' + Side, elements[i])\n if (elVal > maxVal) {\n maxVal = elVal\n }\n }\n\n timer = Date.now() - timer\n\n log('Parsed ' + elementsLength + ' HTML elements')\n log('Element position calculated in ' + timer + 'ms')\n\n chkEventThottle(timer)\n\n return maxVal\n }\n\n function getAllMeasurements(dimensions) {\n return [\n dimensions.bodyOffset(),\n dimensions.bodyScroll(),\n dimensions.documentElementOffset(),\n dimensions.documentElementScroll()\n ]\n }\n\n function getTaggedElements(side, tag) {\n function noTaggedElementsFound() {\n warn('No tagged elements (' + tag + ') found on page')\n return document.querySelectorAll('body *')\n }\n\n var elements = document.querySelectorAll('[' + tag + ']')\n\n if (elements.length === 0) noTaggedElementsFound()\n\n return getMaxElement(side, elements)\n }\n\n function getAllElements() {\n return document.querySelectorAll('body *')\n }\n\n var getHeight = {\n bodyOffset: function getBodyOffsetHeight() {\n return (\n document.body.offsetHeight +\n getComputedStyle('marginTop') +\n getComputedStyle('marginBottom')\n )\n },\n\n offset: function () {\n return getHeight.bodyOffset() // Backwards compatability\n },\n\n bodyScroll: function getBodyScrollHeight() {\n return document.body.scrollHeight\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.height()\n },\n\n documentElementOffset: function getDEOffsetHeight() {\n return document.documentElement.offsetHeight\n },\n\n documentElementScroll: function getDEScrollHeight() {\n return document.documentElement.scrollHeight\n },\n\n max: function getMaxHeight() {\n return Math.max.apply(null, getAllMeasurements(getHeight))\n },\n\n min: function getMinHeight() {\n return Math.min.apply(null, getAllMeasurements(getHeight))\n },\n\n grow: function growHeight() {\n return getHeight.max() // Run max without the forced downsizing\n },\n\n lowestElement: function getBestHeight() {\n return Math.max(\n getHeight.bodyOffset() || getHeight.documentElementOffset(),\n getMaxElement('bottom', getAllElements())\n )\n },\n\n taggedElement: function getTaggedElementsHeight() {\n return getTaggedElements('bottom', 'data-iframe-height')\n }\n },\n getWidth = {\n bodyScroll: function getBodyScrollWidth() {\n return document.body.scrollWidth\n },\n\n bodyOffset: function getBodyOffsetWidth() {\n return document.body.offsetWidth\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.width()\n },\n\n documentElementScroll: function getDEScrollWidth() {\n return document.documentElement.scrollWidth\n },\n\n documentElementOffset: function getDEOffsetWidth() {\n return document.documentElement.offsetWidth\n },\n\n scroll: function getMaxWidth() {\n return Math.max(getWidth.bodyScroll(), getWidth.documentElementScroll())\n },\n\n max: function getMaxWidth() {\n return Math.max.apply(null, getAllMeasurements(getWidth))\n },\n\n min: function getMinWidth() {\n return Math.min.apply(null, getAllMeasurements(getWidth))\n },\n\n rightMostElement: function rightMostElement() {\n return getMaxElement('right', getAllElements())\n },\n\n taggedElement: function getTaggedElementsWidth() {\n return getTaggedElements('right', 'data-iframe-width')\n }\n }\n\n function sizeIFrame(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n ) {\n function resizeIFrame() {\n height = currentHeight\n width = currentWidth\n\n sendMsg(height, width, triggerEvent)\n }\n\n function isSizeChangeDetected() {\n function checkTolarance(a, b) {\n var retVal = Math.abs(a - b) <= tolerance\n return !retVal\n }\n\n currentHeight =\n undefined !== customHeight ? customHeight : getHeight[heightCalcMode]()\n currentWidth =\n undefined !== customWidth ? customWidth : getWidth[widthCalcMode]()\n\n return (\n checkTolarance(height, currentHeight) ||\n (calculateWidth && checkTolarance(width, currentWidth))\n )\n }\n\n function isForceResizableEvent() {\n return !(triggerEvent in { init: 1, interval: 1, size: 1 })\n }\n\n function isForceResizableCalcMode() {\n return (\n heightCalcMode in resetRequiredMethods ||\n (calculateWidth && widthCalcMode in resetRequiredMethods)\n )\n }\n\n function logIgnored() {\n log('No change in size detected')\n }\n\n function checkDownSizing() {\n if (isForceResizableEvent() && isForceResizableCalcMode()) {\n resetIFrame(triggerEventDesc)\n } else if (!(triggerEvent in { interval: 1 })) {\n logIgnored()\n }\n }\n\n var currentHeight, currentWidth\n\n if (isSizeChangeDetected() || 'init' === triggerEvent) {\n lockTrigger()\n resizeIFrame()\n } else {\n checkDownSizing()\n }\n }\n\n var sizeIFrameThrottled = throttle(sizeIFrame)\n\n function sendSize(triggerEvent, triggerEventDesc, customHeight, customWidth) {\n function recordTrigger() {\n if (!(triggerEvent in { reset: 1, resetPage: 1, init: 1 })) {\n log('Trigger event: ' + triggerEventDesc)\n }\n }\n\n function isDoubleFiredEvent() {\n return triggerLocked && triggerEvent in doubleEventList\n }\n\n if (!isDoubleFiredEvent()) {\n recordTrigger()\n if (triggerEvent === 'init') {\n sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth)\n } else {\n sizeIFrameThrottled(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n )\n }\n } else {\n log('Trigger event cancelled: ' + triggerEvent)\n }\n }\n\n function lockTrigger() {\n if (!triggerLocked) {\n triggerLocked = true\n log('Trigger event lock on')\n }\n clearTimeout(triggerLockedTimer)\n triggerLockedTimer = setTimeout(function () {\n triggerLocked = false\n log('Trigger event lock off')\n log('--')\n }, eventCancelTimer)\n }\n\n function triggerReset(triggerEvent) {\n height = getHeight[heightCalcMode]()\n width = getWidth[widthCalcMode]()\n\n sendMsg(height, width, triggerEvent)\n }\n\n function resetIFrame(triggerEventDesc) {\n var hcm = heightCalcMode\n heightCalcMode = heightCalcModeDefault\n\n log('Reset trigger event: ' + triggerEventDesc)\n lockTrigger()\n triggerReset('reset')\n\n heightCalcMode = hcm\n }\n\n function sendMsg(height, width, triggerEvent, msg, targetOrigin) {\n function setTargetOrigin() {\n if (undefined === targetOrigin) {\n targetOrigin = targetOriginDefault\n } else {\n log('Message targetOrigin: ' + targetOrigin)\n }\n }\n\n function sendToParent() {\n var size = height + ':' + width,\n message =\n myID +\n ':' +\n size +\n ':' +\n triggerEvent +\n (undefined !== msg ? ':' + msg : '')\n\n log('Sending message to host page (' + message + ')')\n target.postMessage(msgID + message, targetOrigin)\n }\n\n if (true === sendPermit) {\n setTargetOrigin()\n sendToParent()\n }\n }\n\n function receiver(event) {\n var processRequestFromParent = {\n init: function initFromParent() {\n initMsg = event.data\n target = event.source\n\n init()\n firstRun = false\n setTimeout(function () {\n initLock = false\n }, eventCancelTimer)\n },\n\n reset: function resetFromParent() {\n if (!initLock) {\n log('Page size reset by host page')\n triggerReset('resetPage')\n } else {\n log('Page reset ignored by init')\n }\n },\n\n resize: function resizeFromParent() {\n sendSize('resizeParent', 'Parent window requested size check')\n },\n\n moveToAnchor: function moveToAnchorF() {\n inPageLinks.findTarget(getData())\n },\n inPageLink: function inPageLinkF() {\n this.moveToAnchor()\n }, // Backward compatability\n\n pageInfo: function pageInfoFromParent() {\n var msgBody = getData()\n log('PageInfoFromParent called from parent: ' + msgBody)\n onPageInfo(JSON.parse(msgBody))\n log(' --')\n },\n\n message: function messageFromParent() {\n var msgBody = getData()\n\n log('onMessage called from parent: ' + msgBody)\n // eslint-disable-next-line sonarjs/no-extra-arguments\n onMessage(JSON.parse(msgBody))\n log(' --')\n }\n }\n\n function isMessageForUs() {\n return msgID === ('' + event.data).substr(0, msgIdLen) // ''+ Protects against non-string messages\n }\n\n function getMessageType() {\n return event.data.split(']')[1].split(':')[0]\n }\n\n function getData() {\n return event.data.substr(event.data.indexOf(':') + 1)\n }\n\n function isMiddleTier() {\n return (\n (!(typeof module !== 'undefined' && module.exports) &&\n 'iFrameResize' in window) ||\n ('jQuery' in window && 'iFrameResize' in window.jQuery.prototype)\n )\n }\n\n function isInitMsg() {\n // Test if this message is from a child below us. This is an ugly test, however, updating\n // the message format would break backwards compatibity.\n return event.data.split(':')[2] in { true: 1, false: 1 }\n }\n\n function callFromParent() {\n var messageType = getMessageType()\n\n if (messageType in processRequestFromParent) {\n processRequestFromParent[messageType]()\n } else if (!isMiddleTier() && !isInitMsg()) {\n warn('Unexpected message (' + event.data + ')')\n }\n }\n\n function processMessage() {\n if (false === firstRun) {\n callFromParent()\n } else if (isInitMsg()) {\n processRequestFromParent.init()\n } else {\n log(\n 'Ignored message of type \"' +\n getMessageType() +\n '\". Received before initialization.'\n )\n }\n }\n\n if (isMessageForUs()) {\n processMessage()\n }\n }\n\n // Normally the parent kicks things off when it detects the iFrame has loaded.\n // If this script is async-loaded, then tell parent page to retry init.\n function chkLateLoaded() {\n if ('loading' !== document.readyState) {\n window.parent.postMessage('[iFrameResizerChild]Ready', '*')\n }\n }\n\n addEventListener(window, 'message', receiver)\n addEventListener(window, 'readystatechange', chkLateLoaded)\n chkLateLoaded()\n\n \n})()\n"],"names":["undefined","window","autoResize","bodyBackground","bodyMargin","bodyMarginStr","bodyObserver","bodyPadding","calculateWidth","doubleEventList","resize","click","eventCancelTimer","firstRun","height1","heightCalcModeDefault","heightCalcMode","initLock","initMsg","inPageLinks","interval","intervalTimer","logging","mouseEvents","msgID","msgIdLen","length","myID","resetRequiredMethods","max","min","bodyScroll","documentElementScroll","resizeFrom","target1","parent","targetOriginDefault","tolerance","triggerLocked","triggerLockedTimer","throttledTimer","width1","widthCalcModeDefault","widthCalcMode","win","onMessage","warn","onReady","onPageInfo","customCalcMethods","height","document","documentElement","offsetHeight","width","body","scrollWidth","eventHandlersByName","passiveSupported","options","Object","create","passive","get","addEventListener","noop","removeEventListener","error","func","context","args","result","timeout","previous","later","getHeight","bodyOffset","getComputedStyle","offset","scrollHeight","custom","documentElementOffset","Math","apply","getAllMeasurements","grow","lowestElement","getMaxElement","getAllElements","taggedElement","getTaggedElements","getWidth","offsetWidth","scroll","rightMostElement","sizeIFrameThrottled","sizeIFrame","Date","now","remaining","this","arguments","clearTimeout","setTimeout","event","processRequestFromParent","init","data","source","reset","log","triggerReset","sendSize","moveToAnchor","findTarget","getData","inPageLink","pageInfo","msgBody","JSON","parse","message","getMessageType","split","substr","indexOf","isInitMsg","true","false","callFromParent","messageType","$05cca9bf80de335b$exports","jQuery","prototype","chkLateLoaded","el","evt","capitalizeFirstLetter","string","charAt","toUpperCase","slice","formatLogMsg","msg","console","clearFix","strBool","str","Number","enable","Boolean","readDataFromParent","location","href","readData","iFrameResizer","stringify","keys","forEach","depricate","targetOrigin","heightCalculationMethod","widthCalculationMethod","setupCustomCalcMethods","calcMode","calcFunc","constructor","readDataFromPage","setBodyStyle","attr","value","chkCSS","setMargin","createElement","style","clear","display","appendChild","checkHeightMode","checkWidthMode","parentIFrame","startEventListeners","manageEventListeners","disconnect","clearInterval","sendMsg","close","getId","getPageInfo","callback","hash","resetIFrame","scrollTo","x","y","scrollToOffset","sendMessage","setHeightCalculationMethod","setWidthCalculationMethod","setTargetOrigin","size","customHeight","customWidth","sendMouse","e","type","screenY","screenX","addMouseListener","name","setupMouseEvents","getPagePosition","pageXOffset","scrollLeft","pageYOffset","scrollTop","getElementPosition","elPosition","getBoundingClientRect","pagePosition","parseInt","left","top","jumpToTarget","target","jumpPosition","hashData","decodeURIComponent","target2","getElementById","getElementsByName","checkLocationHash","bindAnchors","setupLink","linkClicked","preventDefault","getAttribute","Array","call","querySelectorAll","bindLocationHash","initCheck","enableInPageLinks","setupInPageLinks","key","splitName","manageTriggerEvent","listener","add","eventName","handleEvent","eventType","remove","eventNames","map","method","checkCalcMode","calcModeDefault","modes","forceIntervalTimer","MutationObserver","WebKitMutationObserver","initInterval","addImageLoadListners","mutation","addImageLoadListener","element","complete","src","imageLoaded","imageError","elements","push","attributeName","removeFromArray","splice","removeImageLoadListener","imageEventTriggered","typeDesc","mutationObserved","mutations","createMutationObserver","querySelector","config","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","observer","observe","setupBodyMutationObserver","setInterval","abs","prop","retVal","defaultView","side","elementsLength","elVal","maxVal","Side","timer","i","chkEventThottle","dimensions","tag","triggerEvent","triggerEventDesc","currentHeight","currentWidth","checkTolarance","a","b","isSizeChangeDetected","lockTrigger","resetPage","hcm","postMessage","readyState"],"version":3,"file":"embed.js.map"}
1
+ {"mappings":"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","sources":["node_modules/iframe-resizer/js/iframeResizer.contentWindow.js"],"sourcesContent":["/*\n * File: iframeResizer.contentWindow.js\n * Desc: Include this file in any page being loaded into an iframe\n * to force the iframe to resize to the content size.\n * Requires: iframeResizer.js on host page.\n * Doc: https://github.com/davidjbradshaw/iframe-resizer\n * Author: David J. Bradshaw - dave@bradshaw.net\n *\n */\n\n// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names\n;(function (undefined) {\n if (typeof window === 'undefined') return // don't run for server side render\n\n var autoResize = true,\n base = 10,\n bodyBackground = '',\n bodyMargin = 0,\n bodyMarginStr = '',\n bodyObserver = null,\n bodyPadding = '',\n calculateWidth = false,\n doubleEventList = { resize: 1, click: 1 },\n eventCancelTimer = 128,\n firstRun = true,\n height = 1,\n heightCalcModeDefault = 'bodyOffset',\n heightCalcMode = heightCalcModeDefault,\n initLock = true,\n initMsg = '',\n inPageLinks = {},\n interval = 32,\n intervalTimer = null,\n logging = false,\n mouseEvents = false,\n msgID = '[iFrameSizer]', // Must match host page msg ID\n msgIdLen = msgID.length,\n myID = '',\n resetRequiredMethods = {\n max: 1,\n min: 1,\n bodyScroll: 1,\n documentElementScroll: 1\n },\n resizeFrom = 'child',\n sendPermit = true,\n target = window.parent,\n targetOriginDefault = '*',\n tolerance = 0,\n triggerLocked = false,\n triggerLockedTimer = null,\n throttledTimer = 16,\n width = 1,\n widthCalcModeDefault = 'scroll',\n widthCalcMode = widthCalcModeDefault,\n win = window,\n onMessage = function () {\n warn('onMessage function not defined')\n },\n onReady = function () {},\n onPageInfo = function () {},\n customCalcMethods = {\n height: function () {\n warn('Custom height calculation function not defined')\n return document.documentElement.offsetHeight\n },\n width: function () {\n warn('Custom width calculation function not defined')\n return document.body.scrollWidth\n }\n },\n eventHandlersByName = {},\n passiveSupported = false\n\n function noop() {}\n\n try {\n var options = Object.create(\n {},\n {\n passive: {\n get: function () {\n passiveSupported = true\n }\n }\n }\n )\n window.addEventListener('test', noop, options)\n window.removeEventListener('test', noop, options)\n } catch (error) {\n /* */\n }\n\n function addEventListener(el, evt, func, options) {\n el.addEventListener(evt, func, passiveSupported ? options || {} : false)\n }\n\n function removeEventListener(el, evt, func) {\n el.removeEventListener(evt, func, false)\n }\n\n function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1)\n }\n\n // Based on underscore.js\n function throttle(func) {\n var context,\n args,\n result,\n timeout = null,\n previous = 0,\n later = function () {\n previous = Date.now()\n timeout = null\n result = func.apply(context, args)\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n }\n\n return function () {\n var now = Date.now()\n\n if (!previous) {\n previous = now\n }\n\n var remaining = throttledTimer - (now - previous)\n\n context = this\n args = arguments\n\n if (remaining <= 0 || remaining > throttledTimer) {\n if (timeout) {\n clearTimeout(timeout)\n timeout = null\n }\n\n previous = now\n result = func.apply(context, args)\n\n if (!timeout) {\n // eslint-disable-next-line no-multi-assign\n context = args = null\n }\n } else if (!timeout) {\n timeout = setTimeout(later, remaining)\n }\n\n return result\n }\n }\n\n function formatLogMsg(msg) {\n return msgID + '[' + myID + '] ' + msg\n }\n\n function log(msg) {\n if (logging && 'object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.log(formatLogMsg(msg))\n }\n }\n\n function warn(msg) {\n if ('object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console.warn(formatLogMsg(msg))\n }\n }\n\n function init() {\n readDataFromParent()\n log('Initialising iFrame (' + window.location.href + ')')\n readDataFromPage()\n setMargin()\n setBodyStyle('background', bodyBackground)\n setBodyStyle('padding', bodyPadding)\n injectClearFixIntoBodyElement()\n checkHeightMode()\n checkWidthMode()\n stopInfiniteResizingOfIFrame()\n setupPublicMethods()\n setupMouseEvents()\n startEventListeners()\n inPageLinks = setupInPageLinks()\n sendSize('init', 'Init message from host page')\n onReady()\n }\n\n function readDataFromParent() {\n function strBool(str) {\n return 'true' === str\n }\n\n var data = initMsg.substr(msgIdLen).split(':')\n\n myID = data[0]\n bodyMargin = undefined !== data[1] ? Number(data[1]) : bodyMargin // For V1 compatibility\n calculateWidth = undefined !== data[2] ? strBool(data[2]) : calculateWidth\n logging = undefined !== data[3] ? strBool(data[3]) : logging\n interval = undefined !== data[4] ? Number(data[4]) : interval\n autoResize = undefined !== data[6] ? strBool(data[6]) : autoResize\n bodyMarginStr = data[7]\n heightCalcMode = undefined !== data[8] ? data[8] : heightCalcMode\n bodyBackground = data[9]\n bodyPadding = data[10]\n tolerance = undefined !== data[11] ? Number(data[11]) : tolerance\n inPageLinks.enable = undefined !== data[12] ? strBool(data[12]) : false\n resizeFrom = undefined !== data[13] ? data[13] : resizeFrom\n widthCalcMode = undefined !== data[14] ? data[14] : widthCalcMode\n mouseEvents = undefined !== data[15] ? Boolean(data[15]) : mouseEvents\n }\n\n function depricate(key) {\n var splitName = key.split('Callback')\n\n if (splitName.length === 2) {\n var name =\n 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1)\n this[name] = this[key]\n delete this[key]\n warn(\n \"Deprecated: '\" +\n key +\n \"' has been renamed '\" +\n name +\n \"'. The old method will be removed in the next major version.\"\n )\n }\n }\n\n function readDataFromPage() {\n function readData() {\n var data = window.iFrameResizer\n\n log('Reading data from page: ' + JSON.stringify(data))\n Object.keys(data).forEach(depricate, data)\n\n onMessage = 'onMessage' in data ? data.onMessage : onMessage\n onReady = 'onReady' in data ? data.onReady : onReady\n targetOriginDefault =\n 'targetOrigin' in data ? data.targetOrigin : targetOriginDefault\n heightCalcMode =\n 'heightCalculationMethod' in data\n ? data.heightCalculationMethod\n : heightCalcMode\n widthCalcMode =\n 'widthCalculationMethod' in data\n ? data.widthCalculationMethod\n : widthCalcMode\n }\n\n function setupCustomCalcMethods(calcMode, calcFunc) {\n if ('function' === typeof calcMode) {\n log('Setup custom ' + calcFunc + 'CalcMethod')\n customCalcMethods[calcFunc] = calcMode\n calcMode = 'custom'\n }\n\n return calcMode\n }\n\n if (\n 'iFrameResizer' in window &&\n Object === window.iFrameResizer.constructor\n ) {\n readData()\n heightCalcMode = setupCustomCalcMethods(heightCalcMode, 'height')\n widthCalcMode = setupCustomCalcMethods(widthCalcMode, 'width')\n }\n\n log('TargetOrigin for parent set to: ' + targetOriginDefault)\n }\n\n function chkCSS(attr, value) {\n if (-1 !== value.indexOf('-')) {\n warn('Negative CSS value ignored for ' + attr)\n value = ''\n }\n return value\n }\n\n function setBodyStyle(attr, value) {\n if (undefined !== value && '' !== value && 'null' !== value) {\n document.body.style[attr] = value\n log('Body ' + attr + ' set to \"' + value + '\"')\n }\n }\n\n function setMargin() {\n // If called via V1 script, convert bodyMargin from int to str\n if (undefined === bodyMarginStr) {\n bodyMarginStr = bodyMargin + 'px'\n }\n\n setBodyStyle('margin', chkCSS('margin', bodyMarginStr))\n }\n\n function stopInfiniteResizingOfIFrame() {\n document.documentElement.style.height = ''\n document.body.style.height = ''\n log('HTML & body height set to \"auto\"')\n }\n\n function manageTriggerEvent(options) {\n var listener = {\n add: function (eventName) {\n function handleEvent() {\n sendSize(options.eventName, options.eventType)\n }\n\n eventHandlersByName[eventName] = handleEvent\n\n addEventListener(window, eventName, handleEvent, { passive: true })\n },\n remove: function (eventName) {\n var handleEvent = eventHandlersByName[eventName]\n delete eventHandlersByName[eventName]\n\n removeEventListener(window, eventName, handleEvent)\n }\n }\n\n if (options.eventNames && Array.prototype.map) {\n options.eventName = options.eventNames[0]\n options.eventNames.map(listener[options.method])\n } else {\n listener[options.method](options.eventName)\n }\n\n log(\n capitalizeFirstLetter(options.method) +\n ' event listener: ' +\n options.eventType\n )\n }\n\n function manageEventListeners(method) {\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Start',\n eventNames: ['animationstart', 'webkitAnimationStart']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation Iteration',\n eventNames: ['animationiteration', 'webkitAnimationIteration']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Animation End',\n eventNames: ['animationend', 'webkitAnimationEnd']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Input',\n eventName: 'input'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Up',\n eventName: 'mouseup'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Mouse Down',\n eventName: 'mousedown'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Orientation Change',\n eventName: 'orientationchange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Print',\n eventName: ['afterprint', 'beforeprint']\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Ready State Change',\n eventName: 'readystatechange'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Start',\n eventName: 'touchstart'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch End',\n eventName: 'touchend'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Touch Cancel',\n eventName: 'touchcancel'\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Start',\n eventNames: [\n 'transitionstart',\n 'webkitTransitionStart',\n 'MSTransitionStart',\n 'oTransitionStart',\n 'otransitionstart'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition Iteration',\n eventNames: [\n 'transitioniteration',\n 'webkitTransitionIteration',\n 'MSTransitionIteration',\n 'oTransitionIteration',\n 'otransitioniteration'\n ]\n })\n manageTriggerEvent({\n method: method,\n eventType: 'Transition End',\n eventNames: [\n 'transitionend',\n 'webkitTransitionEnd',\n 'MSTransitionEnd',\n 'oTransitionEnd',\n 'otransitionend'\n ]\n })\n if ('child' === resizeFrom) {\n manageTriggerEvent({\n method: method,\n eventType: 'IFrame Resized',\n eventName: 'resize'\n })\n }\n }\n\n function checkCalcMode(calcMode, calcModeDefault, modes, type) {\n if (calcModeDefault !== calcMode) {\n if (!(calcMode in modes)) {\n warn(\n calcMode + ' is not a valid option for ' + type + 'CalculationMethod.'\n )\n calcMode = calcModeDefault\n }\n log(type + ' calculation method set to \"' + calcMode + '\"')\n }\n\n return calcMode\n }\n\n function checkHeightMode() {\n heightCalcMode = checkCalcMode(\n heightCalcMode,\n heightCalcModeDefault,\n getHeight,\n 'height'\n )\n }\n\n function checkWidthMode() {\n widthCalcMode = checkCalcMode(\n widthCalcMode,\n widthCalcModeDefault,\n getWidth,\n 'width'\n )\n }\n\n function startEventListeners() {\n if (true === autoResize) {\n manageEventListeners('add')\n setupMutationObserver()\n } else {\n log('Auto Resize disabled')\n }\n }\n\n // function stopMsgsToParent() {\n // log('Disable outgoing messages')\n // sendPermit = false\n // }\n\n // function removeMsgListener() {\n // log('Remove event listener: Message')\n // removeEventListener(window, 'message', receiver)\n // }\n\n function disconnectMutationObserver() {\n if (null !== bodyObserver) {\n /* istanbul ignore next */ // Not testable in PhantonJS\n bodyObserver.disconnect()\n }\n }\n\n function stopEventListeners() {\n manageEventListeners('remove')\n disconnectMutationObserver()\n clearInterval(intervalTimer)\n }\n\n // function teardown() {\n // stopMsgsToParent()\n // removeMsgListener()\n // if (true === autoResize) stopEventListeners()\n // }\n\n function injectClearFixIntoBodyElement() {\n var clearFix = document.createElement('div')\n clearFix.style.clear = 'both'\n // Guard against the following having been globally redefined in CSS.\n clearFix.style.display = 'block'\n clearFix.style.height = '0'\n document.body.appendChild(clearFix)\n }\n\n function setupInPageLinks() {\n function getPagePosition() {\n return {\n x:\n window.pageXOffset !== undefined\n ? window.pageXOffset\n : document.documentElement.scrollLeft,\n y:\n window.pageYOffset !== undefined\n ? window.pageYOffset\n : document.documentElement.scrollTop\n }\n }\n\n function getElementPosition(el) {\n var elPosition = el.getBoundingClientRect(),\n pagePosition = getPagePosition()\n\n return {\n x: parseInt(elPosition.left, 10) + parseInt(pagePosition.x, 10),\n y: parseInt(elPosition.top, 10) + parseInt(pagePosition.y, 10)\n }\n }\n\n function findTarget(location) {\n function jumpToTarget(target) {\n var jumpPosition = getElementPosition(target)\n\n log(\n 'Moving to in page link (#' +\n hash +\n ') at x: ' +\n jumpPosition.x +\n ' y: ' +\n jumpPosition.y\n )\n sendMsg(jumpPosition.y, jumpPosition.x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n }\n\n var hash = location.split('#')[1] || location, // Remove # if present\n hashData = decodeURIComponent(hash),\n target =\n document.getElementById(hashData) ||\n document.getElementsByName(hashData)[0]\n\n if (undefined !== target) {\n jumpToTarget(target)\n } else {\n log(\n 'In page link (#' +\n hash +\n ') not found in iFrame, so sending to parent'\n )\n sendMsg(0, 0, 'inPageLink', '#' + hash)\n }\n }\n\n function checkLocationHash() {\n var hash = window.location.hash\n var href = window.location.href\n\n if ('' !== hash && '#' !== hash) {\n findTarget(href)\n }\n }\n\n function bindAnchors() {\n function setupLink(el) {\n function linkClicked(e) {\n e.preventDefault()\n\n /* jshint validthis:true */\n findTarget(this.getAttribute('href'))\n }\n\n if ('#' !== el.getAttribute('href')) {\n addEventListener(el, 'click', linkClicked)\n }\n }\n\n Array.prototype.forEach.call(\n document.querySelectorAll('a[href^=\"#\"]'),\n setupLink\n )\n }\n\n function bindLocationHash() {\n addEventListener(window, 'hashchange', checkLocationHash)\n }\n\n function initCheck() {\n // Check if page loaded with location hash after init resize\n setTimeout(checkLocationHash, eventCancelTimer)\n }\n\n function enableInPageLinks() {\n /* istanbul ignore else */ // Not testable in phantonJS\n if (Array.prototype.forEach && document.querySelectorAll) {\n log('Setting up location.hash handlers')\n bindAnchors()\n bindLocationHash()\n initCheck()\n } else {\n warn(\n 'In page linking not fully supported in this browser! (See README.md for IE8 workaround)'\n )\n }\n }\n\n if (inPageLinks.enable) {\n enableInPageLinks()\n } else {\n log('In page linking not enabled')\n }\n\n return {\n findTarget: findTarget\n }\n }\n\n function setupMouseEvents() {\n if (mouseEvents !== true) return\n\n function sendMouse(e) {\n sendMsg(0, 0, e.type, e.screenY + ':' + e.screenX)\n }\n\n function addMouseListener(evt, name) {\n log('Add event listener: ' + name)\n addEventListener(window.document, evt, sendMouse)\n }\n\n addMouseListener('mouseenter', 'Mouse Enter')\n addMouseListener('mouseleave', 'Mouse Leave')\n }\n\n function setupPublicMethods() {\n log('Enable public methods')\n\n win.parentIFrame = {\n autoResize: function autoResizeF(resize) {\n if (true === resize && false === autoResize) {\n autoResize = true\n startEventListeners()\n } else if (false === resize && true === autoResize) {\n autoResize = false\n stopEventListeners()\n }\n sendMsg(0, 0, 'autoResize', JSON.stringify(autoResize))\n return autoResize\n },\n\n close: function closeF() {\n sendMsg(0, 0, 'close')\n // teardown()\n },\n\n getId: function getIdF() {\n return myID\n },\n\n getPageInfo: function getPageInfoF(callback) {\n if ('function' === typeof callback) {\n onPageInfo = callback\n sendMsg(0, 0, 'pageInfo')\n } else {\n onPageInfo = function () {}\n sendMsg(0, 0, 'pageInfoStop')\n }\n },\n\n moveToAnchor: function moveToAnchorF(hash) {\n inPageLinks.findTarget(hash)\n },\n\n reset: function resetF() {\n resetIFrame('parentIFrame.reset')\n },\n\n scrollTo: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollTo') // X&Y reversed at sendMsg uses height/width\n },\n\n scrollToOffset: function scrollToF(x, y) {\n sendMsg(y, x, 'scrollToOffset') // X&Y reversed at sendMsg uses height/width\n },\n\n sendMessage: function sendMessageF(msg, targetOrigin) {\n sendMsg(0, 0, 'message', JSON.stringify(msg), targetOrigin)\n },\n\n setHeightCalculationMethod: function setHeightCalculationMethodF(\n heightCalculationMethod\n ) {\n heightCalcMode = heightCalculationMethod\n checkHeightMode()\n },\n\n setWidthCalculationMethod: function setWidthCalculationMethodF(\n widthCalculationMethod\n ) {\n widthCalcMode = widthCalculationMethod\n checkWidthMode()\n },\n\n setTargetOrigin: function setTargetOriginF(targetOrigin) {\n log('Set targetOrigin: ' + targetOrigin)\n targetOriginDefault = targetOrigin\n },\n\n size: function sizeF(customHeight, customWidth) {\n var valString =\n '' + (customHeight || '') + (customWidth ? ',' + customWidth : '')\n sendSize(\n 'size',\n 'parentIFrame.size(' + valString + ')',\n customHeight,\n customWidth\n )\n }\n }\n }\n\n function initInterval() {\n if (0 !== interval) {\n log('setInterval: ' + interval + 'ms')\n intervalTimer = setInterval(function () {\n sendSize('interval', 'setInterval: ' + interval)\n }, Math.abs(interval))\n }\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n function setupBodyMutationObserver() {\n function addImageLoadListners(mutation) {\n function addImageLoadListener(element) {\n if (false === element.complete) {\n log('Attach listeners to ' + element.src)\n element.addEventListener('load', imageLoaded, false)\n element.addEventListener('error', imageError, false)\n elements.push(element)\n }\n }\n\n if (mutation.type === 'attributes' && mutation.attributeName === 'src') {\n addImageLoadListener(mutation.target)\n } else if (mutation.type === 'childList') {\n Array.prototype.forEach.call(\n mutation.target.querySelectorAll('img'),\n addImageLoadListener\n )\n }\n }\n\n function removeFromArray(element) {\n elements.splice(elements.indexOf(element), 1)\n }\n\n function removeImageLoadListener(element) {\n log('Remove listeners from ' + element.src)\n element.removeEventListener('load', imageLoaded, false)\n element.removeEventListener('error', imageError, false)\n removeFromArray(element)\n }\n\n function imageEventTriggered(event, type, typeDesc) {\n removeImageLoadListener(event.target)\n sendSize(type, typeDesc + ': ' + event.target.src)\n }\n\n function imageLoaded(event) {\n imageEventTriggered(event, 'imageLoad', 'Image loaded')\n }\n\n function imageError(event) {\n imageEventTriggered(event, 'imageLoadFailed', 'Image load failed')\n }\n\n function mutationObserved(mutations) {\n sendSize(\n 'mutationObserver',\n 'mutationObserver: ' + mutations[0].target + ' ' + mutations[0].type\n )\n\n // Deal with WebKit / Blink asyncing image loading when tags are injected into the page\n mutations.forEach(addImageLoadListners)\n }\n\n function createMutationObserver() {\n var target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n observer = new MutationObserver(mutationObserved)\n\n log('Create body MutationObserver')\n observer.observe(target, config)\n\n return observer\n }\n\n var elements = [],\n MutationObserver =\n window.MutationObserver || window.WebKitMutationObserver,\n observer = createMutationObserver()\n\n return {\n disconnect: function () {\n if ('disconnect' in observer) {\n log('Disconnect body MutationObserver')\n observer.disconnect()\n elements.forEach(removeImageLoadListener)\n }\n }\n }\n }\n\n function setupMutationObserver() {\n var forceIntervalTimer = 0 > interval\n\n // Not testable in PhantomJS\n /* istanbul ignore if */ if (\n window.MutationObserver ||\n window.WebKitMutationObserver\n ) {\n if (forceIntervalTimer) {\n initInterval()\n } else {\n bodyObserver = setupBodyMutationObserver()\n }\n } else {\n log('MutationObserver not supported in this browser!')\n initInterval()\n }\n }\n\n // document.documentElement.offsetHeight is not reliable, so\n // we have to jump through hoops to get a better value.\n function getComputedStyle(prop, el) {\n var retVal = 0\n el = el || document.body // Not testable in phantonJS\n\n retVal = document.defaultView.getComputedStyle(el, null)\n retVal = null !== retVal ? retVal[prop] : 0\n\n return parseInt(retVal, base)\n }\n\n function chkEventThottle(timer) {\n if (timer > throttledTimer / 2) {\n throttledTimer = 2 * timer\n log('Event throttle increased to ' + throttledTimer + 'ms')\n }\n }\n\n // Idea from https://github.com/guardian/iframe-messenger\n function getMaxElement(side, elements) {\n var elementsLength = elements.length,\n elVal = 0,\n maxVal = 0,\n Side = capitalizeFirstLetter(side),\n timer = Date.now()\n\n for (var i = 0; i < elementsLength; i++) {\n elVal =\n elements[i].getBoundingClientRect()[side] +\n getComputedStyle('margin' + Side, elements[i])\n if (elVal > maxVal) {\n maxVal = elVal\n }\n }\n\n timer = Date.now() - timer\n\n log('Parsed ' + elementsLength + ' HTML elements')\n log('Element position calculated in ' + timer + 'ms')\n\n chkEventThottle(timer)\n\n return maxVal\n }\n\n function getAllMeasurements(dimensions) {\n return [\n dimensions.bodyOffset(),\n dimensions.bodyScroll(),\n dimensions.documentElementOffset(),\n dimensions.documentElementScroll()\n ]\n }\n\n function getTaggedElements(side, tag) {\n function noTaggedElementsFound() {\n warn('No tagged elements (' + tag + ') found on page')\n return document.querySelectorAll('body *')\n }\n\n var elements = document.querySelectorAll('[' + tag + ']')\n\n if (elements.length === 0) noTaggedElementsFound()\n\n return getMaxElement(side, elements)\n }\n\n function getAllElements() {\n return document.querySelectorAll('body *')\n }\n\n var getHeight = {\n bodyOffset: function getBodyOffsetHeight() {\n return (\n document.body.offsetHeight +\n getComputedStyle('marginTop') +\n getComputedStyle('marginBottom')\n )\n },\n\n offset: function () {\n return getHeight.bodyOffset() // Backwards compatability\n },\n\n bodyScroll: function getBodyScrollHeight() {\n return document.body.scrollHeight\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.height()\n },\n\n documentElementOffset: function getDEOffsetHeight() {\n return document.documentElement.offsetHeight\n },\n\n documentElementScroll: function getDEScrollHeight() {\n return document.documentElement.scrollHeight\n },\n\n max: function getMaxHeight() {\n return Math.max.apply(null, getAllMeasurements(getHeight))\n },\n\n min: function getMinHeight() {\n return Math.min.apply(null, getAllMeasurements(getHeight))\n },\n\n grow: function growHeight() {\n return getHeight.max() // Run max without the forced downsizing\n },\n\n lowestElement: function getBestHeight() {\n return Math.max(\n getHeight.bodyOffset() || getHeight.documentElementOffset(),\n getMaxElement('bottom', getAllElements())\n )\n },\n\n taggedElement: function getTaggedElementsHeight() {\n return getTaggedElements('bottom', 'data-iframe-height')\n }\n },\n getWidth = {\n bodyScroll: function getBodyScrollWidth() {\n return document.body.scrollWidth\n },\n\n bodyOffset: function getBodyOffsetWidth() {\n return document.body.offsetWidth\n },\n\n custom: function getCustomWidth() {\n return customCalcMethods.width()\n },\n\n documentElementScroll: function getDEScrollWidth() {\n return document.documentElement.scrollWidth\n },\n\n documentElementOffset: function getDEOffsetWidth() {\n return document.documentElement.offsetWidth\n },\n\n scroll: function getMaxWidth() {\n return Math.max(getWidth.bodyScroll(), getWidth.documentElementScroll())\n },\n\n max: function getMaxWidth() {\n return Math.max.apply(null, getAllMeasurements(getWidth))\n },\n\n min: function getMinWidth() {\n return Math.min.apply(null, getAllMeasurements(getWidth))\n },\n\n rightMostElement: function rightMostElement() {\n return getMaxElement('right', getAllElements())\n },\n\n taggedElement: function getTaggedElementsWidth() {\n return getTaggedElements('right', 'data-iframe-width')\n }\n }\n\n function sizeIFrame(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n ) {\n function resizeIFrame() {\n height = currentHeight\n width = currentWidth\n\n sendMsg(height, width, triggerEvent)\n }\n\n function isSizeChangeDetected() {\n function checkTolarance(a, b) {\n var retVal = Math.abs(a - b) <= tolerance\n return !retVal\n }\n\n currentHeight =\n undefined !== customHeight ? customHeight : getHeight[heightCalcMode]()\n currentWidth =\n undefined !== customWidth ? customWidth : getWidth[widthCalcMode]()\n\n return (\n checkTolarance(height, currentHeight) ||\n (calculateWidth && checkTolarance(width, currentWidth))\n )\n }\n\n function isForceResizableEvent() {\n return !(triggerEvent in { init: 1, interval: 1, size: 1 })\n }\n\n function isForceResizableCalcMode() {\n return (\n heightCalcMode in resetRequiredMethods ||\n (calculateWidth && widthCalcMode in resetRequiredMethods)\n )\n }\n\n function logIgnored() {\n log('No change in size detected')\n }\n\n function checkDownSizing() {\n if (isForceResizableEvent() && isForceResizableCalcMode()) {\n resetIFrame(triggerEventDesc)\n } else if (!(triggerEvent in { interval: 1 })) {\n logIgnored()\n }\n }\n\n var currentHeight, currentWidth\n\n if (isSizeChangeDetected() || 'init' === triggerEvent) {\n lockTrigger()\n resizeIFrame()\n } else {\n checkDownSizing()\n }\n }\n\n var sizeIFrameThrottled = throttle(sizeIFrame)\n\n function sendSize(triggerEvent, triggerEventDesc, customHeight, customWidth) {\n function recordTrigger() {\n if (!(triggerEvent in { reset: 1, resetPage: 1, init: 1 })) {\n log('Trigger event: ' + triggerEventDesc)\n }\n }\n\n function isDoubleFiredEvent() {\n return triggerLocked && triggerEvent in doubleEventList\n }\n\n if (!isDoubleFiredEvent()) {\n recordTrigger()\n if (triggerEvent === 'init') {\n sizeIFrame(triggerEvent, triggerEventDesc, customHeight, customWidth)\n } else {\n sizeIFrameThrottled(\n triggerEvent,\n triggerEventDesc,\n customHeight,\n customWidth\n )\n }\n } else {\n log('Trigger event cancelled: ' + triggerEvent)\n }\n }\n\n function lockTrigger() {\n if (!triggerLocked) {\n triggerLocked = true\n log('Trigger event lock on')\n }\n clearTimeout(triggerLockedTimer)\n triggerLockedTimer = setTimeout(function () {\n triggerLocked = false\n log('Trigger event lock off')\n log('--')\n }, eventCancelTimer)\n }\n\n function triggerReset(triggerEvent) {\n height = getHeight[heightCalcMode]()\n width = getWidth[widthCalcMode]()\n\n sendMsg(height, width, triggerEvent)\n }\n\n function resetIFrame(triggerEventDesc) {\n var hcm = heightCalcMode\n heightCalcMode = heightCalcModeDefault\n\n log('Reset trigger event: ' + triggerEventDesc)\n lockTrigger()\n triggerReset('reset')\n\n heightCalcMode = hcm\n }\n\n function sendMsg(height, width, triggerEvent, msg, targetOrigin) {\n function setTargetOrigin() {\n if (undefined === targetOrigin) {\n targetOrigin = targetOriginDefault\n } else {\n log('Message targetOrigin: ' + targetOrigin)\n }\n }\n\n function sendToParent() {\n var size = height + ':' + width,\n message =\n myID +\n ':' +\n size +\n ':' +\n triggerEvent +\n (undefined !== msg ? ':' + msg : '')\n\n log('Sending message to host page (' + message + ')')\n target.postMessage(msgID + message, targetOrigin)\n }\n\n if (true === sendPermit) {\n setTargetOrigin()\n sendToParent()\n }\n }\n\n function receiver(event) {\n var processRequestFromParent = {\n init: function initFromParent() {\n initMsg = event.data\n target = event.source\n\n init()\n firstRun = false\n setTimeout(function () {\n initLock = false\n }, eventCancelTimer)\n },\n\n reset: function resetFromParent() {\n if (!initLock) {\n log('Page size reset by host page')\n triggerReset('resetPage')\n } else {\n log('Page reset ignored by init')\n }\n },\n\n resize: function resizeFromParent() {\n sendSize('resizeParent', 'Parent window requested size check')\n },\n\n moveToAnchor: function moveToAnchorF() {\n inPageLinks.findTarget(getData())\n },\n inPageLink: function inPageLinkF() {\n this.moveToAnchor()\n }, // Backward compatability\n\n pageInfo: function pageInfoFromParent() {\n var msgBody = getData()\n log('PageInfoFromParent called from parent: ' + msgBody)\n onPageInfo(JSON.parse(msgBody))\n log(' --')\n },\n\n message: function messageFromParent() {\n var msgBody = getData()\n\n log('onMessage called from parent: ' + msgBody)\n // eslint-disable-next-line sonarjs/no-extra-arguments\n onMessage(JSON.parse(msgBody))\n log(' --')\n }\n }\n\n function isMessageForUs() {\n return msgID === ('' + event.data).substr(0, msgIdLen) // ''+ Protects against non-string messages\n }\n\n function getMessageType() {\n return event.data.split(']')[1].split(':')[0]\n }\n\n function getData() {\n return event.data.substr(event.data.indexOf(':') + 1)\n }\n\n function isMiddleTier() {\n return (\n (!(typeof module !== 'undefined' && module.exports) &&\n 'iFrameResize' in window) ||\n ('jQuery' in window && 'iFrameResize' in window.jQuery.prototype)\n )\n }\n\n function isInitMsg() {\n // Test if this message is from a child below us. This is an ugly test, however, updating\n // the message format would break backwards compatibity.\n return event.data.split(':')[2] in { true: 1, false: 1 }\n }\n\n function callFromParent() {\n var messageType = getMessageType()\n\n if (messageType in processRequestFromParent) {\n processRequestFromParent[messageType]()\n } else if (!isMiddleTier() && !isInitMsg()) {\n warn('Unexpected message (' + event.data + ')')\n }\n }\n\n function processMessage() {\n if (false === firstRun) {\n callFromParent()\n } else if (isInitMsg()) {\n processRequestFromParent.init()\n } else {\n log(\n 'Ignored message of type \"' +\n getMessageType() +\n '\". Received before initialization.'\n )\n }\n }\n\n if (isMessageForUs()) {\n processMessage()\n }\n }\n\n // Normally the parent kicks things off when it detects the iFrame has loaded.\n // If this script is async-loaded, then tell parent page to retry init.\n function chkLateLoaded() {\n if ('loading' !== document.readyState) {\n window.parent.postMessage('[iFrameResizerChild]Ready', '*')\n }\n }\n\n addEventListener(window, 'message', receiver)\n addEventListener(window, 'readystatechange', chkLateLoaded)\n chkLateLoaded()\n\n \n})()\n"],"names":["undefined","window","autoResize","bodyBackground","bodyMargin","bodyMarginStr","bodyObserver","bodyPadding","calculateWidth","doubleEventList","resize","click","eventCancelTimer","firstRun","height1","heightCalcModeDefault","heightCalcMode","initLock","initMsg","inPageLinks","interval","intervalTimer","logging","mouseEvents","msgID","msgIdLen","length","myID","resetRequiredMethods","max","min","bodyScroll","documentElementScroll","resizeFrom","target1","parent","targetOriginDefault","tolerance","triggerLocked","triggerLockedTimer","throttledTimer","width1","widthCalcModeDefault","widthCalcMode","win","onMessage","warn","onReady","onPageInfo","customCalcMethods","height","document","documentElement","offsetHeight","width","body","scrollWidth","eventHandlersByName","passiveSupported","options","Object","create","passive","get","addEventListener","noop","removeEventListener","error","func","context","args","result","timeout","previous","later","getHeight","bodyOffset","getComputedStyle","offset","scrollHeight","custom","documentElementOffset","Math","apply","getAllMeasurements","grow","lowestElement","getMaxElement","getAllElements","taggedElement","getTaggedElements","getWidth","offsetWidth","scroll","rightMostElement","sizeIFrameThrottled","sizeIFrame","Date","now","remaining","this","arguments","clearTimeout","setTimeout","event","processRequestFromParent","init","data","source","reset","log","triggerReset","sendSize","moveToAnchor","findTarget","getData","inPageLink","pageInfo","msgBody","JSON","parse","message","getMessageType","split","substr","indexOf","isInitMsg","true","false","callFromParent","messageType","$67c5fd56d272e940$exports","jQuery","prototype","chkLateLoaded","el","evt","capitalizeFirstLetter","string","charAt","toUpperCase","slice","formatLogMsg","msg","console","clearFix","strBool","str","Number","enable","Boolean","readDataFromParent","location","href","readData","iFrameResizer","stringify","keys","forEach","depricate","targetOrigin","heightCalculationMethod","widthCalculationMethod","setupCustomCalcMethods","calcMode","calcFunc","constructor","readDataFromPage","setBodyStyle","attr","value","chkCSS","setMargin","createElement","style","clear","display","appendChild","checkHeightMode","checkWidthMode","parentIFrame","startEventListeners","manageEventListeners","disconnect","clearInterval","sendMsg","close","getId","getPageInfo","callback","hash","resetIFrame","scrollTo","x","y","scrollToOffset","sendMessage","setHeightCalculationMethod","setWidthCalculationMethod","setTargetOrigin","size","customHeight","customWidth","sendMouse","e","type","screenY","screenX","addMouseListener","name","setupMouseEvents","getPagePosition","pageXOffset","scrollLeft","pageYOffset","scrollTop","getElementPosition","elPosition","getBoundingClientRect","pagePosition","parseInt","left","top","jumpToTarget","target","jumpPosition","hashData","decodeURIComponent","target2","getElementById","getElementsByName","checkLocationHash","bindAnchors","setupLink","linkClicked","preventDefault","getAttribute","Array","call","querySelectorAll","bindLocationHash","initCheck","enableInPageLinks","setupInPageLinks","key","splitName","manageTriggerEvent","listener","add","eventName","handleEvent","eventType","remove","eventNames","map","method","checkCalcMode","calcModeDefault","modes","forceIntervalTimer","MutationObserver","WebKitMutationObserver","initInterval","addImageLoadListners","mutation","addImageLoadListener","element","complete","src","imageLoaded","imageError","elements","push","attributeName","removeFromArray","splice","removeImageLoadListener","imageEventTriggered","typeDesc","mutationObserved","mutations","createMutationObserver","querySelector","config","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","observer","observe","setupBodyMutationObserver","setInterval","abs","prop","retVal","defaultView","side","elementsLength","elVal","maxVal","Side","timer","i","chkEventThottle","dimensions","tag","triggerEvent","triggerEventDesc","currentHeight","currentWidth","checkTolarance","a","b","isSizeChangeDetected","lockTrigger","resetPage","hcm","postMessage","readyState"],"version":3,"file":"embed.js.map"}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lookbook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.2.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Perkins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-23 00:00:00.000000000 Z
11
+ date: 2022-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actioncable
@@ -250,6 +250,7 @@ files:
250
250
  - app/views/lookbook/components/_copy_button.html.erb
251
251
  - app/views/lookbook/components/_drawer.html.erb
252
252
  - app/views/lookbook/components/_embed.html.erb
253
+ - app/views/lookbook/components/_errors.html.erb
253
254
  - app/views/lookbook/components/_filter.html.erb
254
255
  - app/views/lookbook/components/_header.html.erb
255
256
  - app/views/lookbook/components/_icon.html.erb
@@ -263,6 +264,7 @@ files:
263
264
  - app/views/lookbook/components/_param.html.erb
264
265
  - app/views/lookbook/components/_preview.html.erb
265
266
  - app/views/lookbook/components/_sidebar.html.erb
267
+ - app/views/lookbook/error.html.erb
266
268
  - app/views/lookbook/index.html.erb
267
269
  - app/views/lookbook/pages/not_found.html.erb
268
270
  - app/views/lookbook/pages/show.html.erb
@@ -284,6 +286,7 @@ files:
284
286
  - lib/lookbook/code_inspector.rb
285
287
  - lib/lookbook/collection.rb
286
288
  - lib/lookbook/engine.rb
289
+ - lib/lookbook/error.rb
287
290
  - lib/lookbook/features.rb
288
291
  - lib/lookbook/lang.rb
289
292
  - lib/lookbook/markdown.rb
@@ -322,9 +325,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
322
325
  version: '0'
323
326
  required_rubygems_version: !ruby/object:Gem::Requirement
324
327
  requirements:
325
- - - ">="
328
+ - - ">"
326
329
  - !ruby/object:Gem::Version
327
- version: '0'
330
+ version: 1.3.1
328
331
  requirements: []
329
332
  rubygems_version: 3.2.22
330
333
  signing_key: