@abtasty/before-after-image 0.1.0 → 0.1.1-0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/dist/main.js +1 -1
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -1 +1 @@
1
- !function(){"use strict";const e=()=>Object.prototype.hasOwnProperty.call(window,"ABTastyEditor"),t=()=>{let e;return window.ABTasty||window.ABTASTY_S?(window.ABTASTY_S&&window.ABTASTY_S.USER&&window.ABTASTY_S.USER.accountIdentifier&&window.ABTASTY_S.USER.accountIdentifier.length?e=window.ABTASTY_S.USER.accountIdentifier:window.ABTasty&&window.ABTasty.getAccountSettings&&"function"==typeof window.ABTasty.getAccountSettings?e=window.ABTasty.getAccountSettings().identifier:window.ABTasty&&window.ABTasty.accountSettings&&(e=window.ABTasty.accountSettings.identifier),e):e},n=()=>{const e=!!document.getElementById("ABTastyPreviewBar"),t=location.href.includes("ab_project=preview");return e||t},i=()=>!e()&&(n()||!!window.ABTasty.getTestsOnPage()[TEST_ID]),s=()=>window.ABTasty&&!0===window.ABTasty.consentReady,r="remove",o="rebuild",a="https://api-social-proof.abtasty.com/clients/",c=()=>{const{type:e}=DATA;return`${PACKAGE.replace("@abtasty/","")}${e?`_${e}`:""}`},l=()=>{const e=c();return`${e.charAt(0).toUpperCase()}${e.slice(1)}`.split("-").join(" ")},h=()=>`${PLUGIN_ID.split("-")[0]}_${TEST_ID}`,d=t=>{if((()=>{if(e()||n())return!1;const t=ABTasty.getTestsOnPage()[TEST_ID];return!!t&&Object.keys(t.targetings.qaParameters).length>0})()){const e=l();window.console.log(`%c${e} - QA Mode for campaign ${TEST_ID}\n${t}`,"background-color: rgba(0, 127, 145, 1); color: rgba(247, 247, 247, 1)")}},u=e=>{const t={promise:null,resolve:null,reject:null,name:e};return t.promise=new Promise((e,n)=>{t.resolve=e,t.reject=n}),t},g=(e,t)=>{let n=document.querySelector(e);const i=[document.body||document.documentElement,{childList:!0,subtree:!0,attributes:!0}],s=()=>o.disconnect(),r=()=>o.observe(...i),o=new MutationObserver(()=>(n=document.querySelector(e),n&&!s()&&t(n)));return n?setTimeout(()=>t(n),0):r(),{selector:e,clear:s,observe:r}};function m(e,t){return t(e)||!e.parentElement?e:m(e.parentElement,t)}class p{constructor(){this.targets=[],this.existingTargets=[],this.inViewportTargets=[],this.visibilityObserver=this.startVisibilityObserver(),this.mutationObserver=this.startMutationObserver(),this.mouseOverEvent=this.mouseOverHandler()}intersectionHandler(e){e.forEach(e=>{e.isIntersecting?(this.existingTargets.forEach(t=>{t.element.isSameNode(e.target)&&(this.inViewportTargets.push(t),this.mouseOverEvent.start())}),this.checkElements()):this.inViewportTargets=this.inViewportTargets.filter(t=>!t.element.isSameNode(e.target)||(this.mouseOverEvent.clear(),!1))})}startVisibilityObserver(){return new IntersectionObserver(this.intersectionHandler.bind(this),{root:null,rootMargin:"0px",threshold:0})}startMutationObserver(){const e=this.mutationObserver||new MutationObserver(this.checkElements.bind(this));return document.body&&e.observe(document.body,{attributes:!0,childList:!0,subtree:!0}),e}onMouseOver({target:e,path:t}){const n=this.inViewportTargets.find(({element:n,selector:i})=>{if(n.isSameNode(e))return!0;const s=[...e.querySelectorAll(i)];if(s.length&&s.includes(n))return!0;if(t.includes(n))return!0;const r=[...e.parentElement.children],o=r.findIndex(t=>t.isSameNode(e)),a=r.filter((e,t)=>t>o);if(a.length){if(a.includes(n))return!0;if(a.some(e=>[...e.querySelectorAll(i)].includes(n)))return!0}return!1});if(n&&this.isElementVisible(n.element)){const{selector:e,element:t,uniqueId:i}=n,s=this.targets.find(t=>t.selector===e&&t.uniqueId===i);s&&s.resolve(t),this.clear(e,i)}}mouseOverHandler(){const e=["mouseover",e=>setTimeout(()=>this.onMouseOver(e),50),!0];return{start:()=>document.addEventListener(...e),clear:()=>document.removeEventListener(...e)}}isElementVisible(e){return this.isElementTopmost(e)&&this.isElementOpaque(e)}isElementOpaque(e){return"HTML"===m(e,e=>"0"===window.getComputedStyle(e).opacity).nodeName}isElementTopmost(e){const t=e.getBoundingClientRect(),n=[[t.left,t.top],[t.right,t.top],[t.left,t.bottom],[t.right,t.bottom],[t.left+t.width/2,t.top],[t.left+t.width/2,t.bottom],[t.left,t.height/2],[t.right,t.height/2],[t.left+t.left/2,t.height/2]];let i=!1,s=0;for(;!i&&s<n.length;){const t=document.elementFromPoint(...n[s]);i=e===t||e.contains(t),s+=1}return i}checkElements(){this.targets.forEach(({selector:e,uniqueId:t})=>{const n=document.querySelector(e);n&&!this.existingTargets.find(n=>n.element.matches(e)&&n.uniqueId===t)&&(this.existingTargets.push({element:n,selector:e,uniqueId:t}),this.visibilityObserver.observe(n))}),this.existingTargets=this.existingTargets.filter(({selector:e,element:t})=>!!document.querySelector(e)||(t&&this.visibilityObserver.unobserve(t),!1)),this.inViewportTargets=this.inViewportTargets.filter(({selector:e,element:t,uniqueId:n})=>{if(t.matches(e)&&this.isElementVisible(t)){const i=this.targets.find(t=>t.selector===e&&t.uniqueId===n);return i&&i.resolve(t),this.clear(e,n),!1}return!0})}watch(e,t,n){this.targets.push({selector:e,resolve:t,uniqueId:n});const i=()=>{this.startMutationObserver(),this.checkElements()};document.body?i():g("body",i)}clear(e,t){[this.targets,this.existingTargets,this.inViewportTargets]=[this.targets,this.existingTargets,this.inViewportTargets].map(n=>n.filter(({selector:n,uniqueId:i})=>n!==e&&i!==t));const n=document.querySelector(e);n&&this.visibilityObserver.unobserve(n),0===this.targets.length&&this.mutationObserver.disconnect(),0===this.inViewportTargets.length&&this.mouseOverEvent.clear()}}class v{constructor({triggerEvent:e,triggerSelector:t,triggerDelay:n}){this.event=e,this.selector=t&&t.length?t:"body",this.delay=1e3*n,this.elementsSelectors=[],this.eventsListeners=[],this.timeouts=[],this.intervals=[],this.observers=[],this.promises=[],this.visibilityObservers=[],this.elementsWaiters=[]}async onElementVisible({promise:e,resolve:t}){const n=u(`${this.event}DomReady`);this.promises.push(n);const i=await this.onPageLoad(n),s=await async function(){let e;return e=await("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype||new Promise((e,t)=>{const n=window.document.getElementsByTagName("script")[0],i=window.document.createElement("script");i.src="https://polyfill.io/v3/polyfill.min.js?flags=gated&features=IntersectionObserver",n.parentNode.insertBefore(i,n),i.onload=e,i.onerror=t})),e}(),r=new p;if(this.visibilityObservers.push(r),s&&i){const e=h();r.watch(this.selector,t,e)}return e}onPageLoad({promise:e,resolve:t}){const n=()=>"complete"===document.readyState;if(!n()){const i=["readystatechange",({isTrusted:e})=>e&&n()&&t(!0),{passive:!0}];return this.eventsListeners.push(i),document.addEventListener(...i),e}return t(!0),e}onClick({promise:e,resolve:t}){const n=document.createElement("style");n.type="text/css",n.id=`Click_${h()}`,n.innerHTML=`${this.selector} {\n\t\t\tcursor: pointer !important;\n\t\t\tpointer-events: all !important;\n\t\t}`,document.head.appendChild(n),this.elementsSelectors.push(`#${n.id}`);const i=e=>[...document.querySelectorAll(this.selector)].some(t=>t.isSameNode(e)||!!e.closest(this.selector)),s=["click",({isTrusted:e,target:n})=>e&&i(n)&&t(!0),{passive:!0,capture:!0}];return this.eventsListeners.push(s),document.addEventListener(...s),e}onExitIntent({promise:e,resolve:t}){const n=["mouseleave",({isTrusted:e,clientY:n})=>{e&&n<=0&&t(!0)},{passive:!0}],i=g("body",e=>{e.addEventListener(...n),this.eventsListeners.push([e,...n]),this.elementsWaiters=this.elementsWaiters.filter(e=>e!==i)});return this.elementsWaiters.push(i),e}onReengage({promise:e,resolve:t}){const n=this.delay;let i=n;const s=[({isTrusted:e})=>{e&&(i=n)},{passive:!0}];["click","mousemove","scroll","keypress"].forEach(e=>{document.addEventListener(e,...s),this.eventsListeners.push([e,...s])});const r=setInterval(()=>{i<=0?t(!0):i-=100},100);return this.intervals.push(r),e}onCustomTrigger({promise:e,resolve:t}){const{triggerEventCustomScript:n}=DATA;return new Function(`return new Promise(async resolve => {${n}})`)().then(e=>e&&t(!0)),e}getSocialProofPurchases({promise:e,resolve:n}){const i=window.ABTastyProductKey,s=t(),{viewInterval:r,triggerSocialProofMinPurchases:o,spNoTrim:c}=DATA;return i||(d("Not able to find ABTastyProductKey, impossible to call the API."),n(!1)),i&&s?fetch(`${a}${s}/metrics/i?key=${i}${c?"&noTrim=true":""}`).then(e=>e.ok&&e.json()).then(e=>(e=>{if(void 0===r||void 0===o)return!1;const t=void 0!==e[r]&&e[r]>=o;return t||d(`Widget will not be shown, product has been purchased ${e[r]} times while ${o} are required`),t})(e)&&n(`${e[r]}`)).catch(()=>d("Failed to fetch datas from server.")):n(!1),e}getSocialProofPageViews({promise:e,resolve:n}){const{viewInterval:i,triggerSocialProofMinPageViews:s,spNoTrim:r}=DATA,o=encodeURIComponent(r?window.location.href.replace(window.location.origin,""):`${window.location.pathname}`),c=t();return o&&c?fetch(`${a}${c}/metrics/pv?key=${o}${r?"&noTrim=true":""}`).then(e=>e.ok&&e.json()).then(e=>(e=>{if(void 0===i||void 0===s)return!1;const t=void 0!==e[i]&&e[i]>=s;return t||d(`Widget will not be shown, page has been seen ${e[i]} times while ${s} are required`),t})(e)&&n(`${e[i]}`)).catch(()=>d("Failed to fetch datas from server.")):n(!1),e}onConsent({promise:e,resolve:t}){if(!s()){const n=["abtasty_consentValid",()=>t(!0)];return this.eventsListeners.push(n),window.addEventListener(...n),e}return t(!0),e}clear(){if(this.elementsSelectors.length&&(this.elementsSelectors.forEach(e=>{document.querySelector(e)&&document.querySelector(e).remove()}),this.elementsSelectors=[]),this.eventsListeners.length&&(this.eventsListeners.forEach(e=>{const[t,...n]="string"==typeof e[0]?[document,...e]:e;t&&n.length>1&&t.removeEventListener(...n)}),this.eventsListeners=[]),this.timeouts.length&&(this.timeouts.forEach(e=>clearTimeout(e)),this.timeouts=[]),this.intervals.length&&(this.intervals.forEach(e=>clearInterval(e)),this.intervals=[]),this.observers.length&&(this.observers.forEach(e=>e.disconnect()),this.observers=[]),this.visibilityObservers.length){const e=h();this.visibilityObservers.forEach(t=>t.clear(this.selector,e)),this.visibilityObservers=[]}return this.promises.length&&(this.promises.forEach(e=>e.resolve(!1)),this.promises=[]),this.elementsWaiters.length&&(this.elementsWaiters.forEach(e=>e.clear()),this.elementsWaiters=[]),this}async isTriggered(){this.clear();const e=u(this.event);this.promises.push(e);const t={consent:()=>this.onConsent(e),direct:()=>!0,pageLoad:()=>this.onPageLoad(e),click:()=>this.onClick(e),exitIntent:()=>this.onExitIntent(e),reengage:()=>this.onReengage(e),elementVisible:()=>this.onElementVisible(e),script:()=>this.onCustomTrigger(e),socialProofPurchases:()=>this.getSocialProofPurchases(e),socialProofPageViews:()=>this.getSocialProofPageViews(e)},n=!Object.prototype.hasOwnProperty.call(t,this.event)||await t[this.event]();return this.clear(),"reengage"!==this.event&&this.delay?n&&await(async()=>{const e=u(`${this.event}Delay`);return this.promises.push(e),setTimeout(()=>{e.resolve(!0),this.clear()},this.delay),e.promise})():n}}const f="closing",y="validation",b="ABTastyWidgets",w="ABTastyWidgetsTemporary";class C{constructor({displayRecurrence:e,closingRecurrence:t,validationRecurrence:n},i){this.displayRecurrence=parseFloat(e),this.closingRecurrence=parseFloat(t),this.validationRecurrence=parseFloat(n),this.onSetCallback=i,this.widgetName=c(),this.uniqueId=h(),this.recurrenceKey=`${this.widgetName}_${this.uniqueId}`,this.isListeningStorageEvent=this.listenStorageEvent(),this.pendingRecurrence=!1,this.pendingRecurrenceValue={}}onStorage({key:e}){const t=localStorage.getItem(w),n=sessionStorage.getItem(b);"ABTastyData"===e&&!t&&n&&localStorage.setItem(w,n)}listenStorageEvent(){return this.isListeningStorageEvent||window.addEventListener("storage",this.onStorage.bind(this)),!0}getGivenRecurrenceStorageParsed(e){try{const t=e.getItem(b);return JSON.parse(t)}catch(t){return e.removeItem(b),!1}}getSessionRecurrenceStorageParsed(){return this.getGivenRecurrenceStorageParsed(window.sessionStorage)}getLocalRecurrenceStorageParsed(){return this.getGivenRecurrenceStorageParsed(window.localStorage)}removeGivenStorage(e,t){const{[this.recurrenceKey]:n,...i}=t;return Object.entries(i).length?(e.setItem(b,JSON.stringify(i)),i):(e.removeItem(b),!1)}removeSessionRecurrenceStorage(){const e=this.getSessionRecurrenceStorageParsed();return!!e&&this.removeGivenStorage(window.sessionStorage,e)}removeLocalRecurrenceStorage(){const e=this.getLocalRecurrenceStorageParsed();return!!e&&this.removeGivenStorage(window.localStorage,e)}getSessionRecurrence(){const e=this.getSessionRecurrenceStorageParsed();return!!e&&e[this.recurrenceKey]}getLocalRecurrence(){const e=this.getLocalRecurrenceStorageParsed();return!!e&&e[this.recurrenceKey]}getCurrentRecurrence(){if(this.pendingRecurrence)return this.pendingRecurrenceValue;const e=this.getSessionRecurrence(),t=this.getLocalRecurrence();return e||t||{type:!1}}isOver(){const e=localStorage.getItem(w),t=!(!e||!e.includes(this.recurrenceKey))||this.getSessionRecurrence();e&&(sessionStorage.setItem(b,e),localStorage.removeItem(w));const n=this.getLocalRecurrence(),i=(n?parseFloat(n.stamp):0)<(new Date).getTime();return i&&this.removeLocalRecurrenceStorage(),!this.pendingRecurrence&&i&&!this.getLocalRecurrence()&&!t}setRecurrence(e,t){0!==e&&(window.removeEventListener("storage",this.onStorage.bind(this)),this.isListeningStorageEvent=!1);const i=this.getTypeOfStorage(e);if(n()||!i&&"object"!=typeof i)return!1;const{storageString:r,storageMethod:o}=i,a=this.getStamp(e),c={type:t,stamp:a},{type:l}=this.getCurrentRecurrence(),h=async()=>{if(!s()){this.pendingRecurrence=!0,this.pendingRecurrenceValue=c;const e=new v({triggerEvent:"consent"});await e.isTriggered(),this.pendingRecurrence=!1,this.pendingRecurrenceValue={}}const e=this.getSessionRecurrence(),t=this.getLocalRecurrence();let n;"session"===r?e?n=this.removeSessionRecurrenceStorage():(this.removeLocalRecurrenceStorage(),n=this.getSessionRecurrenceStorageParsed()):"local"===r&&(t?n=this.removeLocalRecurrenceStorage():(this.removeSessionRecurrenceStorage(),n=this.getLocalRecurrenceStorageParsed()));const i=n?{[this.recurrenceKey]:c,...n}:{[this.recurrenceKey]:c};o.setItem(b,JSON.stringify(i)),this.onSetCallback&&"function"==typeof this.onSetCallback&&this.onSetCallback()};if(!o)return!1;if(l&&t!==y)if(t===f&&l!==y)h();else{if("display"!==t||l===y||l===f)return!1;h()}else h();return a}setDisplayRecurrence(){this.setRecurrence(this.displayRecurrence,"display")}setClosingRecurrence(){this.setRecurrence(this.closingRecurrence,"closing")}setValidationRecurrence(){this.setRecurrence(this.validationRecurrence,"validation")}getStamp(e){return(new Date).getTime()+864e5*e}getTypeOfStorage(e){return!(isNaN(e)||e<0||0!==e&&!e)&&(e>0?{storageString:"local",storageMethod:window.localStorage}:0===e&&{storageString:"session",storageMethod:window.sessionStorage})}}class ${constructor(e,t,n){this.recurrence=e,this.isWidgetApplied=t,this.callback=n,this.observer=new MutationObserver(this.observerHandler.bind(this)),this.eventListenerParams=["abtasty_resetActionTracking",this.eventHandler.bind(this),{passive:!0}],this.elementsWaiters=[]}recurrenceIsDone(){return!this.recurrence||this.recurrence.isOver()}decisionHandler(e){const t=i(),{type:n}=this.recurrence?this.recurrence.getCurrentRecurrence():{type:!1};let s;const a=this.isWidgetApplied(),c=(()=>{const t=this.recurrenceIsDone();return e&&"display"===n||t})();return!a&&t&&c?s=o:(a&&(!t||!c)||!a&&!t)&&(s=r),"string"==typeof s&&(this.clearWatcher(),this.callback(s,e),this.watch()),this}eventHandler(){let e=i();return[250,500].forEach(t=>{setTimeout(()=>{const n=i();return 500===t&&n===e?this:(e=n,this.decisionHandler(!1))},t)}),this}observerHandler(e){return e.some(e=>["removedNodes","addedNodes"].some(t=>e[t]&&e[t].length))?this.decisionHandler(!0):this}watch(){if(e())return this;this.clearWatcher(),document.addEventListener(...this.eventListenerParams);const t=()=>{const e=[document.body,{childList:!0,subtree:!0}];this.observer.observe(...e)};return document.body?t():(()=>{const e=g("body",()=>{t(),this.elementsWaiters=this.elementsWaiters.filter(t=>t!==e)});this.elementsWaiters.push(e)})(),this}clearWatcher(){return document.removeEventListener(...this.eventListenerParams),this.elementsWaiters.length&&(this.elementsWaiters.forEach(e=>e.clear()),this.elementsWaiters=[]),this.observer.disconnect(),this}}const S=/.+\/([^.]+)\.(otf|ttf)$/;class T{constructor(){this.children=void 0,this.uniqueId=h(),this.widgetName=c(),this.prettyName=l(),this.recurrenceParams=(()=>{const{displayRecurrence:t,closingRecurrence:n,validationRecurrence:i}=DATA;if(e()||!t&&!n&&!i)return!1;const s={everytime:()=>-1,session:()=>0,once:()=>395,day:e=>DATA[`${e}_day`],week:e=>7*DATA[`${e}_week`],month:e=>30.5*DATA[`${e}_month`]},r={};return t&&(r.displayRecurrence=s[t]("displayRecurrence")),n&&(r.closingRecurrence=s[n]("closingRecurrence")),i&&(r.validationRecurrence=s[i]("validationRecurrence")),r})(),this.triggerParams=(()=>{let{triggerEvent:t}=DATA;const{triggerEventClick:n,triggerEventReengageDelay:i,socialProofContentType:s,triggerEventElementVisible:r,triggerEventDelay:o}=DATA;if(e()||!t&&!s)return!1;const a={click:()=>n,elementVisible:()=>r},c=Object.prototype.hasOwnProperty.call(a,t)?a[t]():"body",l="reengage"===t?i:o;return s&&(t=1===s?"socialProofPurchases":"socialProofPageViews"),{triggerEvent:t,triggerSelector:c,triggerDelay:l}})(),this.recurrence=!!this.recurrenceParams&&new C(this.recurrenceParams,this.clearGivenClearables.bind(this)),this.trigger=!!this.triggerParams&&new v(this.triggerParams),this.pageWatcher=new $(this.recurrence,this.isWidgetApplied.bind(this),this.onPageChange.bind(this)),this.hasOncePerPageTrigger=(()=>{const{isOncePerPageTrigger:e,triggerEvent:t}=DATA;return!t||!(!e||!["click","script"].includes(t))||["pageLoad","direct","reengage","socialProofPurchases","socialProofPageViews","elementVisible"].some(e=>e===t)})(),this.basicClassName=`ab_widget_container_${this.widgetName}`,this.widgetContainerId=`${this.basicClassName}_${this.uniqueId}`,this.contentClassName=`${this.basicClassName}_content`,this.overlayClassName=`${this.basicClassName}_overlay`,this.closeButtonClassName=`${this.basicClassName}_close_button`,this.hideClassName=`ab_hide_${this.uniqueId}`,this.domElement=this.getDom(),this.hasBeenShown=!1,this.closedByUser=!1,this.eventsListeners=[],this.timeouts=[],this.intervals=[],this.observers=[],this.promises=[],this.elementsWaiters=[]}clearGivenClearables(){this.eventsListeners.length&&(this.eventsListeners.forEach(e=>document.removeEventListener(...e)),this.eventsListeners=[]),this.timeouts.length&&(this.timeouts.forEach(e=>clearTimeout(e)),this.timeouts=[]),this.intervals.length&&(this.intervals.forEach(e=>clearInterval(e)),this.intervals=[]),this.observers.length&&(this.observers.forEach(e=>e.disconnect()),this.observers=[]),this.promises.length&&(this.promises.forEach(e=>e.resolve(!1)),this.promises=[]),this.elementsWaiters.length&&(this.elementsWaiters.forEach(e=>e.clear()),this.elementsWaiters=[])}isWidgetApplied(){return this.domElement&&this.domElement.isConnected}removeOldDomElement(){const e=document.getElementById(this.widgetContainerId);return e&&e.remove(),this}async insert(){if(this.isWidgetApplied())return!1;const e=new Promise(e=>{const t=g("head",t=>{this.elementsWaiters=this.elementsWaiters.filter(({selector:e})=>"head"!==e),e(t.appendChild(this.styleElement))});this.elementsWaiters.push(t)}),t=new Promise(e=>{const{elementReferrer:t="body",referrerInsertType:n="beforeend"}="free"===DATA.layout?DATA:{},i=g(t,i=>{this.elementsWaiters=this.elementsWaiters.filter(e=>e.selector!==t),this.removeOldDomElement(),e(i.insertAdjacentElement(n,this.domElement))});this.elementsWaiters.push(i)});return Promise.all([t,e]).then(()=>this)}remove(){return this.pageWatcher.clearWatcher(),[this.domElement,this.styleElement].forEach(e=>e&&e.isConnected&&e.remove()),this.hasOncePerPageTrigger?this.pageWatcher.watch():e()||this.init().then(({response:e})=>e?this.show():this),this}show(){return e()||this.hasBeenShown&&this.hasOncePerPageTrigger||window.ABTastyEvent(`${this.prettyName} displayed`,null,TEST_ID),this.closedByUser=!1,this.domElement.classList.remove(this.hideClassName),this.recurrence&&this.recurrence.setDisplayRecurrence(),this.hasBeenShown=!0,this.pageWatcher.watch(),this}hide(){return!e()&&this.hasBeenShown&&window.ABTastyEvent(`${this.prettyName} closed`,null,TEST_ID),this.closedByUser=!0,this.domElement.classList.add(this.hideClassName),this}async init(t){const n=e(),s=i(),r=this.trigger&&this.trigger.promises.length,o=!this.recurrence||this.recurrence.isOver();if(!n&&!s||r||!o)return!1;this.pageWatcher.watch();const a=n||!this.trigger||this.trigger&&await this.trigger.isTriggered();return!!a&&(await this.insert(),this.addCloseEvent(),n||t||this.hasBeenShown||void 0===this.children||"function"!=typeof this.children.refreshContent||this.children.refreshContent(a),{container:this,response:a})}onPageChange(e,t){const n=()=>this.init().then(({response:e})=>e&&this.show());t||(this.hasBeenShown=!1);const i=this.isWidgetApplied(),s={[r]:()=>{i?this.remove():(this.trigger&&this.trigger.clear(),this.pageWatcher.watch())},[o]:()=>{this.hasBeenShown?this.closedByUser?this.pageWatcher.watch():i||this.insert().then(e=>e.show()).catch(this.pageWatcher.watch):n()}};"function"==typeof s[e]&&s[e]()}addCloseEvent(...t){const{closeButton:n,overlay:i,overlayClickable:s,layout:r}=DATA,o=[];if(void 0!==i&&!0!==i||!0!==s||"popin"!==r||o.push(`.${this.overlayClassName}`),void 0!==n&&n&&o.push(`.${this.closeButtonClassName}`),!o.length)return this;const a=this.domElement.querySelectorAll(o.join(", "));return a.length?(t.push(...a),t.forEach(t=>{e()&&(t.dataset.abtastyActionnable="true"),t.addEventListener("click",t=>{(t=>{e()||(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation())})(t),this.recurrence&&this.recurrence.setClosingRecurrence(),this.hide(),setTimeout(()=>this.remove(),1e3)},{once:!0,capture:!0})}),this):this}getDom(){const{closeButton:e,layout:t,overlay:n=!0}=DATA,i=document.createElement("div");return i.className=`${this.basicClassName} ${this.hideClassName}`,i.id=this.widgetContainerId,i.innerHTML=`\n\t\t\t${"popin"===t&&!0===n?`<div class="${this.overlayClassName}"></div>`:""}\n\t\t\t<div class="${this.contentClassName}">\n\t\t\t${e?`<button class="${this.closeButtonClassName}"><svg viewBox="0 0 16 16">\n\t<defs><path id="prefix__a" d="M12 4.991L11.009 4 8 7.009 4.991 4 4 4.991 7.009 8 4 11.009 4.991 12 8 8.991 11.009 12 12 11.009 8.991 8z"></path></defs>\n\t<g><use xlink:href="#prefix__a"></use></g>\n</svg></button>`:""}\n\t\t\t</div>`,i}loadFont(e,t){if(!e||"inherit"===e)return;const n=document.createElement("style"),i=t.match(S)?t.match(S)[1]:"";n.innerHTML=`@font-face { font-family: '${e}_${i}'; src: url('${t}');}`,document.head.appendChild(n)}getStyleTag(t=""){const{noStyles:n,layout:i}=DATA,{backgroundColor:s,isBackgroundImage:r,backgroundImage:o,backgroundSize:a,backgroundPosition:c,backgroundRepeat:l,borderColor:h,borderRadius:d,borderWidth:u,textColor:g,textAlign:m,fontName:p,fontStyle:v,fontSize:f,isTitle:y,titleTextAlign:b,titleTextColor:w,titleFontName:C,titleFontStyle:$,titleFontSize:T,overlay:x,overlayColor:A,dropShadow:E,dropShadowColor:_,dropShadowBlur:I,containerMargin:N,containerPadding:P,closeButton:k,closeButtonPosition:R,closeButtonSize:B,closeButtonBorderRadius:O,closeButtonBorderWidth:L,closeButtonBorderColor:W,closeButtonColor:D,closeButtonBackgroundColor:j,buttonsBorderWidth:q,buttonsBorderColor:M,buttonsBorderRadius:V,buttonsBackgroundColor:z,buttonsTextColor:F,buttonsFontName:H,buttonsFontStyle:U,buttonsFontSize:Z}=n?{}:DATA,G=document.createElement("style");G.type="text/css",e()&&G.setAttribute("abtasty-script-added","true"),this.loadFont(p,v),this.loadFont(C,$),this.loadFont(H,U);const K=`background: ${["string"==typeof s?s:"rgba(255, 255, 255, 1)",r&&"string"==typeof o&&o.length?`url(${o})`:"",r&&"string"==typeof c&&"100% 100%"!==a?c:"0 0",r&&"string"==typeof a?`/ ${a}`:"/ auto",r&&l&&!["cover","100% 100%"].includes(a)?"repeat":"no-repeat"].join(" ").trim()};`,Y="number"==typeof u&&u>0,J=`border: ${[Y?`${u}px`:"unset",Y?"solid":"",Y&&"string"==typeof h&&h.length?h:""].join(" ").trim()};`,Q=void 0!==d?`border-radius: ${d}px;`:"",X=void 0!==g?`color: ${g}; fill: ${g}; -webkit-text-fill-color: ${g};`:"",ee=void 0!==m?`text-align: ${m};`:"",te=p&&"inherit"!==p?`font-family:${p}_${v.match(S)?v.match(S)[1]:""};`:v||"",ne=f?`font-size: ${f}px;`:"",ie=void 0!==E&&E?`box-shadow: 0 5px ${I}px 0 ${_};`:"",se=N instanceof Array&&1===N.length&&N[0],re=se?`margin: ${se.top}px ${se.right}px ${se.bottom}px ${se.left}px;`:"",oe=se?`margin: calc(${se.top}px * 0.5) calc(${se.right}px * 0.5) calc(${se.bottom}px * 0.5) calc(${se.left}px * 0.5);`:"",ae=P instanceof Array&&1===P.length&&P[0],ce=ae?`padding: ${ae.top}px ${ae.right}px ${ae.bottom}px ${ae.left}px;`:"",le=ae?`padding: calc(${ae.top}px * 0.5) calc(${ae.right}px * 0.5) calc(${ae.bottom}px * 0.5) calc(${ae.left}px * 0.5);`:"",he=void 0!==q&&q?`border-width: ${q}px; border-style: solid;`:"",de=[M,q].every(e=>void 0!==e)&&q?`border-color: ${M};`:"",ue=void 0!==V?`border-radius: ${V}px;`:"",ge=void 0!==z?`background-color: ${z};`:"",me=void 0!==F?`color: ${F}; fill: ${F}; -webkit-text-fill-color: ${F};`:"",pe=H&&"inherit"!==H?`font-family:${H}_${U.match(S)?U.match(S)[1]:""};`:U||"",ve=Z?`font-size: ${Z}px;`:"",fe="popin"!==i||void 0!==x&&!0!==x?"":[`#${this.widgetContainerId} .${this.overlayClassName} {`,`background-color: ${void 0!==A?A:"rgba(0, 0, 0, 0.6)"};`,"}"].join(""),ye="number"==typeof B?B:16,be=ye/2,we=n||void 0!==k&&k?[`#${this.widgetContainerId} .${this.contentClassName} .${this.closeButtonClassName} {`,"position: absolute;",("out"===R?`bottom: calc(100% + ${be}px)`:`top: ${be}px`)+";",`right: ${be}px;`,"width: auto;","height: auto;","background: none;","border: none;","cursor: pointer;","outline: none;","padding: 0;","margin: 0;","line-height: 0;","z-index: 9;","number"==typeof O?`border-radius: ${O}px;`:"","number"==typeof L&&L>0?`border: ${L}px solid ${void 0!==W?W:"rgba(57, 57, 57, 1)"};`:"","string"==typeof j?`background-color: ${j};`:"","}",`#${this.widgetContainerId} .${this.contentClassName} .${this.closeButtonClassName} svg {`,"pointer-events: none;",`width: ${ye}px;`,`height: ${ye}px;`,"string"==typeof D?`fill: ${D};`:"","}"].join(""):"",Ce=y&&"string"==typeof w?[`#${this.widgetContainerId} .${this.contentClassName} > * h1, `,`#${this.widgetContainerId} .${this.contentClassName} > * h2, `,`#${this.widgetContainerId} .${this.contentClassName} > * h3, `,`#${this.widgetContainerId} .${this.contentClassName} > * h4, `,`#${this.widgetContainerId} .${this.contentClassName} > * h5, `,`#${this.widgetContainerId} .${this.contentClassName} > * h6 {`,`color: ${w}; fill: ${w}; -webkit-text-fill-color: ${w};`,void 0!==b?`text-align: ${b};`:"",C&&"inherit"!==C?`font-family:${C}_${$.match(S)?$.match(S)[1]:""};`:$||"",T?`font-size: ${T}px;`:"","}"].join(""):"";return G.textContent=[`.${this.hideClassName} {`,"opacity: 0 !important;","pointer-events: none;","}",`#${this.widgetContainerId} .${this.contentClassName} {`,K,Q,J,X,ee,ie,re,te,ne,"}",`#${this.widgetContainerId} .${this.contentClassName} p {`,X,ee,te,ne,"}",`#${this.widgetContainerId} .${this.contentClassName} > * {`,"display: block;","line-height: 1;","text-indent: unset;",ce,te,ne,"}",`#${this.widgetContainerId} .${this.contentClassName} > * a, `,`#${this.widgetContainerId} .${this.contentClassName} > * button {`,"box-sizing: border-box;","display: inline-block;",he,de,ue,ge,me,pe,ve,"}",`#${this.widgetContainerId} .${this.contentClassName} > * a *, `,`#${this.widgetContainerId} .${this.contentClassName} > * button * {`,me,pe,ve,"}","@media screen and (max-width: 579px) {",`#${this.widgetContainerId} .${this.contentClassName} {`,oe,"}",`#${this.widgetContainerId} .${this.contentClassName} > * {`,le,"}","}",fe,we,Ce,`${t}`].join(""),G}}const x=["top: 0;","top: 50%;","bottom: 0;"],A=["left: 0;","left: 50%;","right: 0;"],E=e=>1===e?"-50%":0,_=()=>{if(Array.isArray(DATA.popinPosition)){const{popinPosition:[{x:e,y:t}]}=DATA,n=`translate(${E(t)}, ${E(e)});`;return`${x[e]}${A[t]}transform: ${n}`}return"left: 50%;top: 50%;transform: translate(-50%, -50%);"},I=()=>"autoWidth"in DATA&&!0===DATA.autoWidth,N=()=>{if(I())return"width: auto;height: auto;";const{popinPercentWidth:e,popinPixelsWidth:t,widthUnit:n,autoHeight:i,popinPercentHeight:s,popinPixelsHeight:r,heightUnit:o}=DATA;return`width: ${"px"===n?t:e}${n};height: ${i?"auto":`${"px"===o?r:s}${o}`};`};class P extends T{constructor(){super(),this.stringStyles=this.getStyles(),this.styleElement=this.getStyleTag(this.stringStyles)}getStyles(){const{zindex:e,zindexCustom:t,overlay:n}=DATA;return[`#${this.widgetContainerId} {`,"position: fixed;","top: 0;","left: 0;","width: 100%;","height: 100%;",`z-index: ${"custom"===e?t:e};`,"opacity: 1;","transition: opacity 0.25s ease;","background: none;","pointer-events: "+(!1===n?"none":"all"),"}",`#${this.widgetContainerId} .${this.overlayClassName} {`,"position: absolute;","z-index: -1;","top: 0;","left: 0;","width: 100%;","height: 100%;","}",`#${this.widgetContainerId} .${this.contentClassName} {`,"position: absolute;",_(),N(),"pointer-events: all","}",`${I()?"":[`#${this.widgetContainerId} .${this.contentClassName} > div {`,"height: 100%;","overflow: auto;","box-sizing: border-box;","}"].join("")}`,"@media screen and (max-width: 579px) {",`#${this.widgetContainerId} .${this.contentClassName} {`,"max-width: 94vw;","}","}"].join("")}}class k extends T{constructor(){super(),this.stringStyles=this.getStyles(),this.styleElement=this.getStyleTag(this.stringStyles)}getStyles(){return[`#${this.widgetContainerId} {`,"width: auto;","height: auto;","margin: 0;","padding: 0;","background: none;","}",`#${this.widgetContainerId} .${this.contentClassName} {`,"position: relative;","}"].join("")}}var R=["tagName"];function B(e){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B(e)}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var L,W=function(e){var t=e.tagName,n=function(e,t){if(null==e)return{};var n,i,s=function(e,t){if(null==e)return{};var n,i,s={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}(e,R),i=document.createElement(t);return Object.entries(n).forEach(function(e){var t,n=(2,function(e){if(Array.isArray(e))return e}(t=e)||function(e){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,i,s=[],r=!0,o=!1;try{for(t=t.call(e);!(r=(n=t.next()).done)&&(s.push(n.value),2!==s.length);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==t.return||t.return()}finally{if(o)throw i}}return s}}(t)||function(e){if(e){if("string"==typeof e)return O(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?O(e,2):void 0}}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=n[0],r=n[1];"string"==typeof s&&s.length&&"object"!==B(r)&&(i[s]=r)}),i},D="draggableSeparator",j="onTopEachOther";(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.every(function(e){return"string"==typeof e&&e.length})})((L=DATA).topImage,L.backImage)&&function(){var e=DATA,t=e.layout,n=e.frameReferrerInsertType,i=e.frameElementReferrer,s="popin"===t?new P:new k(n,i),r=s.domElement.querySelector(".".concat(s.contentClassName));!function(e){var t=e.styleElement,n=e.uniqueId,i=DATA,s=i.topImage,r=i.backImage,o=i.subLayout,a=i.backgroundColor,c=i.borderRadius,l=i.closeButtonSize,h=i.legendTextColor,d=i.legendTextAlign,u=i.legendFontName,g=i.legendFontStyle,m=i.legendFontSize;e.loadFont(u,g);var p=/.+\/([^.]+)\.(otf|ttf)$/,v=u&&"inherit"!==u?"font-family:".concat(u,"_").concat(g.match(p)?g.match(p)[1]:"",";"):g||"",f="\n .img-container__".concat(n," {\n position: relative;\n overflow: hidden;\n }\n .img__").concat(n," {\n position: absolute;\n top: 0;\n width: 100%;\n height: 100%;\n }\n .before__").concat(n,",\n .after__").concat(n," {\n background-repeat: no-repeat;\n background-size: cover;\n }\n .before__").concat(n," {\n width: 50%;\n z-index: 2;\n background-color: ").concat(a,";\n background-image: url('").concat(s,"');\n background-position: center left;\n }\n .after__").concat(n," {\n width: 100%;\n z-index: 1;\n background-image: url('").concat(r,"');\n background-position: center;\n }\n .slider__").concat(n," {\n top: 0;\n z-index: 3;\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n -webkit-appearance: none;\n appearance: none;\n width: 100%;\n height: 100%;\n background: transparent;\n outline: none;\n margin: 0;\n padding: 0;\n border: none;\n }\n .slider__").concat(n,"::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 4px;\n height: 100%; /* must be equals to height of the container */\n background-color: ").concat(a,";\n cursor: pointer;\n }\n .slider-button__").concat(n," {\n cursor: pointer;\n position: absolute;\n width: 24px;\n height: 24px;\n border-radius: 30%;\n background-color: ").concat(a,";\n left: calc(50% - 12px);\n top: calc(50% - 12px);\n z-index: 3;\n }\n .labels__").concat(n," {\n display: block;\n width: 95%;\n }\n .phantom-img__").concat(n," {\n opacity: 0;\n pointer-events: none;\n font-size: 0;\n }\n "),y="\n .img-container__".concat(n," {\n display: flex;\n flex-wrap: nowrap;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n }\n .img__").concat(n," {\n max-width: 49%;\n font-size: 0;\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .labels__").concat(n," {\n display: block;\n width: 95%;\n }\n @media screen and (orientation: portrait) {\n .frameBeforeAfter__").concat(n," {\n max-width: 95vw;\n }\n }\n "),b="\n .img-container__".concat(n," {\n display: flex;\n flex-wrap: nowrap;\n flex-direction: column;\n justify-content: space-evenly;\n width: 100%;\n }\n .img__").concat(n," {\n font-size: 0;\n display: flex;\n justify-content: center;\n }\n .label__").concat(n," {\n display: block;\n text-align: center;\n width: 100% !important;\n }\n @media screen and (orientation: landscape) {\n .frameBeforeAfter__").concat(n," {\n max-width: 30vw;\n }\n }\n "),w="\n .frameBeforeAfter__".concat(n," {\n display: flex!important;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-radius: ").concat(c,"px;\n overflow: hidden;\n }\n h3,\n .catchline__").concat(n," {\n /* To not go over the closing cross but being able to align text */\n width: calc(100% - ").concat(2*l+16,"px);\n }\n .catchline__").concat(n," {\n display: block;\n margin-bottom: 8px;\n }\n .label__").concat(n," {\n margin: 12px 0;\n display: inline-block;\n\t width: 50%;\n color: ").concat(h,";\n fill: ").concat(h,";\n -webkit-text-fill-color: ").concat(h,";\n text-align: ").concat(d,";\n font-size: ").concat(m,"px;\n ").concat(v,"\n }\n .img__").concat(n," img {\n width: 100%;\n height: auto;\n }\n ");switch(o){case"nextEachOther":w+=y;break;case j:w+=b;break;default:w+=f}t.insertAdjacentHTML("beforeend",w.split(/(?:\r\n|\n|\r)/).map(function(e){return e.replace(/^\s+/gm,"")}).join(" ").trim().replace(/\s?\/\*([\s\S]*?)\*\/\s?/g," "))}(s);var o=function(e){var t=DATA,n=t.subLayout,i=t.backImage,s=t.topImage,r=t.isTitle,o=t.titleInput,a=t.catchSwitch,c=t.catchInput,l=t.switchLabelImgs,h=t.labelTopImgInput,d=t.labelBackImgInput,u=W({tagName:"div",className:"frameBeforeAfter__".concat(e)});if(r){var g=W({tagName:"h3",innerText:o});u.appendChild(g)}if(a){var m=W({tagName:"p",className:"catchline__".concat(e),innerText:c});u.appendChild(m)}var p=W({tagName:"div",className:"img-container__".concat(e)}),v=l&&W({tagName:"span",className:"label__".concat(e),innerText:h}),f=l&&W({tagName:"span",className:"label__".concat(e),innerText:d});if([s,i].forEach(function(t,i){var s=0===i,r=W({tagName:"div",className:"img__".concat(e," ").concat(s?"before":"after","__").concat(e)});n!==D&&r.appendChild(W({tagName:"img",src:t,alt:t.split("/").pop().split(".").slice(0,-1).join("")})),p.appendChild(r),n===j&&l&&p.appendChild(s?v:f)}),n===D){var y=W({tagName:"div",className:"slider-button__".concat(e),innerHTML:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<rect opacity="0.01" width="24" height="24" fill="white"/>\n<path fill-rule="evenodd" clip-rule="evenodd" d="M9 7C8.44772 7 8 7.44772 8 8C8 8.55228 8.44772 9 9 9C9.55228 9 10 8.55228 10 8C10 7.44772 9.55228 7 9 7ZM9 11C8.44772 11 8 11.4477 8 12C8 12.5523 8.44772 13 9 13C9.55228 13 10 12.5523 10 12C10 11.4477 9.55228 11 9 11ZM8 16C8 15.4477 8.44772 15 9 15C9.55228 15 10 15.4477 10 16C10 16.5523 9.55228 17 9 17C8.44772 17 8 16.5523 8 16ZM15 7C14.4477 7 14 7.44772 14 8C14 8.55228 14.4477 9 15 9C15.5523 9 16 8.55228 16 8C16 7.44772 15.5523 7 15 7ZM14 12C14 11.4477 14.4477 11 15 11C15.5523 11 16 11.4477 16 12C16 12.5523 15.5523 13 15 13C14.4477 13 14 12.5523 14 12ZM15 15C14.4477 15 14 15.4477 14 16C14 16.5523 14.4477 17 15 17C15.5523 17 16 16.5523 16 16C16 15.4477 15.5523 15 15 15Z" fill="#B2C0CF"/>\n<mask id="mask0" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="8" y="7" width="8" height="10">\n<path fill-rule="evenodd" clip-rule="evenodd" d="M9 7C8.44772 7 8 7.44772 8 8C8 8.55228 8.44772 9 9 9C9.55228 9 10 8.55228 10 8C10 7.44772 9.55228 7 9 7ZM9 11C8.44772 11 8 11.4477 8 12C8 12.5523 8.44772 13 9 13C9.55228 13 10 12.5523 10 12C10 11.4477 9.55228 11 9 11ZM8 16C8 15.4477 8.44772 15 9 15C9.55228 15 10 15.4477 10 16C10 16.5523 9.55228 17 9 17C8.44772 17 8 16.5523 8 16ZM15 7C14.4477 7 14 7.44772 14 8C14 8.55228 14.4477 9 15 9C15.5523 9 16 8.55228 16 8C16 7.44772 15.5523 7 15 7ZM14 12C14 11.4477 14.4477 11 15 11C15.5523 11 16 11.4477 16 12C16 12.5523 15.5523 13 15 13C14.4477 13 14 12.5523 14 12ZM15 15C14.4477 15 14 15.4477 14 16C14 16.5523 14.4477 17 15 17C15.5523 17 16 16.5523 16 16C16 15.4477 15.5523 15 15 15Z" fill="white"/>\n</mask>\n<g mask="url(#mask0)">\n<rect width="24" height="24" fill="#393939"/>\n</g>\n</svg>'}),b=W({tagName:"img",className:"phantom-img__".concat(e),src:s}),w=W({tagName:"input",type:"range",className:"slider__".concat(e),min:"O",max:"100",value:"50"});["input","change"].forEach(function(t){w.addEventListener(t,function(t){var n=parseFloat(t.target.value);document.querySelector(".before__".concat(e)).style.width="".concat(n,"%"),document.querySelector(".slider-button__".concat(e)).style.left="calc(".concat(n,"% - 12px)")},{passive:!0})}),p.appendChild(b),p.appendChild(y),p.appendChild(w)}if(u.appendChild(p),n!==j&&l){var C=W({tagName:"div",className:"labels__".concat(e)});C.appendChild(v),C.appendChild(f),u.appendChild(C)}return u}(s.uniqueId);r.appendChild(o),s.init().then(function(e){return e&&s.show()})}()}();
1
+ !function(){"use strict";const e=()=>Object.prototype.hasOwnProperty.call(window,"ABTastyEditor"),t=()=>{let e;return window.ABTasty||window.ABTASTY_S?(window.ABTASTY_S&&window.ABTASTY_S.USER&&window.ABTASTY_S.USER.accountIdentifier&&window.ABTASTY_S.USER.accountIdentifier.length?e=window.ABTASTY_S.USER.accountIdentifier:window.ABTasty&&window.ABTasty.getAccountSettings&&"function"==typeof window.ABTasty.getAccountSettings?e=window.ABTasty.getAccountSettings().identifier:window.ABTasty&&window.ABTasty.accountSettings&&(e=window.ABTasty.accountSettings.identifier),e):e},n=()=>{const e=!!document.getElementById("ABTastyPreviewBar"),t=location.href.includes("ab_project=preview");return e||t},i=()=>!e()&&(n()||!!window.ABTasty.getTestsOnPage()[TEST_ID]),s=()=>window.ABTasty&&!0===window.ABTasty.consentReady,r="remove",o="rebuild",a="https://api-social-proof.abtasty.com/clients/",c=()=>{const{type:e}=DATA;return`${PACKAGE.replace("@abtasty/","")}${e?`_${e}`:""}`},l=()=>{const e=c();return`${e.charAt(0).toUpperCase()}${e.slice(1)}`.split("-").join(" ")},h=()=>`${PLUGIN_ID.split("-")[0]}_${TEST_ID}`,d=t=>{if((()=>{if(e()||n())return!1;const t=ABTasty.getTestsOnPage()[TEST_ID];return!!t&&Object.keys(t.targetings.qaParameters).length>0})()){const e=l();window.console.log(`%c${e} - QA Mode for campaign ${TEST_ID}\n${t}`,"background-color: rgba(0, 127, 145, 1); color: rgba(247, 247, 247, 1)")}},u=e=>{const t={promise:null,resolve:null,reject:null,name:e};return t.promise=new Promise((e,n)=>{t.resolve=e,t.reject=n}),t},g=(e,t)=>{let n=document.querySelector(e);const i=[document.body||document.documentElement,{childList:!0,subtree:!0,attributes:!0}],s=()=>o.disconnect(),r=()=>o.observe(...i),o=new MutationObserver(()=>(n=document.querySelector(e),n&&!s()&&t(n)));return n?setTimeout(()=>t(n),0):r(),{selector:e,clear:s,observe:r}};function m(e,t){return t(e)||!e.parentElement?e:m(e.parentElement,t)}class p{constructor(){this.targets=[],this.existingTargets=[],this.inViewportTargets=[],this.visibilityObserver=this.startVisibilityObserver(),this.mutationObserver=this.startMutationObserver(),this.mouseOverEvent=this.mouseOverHandler()}intersectionHandler(e){e.forEach(e=>{e.isIntersecting?(this.existingTargets.forEach(t=>{t.element.isSameNode(e.target)&&(this.inViewportTargets.push(t),this.mouseOverEvent.start())}),this.checkElements()):this.inViewportTargets=this.inViewportTargets.filter(t=>!t.element.isSameNode(e.target)||(this.mouseOverEvent.clear(),!1))})}startVisibilityObserver(){return new IntersectionObserver(this.intersectionHandler.bind(this),{root:null,rootMargin:"0px",threshold:0})}startMutationObserver(){const e=this.mutationObserver||new MutationObserver(this.checkElements.bind(this));return document.body&&e.observe(document.body,{attributes:!0,childList:!0,subtree:!0}),e}onMouseOver({target:e,path:t}){const n=this.inViewportTargets.find(({element:n,selector:i})=>{if(n.isSameNode(e))return!0;const s=[...e.querySelectorAll(i)];if(s.length&&s.includes(n))return!0;if(t.includes(n))return!0;const r=[...e.parentElement.children],o=r.findIndex(t=>t.isSameNode(e)),a=r.filter((e,t)=>t>o);if(a.length){if(a.includes(n))return!0;if(a.some(e=>[...e.querySelectorAll(i)].includes(n)))return!0}return!1});if(n&&this.isElementVisible(n.element)){const{selector:e,element:t,uniqueId:i}=n,s=this.targets.find(t=>t.selector===e&&t.uniqueId===i);s&&s.resolve(t),this.clear(e,i)}}mouseOverHandler(){const e=["mouseover",e=>setTimeout(()=>this.onMouseOver(e),50),!0];return{start:()=>document.addEventListener(...e),clear:()=>document.removeEventListener(...e)}}isElementVisible(e){return this.isElementTopmost(e)&&this.isElementOpaque(e)}isElementOpaque(e){return"HTML"===m(e,e=>"0"===window.getComputedStyle(e).opacity).nodeName}isElementTopmost(e){const t=e.getBoundingClientRect(),n=[[t.left,t.top],[t.right,t.top],[t.left,t.bottom],[t.right,t.bottom],[t.left+t.width/2,t.top],[t.left+t.width/2,t.bottom],[t.left,t.height/2],[t.right,t.height/2],[t.left+t.left/2,t.height/2]];let i=!1,s=0;for(;!i&&s<n.length;){const t=document.elementFromPoint(...n[s]);i=e===t||e.contains(t),s+=1}return i}checkElements(){this.targets.forEach(({selector:e,uniqueId:t})=>{const n=document.querySelector(e);n&&!this.existingTargets.find(n=>n.element.matches(e)&&n.uniqueId===t)&&(this.existingTargets.push({element:n,selector:e,uniqueId:t}),this.visibilityObserver.observe(n))}),this.existingTargets=this.existingTargets.filter(({selector:e,element:t})=>!!document.querySelector(e)||(t&&this.visibilityObserver.unobserve(t),!1)),this.inViewportTargets=this.inViewportTargets.filter(({selector:e,element:t,uniqueId:n})=>{if(t.matches(e)&&this.isElementVisible(t)){const i=this.targets.find(t=>t.selector===e&&t.uniqueId===n);return i&&i.resolve(t),this.clear(e,n),!1}return!0})}watch(e,t,n){this.targets.push({selector:e,resolve:t,uniqueId:n});const i=()=>{this.startMutationObserver(),this.checkElements()};document.body?i():g("body",i)}clear(e,t){[this.targets,this.existingTargets,this.inViewportTargets]=[this.targets,this.existingTargets,this.inViewportTargets].map(n=>n.filter(({selector:n,uniqueId:i})=>n!==e&&i!==t));const n=document.querySelector(e);n&&this.visibilityObserver.unobserve(n),0===this.targets.length&&this.mutationObserver.disconnect(),0===this.inViewportTargets.length&&this.mouseOverEvent.clear()}}class v{constructor({triggerEvent:e,triggerSelector:t,triggerDelay:n}){this.event=e,this.selector=t&&t.length?t:"body",this.delay=1e3*n,this.elementsSelectors=[],this.eventsListeners=[],this.timeouts=[],this.intervals=[],this.observers=[],this.promises=[],this.visibilityObservers=[],this.elementsWaiters=[]}async onElementVisible({promise:e,resolve:t}){const n=u(`${this.event}DomReady`);this.promises.push(n);const i=await this.onPageLoad(n),s=await async function(){let e;return e=await("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype||new Promise((e,t)=>{const n=window.document.getElementsByTagName("script")[0],i=window.document.createElement("script");i.src="https://polyfill.io/v3/polyfill.min.js?flags=gated&features=IntersectionObserver",n.parentNode.insertBefore(i,n),i.onload=e,i.onerror=t})),e}(),r=new p;if(this.visibilityObservers.push(r),s&&i){const e=h();r.watch(this.selector,t,e)}return e}onPageLoad({promise:e,resolve:t}){const n=()=>"complete"===document.readyState;if(!n()){const i=["readystatechange",({isTrusted:e})=>e&&n()&&t(!0),{passive:!0}];return this.eventsListeners.push(i),document.addEventListener(...i),e}return t(!0),e}onClick({promise:e,resolve:t}){const n=document.createElement("style");n.type="text/css",n.id=`Click_${h()}`,n.innerHTML=`${this.selector} {\n\t\t\tcursor: pointer !important;\n\t\t\tpointer-events: all !important;\n\t\t}`,document.head.appendChild(n),this.elementsSelectors.push(`#${n.id}`);const i=e=>[...document.querySelectorAll(this.selector)].some(t=>t.isSameNode(e)||!!e.closest(this.selector)),s=["click",({isTrusted:e,target:n})=>e&&i(n)&&t(!0),{passive:!0,capture:!0}];return this.eventsListeners.push(s),document.addEventListener(...s),e}onExitIntent({promise:e,resolve:t}){const n=["mouseleave",({isTrusted:e,clientY:n})=>{e&&n<=0&&t(!0)},{passive:!0}],i=g("body",e=>{e.addEventListener(...n),this.eventsListeners.push([e,...n]),this.elementsWaiters=this.elementsWaiters.filter(e=>e!==i)});return this.elementsWaiters.push(i),e}onReengage({promise:e,resolve:t}){const n=this.delay;let i=n;const s=[({isTrusted:e})=>{e&&(i=n)},{passive:!0}];["click","mousemove","scroll","keypress"].forEach(e=>{document.addEventListener(e,...s),this.eventsListeners.push([e,...s])});const r=setInterval(()=>{i<=0?t(!0):i-=100},100);return this.intervals.push(r),e}onCustomTrigger({promise:e,resolve:t}){const{triggerEventCustomScript:n}=DATA;return new Function(`return new Promise(async resolve => {${n}})`)().then(e=>e&&t(!0)),e}getSocialProofPurchases({promise:e,resolve:n}){const i=window.ABTastyProductKey,s=t(),{viewInterval:r,triggerSocialProofMinPurchases:o,spNoTrim:c}=DATA;return i||(d("Not able to find ABTastyProductKey, impossible to call the API."),n(!1)),i&&s?fetch(`${a}${s}/metrics/i?key=${i}${c?"&noTrim=true":""}`).then(e=>e.ok&&e.json()).then(e=>(e=>{if(void 0===r||void 0===o)return!1;const t=void 0!==e[r]&&e[r]>=o;return t||d(`Widget will not be shown, product has been purchased ${e[r]} times while ${o} are required`),t})(e)&&n(`${e[r]}`)).catch(()=>d("Failed to fetch datas from server.")):n(!1),e}getSocialProofPageViews({promise:e,resolve:n}){const{viewInterval:i,triggerSocialProofMinPageViews:s,spNoTrim:r}=DATA,o=encodeURIComponent(r?window.location.href.replace(window.location.origin,""):`${window.location.pathname}`),c=t();return o&&c?fetch(`${a}${c}/metrics/pv?key=${o}${r?"&noTrim=true":""}`).then(e=>e.ok&&e.json()).then(e=>(e=>{if(void 0===i||void 0===s)return!1;const t=void 0!==e[i]&&e[i]>=s;return t||d(`Widget will not be shown, page has been seen ${e[i]} times while ${s} are required`),t})(e)&&n(`${e[i]}`)).catch(()=>d("Failed to fetch datas from server.")):n(!1),e}onConsent({promise:e,resolve:t}){if(!s()){const n=["abtasty_consentValid",()=>t(!0)];return this.eventsListeners.push(n),window.addEventListener(...n),e}return t(!0),e}clear(){if(this.elementsSelectors.length&&(this.elementsSelectors.forEach(e=>{document.querySelector(e)&&document.querySelector(e).remove()}),this.elementsSelectors=[]),this.eventsListeners.length&&(this.eventsListeners.forEach(e=>{const[t,...n]="string"==typeof e[0]?[document,...e]:e;t&&n.length>1&&t.removeEventListener(...n)}),this.eventsListeners=[]),this.timeouts.length&&(this.timeouts.forEach(e=>clearTimeout(e)),this.timeouts=[]),this.intervals.length&&(this.intervals.forEach(e=>clearInterval(e)),this.intervals=[]),this.observers.length&&(this.observers.forEach(e=>e.disconnect()),this.observers=[]),this.visibilityObservers.length){const e=h();this.visibilityObservers.forEach(t=>t.clear(this.selector,e)),this.visibilityObservers=[]}return this.promises.length&&(this.promises.forEach(e=>e.resolve(!1)),this.promises=[]),this.elementsWaiters.length&&(this.elementsWaiters.forEach(e=>e.clear()),this.elementsWaiters=[]),this}async isTriggered(){this.clear();const e=u(this.event);this.promises.push(e);const t={consent:()=>this.onConsent(e),direct:()=>!0,pageLoad:()=>this.onPageLoad(e),click:()=>this.onClick(e),exitIntent:()=>this.onExitIntent(e),reengage:()=>this.onReengage(e),elementVisible:()=>this.onElementVisible(e),script:()=>this.onCustomTrigger(e),socialProofPurchases:()=>this.getSocialProofPurchases(e),socialProofPageViews:()=>this.getSocialProofPageViews(e)},n=!Object.prototype.hasOwnProperty.call(t,this.event)||await t[this.event]();return this.clear(),"reengage"!==this.event&&this.delay?n&&await(async()=>{const e=u(`${this.event}Delay`);return this.promises.push(e),setTimeout(()=>{e.resolve(!0),this.clear()},this.delay),e.promise})():n}}const f="closing",y="validation",b="ABTastyWidgets",w="ABTastyWidgetsTemporary";class C{constructor({displayRecurrence:e,closingRecurrence:t,validationRecurrence:n},i){this.displayRecurrence=parseFloat(e),this.closingRecurrence=parseFloat(t),this.validationRecurrence=parseFloat(n),this.onSetCallback=i,this.widgetName=c(),this.uniqueId=h(),this.recurrenceKey=`${this.widgetName}_${this.uniqueId}`,this.isListeningStorageEvent=this.listenStorageEvent(),this.pendingRecurrence=!1,this.pendingRecurrenceValue={}}onStorage({key:e}){const t=localStorage.getItem(w),n=sessionStorage.getItem(b);"ABTastyData"===e&&!t&&n&&localStorage.setItem(w,n)}listenStorageEvent(){return this.isListeningStorageEvent||window.addEventListener("storage",this.onStorage.bind(this)),!0}getGivenRecurrenceStorageParsed(e){try{const t=e.getItem(b);return JSON.parse(t)}catch(t){return e.removeItem(b),!1}}getSessionRecurrenceStorageParsed(){return this.getGivenRecurrenceStorageParsed(window.sessionStorage)}getLocalRecurrenceStorageParsed(){return this.getGivenRecurrenceStorageParsed(window.localStorage)}removeGivenStorage(e,t){const{[this.recurrenceKey]:n,...i}=t;return Object.entries(i).length?(e.setItem(b,JSON.stringify(i)),i):(e.removeItem(b),!1)}removeSessionRecurrenceStorage(){const e=this.getSessionRecurrenceStorageParsed();return!!e&&this.removeGivenStorage(window.sessionStorage,e)}removeLocalRecurrenceStorage(){const e=this.getLocalRecurrenceStorageParsed();return!!e&&this.removeGivenStorage(window.localStorage,e)}getSessionRecurrence(){const e=this.getSessionRecurrenceStorageParsed();return!!e&&e[this.recurrenceKey]}getLocalRecurrence(){const e=this.getLocalRecurrenceStorageParsed();return!!e&&e[this.recurrenceKey]}getCurrentRecurrence(){if(this.pendingRecurrence)return this.pendingRecurrenceValue;const e=this.getSessionRecurrence(),t=this.getLocalRecurrence();return e||t||{type:!1}}isOver(){const e=localStorage.getItem(w),t=!(!e||!e.includes(this.recurrenceKey))||this.getSessionRecurrence();e&&(sessionStorage.setItem(b,e),localStorage.removeItem(w));const n=this.getLocalRecurrence(),i=(n?parseFloat(n.stamp):0)<(new Date).getTime();return i&&this.removeLocalRecurrenceStorage(),!this.pendingRecurrence&&i&&!this.getLocalRecurrence()&&!t}setRecurrence(e,t){0!==e&&(window.removeEventListener("storage",this.onStorage.bind(this)),this.isListeningStorageEvent=!1);const i=this.getTypeOfStorage(e);if(n()||!i&&"object"!=typeof i)return!1;const{storageString:r,storageMethod:o}=i,a=this.getStamp(e),c={type:t,stamp:a},{type:l}=this.getCurrentRecurrence(),h=async()=>{if(!s()){this.pendingRecurrence=!0,this.pendingRecurrenceValue=c;const e=new v({triggerEvent:"consent"});await e.isTriggered(),this.pendingRecurrence=!1,this.pendingRecurrenceValue={}}const e=this.getSessionRecurrence(),t=this.getLocalRecurrence();let n;"session"===r?e?n=this.removeSessionRecurrenceStorage():(this.removeLocalRecurrenceStorage(),n=this.getSessionRecurrenceStorageParsed()):"local"===r&&(t?n=this.removeLocalRecurrenceStorage():(this.removeSessionRecurrenceStorage(),n=this.getLocalRecurrenceStorageParsed()));const i=n?{[this.recurrenceKey]:c,...n}:{[this.recurrenceKey]:c};o.setItem(b,JSON.stringify(i)),this.onSetCallback&&"function"==typeof this.onSetCallback&&this.onSetCallback()};if(!o)return!1;if(l&&t!==y)if(t===f&&l!==y)h();else{if("display"!==t||l===y||l===f)return!1;h()}else h();return a}setDisplayRecurrence(){this.setRecurrence(this.displayRecurrence,"display")}setClosingRecurrence(){this.setRecurrence(this.closingRecurrence,"closing")}setValidationRecurrence(){this.setRecurrence(this.validationRecurrence,"validation")}getStamp(e){return(new Date).getTime()+864e5*e}getTypeOfStorage(e){return!(isNaN(e)||e<0||0!==e&&!e)&&(e>0?{storageString:"local",storageMethod:window.localStorage}:0===e&&{storageString:"session",storageMethod:window.sessionStorage})}}class ${constructor(e,t,n){this.recurrence=e,this.isWidgetApplied=t,this.callback=n,this.observer=new MutationObserver(this.observerHandler.bind(this)),this.eventListenerParams=["abtasty_resetActionTracking",this.eventHandler.bind(this),{passive:!0}],this.elementsWaiters=[]}recurrenceIsDone(){return!this.recurrence||this.recurrence.isOver()}decisionHandler(e){const t=i(),{type:n}=this.recurrence?this.recurrence.getCurrentRecurrence():{type:!1};let s;const a=this.isWidgetApplied(),c=(()=>{const t=this.recurrenceIsDone();return e&&"display"===n||t})();return!a&&t&&c?s=o:(a&&(!t||!c)||!a&&!t)&&(s=r),"string"==typeof s&&(this.clearWatcher(),this.callback(s,e),this.watch()),this}eventHandler(){let e=i();return[250,500].forEach(t=>{setTimeout(()=>{const n=i();return 500===t&&n===e?this:(e=n,this.decisionHandler(!1))},t)}),this}observerHandler(e){return e.some(e=>["removedNodes","addedNodes"].some(t=>e[t]&&e[t].length))?this.decisionHandler(!0):this}watch(){if(e())return this;this.clearWatcher(),document.addEventListener(...this.eventListenerParams);const t=()=>{const e=[document.body,{childList:!0,subtree:!0}];this.observer.observe(...e)};return document.body?t():(()=>{const e=g("body",()=>{t(),this.elementsWaiters=this.elementsWaiters.filter(t=>t!==e)});this.elementsWaiters.push(e)})(),this}clearWatcher(){return document.removeEventListener(...this.eventListenerParams),this.elementsWaiters.length&&(this.elementsWaiters.forEach(e=>e.clear()),this.elementsWaiters=[]),this.observer.disconnect(),this}}const S=/.+\/([^.]+)\.(otf|ttf)$/;class T{constructor(){this.children=void 0,this.uniqueId=h(),this.widgetName=c(),this.prettyName=l(),this.recurrenceParams=(()=>{const{displayRecurrence:t,closingRecurrence:n,validationRecurrence:i}=DATA;if(e()||!t&&!n&&!i)return!1;const s={everytime:()=>-1,session:()=>0,once:()=>395,day:e=>DATA[`${e}_day`],week:e=>7*DATA[`${e}_week`],month:e=>30.5*DATA[`${e}_month`]},r={};return t&&(r.displayRecurrence=s[t]("displayRecurrence")),n&&(r.closingRecurrence=s[n]("closingRecurrence")),i&&(r.validationRecurrence=s[i]("validationRecurrence")),r})(),this.triggerParams=(()=>{let{triggerEvent:t}=DATA;const{triggerEventClick:n,triggerEventReengageDelay:i,socialProofContentType:s,triggerEventElementVisible:r,triggerEventDelay:o}=DATA;if(e()||!t&&!s)return!1;const a={click:()=>n,elementVisible:()=>r},c=Object.prototype.hasOwnProperty.call(a,t)?a[t]():"body",l="reengage"===t?i:o;return s&&(t=1===s?"socialProofPurchases":"socialProofPageViews"),{triggerEvent:t,triggerSelector:c,triggerDelay:l}})(),this.recurrence=!!this.recurrenceParams&&new C(this.recurrenceParams,this.clearGivenClearables.bind(this)),this.trigger=!!this.triggerParams&&new v(this.triggerParams),this.pageWatcher=new $(this.recurrence,this.isWidgetApplied.bind(this),this.onPageChange.bind(this)),this.hasOncePerPageTrigger=(()=>{const{isOncePerPageTrigger:e,triggerEvent:t}=DATA;return!t||!(!e||!["click","script"].includes(t))||["pageLoad","direct","reengage","socialProofPurchases","socialProofPageViews","elementVisible"].some(e=>e===t)})(),this.basicClassName=`ab_widget_container_${this.widgetName}`,this.widgetContainerId=`${this.basicClassName}_${this.uniqueId}`,this.contentClassName=`${this.basicClassName}_content`,this.overlayClassName=`${this.basicClassName}_overlay`,this.closeButtonClassName=`${this.basicClassName}_close_button`,this.hideClassName=`ab_hide_${this.uniqueId}`,this.domElement=this.getDom(),this.hasBeenShown=!1,this.closedByUser=!1,this.eventsListeners=[],this.timeouts=[],this.intervals=[],this.observers=[],this.promises=[],this.elementsWaiters=[]}clearGivenClearables(){this.eventsListeners.length&&(this.eventsListeners.forEach(e=>document.removeEventListener(...e)),this.eventsListeners=[]),this.timeouts.length&&(this.timeouts.forEach(e=>clearTimeout(e)),this.timeouts=[]),this.intervals.length&&(this.intervals.forEach(e=>clearInterval(e)),this.intervals=[]),this.observers.length&&(this.observers.forEach(e=>e.disconnect()),this.observers=[]),this.promises.length&&(this.promises.forEach(e=>e.resolve(!1)),this.promises=[]),this.elementsWaiters.length&&(this.elementsWaiters.forEach(e=>e.clear()),this.elementsWaiters=[])}isWidgetApplied(){return this.domElement&&this.domElement.isConnected}removeOldDomElement(){const e=document.getElementById(this.widgetContainerId);return e&&e.remove(),this}async insert(){if(this.isWidgetApplied())return!1;const e=new Promise(e=>{const t=g("head",t=>{this.elementsWaiters=this.elementsWaiters.filter(({selector:e})=>"head"!==e),e(t.appendChild(this.styleElement))});this.elementsWaiters.push(t)}),t=new Promise(e=>{const{elementReferrer:t="body",referrerInsertType:n="beforeend"}="free"===DATA.layout?DATA:{},i=g(t,i=>{this.elementsWaiters=this.elementsWaiters.filter(e=>e.selector!==t),this.removeOldDomElement(),e(i.insertAdjacentElement(n,this.domElement))});this.elementsWaiters.push(i)});return Promise.all([t,e]).then(()=>this)}remove(){return this.pageWatcher.clearWatcher(),[this.domElement,this.styleElement].forEach(e=>e&&e.isConnected&&e.remove()),this.hasOncePerPageTrigger?this.pageWatcher.watch():e()||this.init().then(({response:e})=>e?this.show():this),this}show(){return e()||this.hasBeenShown&&this.hasOncePerPageTrigger||window.ABTastyEvent(`${this.prettyName} displayed`,null,TEST_ID),this.closedByUser=!1,this.domElement.classList.remove(this.hideClassName),this.recurrence&&this.recurrence.setDisplayRecurrence(),this.hasBeenShown=!0,this.pageWatcher.watch(),this}hide(){return!e()&&this.hasBeenShown&&window.ABTastyEvent(`${this.prettyName} closed`,null,TEST_ID),this.closedByUser=!0,this.domElement.classList.add(this.hideClassName),this}async init(t){const n=e(),s=i(),r=this.trigger&&this.trigger.promises.length,o=!this.recurrence||this.recurrence.isOver();if(!n&&!s||r||!o)return!1;this.pageWatcher.watch();const a=n||!this.trigger||this.trigger&&await this.trigger.isTriggered();return!!a&&(await this.insert(),this.addCloseEvent(),n||t||this.hasBeenShown||void 0===this.children||"function"!=typeof this.children.refreshContent||this.children.refreshContent(a),{container:this,response:a})}onPageChange(e,t){const n=()=>this.init().then(({response:e})=>e&&this.show());t||(this.hasBeenShown=!1);const i=this.isWidgetApplied(),s={[r]:()=>{i?this.remove():(this.trigger&&this.trigger.clear(),this.pageWatcher.watch())},[o]:()=>{this.hasBeenShown?this.closedByUser?this.pageWatcher.watch():i||this.insert().then(e=>e.show()).catch(this.pageWatcher.watch):n()}};"function"==typeof s[e]&&s[e]()}addCloseEvent(...t){const{closeButton:n,overlay:i,overlayClickable:s,layout:r}=DATA,o=[];if(void 0!==i&&!0!==i||!0!==s||"popin"!==r||o.push(`.${this.overlayClassName}`),void 0!==n&&n&&o.push(`.${this.closeButtonClassName}`),!o.length)return this;const a=this.domElement.querySelectorAll(o.join(", "));return a.length?(t.push(...a),t.forEach(t=>{e()&&(t.dataset.abtastyActionnable="true"),t.addEventListener("click",t=>{(t=>{e()||(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation())})(t),this.recurrence&&this.recurrence.setClosingRecurrence(),this.hide(),setTimeout(()=>this.remove(),1e3)},{once:!0,capture:!0})}),this):this}getDom(){const{closeButton:e,layout:t,overlay:n=!0}=DATA,i=document.createElement("div");return i.className=`${this.basicClassName} ${this.hideClassName}`,i.id=this.widgetContainerId,i.innerHTML=`\n\t\t\t${"popin"===t&&!0===n?`<div class="${this.overlayClassName}"></div>`:""}\n\t\t\t<div class="${this.contentClassName}">\n\t\t\t${e?`<button class="${this.closeButtonClassName}"><svg viewBox="0 0 16 16">\n\t<defs><path id="prefix__a" d="M12 4.991L11.009 4 8 7.009 4.991 4 4 4.991 7.009 8 4 11.009 4.991 12 8 8.991 11.009 12 12 11.009 8.991 8z"></path></defs>\n\t<g><use xlink:href="#prefix__a"></use></g>\n</svg></button>`:""}\n\t\t\t</div>`,i}loadFont(e,t){if(!e||"inherit"===e)return;const n=document.createElement("style"),i=t.match(S)?t.match(S)[1]:"";n.innerHTML=`@font-face { font-family: '${e}_${i}'; src: url('${t}');}`,document.head.appendChild(n)}getStyleTag(t=""){const{noStyles:n,layout:i}=DATA,{backgroundColor:s,isBackgroundImage:r,backgroundImage:o,backgroundSize:a,backgroundPosition:c,backgroundRepeat:l,borderColor:h,borderRadius:d,borderWidth:u,textColor:g,textAlign:m,fontName:p,fontStyle:v,fontSize:f,isTitle:y,titleTextAlign:b,titleTextColor:w,titleFontName:C,titleFontStyle:$,titleFontSize:T,overlay:x,overlayColor:E,dropShadow:A,dropShadowColor:_,dropShadowBlur:I,containerMargin:N,containerPadding:P,closeButton:k,closeButtonPosition:R,closeButtonSize:B,closeButtonBorderRadius:O,closeButtonBorderWidth:L,closeButtonBorderColor:W,closeButtonColor:D,closeButtonBackgroundColor:j,buttonsBorderWidth:q,buttonsBorderColor:M,buttonsBorderRadius:V,buttonsBackgroundColor:z,buttonsTextColor:F,buttonsFontName:H,buttonsFontStyle:U,buttonsFontSize:Z}=n?{}:DATA,G=document.createElement("style");G.type="text/css",e()&&G.setAttribute("abtasty-script-added","true"),this.loadFont(p,v),this.loadFont(C,$),this.loadFont(H,U);const K=`background: ${["string"==typeof s?s:"rgba(255, 255, 255, 1)",r&&"string"==typeof o&&o.length?`url(${o})`:"",r&&"string"==typeof c&&"100% 100%"!==a?c:"0 0",r&&"string"==typeof a?`/ ${a}`:"/ auto",r&&l&&!["cover","100% 100%"].includes(a)?"repeat":"no-repeat"].join(" ").trim()};`,Y="number"==typeof u&&u>0,J=`border: ${[Y?`${u}px`:"unset",Y?"solid":"",Y&&"string"==typeof h&&h.length?h:""].join(" ").trim()};`,Q=void 0!==d?`border-radius: ${d}px;`:"",X=void 0!==g?`color: ${g}; fill: ${g}; -webkit-text-fill-color: ${g};`:"",ee=void 0!==m?`text-align: ${m};`:"",te=p&&"inherit"!==p?`font-family:${p}_${v.match(S)?v.match(S)[1]:""};`:v||"",ne=f?`font-size: ${f}px;`:"",ie=void 0!==A&&A?`box-shadow: 0 5px ${I}px 0 ${_};`:"",se=N instanceof Array&&1===N.length&&N[0],re=se?`margin: ${se.top}px ${se.right}px ${se.bottom}px ${se.left}px;`:"",oe=se?`margin: calc(${se.top}px * 0.5) calc(${se.right}px * 0.5) calc(${se.bottom}px * 0.5) calc(${se.left}px * 0.5);`:"",ae=P instanceof Array&&1===P.length&&P[0],ce=ae?`padding: ${ae.top}px ${ae.right}px ${ae.bottom}px ${ae.left}px;`:"",le=ae?`padding: calc(${ae.top}px * 0.5) calc(${ae.right}px * 0.5) calc(${ae.bottom}px * 0.5) calc(${ae.left}px * 0.5);`:"",he=void 0!==q&&q?`border-width: ${q}px; border-style: solid;`:"",de=[M,q].every(e=>void 0!==e)&&q?`border-color: ${M};`:"",ue=void 0!==V?`border-radius: ${V}px;`:"",ge=void 0!==z?`background-color: ${z};`:"",me=void 0!==F?`color: ${F}; fill: ${F}; -webkit-text-fill-color: ${F};`:"",pe=H&&"inherit"!==H?`font-family:${H}_${U.match(S)?U.match(S)[1]:""};`:U||"",ve=Z?`font-size: ${Z}px;`:"",fe="popin"!==i||void 0!==x&&!0!==x?"":[`#${this.widgetContainerId} .${this.overlayClassName} {`,`background-color: ${void 0!==E?E:"rgba(0, 0, 0, 0.6)"};`,"}"].join(""),ye="number"==typeof B?B:16,be=ye/2,we=n||void 0!==k&&k?[`#${this.widgetContainerId} .${this.contentClassName} .${this.closeButtonClassName} {`,"position: absolute;",("out"===R?`bottom: calc(100% + ${be}px)`:`top: ${be}px`)+";",`right: ${be}px;`,"width: auto;","height: auto;","background: none;","border: none;","cursor: pointer;","outline: none;","padding: 0;","margin: 0;","line-height: 0;","z-index: 9;","number"==typeof O?`border-radius: ${O}px;`:"","number"==typeof L&&L>0?`border: ${L}px solid ${void 0!==W?W:"rgba(57, 57, 57, 1)"};`:"","string"==typeof j?`background-color: ${j};`:"","}",`#${this.widgetContainerId} .${this.contentClassName} .${this.closeButtonClassName} svg {`,"pointer-events: none;",`width: ${ye}px;`,`height: ${ye}px;`,"string"==typeof D?`fill: ${D};`:"","}"].join(""):"",Ce=y&&"string"==typeof w?[`#${this.widgetContainerId} .${this.contentClassName} > * h1, `,`#${this.widgetContainerId} .${this.contentClassName} > * h2, `,`#${this.widgetContainerId} .${this.contentClassName} > * h3, `,`#${this.widgetContainerId} .${this.contentClassName} > * h4, `,`#${this.widgetContainerId} .${this.contentClassName} > * h5, `,`#${this.widgetContainerId} .${this.contentClassName} > * h6 {`,`color: ${w}; fill: ${w}; -webkit-text-fill-color: ${w};`,void 0!==b?`text-align: ${b};`:"",C&&"inherit"!==C?`font-family:${C}_${$.match(S)?$.match(S)[1]:""};`:$||"",T?`font-size: ${T}px;`:"","}"].join(""):"";return G.textContent=[`.${this.hideClassName} {`,"opacity: 0 !important;","pointer-events: none;","}",`#${this.widgetContainerId} .${this.contentClassName} {`,K,Q,J,X,ee,ie,re,te,ne,"}",`#${this.widgetContainerId} .${this.contentClassName} p {`,X,ee,te,ne,"}",`#${this.widgetContainerId} .${this.contentClassName} > * {`,"display: block;","line-height: 1;","text-indent: unset;",ce,te,ne,"}",`#${this.widgetContainerId} .${this.contentClassName} > * a, `,`#${this.widgetContainerId} .${this.contentClassName} > * button {`,"box-sizing: border-box;","display: inline-block;",he,de,ue,ge,me,pe,ve,"}",`#${this.widgetContainerId} .${this.contentClassName} > * a *, `,`#${this.widgetContainerId} .${this.contentClassName} > * button * {`,me,pe,ve,"}","@media screen and (max-width: 579px) {",`#${this.widgetContainerId} .${this.contentClassName} {`,oe,"}",`#${this.widgetContainerId} .${this.contentClassName} > * {`,le,"}","}",fe,we,Ce,`${t}`].join(""),G}}const x=["top: 0;","top: 50%;","bottom: 0;"],E=["left: 0;","left: 50%;","right: 0;"],A=e=>1===e?"-50%":0,_=()=>{if(Array.isArray(DATA.popinPosition)){const{popinPosition:[{x:e,y:t}]}=DATA,n=`translate(${A(t)}, ${A(e)});`;return`${x[e]}${E[t]}transform: ${n}`}return"left: 50%;top: 50%;transform: translate(-50%, -50%);"},I=()=>"autoWidth"in DATA&&!0===DATA.autoWidth,N=()=>{if(I())return"width: auto;height: auto;";const{popinPercentWidth:e,popinPixelsWidth:t,widthUnit:n,autoHeight:i,popinPercentHeight:s,popinPixelsHeight:r,heightUnit:o}=DATA;return`width: ${"px"===n?t:e}${n};height: ${i?"auto":`${"px"===o?r:s}${o}`};`};class P extends T{constructor(){super(),this.stringStyles=this.getStyles(),this.styleElement=this.getStyleTag(this.stringStyles)}getStyles(){const{zindex:e,zindexCustom:t,overlay:n}=DATA;return[`#${this.widgetContainerId} {`,"position: fixed;","top: 0;","left: 0;","width: 100%;","height: 100%;",`z-index: ${"custom"===e?t:e};`,"opacity: 1;","transition: opacity 0.25s ease;","background: none;","pointer-events: "+(!1===n?"none":"all"),"}",`#${this.widgetContainerId} .${this.overlayClassName} {`,"position: absolute;","z-index: -1;","top: 0;","left: 0;","width: 100%;","height: 100%;","}",`#${this.widgetContainerId} .${this.contentClassName} {`,"position: absolute;",_(),N(),"pointer-events: all","}",`${I()?"":[`#${this.widgetContainerId} .${this.contentClassName} > div {`,"height: 100%;","overflow: auto;","box-sizing: border-box;","}"].join("")}`,"@media screen and (max-width: 579px) {",`#${this.widgetContainerId} .${this.contentClassName} {`,"max-width: 94vw;","}","}"].join("")}}class k extends T{constructor(){super(),this.stringStyles=this.getStyles(),this.styleElement=this.getStyleTag(this.stringStyles)}getStyles(){return[`#${this.widgetContainerId} {`,"width: auto;","height: auto;","margin: 0;","padding: 0;","background: none;","}",`#${this.widgetContainerId} .${this.contentClassName} {`,"position: relative;","}"].join("")}}var R=["tagName"];function B(e){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B(e)}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var L,W=function(e){var t=e.tagName,n=function(e,t){if(null==e)return{};var n,i,s=function(e,t){if(null==e)return{};var n,i,s={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}(e,R),i=document.createElement(t);return Object.entries(n).forEach(function(e){var t,n=(2,function(e){if(Array.isArray(e))return e}(t=e)||function(e){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,i,s=[],r=!0,o=!1;try{for(t=t.call(e);!(r=(n=t.next()).done)&&(s.push(n.value),2!==s.length);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==t.return||t.return()}finally{if(o)throw i}}return s}}(t)||function(e){if(e){if("string"==typeof e)return O(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?O(e,2):void 0}}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),s=n[0],r=n[1];"string"==typeof s&&s.length&&"object"!==B(r)&&(i[s]=r)}),i},D="draggableSeparator",j="onTopEachOther";(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.every(function(e){return"string"==typeof e&&e.length})})((L=DATA).topImage,L.backImage)&&function(){var e=DATA,t=e.layout,n=e.frameReferrerInsertType,i=e.frameElementReferrer,s="popin"===t?new P:new k(n,i),r=s.domElement.querySelector(".".concat(s.contentClassName));!function(e){var t=e.styleElement,n=e.uniqueId,i=DATA,s=i.topImage,r=i.backImage,o=i.subLayout,a=i.backgroundColor,c=i.borderRadius,l=i.closeButtonSize,h=i.legendTextColor,d=i.legendTextAlign,u=i.legendFontName,g=i.legendFontStyle,m=i.legendFontSize;e.loadFont(u,g);var p=/.+\/([^.]+)\.(otf|ttf)$/,v=u&&"inherit"!==u?"font-family:".concat(u,"_").concat(g.match(p)?g.match(p)[1]:"",";"):g||"",f="\n .img-container__".concat(n," {\n position: relative;\n overflow: hidden;\n }\n .img__").concat(n," {\n position: absolute;\n top: 0;\n width: 100%;\n height: 100%;\n }\n .before__").concat(n,",\n .after__").concat(n," {\n background-repeat: no-repeat;\n background-size: cover;\n }\n .before__").concat(n," {\n width: 50%;\n z-index: 2;\n background-color: ").concat(a,";\n background-image: url('").concat(s,"');\n background-position: center left;\n }\n .after__").concat(n," {\n width: 100%;\n z-index: 1;\n background-image: url('").concat(r,"');\n background-position: center;\n }\n .slider__").concat(n," {\n top: 0;\n z-index: 3;\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n -webkit-appearance: none;\n appearance: none;\n width: 100%;\n height: 100%;\n background: transparent;\n outline: none;\n margin: 0;\n padding: 0;\n border: none;\n }\n .slider__").concat(n,"::-webkit-slider-runnable-track {\n position: absolute;\n top: 0;\n bottom: 0;\n background: transparent;\n appearance: none;\n -webkit-appearance: none;\n width: 100%;\n height: 100%;\n }\n .slider__").concat(n,"::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 4px;\n height: 100%; /* must be equals to height of the container */\n cursor: pointer;\n }\n .slider-button__").concat(n," {\n cursor: pointer;\n position: absolute;\n width: 24px;\n height: 24px;\n border-radius: 30%;\n background-color: ").concat(a,";\n left: calc(50% - 12px);\n top: calc(50% - 12px);\n z-index: 3;\n }\n .labels__").concat(n," {\n display: block;\n width: 95%;\n }\n .phantom-img__").concat(n," {\n opacity: 0;\n pointer-events: none;\n font-size: 0;\n }\n "),y="\n .img-container__".concat(n," {\n display: flex;\n flex-wrap: nowrap;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n }\n .img__").concat(n," {\n max-width: 49%;\n font-size: 0;\n overflow: hidden;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .labels__").concat(n," {\n display: block;\n width: 95%;\n }\n @media screen and (orientation: portrait) {\n .frameBeforeAfter__").concat(n," {\n max-width: 95vw;\n }\n }\n "),b="\n .img-container__".concat(n," {\n display: flex;\n flex-wrap: nowrap;\n flex-direction: column;\n justify-content: space-evenly;\n width: 100%;\n }\n .img__").concat(n," {\n font-size: 0;\n display: flex;\n justify-content: center;\n }\n .label__").concat(n," {\n display: block;\n text-align: center;\n width: 100% !important;\n }\n @media screen and (orientation: landscape) {\n .frameBeforeAfter__").concat(n," {\n max-width: 30vw;\n }\n }\n "),w="\n .frameBeforeAfter__".concat(n," {\n display: flex!important;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-radius: ").concat(c,"px;\n overflow: hidden;\n }\n h3,\n .catchline__").concat(n," {\n /* To not go over the closing cross but being able to align text */\n width: calc(100% - ").concat(2*l+16,"px);\n }\n .catchline__").concat(n," {\n display: block;\n margin-bottom: 8px;\n }\n .label__").concat(n," {\n margin: 12px 0;\n display: inline-block;\n\t width: 50%;\n color: ").concat(h,";\n fill: ").concat(h,";\n -webkit-text-fill-color: ").concat(h,";\n text-align: ").concat(d,";\n font-size: ").concat(m,"px;\n ").concat(v,"\n }\n .img__").concat(n," img {\n width: 100%;\n height: auto;\n }\n ");switch(o){case"nextEachOther":w+=y;break;case j:w+=b;break;default:w+=f}t.insertAdjacentHTML("beforeend",w.split(/(?:\r\n|\n|\r)/).map(function(e){return e.replace(/^\s+/gm,"")}).join(" ").trim().replace(/\s?\/\*([\s\S]*?)\*\/\s?/g," "))}(s);var o=function(e){var t=DATA,n=t.subLayout,i=t.backImage,s=t.topImage,r=t.isTitle,o=t.titleInput,a=t.catchSwitch,c=t.catchInput,l=t.switchLabelImgs,h=t.labelTopImgInput,d=t.labelBackImgInput,u=W({tagName:"div",className:"frameBeforeAfter__".concat(e)});if(r){var g=W({tagName:"h3",innerText:o});u.appendChild(g)}if(a){var m=W({tagName:"p",className:"catchline__".concat(e),innerText:c});u.appendChild(m)}var p=W({tagName:"div",className:"img-container__".concat(e)}),v=l&&W({tagName:"span",className:"label__".concat(e),innerText:h}),f=l&&W({tagName:"span",className:"label__".concat(e),innerText:d});if([s,i].forEach(function(t,i){var s=0===i,r=W({tagName:"div",className:"img__".concat(e," ").concat(s?"before":"after","__").concat(e)});n!==D&&r.appendChild(W({tagName:"img",src:t,alt:t.split("/").pop().split(".").slice(0,-1).join("")})),p.appendChild(r),n===j&&l&&p.appendChild(s?v:f)}),n===D){var y=W({tagName:"div",className:"slider-button__".concat(e),innerHTML:'<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<rect opacity="0.01" width="24" height="24" fill="white"/>\n<path fill-rule="evenodd" clip-rule="evenodd" d="M9 7C8.44772 7 8 7.44772 8 8C8 8.55228 8.44772 9 9 9C9.55228 9 10 8.55228 10 8C10 7.44772 9.55228 7 9 7ZM9 11C8.44772 11 8 11.4477 8 12C8 12.5523 8.44772 13 9 13C9.55228 13 10 12.5523 10 12C10 11.4477 9.55228 11 9 11ZM8 16C8 15.4477 8.44772 15 9 15C9.55228 15 10 15.4477 10 16C10 16.5523 9.55228 17 9 17C8.44772 17 8 16.5523 8 16ZM15 7C14.4477 7 14 7.44772 14 8C14 8.55228 14.4477 9 15 9C15.5523 9 16 8.55228 16 8C16 7.44772 15.5523 7 15 7ZM14 12C14 11.4477 14.4477 11 15 11C15.5523 11 16 11.4477 16 12C16 12.5523 15.5523 13 15 13C14.4477 13 14 12.5523 14 12ZM15 15C14.4477 15 14 15.4477 14 16C14 16.5523 14.4477 17 15 17C15.5523 17 16 16.5523 16 16C16 15.4477 15.5523 15 15 15Z" fill="#B2C0CF"/>\n<mask id="mask0" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="8" y="7" width="8" height="10">\n<path fill-rule="evenodd" clip-rule="evenodd" d="M9 7C8.44772 7 8 7.44772 8 8C8 8.55228 8.44772 9 9 9C9.55228 9 10 8.55228 10 8C10 7.44772 9.55228 7 9 7ZM9 11C8.44772 11 8 11.4477 8 12C8 12.5523 8.44772 13 9 13C9.55228 13 10 12.5523 10 12C10 11.4477 9.55228 11 9 11ZM8 16C8 15.4477 8.44772 15 9 15C9.55228 15 10 15.4477 10 16C10 16.5523 9.55228 17 9 17C8.44772 17 8 16.5523 8 16ZM15 7C14.4477 7 14 7.44772 14 8C14 8.55228 14.4477 9 15 9C15.5523 9 16 8.55228 16 8C16 7.44772 15.5523 7 15 7ZM14 12C14 11.4477 14.4477 11 15 11C15.5523 11 16 11.4477 16 12C16 12.5523 15.5523 13 15 13C14.4477 13 14 12.5523 14 12ZM15 15C14.4477 15 14 15.4477 14 16C14 16.5523 14.4477 17 15 17C15.5523 17 16 16.5523 16 16C16 15.4477 15.5523 15 15 15Z" fill="white"/>\n</mask>\n<g mask="url(#mask0)">\n<rect width="24" height="24" fill="#393939"/>\n</g>\n</svg>'}),b=W({tagName:"img",className:"phantom-img__".concat(e),src:s}),w=W({tagName:"input",type:"range",className:"slider__".concat(e),min:"O",max:"100",value:"50"});["input","change"].forEach(function(t){w.addEventListener(t,function(t){var n=t.target,i=parseFloat(n.value);document.querySelector(".before__".concat(e)).style.width="".concat(i,"%"),document.querySelector(".slider-button__".concat(e)).style.left="calc(".concat(i,"% - 12px)")},{passive:!0})}),p.addEventListener("touchmove",function(e){e.stopPropagation()},{passive:!1}),p.appendChild(b),p.appendChild(y),p.appendChild(w)}if(u.appendChild(p),n!==j&&l){var C=W({tagName:"div",className:"labels__".concat(e)});C.appendChild(v),C.appendChild(f),u.appendChild(C)}return u}(s.uniqueId);r.appendChild(o),s.init().then(function(e){return e&&s.show()})}()}();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@abtasty/before-after-image",
3
3
  "description": "Widget for AB Tasty",
4
- "version": "0.1.0",
4
+ "version": "0.1.1-0",
5
5
  "form": "dist/form.js",
6
6
  "main": "dist/main.js",
7
7
  "files": [