ui.shipaid.com 0.3.47 → 0.3.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/nl-CI8lUOMC.js +41 -0
- package/dist/widget.es.js +1 -0
- package/dist/widget.iife.js +39 -39
- package/dist/widget.umd.js +38 -38
- package/package.json +1 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const loading = "Laad ShipAid Widget...";
|
|
2
|
+
const title = "Bezorggarantie";
|
|
3
|
+
const description = "in geval van verlies, schade of diefstal";
|
|
4
|
+
const footer = {
|
|
5
|
+
button: "Aangedreven door"
|
|
6
|
+
};
|
|
7
|
+
const actions = {
|
|
8
|
+
add: "Toevoegen",
|
|
9
|
+
remove: "Verwijderen",
|
|
10
|
+
loading: "Bezig met laden..."
|
|
11
|
+
};
|
|
12
|
+
const nl = {
|
|
13
|
+
loading,
|
|
14
|
+
title,
|
|
15
|
+
description,
|
|
16
|
+
footer,
|
|
17
|
+
actions,
|
|
18
|
+
"learn-more-popup": {
|
|
19
|
+
close: "Sluiten",
|
|
20
|
+
title: "Bezorggarantie",
|
|
21
|
+
disclaimer: {
|
|
22
|
+
"subtitle-enable": "We stellen je favoriete merken in staat om een bezorggarantie te bieden omdat we weten dat elke bestelling belangrijk is en dingen kunnen gebeuren!",
|
|
23
|
+
"subtitle-monitor": "We monitoren je pakket continu en bieden een handig portaal om de voortgang van je bestelling op elk moment te volgen!",
|
|
24
|
+
"subtitle-notify": "Je wordt gedurende het gehele verzendproces op de hoogte gehouden, zodat je altijd op de hoogte bent van elke stap.",
|
|
25
|
+
"subtitle-resolution": "In geval van problemen tijdens het transport bieden we een snelle en gemakkelijke manier om het probleem direct bij het merk te melden, voor een snelle oplossing.",
|
|
26
|
+
text: "Door deze bezorggarantie aan te schaffen, ga je akkoord met onze Servicevoorwaarden en Privacybeleid. Je bent niet verplicht om deze garantie aan te schaffen. Deze garantie is GEEN verzekering en biedt geen schadevergoeding voor verlies, schade of aansprakelijkheid als gevolg van een onvoorziene of onbekende gebeurtenis, maar biedt via ShipAid een bezorggarantie waarbij, als het product dat je hebt besteld niet in bevredigende staat wordt geleverd, het merk van wie je het product hebt besteld, het product gratis kan vervangen. ShipAid levert geen producten of diensten direct aan consumenten, maar biedt een dienst die merken in staat stelt om productvervanging aan hun klanten te faciliteren. Het kopen van deze garantie betekent niet automatisch dat je wordt vergoed voor product- of verzendkosten, aangezien het oplossingproces en de beslissing voor compensatie strikt wordt bepaald door het merk van wie je koopt. Het merk zal bewijs van schade of niet-geleverde producten vereisen."
|
|
27
|
+
},
|
|
28
|
+
links: {
|
|
29
|
+
terms: "Servicevoorwaarden",
|
|
30
|
+
privacy: "Privacybeleid"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
actions,
|
|
36
|
+
nl as default,
|
|
37
|
+
description,
|
|
38
|
+
footer,
|
|
39
|
+
loading,
|
|
40
|
+
title
|
|
41
|
+
};
|
package/dist/widget.es.js
CHANGED
|
@@ -2021,6 +2021,7 @@ const langFiles = /* @__PURE__ */ Object.assign({
|
|
|
2021
2021
|
"./lang/es.json": () => import("./es-gSoKNDaV.js").then((m2) => m2["default"]),
|
|
2022
2022
|
"./lang/fr.json": () => import("./fr-B4wOlIrE.js").then((m2) => m2["default"]),
|
|
2023
2023
|
"./lang/it.json": () => import("./it-1qLegqAS.js").then((m2) => m2["default"]),
|
|
2024
|
+
"./lang/nl.json": () => import("./nl-CI8lUOMC.js").then((m2) => m2["default"]),
|
|
2024
2025
|
"./lang/pt.json": () => import("./pt-CeUvCcpv.js").then((m2) => m2["default"])
|
|
2025
2026
|
});
|
|
2026
2027
|
registerTranslateConfig({
|
package/dist/widget.iife.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
var ShipAidWidget=function(t){"use strict";function e(t){var e;return(null==(e=null==t?void 0:t.match(/\d+/))?void 0:e[0])??null}const i={calculateProtectionTotal:function(t,e,i){var o,r;if(!t)throw new Error("Missing store settings.");if(!e)throw new Error("Missing protectionProduct.");if(!i)throw new Error("Missing Shopify cart.");const
|
|
1
|
+
var ShipAidWidget=function(t){"use strict";function e(t){var e;return(null==(e=null==t?void 0:t.match(/\d+/))?void 0:e[0])??null}const i={calculateProtectionTotal:function(t,e,i){var o,r;if(!t)throw new Error("Missing store settings.");if(!e)throw new Error("Missing protectionProduct.");if(!i)throw new Error("Missing Shopify cart.");const n=null==t?void 0:t.protectionSettings;if(!n)throw new Error("Tried to find protection variant, but protection settings for this store are missing.");const s=Array.isArray(null==t?void 0:t.excludedProductSkus)?t.excludedProductSkus.map((t=>t.trim())):[],a=Array.isArray(null==t?void 0:t.excludedProductsVariantsId)?t.excludedProductsVariantsId.map((t=>{var e;return parseInt((null==(e=t.match(/\d+/))?void 0:e[0])??"",10)})):[],d=(i.items??[]).reduce(((t,e)=>(t=>!(!t.sku||!s.includes(t.sku.trim()))||!(!t.variant_id||!a.includes(t.variant_id)))(e)?t-e.final_line_price:t),i.total_price||0)-((null==(o=i.items)?void 0:o.filter((t=>{var i;return null==(i=null==e?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})))??[]).reduce(((t,e)=>t+e.final_line_price),0);if(0===d)return d;if("FIXED"===n.protectionType){if("number"!=typeof n.defaultFee)throw new Error("Missing default fee amount.");if(!(null==(r=n.rules)?void 0:r.length))return n.defaultFee;const t=d/100,e=n.rules.sort(((t,e)=>t.rangeLower&&e.rangeLower?t.rangeLower-e.rangeLower:0)).find((e=>{const i=Boolean(e.rangeLower&&e.rangeLower<t);return e.rangeUpper?i&&e.rangeUpper>=t:i}));return"number"==typeof(null==e?void 0:e.fee)?e.fee:n.defaultFee}if("PERCENTAGE"===n.protectionType){const t=d*n.percentage/100;return t>=n.minimumFee?t:n.minimumFee}throw new Error("No protection type handler found for this store.")},findProtectionVariant:function(t,e,i){var o;if(!(null==t?void 0:t.protectionSettings)||!(null==(o=null==e?void 0:e.variants)?void 0:o.length))throw new Error("Missing product and variants from protection settings.");const r=null==e?void 0:e.variants.flatMap((t=>{if(!(null==t?void 0:t.price))return[];const e=Number(t.price);return[{...t,formattedPrice:e}]})).sort(((t,e)=>t.formattedPrice-e.formattedPrice)),n=r.find((t=>t.formattedPrice>=i));return n||r[r.length-1]}},o=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}},r=(t,e,i)=>{e.constructor.createProperty(i,t)};
|
|
2
2
|
/**
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2017 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
-
*/function
|
|
6
|
+
*/function n(t){return(e,i)=>void 0!==i?r(t,e,i):o(t,e)}
|
|
7
7
|
/**
|
|
8
8
|
* @license
|
|
9
9
|
* Copyright 2017 Google LLC
|
|
10
10
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
-
*/function
|
|
11
|
+
*/function s(t){return n({...t,state:!0})}
|
|
12
12
|
/**
|
|
13
13
|
* @license
|
|
14
14
|
* Copyright 2021 Google LLC
|
|
@@ -19,23 +19,23 @@ var ShipAidWidget=function(t){"use strict";function e(t){var e;return(null==(e=n
|
|
|
19
19
|
* Copyright 2019 Google LLC
|
|
20
20
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
21
21
|
*/
|
|
22
|
-
const d=window,
|
|
22
|
+
const d=window,l=d.ShadowRoot&&(void 0===d.ShadyCSS||d.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,p=Symbol(),c=new WeakMap;let u=class{constructor(t,e,i){if(this._$cssResult$=!0,i!==p)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(l&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=c.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&c.set(e,t))}return t}toString(){return this.cssText}};const h=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[o+1]),t[0]);return new u(i,t,p)},m=l?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new u("string"==typeof t?t:t+"",void 0,p))(e)})(t):t
|
|
23
23
|
/**
|
|
24
24
|
* @license
|
|
25
25
|
* Copyright 2017 Google LLC
|
|
26
26
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
27
|
-
*/;var
|
|
27
|
+
*/;var g;const f=window,v=f.trustedTypes,b=v?v.emptyScript:"",y=f.reactiveElementPolyfillSupport,_={toAttribute(t,e){switch(e){case Boolean:t=t?b:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(o){i=null}}return i}},C=(t,e)=>e!==t&&(e==e||t==t),w={attribute:!0,type:String,converter:_,reflect:!1,hasChanged:C},x="finalized";let $=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const o=this._$Ep(i,e);void 0!==o&&(this._$Ev.set(o,i),t.push(o))})),t}static createProperty(t,e=w){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,o=this.getPropertyDescriptor(t,i,e);void 0!==o&&Object.defineProperty(this.prototype,t,o)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(o){const r=this[t];this[e]=o,this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||w}static finalize(){if(this.hasOwnProperty(x))return!1;this[x]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(m(t))}else void 0!==t&&e.push(m(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{l?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),o=d.litNonce;void 0!==o&&i.setAttribute("nonce",o),i.textContent=e.cssText,t.appendChild(i)}))})(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=w){var o;const r=this.constructor._$Ep(t,i);if(void 0!==r&&!0===i.reflect){const n=(void 0!==(null===(o=i.converter)||void 0===o?void 0:o.toAttribute)?i.converter:_).toAttribute(e,i.type);this._$El=t,null==n?this.removeAttribute(r):this.setAttribute(r,n),this._$El=null}}_$AK(t,e){var i;const o=this.constructor,r=o._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=o.getPropertyOptions(r),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:_;this._$El=r,this[r]=n.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let o=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||C)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):o=!1),!this.isUpdatePending&&o&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(o){throw e=!1,this._$Ek(),o}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};
|
|
28
28
|
/**
|
|
29
29
|
* @license
|
|
30
30
|
* Copyright 2017 Google LLC
|
|
31
31
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
32
32
|
*/
|
|
33
|
-
var S;$[x]=!0,$.elementProperties=new Map,$.elementStyles=[],$.shadowRootOptions={mode:"open"},null==
|
|
33
|
+
var S;$[x]=!0,$.elementProperties=new Map,$.elementStyles=[],$.shadowRootOptions={mode:"open"},null==y||y({ReactiveElement:$}),(null!==(g=f.reactiveElementVersions)&&void 0!==g?g:f.reactiveElementVersions=[]).push("1.6.3");const A=window,L=A.trustedTypes,k=L?L.createPolicy("lit-html",{createHTML:t=>t}):void 0,P="$lit$",z=`lit$${(Math.random()+"").slice(9)}$`,E="?"+z,M=`<${E}>`,I=document,q=()=>I.createComment(""),T=t=>null===t||"object"!=typeof t&&"function"!=typeof t,j=Array.isArray,N="[ \t\n\f\r]",O=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,V=/-->/g,R=/>/g,U=RegExp(`>|${N}(?:([^\\s"'>=/]+)(${N}*=${N}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),D=/'/g,B=/"/g,F=/^(?:script|style|textarea|title)$/i,H=(K=1,(t,...e)=>({_$litType$:K,strings:t,values:e})),W=Symbol.for("lit-noChange"),Z=Symbol.for("lit-nothing"),G=new WeakMap,Q=I.createTreeWalker(I,129,null,!1);var K;function J(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==k?k.createHTML(e):e}class Y{constructor({strings:t,_$litType$:e},i){let o;this.parts=[];let r=0,n=0;const s=t.length-1,a=this.parts,[d,l]=((t,e)=>{const i=t.length-1,o=[];let r,n=2===e?"<svg>":"",s=O;for(let a=0;a<i;a++){const e=t[a];let i,d,l=-1,p=0;for(;p<e.length&&(s.lastIndex=p,d=s.exec(e),null!==d);)p=s.lastIndex,s===O?"!--"===d[1]?s=V:void 0!==d[1]?s=R:void 0!==d[2]?(F.test(d[2])&&(r=RegExp("</"+d[2],"g")),s=U):void 0!==d[3]&&(s=U):s===U?">"===d[0]?(s=null!=r?r:O,l=-1):void 0===d[1]?l=-2:(l=s.lastIndex-d[2].length,i=d[1],s=void 0===d[3]?U:'"'===d[3]?B:D):s===B||s===D?s=U:s===V||s===R?s=O:(s=U,r=void 0);const c=s===U&&t[a+1].startsWith("/>")?" ":"";n+=s===O?e+M:l>=0?(o.push(i),e.slice(0,l)+P+e.slice(l)+z+c):e+z+(-2===l?(o.push(void 0),a):c)}return[J(t,n+(t[i]||"<?>")+(2===e?"</svg>":"")),o]})(t,e);if(this.el=Y.createElement(d,i),Q.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=Q.nextNode())&&a.length<s;){if(1===o.nodeType){if(o.hasAttributes()){const t=[];for(const e of o.getAttributeNames())if(e.endsWith(P)||e.startsWith(z)){const i=l[n++];if(t.push(e),void 0!==i){const t=o.getAttribute(i.toLowerCase()+P).split(z),e=/([.?@])?(.*)/.exec(i);a.push({type:1,index:r,name:e[2],strings:t,ctor:"."===e[1]?ot:"?"===e[1]?nt:"@"===e[1]?st:it})}else a.push({type:6,index:r})}for(const e of t)o.removeAttribute(e)}if(F.test(o.tagName)){const t=o.textContent.split(z),e=t.length-1;if(e>0){o.textContent=L?L.emptyScript:"";for(let i=0;i<e;i++)o.append(t[i],q()),Q.nextNode(),a.push({type:2,index:++r});o.append(t[e],q())}}}else if(8===o.nodeType)if(o.data===E)a.push({type:2,index:r});else{let t=-1;for(;-1!==(t=o.data.indexOf(z,t+1));)a.push({type:7,index:r}),t+=z.length-1}r++}}static createElement(t,e){const i=I.createElement("template");return i.innerHTML=t,i}}function X(t,e,i=t,o){var r,n,s,a;if(e===W)return e;let d=void 0!==o?null===(r=i._$Co)||void 0===r?void 0:r[o]:i._$Cl;const l=T(e)?void 0:e._$litDirective$;return(null==d?void 0:d.constructor)!==l&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===l?d=void 0:(d=new l(t),d._$AT(t,i,o)),void 0!==o?(null!==(s=(a=i)._$Co)&&void 0!==s?s:a._$Co=[])[o]=d:i._$Cl=d),void 0!==d&&(e=X(t,d._$AS(t,e.values),d,o)),e}class tt{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var e;const{el:{content:i},parts:o}=this._$AD,r=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:I).importNode(i,!0);Q.currentNode=r;let n=Q.nextNode(),s=0,a=0,d=o[0];for(;void 0!==d;){if(s===d.index){let e;2===d.type?e=new et(n,n.nextSibling,this,t):1===d.type?e=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(e=new at(n,this,t)),this._$AV.push(e),d=o[++a]}s!==(null==d?void 0:d.index)&&(n=Q.nextNode(),s++)}return Q.currentNode=I,r}v(t){let e=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class et{constructor(t,e,i,o){var r;this.type=2,this._$AH=Z,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=o,this._$Cp=null===(r=null==o?void 0:o.isConnected)||void 0===r||r}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===(null==t?void 0:t.nodeType)&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=X(this,t,e),T(t)?t===Z||null==t||""===t?(this._$AH!==Z&&this._$AR(),this._$AH=Z):t!==this._$AH&&t!==W&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>j(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==Z&&T(this._$AH)?this._$AA.nextSibling.data=t:this.$(I.createTextNode(t)),this._$AH=t}g(t){var e;const{values:i,_$litType$:o}=t,r="number"==typeof o?this._$AC(t):(void 0===o.el&&(o.el=Y.createElement(J(o.h,o.h[0]),this.options)),o);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===r)this._$AH.v(i);else{const t=new tt(r,this),e=t.u(this.options);t.v(i),this.$(e),this._$AH=t}}_$AC(t){let e=G.get(t.strings);return void 0===e&&G.set(t.strings,e=new Y(t)),e}T(t){j(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,o=0;for(const r of t)o===e.length?e.push(i=new et(this.k(q()),this.k(q()),this,this.options)):i=e[o],i._$AI(r),o++;o<e.length&&(this._$AR(i&&i._$AB.nextSibling,o),e.length=o)}_$AR(t=this._$AA.nextSibling,e){var i;for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cp=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class it{constructor(t,e,i,o,r){this.type=1,this._$AH=Z,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=r,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=Z}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,o){const r=this.strings;let n=!1;if(void 0===r)t=X(this,t,e,0),n=!T(t)||t!==this._$AH&&t!==W,n&&(this._$AH=t);else{const o=t;let s,a;for(t=r[0],s=0;s<r.length-1;s++)a=X(this,o[i+s],e,s),a===W&&(a=this._$AH[s]),n||(n=!T(a)||a!==this._$AH[s]),a===Z?t=Z:t!==Z&&(t+=(null!=a?a:"")+r[s+1]),this._$AH[s]=a}n&&!o&&this.j(t)}j(t){t===Z?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class ot extends it{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===Z?void 0:t}}const rt=L?L.emptyScript:"";class nt extends it{constructor(){super(...arguments),this.type=4}j(t){t&&t!==Z?this.element.setAttribute(this.name,rt):this.element.removeAttribute(this.name)}}class st extends it{constructor(t,e,i,o,r){super(t,e,i,o,r),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=X(this,t,e,0))&&void 0!==i?i:Z)===W)return;const o=this._$AH,r=t===Z&&o!==Z||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,n=t!==Z&&(o===Z||r);r&&this.element.removeEventListener(this.name,this,o),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;"function"==typeof this._$AH?this._$AH.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this._$AH.handleEvent(t)}}class at{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){X(this,t)}}const dt=A.litHtmlPolyfillSupport;null==dt||dt(Y,et),(null!==(S=A.litHtmlVersions)&&void 0!==S?S:A.litHtmlVersions=[]).push("2.8.0");const lt=(t,e,i)=>{var o,r;const n=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:e;let s=n._$litPart$;if(void 0===s){const t=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;n._$litPart$=s=new et(e.insertBefore(q(),t),t,void 0,null!=i?i:{})}return s._$AI(t),s};
|
|
34
34
|
/**
|
|
35
35
|
* @license
|
|
36
36
|
* Copyright 2017 Google LLC
|
|
37
37
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
38
|
-
*/var
|
|
38
|
+
*/var pt,ct;let ut=class extends ${constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=lt(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return W}};ut.finalized=!0,ut._$litElement$=!0,null===(pt=globalThis.litElementHydrateSupport)||void 0===pt||pt.call(globalThis,{LitElement:ut});const ht=globalThis.litElementPolyfillSupport;null==ht||ht({LitElement:ut}),(null!==(ct=globalThis.litElementVersions)&&void 0!==ct?ct:globalThis.litElementVersions=[]).push("3.3.3");const mt="langChanged";function gt(t,e,i){return Object.entries(vt(e||{})).reduce(((t,[e,i])=>t.replace(new RegExp(`{{[ ]*${e}[ ]*}}`,"gm"),String(vt(i)))),t)}function ft(t,e){const i=t.split(".");let o=e.strings;for(;null!=o&&i.length>0;)o=o[i.shift()];return null!=o?o.toString():null}function vt(t){return"function"==typeof t?t():t}let bt={loader:()=>Promise.resolve({}),empty:t=>`[${t}]`,lookup:ft,interpolate:gt,translationCache:{}};function yt(t,e,i=bt){var o;o={previousStrings:i.strings,previousLang:i.lang,lang:i.lang=t,strings:i.strings=e},window.dispatchEvent(new CustomEvent(mt,{detail:o}))}
|
|
39
39
|
/**
|
|
40
40
|
* @license
|
|
41
41
|
* Copyright 2017 Google LLC
|
|
@@ -46,23 +46,23 @@ const _t=2;class Ct{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i)
|
|
|
46
46
|
* @license
|
|
47
47
|
* Copyright 2020 Google LLC
|
|
48
48
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
49
|
-
*/const wt=(t,e)=>{var i,o;const r=t._$AN;if(void 0===r)return!1;for(const
|
|
49
|
+
*/const wt=(t,e)=>{var i,o;const r=t._$AN;if(void 0===r)return!1;for(const n of r)null===(o=(i=n)._$AO)||void 0===o||o.call(i,e,!1),wt(n,e);return!0},xt=t=>{let e,i;do{if(void 0===(e=t._$AM))break;i=e._$AN,i.delete(t),t=e}while(0===(null==i?void 0:i.size))},$t=t=>{for(let e;e=t._$AM;t=e){let i=e._$AN;if(void 0===i)e._$AN=i=new Set;else if(i.has(t))break;i.add(t),Lt(e)}};
|
|
50
50
|
/**
|
|
51
51
|
* @license
|
|
52
52
|
* Copyright 2017 Google LLC
|
|
53
53
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
54
|
-
*/function St(t){void 0!==this._$AN?(xt(this),this._$AM=t,$t(this)):this._$AM=t}function At(t,e=!1,i=0){const o=this._$AH,r=this._$AN;if(void 0!==r&&0!==r.size)if(e)if(Array.isArray(o))for(let
|
|
54
|
+
*/function St(t){void 0!==this._$AN?(xt(this),this._$AM=t,$t(this)):this._$AM=t}function At(t,e=!1,i=0){const o=this._$AH,r=this._$AN;if(void 0!==r&&0!==r.size)if(e)if(Array.isArray(o))for(let n=i;n<o.length;n++)wt(o[n],!1),xt(o[n]);else null!=o&&(wt(o,!1),xt(o));else wt(this,t)}const Lt=t=>{var e,i,o,r;t.type==_t&&(null!==(e=(o=t)._$AP)&&void 0!==e||(o._$AP=At),null!==(i=(r=t)._$AQ)&&void 0!==i||(r._$AQ=St))};class kt extends Ct{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),$t(this),this.isConnected=t._$AU}_$AO(t,e=!0){var i,o;t!==this.isConnected&&(this.isConnected=t,t?null===(i=this.reconnected)||void 0===i||i.call(this):null===(o=this.disconnected)||void 0===o||o.call(this)),e&&(wt(this,t),xt(this))}setValue(t){if(void 0===this._$Ct.strings)this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}class Pt extends kt{constructor(){super(...arguments),this.langChangedSubscription=null,this.getValue=()=>""}renderValue(t){return this.getValue=t,this.subscribe(),this.getValue()}langChanged(t){this.setValue(this.getValue(t))}subscribe(){null==this.langChangedSubscription&&(this.langChangedSubscription=function(t,e){const i=e=>t(e.detail);return window.addEventListener(mt,i,e),()=>window.removeEventListener(mt,i)}(this.langChanged.bind(this)))}unsubscribe(){null!=this.langChangedSubscription&&this.langChangedSubscription()}disconnected(){this.unsubscribe()}reconnected(){this.subscribe()}}const zt=(t=>(...e)=>({_$litDirective$:t,values:e}))(class extends Pt{render(t,e,i){return this.renderValue((()=>function(t,e,i=bt){let o=i.translationCache[t]||(i.translationCache[t]=i.lookup(t,i)||i.empty(t,i));return null!=(e=null!=e?vt(e):null)?i.interpolate(o,e,i):o}(t,e,i)))}});
|
|
55
55
|
/**
|
|
56
56
|
* @license
|
|
57
57
|
* Copyright 2017 Google LLC
|
|
58
58
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
59
|
-
*/class
|
|
59
|
+
*/class Et extends Ct{constructor(t){if(super(t),this.et=Z,t.type!==_t)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===Z||null==t)return this.ft=void 0,this.et=t;if(t===W)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.et)return this.ft;this.et=t;const e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}Et.directiveName="unsafeHTML",Et.resultType=1;const Mt="__registered_effects";function It(t){const e=t;if(e[Mt])return e;const i=function(t){if(!t.dispatchEvent||!t.requestUpdate)throw new Error("Element missing required functions (dispatchEvent/requestUpdate)");return t}(t),o=i.updated;return e[Mt]={index:0,count:0,effects:[]},i.updated=t=>(e[Mt].index=0,o(t)),e}function qt(t,e,i){const o=function(t,e){const i=It(t),{index:o,count:r}=i[Mt];return o===r?(i[Mt].index++,i[Mt].count++,i[Mt].effects.push(e),e):(i[Mt].index++,i[Mt].effects[o])}(t,{on:e,observe:["__initial__dirty"]});o.observe.some(((t,e)=>i[e]!==t))&&o.on(),o.observe=i}
|
|
60
60
|
/**
|
|
61
61
|
* @license
|
|
62
62
|
* Copyright 2021 Google LLC
|
|
63
63
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
64
64
|
*/
|
|
65
|
-
function Tt(t,e,i){return t?e():null==i?void 0:i()}const
|
|
65
|
+
function Tt(t,e,i){return t?e():null==i?void 0:i()}const jt=h`
|
|
66
66
|
:host {
|
|
67
67
|
--shipaid-primary: #0056d6;
|
|
68
68
|
--shipaid-secondary: #0076ff;
|
|
@@ -266,7 +266,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
266
266
|
background: transparent;
|
|
267
267
|
z-index: -1;
|
|
268
268
|
}
|
|
269
|
-
`,
|
|
269
|
+
`,Nt=H`
|
|
270
270
|
<svg
|
|
271
271
|
version="1.0"
|
|
272
272
|
width="50.000000pt"
|
|
@@ -287,7 +287,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
287
287
|
/>
|
|
288
288
|
</g>
|
|
289
289
|
</svg>
|
|
290
|
-
`,
|
|
290
|
+
`,Ot=H`
|
|
291
291
|
<svg
|
|
292
292
|
version="1.0"
|
|
293
293
|
width="50.000000pt"
|
|
@@ -520,7 +520,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
520
520
|
/>
|
|
521
521
|
</g>
|
|
522
522
|
</svg>
|
|
523
|
-
`,
|
|
523
|
+
`,Bt=H`
|
|
524
524
|
<svg
|
|
525
525
|
version="1.0"
|
|
526
526
|
viewBox="0 0 500.000000 500.000000"
|
|
@@ -545,7 +545,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
545
545
|
/>
|
|
546
546
|
</g>
|
|
547
547
|
</svg>
|
|
548
|
-
`,
|
|
548
|
+
`,Ft=H`
|
|
549
549
|
<svg
|
|
550
550
|
xmlns="http://www.w3.org/2000/svg"
|
|
551
551
|
version="1.0"
|
|
@@ -578,30 +578,30 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
578
578
|
class="popup-close"
|
|
579
579
|
@click=${this.handleClosePopup}
|
|
580
580
|
>
|
|
581
|
-
${
|
|
581
|
+
${zt("learn-more-popup.close")}
|
|
582
582
|
</button>
|
|
583
583
|
<div class="popup-logo">${Rt}</div>
|
|
584
|
-
<p class="popup-title">${
|
|
584
|
+
<p class="popup-title">${zt("learn-more-popup.title")}</p>
|
|
585
585
|
<div class="popup-disclaimer-subtitle">
|
|
586
586
|
<div class="popup-icon">${Ut}</div>
|
|
587
|
-
<p>${
|
|
587
|
+
<p>${zt("learn-more-popup.disclaimer.subtitle-enable")}</p>
|
|
588
588
|
</div>
|
|
589
589
|
<div class="popup-disclaimer-subtitle">
|
|
590
590
|
<div class="popup-icon">${Dt}</div>
|
|
591
|
-
<p>${
|
|
591
|
+
<p>${zt("learn-more-popup.disclaimer.subtitle-monitor")}</p>
|
|
592
592
|
</div>
|
|
593
593
|
<div class="popup-disclaimer-subtitle">
|
|
594
|
-
<div class="popup-icon-b">${
|
|
595
|
-
<p>${
|
|
594
|
+
<div class="popup-icon-b">${Ft}</div>
|
|
595
|
+
<p>${zt("learn-more-popup.disclaimer.subtitle-notify")}</p>
|
|
596
596
|
</div>
|
|
597
597
|
<div class="popup-disclaimer-subtitle">
|
|
598
|
-
<div class="popup-icon-bell">${
|
|
598
|
+
<div class="popup-icon-bell">${Bt}</div>
|
|
599
599
|
<p>
|
|
600
|
-
${
|
|
600
|
+
${zt("learn-more-popup.disclaimer.subtitle-resolution")}
|
|
601
601
|
</p>
|
|
602
602
|
</div>
|
|
603
603
|
<p class="popup-disclaimer">
|
|
604
|
-
${
|
|
604
|
+
${zt("learn-more-popup.disclaimer.text")}
|
|
605
605
|
</p>
|
|
606
606
|
<hr class="popup-divider" />
|
|
607
607
|
<div class="popup-footer">
|
|
@@ -611,14 +611,14 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
611
611
|
target="_blank"
|
|
612
612
|
rel="noreferrer"
|
|
613
613
|
>
|
|
614
|
-
${
|
|
614
|
+
${zt("learn-more-popup.links.terms")}
|
|
615
615
|
</a>
|
|
616
616
|
<a
|
|
617
617
|
href="https://www.shipaid.com/privacy-policy"
|
|
618
618
|
target="_blank"
|
|
619
619
|
rel="noreferrer"
|
|
620
620
|
>
|
|
621
|
-
${
|
|
621
|
+
${zt("learn-more-popup.links.privacy")}
|
|
622
622
|
</a>
|
|
623
623
|
</div>
|
|
624
624
|
<div class="footer-date">
|
|
@@ -631,7 +631,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
631
631
|
</div>
|
|
632
632
|
</div>
|
|
633
633
|
<div class="blocker" @click=${this.handleClosePopup}></div>
|
|
634
|
-
`}};Wt.styles=
|
|
634
|
+
`}};Wt.styles=jt;let Zt=Wt;((t,e,i,o)=>{for(var r,n=void 0,s=t.length-1;s>=0;s--)(r=t[s])&&(n=r(e,i,n)||n);n&&Ht(e,i,n)})([n({type:Boolean,attribute:!0})],Zt.prototype,"active"),customElements.get("shipaid-popup-learn-more")||customElements.define("shipaid-popup-learn-more",Zt);const Gt=h`
|
|
635
635
|
:host {
|
|
636
636
|
--shipaid-primary: #0056d6;
|
|
637
637
|
--shipaid-secondary: #0076ff;
|
|
@@ -799,7 +799,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
799
799
|
</div>
|
|
800
800
|
</div>
|
|
801
801
|
<div class="blocker" @click=${this.handleClosePopup}></div>
|
|
802
|
-
`}};Kt.styles=Gt;let
|
|
802
|
+
`}};Kt.styles=Gt;let Jt=Kt;((t,e,i,o)=>{for(var r,n=void 0,s=t.length-1;s>=0;s--)(r=t[s])&&(n=r(e,i,n)||n);n&&Qt(e,i,n)})([n({type:Boolean,attribute:!0})],Jt.prototype,"active"),customElements.get("shipaid-popup-confirmation")||customElements.define("shipaid-popup-confirmation",Jt);const Yt="Loading ShipAid Widget...",Xt="Delivery Guarantee",te="in case of Loss, Damage or Theft",ee={button:"Powered by"},ie={add:"Add",remove:"Remove",loading:"Loading..."},oe={loading:Yt,title:Xt,description:te,footer:ee,actions:ie,"learn-more-popup":{close:"Close",title:"Delivery Guarantee",disclaimer:{"subtitle-enable":"We enable your favorite brands to provide a delivery guarantee because we know that every order is precious, and things happen!","subtitle-monitor":"We continuously monitor your package and offer a convenient portal for you to track your order's progress at any moment!","subtitle-notify":"You'll be notified throughout the entire shipping process, ensuring you stay up to date every step of the way.","subtitle-resolution":"In case of any issues during transit, we offer a quick and easy method to report the problem directly to the brand, for a swift resolution.",text:"By purchasing this delivery guarantee, you agree to our Terms Of Service and Privacy Policy. You are not obligated to purchase this guarantee. This guarantee is NOT insurance and does not provide indemnification against loss, damage, or liability arising from a contingent or unknown event, but rather, through ShipAid brands provide a delivery guarantee whereby if the product you ordered is not delivered in satisfactory condition, the brand from which you ordered the product may replace the product free of charge. ShipAid does not provide any products or services directly to consumers, but instead provides a service that allow brands to facilitate product replacement to their customers. Purchasing this guarantee does not mean that you will automatically be reimbursed for any product or shipping costs because the resolution process and decision for compensation is strictly decided by the brand you a purchasing from. The brand will require proof of damage or undelivered product."},links:{terms:"Terms of Service",privacy:"Privacy Policy"}}},re=Object.freeze(Object.defineProperty({__proto__:null,actions:ie,default:oe,description:te,footer:ee,loading:Yt,title:Xt},Symbol.toStringTag,{value:"Module"})),ne=h`
|
|
803
803
|
:host {
|
|
804
804
|
--shipaid-primary: #002bd6;
|
|
805
805
|
--shipaid-secondary: #0076ff;
|
|
@@ -955,7 +955,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
955
955
|
.shipaid-prompt .prompt-footer .prompt-footer-badge svg {
|
|
956
956
|
height:var(--shipaid-footer-badge-logo-height, 9px);
|
|
957
957
|
}
|
|
958
|
-
`;var ne=(t=>(t.LOADED="shipaid-loaded",t.STATUS_UPDATE="shipaid-protection-status",t))(ne||{});var ae=Object.defineProperty,de=(t,e,i,o)=>{for(var r,s=void 0,n=t.length-1;n>=0;n--)(r=t[n])&&(s=r(e,i,s)||s);return s&&ae(e,i,s),s};const pe=t=>({items:t.lines.edges.map((({node:t})=>({id:t.id,key:t.id,variant_id:t.merchandise.id,sku:t.merchandise.sku,final_line_price:parseFloat(t.cost.totalAmount.amount),quantity:t.quantity}))),total_price:parseFloat(t.cost.totalAmount.amount),item_count:t.lines.edges.length}),le=async(t,e)=>{try{const i=await fetch(t,e);if(!i.ok)throw new Error(await i.text());return await i.json()}catch(i){throw console.error(i),new Error("Failed to complete fetch request.")}},ce=t=>console.warn(`[ShipAid] ${t}`),ue=t=>console.error(`[ShipAid] ${t}`),he="shipaid-protection",me="shipaid-protection-popup-show",fe="query StoreByDomain ($store: String!) {\n store: storeByDomain (input: {store: $store}) {\n currency\n planActive\n store\n widgetAutoOptIn\n widgetPollProtection\n widgetShowCart\n excludedProductSkus\n excludedCustomersIdsAutoOptIn\n protectionSettings\n widgetConfigurations\n }\n}",ge=Object.assign({"./lang/de.json":()=>Promise.resolve().then((()=>Ae)).then((t=>t.default)),"./lang/en.json":()=>Promise.resolve().then((()=>re)).then((t=>t.default)),"./lang/es.json":()=>Promise.resolve().then((()=>Ie)).then((t=>t.default)),"./lang/fr.json":()=>Promise.resolve().then((()=>Re)).then((t=>t.default)),"./lang/it.json":()=>Promise.resolve().then((()=>Ze)).then((t=>t.default)),"./lang/pt.json":()=>Promise.resolve().then((()=>ti)).then((t=>t.default))});var ve;ve={loader:async t=>{if("en"===t)return oe;const e=Reflect.get(ge,`./lang/${t}.json`);return e?await e():oe}},yt=Object.assign(Object.assign({},yt),ve);const ye=class extends ut{constructor(){var t,e,i;super(...arguments),this.env="prod",this.useCustomStoreFront=!1,this.storeDomain="",this.storeAccessToken="",this.cartId="",this.disablePolling=!1,this.disableActions=!1,this.pollingInterval=2500,this.disableRefresh=!1,this.refreshCart=!1,this.persistPopup=!1,this.defaultToggleButton=!1,this.lang="en",this.currency=void 0,this.customerId=void 0,this.supportSubscriptions=!1,this._apiEndpoint="/apps/shipaid",this._storeDomain=(null==(t=window.Shopify)?void 0:t.shop)??(null==(i=null==(e=window.Shopify)?void 0:e.Checkout)?void 0:i.apiHost),this._hasFinishedSetup=!1,this._shouldShowWidget=!1,this._hasProtectionInCart=!1,this.hasLoadedStrings=!1,this.fetchInterceptorCleanup=()=>{},this.intervalId=null,this._state={loading:!1,success:null,error:!1},this._popup=null,this._fetch={get:t=>le(t),post:(t,e)=>le(t,{method:"POST",headers:{"Content-Type":"application/json","X-ShipAid":"1"},body:JSON.stringify(e)})}}shouldUpdate(t){return this.hasLoadedStrings&&super.shouldUpdate(t)}shouldPersistPopup(){return"true"===localStorage.getItem(`${me}`)?"learn-more":null}setPopupKey(){this.persistPopup&&localStorage.setItem(`${me}`,"true")}get nhost(){const t=`https://${"prod"===this.env?"gjiyysyzjwuculcymsvb":"staging"===this.env?"xfnjpunvafvudwuzwjlm":"local"}.graphql.us-east-1.nhost.run/v1`;return{request:async(e,i)=>{try{const o=await fetch(t,{method:"post",body:JSON.stringify({query:e,variables:i})});return await o.json()}catch(o){console.log(`Nhost Error: ${o}`)}}}}async runStoreFrontQuery(t,e){try{const i=new Headers;i.append("Content-Type","application/json"),i.append("X-Shopify-Storefront-Access-Token",this.storeAccessToken);const o={method:"POST",headers:i,body:JSON.stringify({query:t,variables:e})},r=await fetch(`https://${this.storeDomain}/api/2021-07/graphql.json`,o);if(!r.ok)throw new Error(`GraphQL request failed: ${r.statusText}`);const s=await r.json();if(s.errors)throw new Error(s.errors[0].message);return s.data}catch(i){throw console.error("GraphQL query error:",i),new Error("Failed to execute GraphQL query")}}get shouldRefreshOnUpdate(){return!this.disablePolling&&!this.disableRefresh}get planActive(){var t,e;const{searchParams:i}=new URL(window.location.href);return(null==(t=window.Shopify)?void 0:t.designMode)||i.has("shipaid-test")?(ce("Currently in preview mode."),!0):!!(null==(e=this._store)?void 0:e.planActive)}_currencyFormat(t){var e,i,o,r,s,n;const a=this.currency||(null==(i=null==(e=window.Shopify)?void 0:e.currency)?void 0:i.active)||(null==(o=this._store)?void 0:o.currency)||"USD";if(null==(n=null==(s=null==(r=this._store)?void 0:r.widgetConfigurations)?void 0:s.widget)?void 0:n.currencyFormat){return this._store.widgetConfigurations.widget.currencyFormat.replace("_value_",Number(t)).replace("_currency_",a)}return new Intl.NumberFormat(void 0,{currency:a,style:"currency"}).format(Number(t))}_dispatchEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}_handleRefreshCart(){if(this.refreshCart)return window.location.reload()}async _handleRefresh(t){const e=Reflect.has(t,"items");if(this.shouldRefreshOnUpdate)return window.location.reload();e||await this.updateCart(),this._dispatchEvent(ne.STATUS_UPDATE,{protection:this._hasProtectionInCart,cart:e?t:this._cart,lineItem:e?this._protectionCartItem:t})}async calculateProtectionTotal(t){if(t||(t=await this._fetchCart()),!t)throw new Error("Could not fetch cart.");if(!this._store)throw new Error("Missing ShipAid store");if(!this._protectionProduct)throw new Error("Missing Shopify protection product");return i.calculateProtectionTotal(this._store,this._protectionProduct,t)}_findProtectionVariant(t){if(!this._store)throw new Error("Missing ShipAid store");if(!this._protectionProduct)throw new Error("Missing Shopify protection product");return i.findProtectionVariant(this._store,this._protectionProduct,t)}_setState(t,e){this._state={loading:"loading"===t,success:"success"===t,error:"error"===t&&(e||!0)}}_handleConfirmationPopup(){"confirmation"!==this._popup&&(this._popup="confirmation")}_updateProtection(){var t,e,i;const o=null==(i=null==(e=null==(t=this._store)?void 0:t.widgetConfigurations)?void 0:e.widget)?void 0:i.removeWithConfirmation;return this._hasProtectionInCart?o?this._handleConfirmationPopup():this.removeProtection():this.addProtection()}async _fetchShipAidData(){var t,e,i,o,r;let s;if(s=this.storeDomain?this.storeDomain:(null==(t=window.Shopify)?void 0:t.shop)??(null==(i=null==(e=window.Shopify)?void 0:e.Checkout)?void 0:i.apiHost),!s)throw new Error("No shop found in Shopify object.");try{let t,e;if(this.useCustomStoreFront)e=await this.nhost.request(fe,{store:s});else{t=new URL(window.location.href),t.pathname=this._apiEndpoint;const i={query:fe,variables:{store:s}};e=await this._fetch.post(t.toString(),i)}if(!e)throw new Error("Missing response for store query.");if(null==(o=e.errors)?void 0:o.length)throw new Error(e.errors[0].message);if(!(null==(r=e.data)?void 0:r.store))throw new Error("Missing store from store query response.");return e.data.store}catch(n){throw console.error(n),new Error(`Could not find a store for ${this._storeDomain}`)}}_findSellingPlanByName(t,e){for(const i of t){const t=i.node;for(const i of t.sellingPlans.edges){const t=i.node;if(e===t.name)return t}}return null}async _fetchSellingPlanFromVariant(t){var e,i,o,r,s,n,a,d,p,l,c,u,h;const m=(null==(e=window.Shopify)?void 0:e.shop)??(null==(o=null==(i=window.Shopify)?void 0:i.Checkout)?void 0:o.apiHost);if(!m)throw new Error("No shop found in Shopify object.");try{const e=new URL(window.location.href);e.pathname=this._apiEndpoint;const i={query:"query SellingPlanFromVariant($store: String!, $variantId: String!){\n sellingPlanFromVariant(input: {store: $store, variantId: $variantId })\n}",variables:{store:m,variantId:`gid://shopify/ProductVariant/${null==(r=this._protectionVariant)?void 0:r.id}`}},o=await this._fetch.post(e.toString(),i);if(!o)throw new Error("Missing response for selling plan query.");if(null==(s=o.errors)?void 0:s.length)throw new Error(o.errors[0].message);if(!(null==(n=o.data)?void 0:n.sellingPlanFromVariant))throw new Error("Missing variant from selling plan query response.");const f=(null==(d=null==(a=o.data.sellingPlanFromVariant)?void 0:a.sellingPlanGroups)?void 0:d.edges)||[],g=(null==(h=null==(u=null==(c=null==(l=null==(p=f[0])?void 0:p.node)?void 0:l.sellingPlans)?void 0:c.edges)?void 0:u[0])?void 0:h.node)||null;return this._findSellingPlanByName(f,t.name)||g}catch(f){console.error("Error during the query ====>",f)}}async _fetchCart(){try{if(this.useCustomStoreFront&&this.cartId){const t=await this.runStoreFrontQuery("query getCart($cartId: ID!){ cart( id: $cartId ) { id createdAt updatedAt lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } }",{cartId:this.cartId});return pe(t.cart)}return await this._fetch.get("/cart.js")}catch(t){throw ue(t.message),new Error("Could not fetch cart for current domain.")}}async _fetchProduct(){var t,e;try{let i;if(this.useCustomStoreFront){const o=await this.runStoreFrontQuery("query searchProducts($query: String!, $first: Int) { search(query: $query, first: $first, types: PRODUCT) { edges { node { ... on Product { id title handle variants(first: 1) { edges { node { id title price { amount } } } } } } } } }",{query:"ShipAid Delivery Guarantee",first:1});if(null==(e=null==(t=null==o?void 0:o.search)?void 0:t.edges)?void 0:e.length){const t=o.search.edges[0];i={id:t.node.id,variants:t.node.variants.edges.map((t=>({id:t.node.id,price:t.node.price.amount})))}}}else i=(await this._fetch.get("/products/shipaid-protection.json")).product;return i}catch(i){throw ue(i.message),new Error("Could not fetch protection product for current domain.")}}hasProtection(){return this._hasProtectionInCart}async updateCart(t){t||(t=await this._fetchCart()),this._cart=t}async addCartProtectionVariant(){var t,i,o,r;let s,n;if(this.supportSubscriptions){const o=null==(i=null==(t=this._cart)?void 0:t.items)?void 0:i.find((t=>{var e;return t.id!==(null==(e=this._protectionVariant)?void 0:e.id)&&!!(null==t?void 0:t.selling_plan_allocation)}));if(o){const t=await this._fetchSellingPlanFromVariant(o.selling_plan_allocation.selling_plan);n=t?e(t.id):null}}if(this.useCustomStoreFront){const t=await this.runStoreFrontQuery("mutation AddItemToCart($cartId: ID!, $lines: [CartLineInput!]!) { cartLinesAdd(cartId: $cartId, lines: $lines) { cart { id lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } } }",{cartId:this.cartId,lines:[{merchandiseId:String(null==(o=this._protectionVariant)?void 0:o.id),quantity:1,sellingPlanId:n}]});s=pe(t.cartLinesAdd.cart)}else{const t={quantity:1,id:String(null==(r=this._protectionVariant)?void 0:r.id),selling_plan:n};s=await this._fetch.post("/cart/add.js",t)}return s}async updateCartProtectionVariant(t,e=null,i=null){var o,r;let s;if(this.useCustomStoreFront){const r=await this.runStoreFrontQuery("mutation RemoveItemToCart($cartId: ID!, $lines: [CartLineUpdateInput!]!) { cartLinesUpdate(cartId: $cartId, lines: $lines) { cart { id lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } } }",{cartId:this.cartId,lines:[{id:String(e?e.key:null==(o=this._protectionCartItem)?void 0:o.key),quantity:t,sellingPlanId:i}]});s=pe(r.cartLinesUpdate.cart)}else{const o={quantity:t,id:String(e?e.key:null==(r=this._protectionCartItem)?void 0:r.key),selling_plan:i};s=await this._fetch.post("/cart/change.js",o)}return s}async addProtection(){var t,e;try{if(!this._store)throw new Error("Store has not been loaded.");if(!(null==(t=this._cart)?void 0:t.items))throw new Error("Cart has not been loaded.");if(!(null==(e=this._protectionVariant)?void 0:e.id))throw new Error("No protection variant found.");this._setState("loading");const i=await this.addCartProtectionVariant();await this._handleRefresh(i),this._setState("success")}catch(i){ue(i.message)}finally{this._cart=await this._fetchCart(),this._setState("success")}}async removeProtection(){try{if(!this._store)throw new Error("Store has not been loaded.");if(!this._protectionCartItem)throw new Error("Protection product not found.");this._setState("loading");const t=await this.updateCartProtectionVariant(0,this._protectionCartItem);await this._handleRefresh(t),this._cart=t,this._setState("success")}catch(t){ue(t.message)}finally{this._cart=await this._fetchCart(),this._setState("success")}}async attemptAddProtection(){var t,e,i,o,r,s;if(!(null==(t=this._store)?void 0:t.widgetAutoOptIn))return;if(!(null==(e=this._cart)?void 0:e.items)||!(null==(i=this._cart)?void 0:i.item_count))return;const n=null==(o=this._cart.items)?void 0:o.findIndex((t=>{var e,i;return null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})),a=null==(r=this._cart)?void 0:r.items[n];if(this._hasProtectionInCart=!!a,1===this._cart.item_count&&a)return;!!sessionStorage.getItem(he)||!this._hasProtectionInCart&&(null==(s=this._cart)?void 0:s.item_count)&&this._store.widgetShowCart&&(await this.addProtection(),sessionStorage.setItem(he,JSON.stringify({loaded:!0})))}async handleMultipleProtectionVariants(){var t,e,i,o,r;if(!(null==(t=this._cart)?void 0:t.items)||!(null==(e=this._cart)?void 0:e.item_count))return;let s=0;if(null==(i=this._cart.items)||i.forEach((t=>{var e,i;(null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id)))&&s++})),s>1){const t=null==(o=this._cart.items)?void 0:o.findIndex((t=>{var e,i;return null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})),e=null==(r=this._cart)?void 0:r.items[t],i=await this.updateCartProtectionVariant(0,e);return await this._handleRefresh(i)}}learnMorePopupTemplate(){return H`
|
|
958
|
+
`;var se=(t=>(t.LOADED="shipaid-loaded",t.STATUS_UPDATE="shipaid-protection-status",t))(se||{});var ae=Object.defineProperty,de=(t,e,i,o)=>{for(var r,n=void 0,s=t.length-1;s>=0;s--)(r=t[s])&&(n=r(e,i,n)||n);return n&&ae(e,i,n),n};const le=t=>({items:t.lines.edges.map((({node:t})=>({id:t.id,key:t.id,variant_id:t.merchandise.id,sku:t.merchandise.sku,final_line_price:parseFloat(t.cost.totalAmount.amount),quantity:t.quantity}))),total_price:parseFloat(t.cost.totalAmount.amount),item_count:t.lines.edges.length}),pe=async(t,e)=>{try{const i=await fetch(t,e);if(!i.ok)throw new Error(await i.text());return await i.json()}catch(i){throw console.error(i),new Error("Failed to complete fetch request.")}},ce=t=>console.warn(`[ShipAid] ${t}`),ue=t=>console.error(`[ShipAid] ${t}`),he="shipaid-protection",me="shipaid-protection-popup-show",ge="query StoreByDomain ($store: String!) {\n store: storeByDomain (input: {store: $store}) {\n currency\n planActive\n store\n widgetAutoOptIn\n widgetPollProtection\n widgetShowCart\n excludedProductSkus\n excludedCustomersIdsAutoOptIn\n protectionSettings\n widgetConfigurations\n }\n}",fe=Object.assign({"./lang/de.json":()=>Promise.resolve().then((()=>Ae)).then((t=>t.default)),"./lang/en.json":()=>Promise.resolve().then((()=>re)).then((t=>t.default)),"./lang/es.json":()=>Promise.resolve().then((()=>Ie)).then((t=>t.default)),"./lang/fr.json":()=>Promise.resolve().then((()=>Re)).then((t=>t.default)),"./lang/it.json":()=>Promise.resolve().then((()=>Ze)).then((t=>t.default)),"./lang/nl.json":()=>Promise.resolve().then((()=>ti)).then((t=>t.default)),"./lang/pt.json":()=>Promise.resolve().then((()=>ai)).then((t=>t.default))});var ve;ve={loader:async t=>{if("en"===t)return oe;const e=Reflect.get(fe,`./lang/${t}.json`);return e?await e():oe}},bt=Object.assign(Object.assign({},bt),ve);const be=class extends ut{constructor(){var t,e,i;super(...arguments),this.env="prod",this.useCustomStoreFront=!1,this.storeDomain="",this.storeAccessToken="",this.cartId="",this.disablePolling=!1,this.disableActions=!1,this.pollingInterval=2500,this.disableRefresh=!1,this.refreshCart=!1,this.persistPopup=!1,this.defaultToggleButton=!1,this.lang="en",this.currency=void 0,this.customerId=void 0,this.supportSubscriptions=!1,this._apiEndpoint="/apps/shipaid",this._storeDomain=(null==(t=window.Shopify)?void 0:t.shop)??(null==(i=null==(e=window.Shopify)?void 0:e.Checkout)?void 0:i.apiHost),this._hasFinishedSetup=!1,this._shouldShowWidget=!1,this._hasProtectionInCart=!1,this.hasLoadedStrings=!1,this.fetchInterceptorCleanup=()=>{},this.intervalId=null,this._state={loading:!1,success:null,error:!1},this._popup=null,this._fetch={get:t=>pe(t),post:(t,e)=>pe(t,{method:"POST",headers:{"Content-Type":"application/json","X-ShipAid":"1"},body:JSON.stringify(e)})}}shouldUpdate(t){return this.hasLoadedStrings&&super.shouldUpdate(t)}shouldPersistPopup(){return"true"===localStorage.getItem(`${me}`)?"learn-more":null}setPopupKey(){this.persistPopup&&localStorage.setItem(`${me}`,"true")}get nhost(){const t=`https://${"prod"===this.env?"gjiyysyzjwuculcymsvb":"staging"===this.env?"xfnjpunvafvudwuzwjlm":"local"}.graphql.us-east-1.nhost.run/v1`;return{request:async(e,i)=>{try{const o=await fetch(t,{method:"post",body:JSON.stringify({query:e,variables:i})});return await o.json()}catch(o){console.log(`Nhost Error: ${o}`)}}}}async runStoreFrontQuery(t,e){try{const i=new Headers;i.append("Content-Type","application/json"),i.append("X-Shopify-Storefront-Access-Token",this.storeAccessToken);const o={method:"POST",headers:i,body:JSON.stringify({query:t,variables:e})},r=await fetch(`https://${this.storeDomain}/api/2021-07/graphql.json`,o);if(!r.ok)throw new Error(`GraphQL request failed: ${r.statusText}`);const n=await r.json();if(n.errors)throw new Error(n.errors[0].message);return n.data}catch(i){throw console.error("GraphQL query error:",i),new Error("Failed to execute GraphQL query")}}get shouldRefreshOnUpdate(){return!this.disablePolling&&!this.disableRefresh}get planActive(){var t,e;const{searchParams:i}=new URL(window.location.href);return(null==(t=window.Shopify)?void 0:t.designMode)||i.has("shipaid-test")?(ce("Currently in preview mode."),!0):!!(null==(e=this._store)?void 0:e.planActive)}_currencyFormat(t){var e,i,o,r,n,s;const a=this.currency||(null==(i=null==(e=window.Shopify)?void 0:e.currency)?void 0:i.active)||(null==(o=this._store)?void 0:o.currency)||"USD";if(null==(s=null==(n=null==(r=this._store)?void 0:r.widgetConfigurations)?void 0:n.widget)?void 0:s.currencyFormat){return this._store.widgetConfigurations.widget.currencyFormat.replace("_value_",Number(t)).replace("_currency_",a)}return new Intl.NumberFormat(void 0,{currency:a,style:"currency"}).format(Number(t))}_dispatchEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}_handleRefreshCart(){if(this.refreshCart)return window.location.reload()}async _handleRefresh(t){const e=Reflect.has(t,"items");if(this.shouldRefreshOnUpdate)return window.location.reload();e||await this.updateCart(),this._dispatchEvent(se.STATUS_UPDATE,{protection:this._hasProtectionInCart,cart:e?t:this._cart,lineItem:e?this._protectionCartItem:t})}async calculateProtectionTotal(t){if(t||(t=await this._fetchCart()),!t)throw new Error("Could not fetch cart.");if(!this._store)throw new Error("Missing ShipAid store");if(!this._protectionProduct)throw new Error("Missing Shopify protection product");return i.calculateProtectionTotal(this._store,this._protectionProduct,t)}_findProtectionVariant(t){if(!this._store)throw new Error("Missing ShipAid store");if(!this._protectionProduct)throw new Error("Missing Shopify protection product");return i.findProtectionVariant(this._store,this._protectionProduct,t)}_setState(t,e){this._state={loading:"loading"===t,success:"success"===t,error:"error"===t&&(e||!0)}}_handleConfirmationPopup(){"confirmation"!==this._popup&&(this._popup="confirmation")}_updateProtection(){var t,e,i;const o=null==(i=null==(e=null==(t=this._store)?void 0:t.widgetConfigurations)?void 0:e.widget)?void 0:i.removeWithConfirmation;return this._hasProtectionInCart?o?this._handleConfirmationPopup():this.removeProtection():this.addProtection()}async _fetchShipAidData(){var t,e,i,o,r;let n;if(n=this.storeDomain?this.storeDomain:(null==(t=window.Shopify)?void 0:t.shop)??(null==(i=null==(e=window.Shopify)?void 0:e.Checkout)?void 0:i.apiHost),!n)throw new Error("No shop found in Shopify object.");try{let t,e;if(this.useCustomStoreFront)e=await this.nhost.request(ge,{store:n});else{t=new URL(window.location.href),t.pathname=this._apiEndpoint;const i={query:ge,variables:{store:n}};e=await this._fetch.post(t.toString(),i)}if(!e)throw new Error("Missing response for store query.");if(null==(o=e.errors)?void 0:o.length)throw new Error(e.errors[0].message);if(!(null==(r=e.data)?void 0:r.store))throw new Error("Missing store from store query response.");return e.data.store}catch(s){throw console.error(s),new Error(`Could not find a store for ${this._storeDomain}`)}}_findSellingPlanByName(t,e){for(const i of t){const t=i.node;for(const i of t.sellingPlans.edges){const t=i.node;if(e===t.name)return t}}return null}async _fetchSellingPlanFromVariant(t){var e,i,o,r,n,s,a,d,l,p,c,u,h;const m=(null==(e=window.Shopify)?void 0:e.shop)??(null==(o=null==(i=window.Shopify)?void 0:i.Checkout)?void 0:o.apiHost);if(!m)throw new Error("No shop found in Shopify object.");try{const e=new URL(window.location.href);e.pathname=this._apiEndpoint;const i={query:"query SellingPlanFromVariant($store: String!, $variantId: String!){\n sellingPlanFromVariant(input: {store: $store, variantId: $variantId })\n}",variables:{store:m,variantId:`gid://shopify/ProductVariant/${null==(r=this._protectionVariant)?void 0:r.id}`}},o=await this._fetch.post(e.toString(),i);if(!o)throw new Error("Missing response for selling plan query.");if(null==(n=o.errors)?void 0:n.length)throw new Error(o.errors[0].message);if(!(null==(s=o.data)?void 0:s.sellingPlanFromVariant))throw new Error("Missing variant from selling plan query response.");const g=(null==(d=null==(a=o.data.sellingPlanFromVariant)?void 0:a.sellingPlanGroups)?void 0:d.edges)||[],f=(null==(h=null==(u=null==(c=null==(p=null==(l=g[0])?void 0:l.node)?void 0:p.sellingPlans)?void 0:c.edges)?void 0:u[0])?void 0:h.node)||null;return this._findSellingPlanByName(g,t.name)||f}catch(g){console.error("Error during the query ====>",g)}}async _fetchCart(){try{if(this.useCustomStoreFront&&this.cartId){const t=await this.runStoreFrontQuery("query getCart($cartId: ID!){ cart( id: $cartId ) { id createdAt updatedAt lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } }",{cartId:this.cartId});return le(t.cart)}return await this._fetch.get("/cart.js")}catch(t){throw ue(t.message),new Error("Could not fetch cart for current domain.")}}async _fetchProduct(){var t,e;try{let i;if(this.useCustomStoreFront){const o=await this.runStoreFrontQuery("query searchProducts($query: String!, $first: Int) { search(query: $query, first: $first, types: PRODUCT) { edges { node { ... on Product { id title handle variants(first: 1) { edges { node { id title price { amount } } } } } } } } }",{query:"ShipAid Delivery Guarantee",first:1});if(null==(e=null==(t=null==o?void 0:o.search)?void 0:t.edges)?void 0:e.length){const t=o.search.edges[0];i={id:t.node.id,variants:t.node.variants.edges.map((t=>({id:t.node.id,price:t.node.price.amount})))}}}else i=(await this._fetch.get("/products/shipaid-protection.json")).product;return i}catch(i){throw ue(i.message),new Error("Could not fetch protection product for current domain.")}}hasProtection(){return this._hasProtectionInCart}async updateCart(t){t||(t=await this._fetchCart()),this._cart=t}async addCartProtectionVariant(){var t,i,o,r;let n,s;if(this.supportSubscriptions){const o=null==(i=null==(t=this._cart)?void 0:t.items)?void 0:i.find((t=>{var e;return t.id!==(null==(e=this._protectionVariant)?void 0:e.id)&&!!(null==t?void 0:t.selling_plan_allocation)}));if(o){const t=await this._fetchSellingPlanFromVariant(o.selling_plan_allocation.selling_plan);s=t?e(t.id):null}}if(this.useCustomStoreFront){const t=await this.runStoreFrontQuery("mutation AddItemToCart($cartId: ID!, $lines: [CartLineInput!]!) { cartLinesAdd(cartId: $cartId, lines: $lines) { cart { id lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } } }",{cartId:this.cartId,lines:[{merchandiseId:String(null==(o=this._protectionVariant)?void 0:o.id),quantity:1,sellingPlanId:s}]});n=le(t.cartLinesAdd.cart)}else{const t={quantity:1,id:String(null==(r=this._protectionVariant)?void 0:r.id),selling_plan:s};n=await this._fetch.post("/cart/add.js",t)}return n}async updateCartProtectionVariant(t,e=null,i=null){var o,r;let n;if(this.useCustomStoreFront){const r=await this.runStoreFrontQuery("mutation RemoveItemToCart($cartId: ID!, $lines: [CartLineUpdateInput!]!) { cartLinesUpdate(cartId: $cartId, lines: $lines) { cart { id lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } } }",{cartId:this.cartId,lines:[{id:String(e?e.key:null==(o=this._protectionCartItem)?void 0:o.key),quantity:t,sellingPlanId:i}]});n=le(r.cartLinesUpdate.cart)}else{const o={quantity:t,id:String(e?e.key:null==(r=this._protectionCartItem)?void 0:r.key),selling_plan:i};n=await this._fetch.post("/cart/change.js",o)}return n}async addProtection(){var t,e;try{if(!this._store)throw new Error("Store has not been loaded.");if(!(null==(t=this._cart)?void 0:t.items))throw new Error("Cart has not been loaded.");if(!(null==(e=this._protectionVariant)?void 0:e.id))throw new Error("No protection variant found.");this._setState("loading");const i=await this.addCartProtectionVariant();await this._handleRefresh(i),this._setState("success")}catch(i){ue(i.message)}finally{this._cart=await this._fetchCart(),this._setState("success")}}async removeProtection(){try{if(!this._store)throw new Error("Store has not been loaded.");if(!this._protectionCartItem)throw new Error("Protection product not found.");this._setState("loading");const t=await this.updateCartProtectionVariant(0,this._protectionCartItem);await this._handleRefresh(t),this._cart=t,this._setState("success")}catch(t){ue(t.message)}finally{this._cart=await this._fetchCart(),this._setState("success")}}async attemptAddProtection(){var t,e,i,o,r,n;if(!(null==(t=this._store)?void 0:t.widgetAutoOptIn))return;if(!(null==(e=this._cart)?void 0:e.items)||!(null==(i=this._cart)?void 0:i.item_count))return;const s=null==(o=this._cart.items)?void 0:o.findIndex((t=>{var e,i;return null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})),a=null==(r=this._cart)?void 0:r.items[s];if(this._hasProtectionInCart=!!a,1===this._cart.item_count&&a)return;!!sessionStorage.getItem(he)||!this._hasProtectionInCart&&(null==(n=this._cart)?void 0:n.item_count)&&this._store.widgetShowCart&&(await this.addProtection(),sessionStorage.setItem(he,JSON.stringify({loaded:!0})))}async handleMultipleProtectionVariants(){var t,e,i,o,r;if(!(null==(t=this._cart)?void 0:t.items)||!(null==(e=this._cart)?void 0:e.item_count))return;let n=0;if(null==(i=this._cart.items)||i.forEach((t=>{var e,i;(null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id)))&&n++})),n>1){const t=null==(o=this._cart.items)?void 0:o.findIndex((t=>{var e,i;return null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})),e=null==(r=this._cart)?void 0:r.items[t],i=await this.updateCartProtectionVariant(0,e);return await this._handleRefresh(i)}}learnMorePopupTemplate(){return H`
|
|
959
959
|
<shipaid-popup-learn-more
|
|
960
960
|
?active=${"learn-more"===this._popup}
|
|
961
961
|
@close=${()=>{this.persistPopup&&localStorage.removeItem(`${me}`),this._popup=null}}
|
|
@@ -966,31 +966,31 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
966
966
|
@close=${()=>{this.persistPopup&&localStorage.removeItem(`${me}`),this._popup=null}}
|
|
967
967
|
@remove-protection=${()=>{this.removeProtection(),this.persistPopup&&localStorage.removeItem(`${me}`),this._popup=null}}
|
|
968
968
|
></shipaid-popup-confirmation>
|
|
969
|
-
`}renderPopups(){switch(this.persistPopup&&(this._popup=this.shouldPersistPopup()),this._popup){case"confirmation":return this.confirmationPopupTemplate();case"learn-more":return this.learnMorePopupTemplate();default:return null}}promptTemplate(){var t,e,i;const{useToggle:o,useCheckbox:r,leftCheckbox:
|
|
969
|
+
`}renderPopups(){switch(this.persistPopup&&(this._popup=this.shouldPersistPopup()),this._popup){case"confirmation":return this.confirmationPopupTemplate();case"learn-more":return this.learnMorePopupTemplate();default:return null}}promptTemplate(){var t,e,i;const{useToggle:o,useCheckbox:r,leftCheckbox:n}=(null==(e=null==(t=this._store)?void 0:t.widgetConfigurations)?void 0:e.widget)||{useToggle:!1,useCheckbox:!1,leftCheckbox:!1};return H`
|
|
970
970
|
<div class="shipaid-prompt">
|
|
971
971
|
<div class="prompt-product">
|
|
972
|
-
${Tt(!this.disableActions&&
|
|
972
|
+
${Tt(!this.disableActions&&n,(()=>H`
|
|
973
973
|
<label class="shipaid-checkbox">
|
|
974
974
|
${this._hasProtectionInCart||!this._hasFinishedSetup?H`<input type="checkbox" checked @click=${this._updateProtection} ?disabled=${this._state.loading}>`:H`<input type="checkbox" @click=${this._updateProtection} ?disabled=${this._state.loading}>`}
|
|
975
975
|
<span class="shipaid-checkMark left"></span>
|
|
976
976
|
</label>
|
|
977
977
|
`))}
|
|
978
978
|
<div class="prompt-product-image">
|
|
979
|
-
${Tt(this._hasProtectionInCart,(()=>
|
|
979
|
+
${Tt(this._hasProtectionInCart,(()=>Ot),(()=>Nt))}
|
|
980
980
|
</div>
|
|
981
981
|
<div class="prompt-product-details">
|
|
982
982
|
<p class="prompt-product-details-title">
|
|
983
|
-
<slot name="title">${
|
|
983
|
+
<slot name="title">${zt("title")}</slot>
|
|
984
984
|
</p>
|
|
985
985
|
<p class="prompt-product-details-description">
|
|
986
|
-
<slot name="subtitle">${
|
|
986
|
+
<slot name="subtitle">${zt("description")}</slot>
|
|
987
987
|
</p>
|
|
988
988
|
</div>
|
|
989
989
|
<div class="prompt-product-actions">
|
|
990
990
|
<p class="prompt-product-actions-price">
|
|
991
991
|
${(null==(i=this._protectionVariant)?void 0:i.price)&&this._currencyFormat(this._protectionVariant.price)}
|
|
992
992
|
</p>
|
|
993
|
-
${o||r||this.defaultToggleButton?Tt(!this.disableActions&&!
|
|
993
|
+
${o||r||this.defaultToggleButton?Tt(!this.disableActions&&!n,(()=>H`
|
|
994
994
|
<label class="shipaid-${o?"toggle":r?"checkbox":""}">
|
|
995
995
|
${this._hasProtectionInCart||!this._hasFinishedSetup?H`<input type="checkbox" checked @click=${this._updateProtection} ?disabled=${this._state.loading}>`:H`<input type="checkbox" @click=${this._updateProtection} ?disabled=${this._state.loading}>`}
|
|
996
996
|
<span class="shipaid-${o?"slider":r?"checkMark":""}"></span>
|
|
@@ -1001,7 +1001,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
1001
1001
|
@click=${this._updateProtection}
|
|
1002
1002
|
?disabled=${this._state.loading}
|
|
1003
1003
|
>
|
|
1004
|
-
${this._state.loading?
|
|
1004
|
+
${this._state.loading?zt("actions.loading"):this._hasProtectionInCart?zt("actions.remove"):H`+ ${zt("actions.add")}`}
|
|
1005
1005
|
</button>
|
|
1006
1006
|
`))}
|
|
1007
1007
|
</div>
|
|
@@ -1012,7 +1012,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
1012
1012
|
class="prompt-footer-badge"
|
|
1013
1013
|
@click=${()=>{this._popup="learn-more",this.persistPopup&&this.setPopupKey()}}
|
|
1014
1014
|
>
|
|
1015
|
-
<span>${
|
|
1015
|
+
<span>${zt("footer.button")}</span>
|
|
1016
1016
|
${Vt}
|
|
1017
1017
|
<button
|
|
1018
1018
|
class="prompt-footer-about"
|
|
@@ -1023,7 +1023,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
1023
1023
|
</a>
|
|
1024
1024
|
</div>
|
|
1025
1025
|
</div>
|
|
1026
|
-
`}async connectedCallback(){super.connectedCallback(),await async function(t,e=
|
|
1026
|
+
`}async connectedCallback(){super.connectedCallback(),await async function(t,e=bt){const i=await e.loader(t,e);e.translationCache={},yt(t,i,e)}(this.lang),this.hasLoadedStrings=!0,this.fetchInterceptorCleanup=function(t){const e=window.fetch;let i=!0;const o=async(o,r)=>{const n=e(o,r);if(i)try{await t([o,r],n)}catch(s){console.warn(s)}return await n};return window.fetch=o,()=>{window.fetch===o?window.fetch=e:i=!1}}((async(t,e)=>{var i,o,r,n;if(null==(o=null==(i=t[1])?void 0:i.headers)?void 0:o["X-ShipAid"])return;if(!t[0].startsWith("/cart/change")&&!t[0].startsWith("/cart/update"))return;const s=(null==(n=null==(r=this._store)?void 0:r.widgetConfigurations)?void 0:n.checkoutButtonSelector)||'button[type="submit"][name="checkout"][form="cart"]',a=document.querySelector(s);if(console.log("q",a),a){a.setAttribute("disabled","true"),console.debug("button","t");try{await e,await this.updateCart(),await this.updateProtection()}finally{a.removeAttribute("disabled"),console.debug("button","f")}}}))}disconnectedCallback(){var t;super.disconnectedCallback(),null==(t=this.fetchInterceptorCleanup)||t.call(this)}async updateProtection(){var t,i,o,r;if(this._cartLastUpdated=new Date,!(null==(t=this._cart)?void 0:t.items))return;const n=null==(i=this._cart.items)?void 0:i.findIndex((t=>{var e,i;return null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})),s=null==(o=this._cart)?void 0:o.items[n];if(this._hasProtectionInCart=!!s,!this._store)return;const a=await this.calculateProtectionTotal(this._cart);if(this._cart.item_count>0&&s&&(this._cart.total_price===(null==s?void 0:s.final_line_price)||!a)){const t=await this.updateCartProtectionVariant(0,s);return sessionStorage.removeItem(he),await this._handleRefresh(t)}const d=this._findProtectionVariant(a);if(a?(this._protectionVariant=d,this._shouldShowWidget=!0):this._protectionVariant={id:0,price:"0"},!(null==d?void 0:d.id))return this._shouldShowWidget=!1,void ue("No matching protection variant found.");if(!(null==(r=this._protectionVariant)?void 0:r.id))return void(this._shouldShowWidget=!1);if(!s)return;if(this.supportSubscriptions){const t=this._cart.items.find((t=>{var e;return t.id!==(null==(e=this._protectionVariant)?void 0:e.id)&&!!(null==t?void 0:t.selling_plan_allocation)}));let i=null;if(!t&&(null==s?void 0:s.selling_plan_allocation))i={id:s.key,quantity:1,selling_plan:null};else if(t&&!(null==s?void 0:s.selling_plan_allocation)){const o=await this._fetchSellingPlanFromVariant(t.selling_plan_allocation.selling_plan),r=o?e(o.id):null;i={id:s.key,quantity:1,selling_plan:r}}if(i){const t=await this.updateCartProtectionVariant(i.quantity,s,i.selling_plan);await this._handleRefresh(t)}}if(d.id===s.variant_id){if(this._protectionCartItem={...s,index:n,position:n+1},1===s.quantity)return;const t=await this.updateCartProtectionVariant(1,s);return this._handleRefreshCart(),await this._handleRefresh(t)}const l={updates:{[s.variant_id]:0,[d.id]:1}},p=await this._fetch.post("/cart/update.js",l);await this._handleRefresh(p)}render(){return qt(this,(async()=>{var t,e,i,o,r,n;const s=document.createElement("link");s.setAttribute("href","https://fonts.googleapis.com/css2?family=Lato&display=swap"),s.setAttribute("rel","stylesheet"),document.head.appendChild(s);try{const[t,e,i]=await Promise.all([this._fetchShipAidData(),this._fetchCart(),this._fetchProduct()]);this._store=t,this._cart=e,this._protectionProduct=i}catch(a){return ue(a.message),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1)}return this.planActive?(null==(e=null==(t=this._store)?void 0:t.protectionSettings)?void 0:e.protectionType)?this._protectionProduct?(this._hasFinishedSetup=!0,this._dispatchEvent(se.LOADED,this._store),setTimeout((async()=>{var t,e,i,o;(null==(t=this._store)?void 0:t.widgetAutoOptIn)&&(null==(e=this._cart)?void 0:e.item_count)&&(this.customerId&&this._store.excludedCustomersIdsAutoOptIn&&(null==(i=this._store.excludedCustomersIdsAutoOptIn)?void 0:i.length)&&this._store.excludedCustomersIdsAutoOptIn.includes(`gid://shopify/Customer/${this.customerId}`)||sessionStorage.getItem(he)||!this._hasProtectionInCart&&(null==(o=this._cart)?void 0:o.item_count)&&this._store.widgetShowCart&&(await this.addProtection(),sessionStorage.setItem(he,JSON.stringify({loaded:!0}))))}),500),void(this.disablePolling||(setInterval((async()=>{const t=this._cartLastUpdated;t&&(new Date).getTime()-t.getTime()<this.pollingInterval||await this.updateCart()}),this.pollingInterval),(null==(i=this._store)?void 0:i.widgetPollProtection)&&!this.intervalId&&(this.intervalId=setInterval((async()=>{await this.attemptAddProtection()}),400),localStorage.setItem(`polling-shipaid-protection_${this.intervalId}`,`${this.intervalId}`)),(null==(n=null==(r=null==(o=this._store)?void 0:o.widgetConfigurations)?void 0:r.widget)?void 0:n.pollVariantsCheck)&&setInterval((async()=>{await this.handleMultipleProtectionVariants()}),400)))):(ce("No protection settings product for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1)):(ce("No protection settings for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1)):(ce("No plan is active for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1))}),[]),qt(this,(async()=>{await this.updateProtection()}),[this._store,this._cart]),lt(this.renderPopups(),document.body),H`
|
|
1027
1027
|
<style>
|
|
1028
1028
|
:host {
|
|
1029
1029
|
--shipaid-primary: #002bd6;
|
|
@@ -1292,4 +1292,4 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
1292
1292
|
<div class="shipaid">
|
|
1293
1293
|
${Tt(this._hasFinishedSetup,(()=>{var t;return Tt(this._shouldShowWidget&&this.planActive&&(null==(t=this._store)?void 0:t.widgetShowCart),(()=>this.promptTemplate()),(()=>Z))}),(()=>this.promptTemplate()))}
|
|
1294
1294
|
</div>
|
|
1295
|
-
`}};ye.styles=se;let be=ye;de([s({type:String,attribute:!0})],be.prototype,"env"),de([s({type:Boolean,attribute:!0})],be.prototype,"useCustomStoreFront"),de([s({type:String,attribute:!0})],be.prototype,"storeDomain"),de([s({type:String,attribute:!0})],be.prototype,"storeAccessToken"),de([s({type:String,attribute:!0})],be.prototype,"cartId"),de([s({type:Boolean,attribute:!0})],be.prototype,"disablePolling"),de([s({type:Boolean,attribute:!0})],be.prototype,"disableActions"),de([s({type:Number,attribute:!0})],be.prototype,"pollingInterval"),de([s({type:Boolean,attribute:!0})],be.prototype,"disableRefresh"),de([s({type:Boolean,attribute:!0})],be.prototype,"refreshCart"),de([s({type:Boolean,attribute:!0})],be.prototype,"persistPopup"),de([s({type:Boolean,attribute:!0})],be.prototype,"defaultToggleButton"),de([s({type:String,attribute:!0})],be.prototype,"lang"),de([s({type:String,attribute:!0})],be.prototype,"currency"),de([s({type:String,attribute:!0})],be.prototype,"customerId"),de([s({type:Boolean,attribute:!0})],be.prototype,"supportSubscriptions"),de([n()],be.prototype,"_storeDomain"),de([n()],be.prototype,"_store"),de([n()],be.prototype,"_cart"),de([n()],be.prototype,"_protectionProduct"),de([n()],be.prototype,"_cartLastUpdated"),de([n()],be.prototype,"_hasFinishedSetup"),de([n()],be.prototype,"_shouldShowWidget"),de([n()],be.prototype,"_hasProtectionInCart"),de([n()],be.prototype,"_protectionCartItem"),de([n()],be.prototype,"_protectionVariant"),de([n()],be.prototype,"hasLoadedStrings"),de([n()],be.prototype,"fetchInterceptorCleanup"),de([n()],be.prototype,"intervalId"),de([n()],be.prototype,"_state"),de([n()],be.prototype,"_popup"),customElements.get("shipaid-widget")||customElements.define("shipaid-widget",be);const _e="Laden des ShipAid-Widgets...",Ce="Liefergarantie",we="im Falle von Verlust, Beschädigung oder Diebstahl",xe={button:"Bereitgestellt von"},$e={add:"Hinzufügen",remove:"Entfernen",loading:"Lädt..."},Se={loading:_e,title:Ce,description:we,footer:xe,actions:$e,"learn-more-popup":{close:"Schließen",title:"Liefergarantie",subtitle:"Wir ermöglichen es Ihren Lieblingsmarken, eine Liefergarantie anzubieten, weil jede Bestellung wertvoll ist!",disclaimer:{"subtitle-enable":"Wir ermöglichen es Ihren Lieblingsmarken, eine Liefergarantie zu bieten, denn wir wissen, dass jede Bestellung wertvoll ist und Dinge passieren können!","subtitle-monitor":"Wir überwachen Ihr Paket kontinuierlich und bieten ein praktisches Portal, damit Sie den Fortschritt Ihrer Bestellung jederzeit verfolgen können!","subtitle-notify":"Sie werden während des gesamten Versandprozesses benachrichtigt, um sicherzustellen, dass Sie auf dem Laufenden bleiben.","subtitle-resolution":"Sie werden während des gesamten Versandprozesses benachrichtigt, um sicherzustellen, dass Sie auf dem Laufenden bleiben.",text:"Durch den Erwerb dieser Liefergarantie stimmen Sie unseren Servicebedingungen und Datenschutzrichtlinien zu. Diese Garantie ist nicht verpflichtend, IST KEINE Versicherung und bietet keine Entschädigung für Verluste, Schäden oder Haftungen, die aus einem zufälligen oder unbekannten Ereignis resultieren. Sollte das Produkt nicht in zufriedenstellendem Zustand geliefert werden, kann die Marke, bei der Sie gekauft haben, dieses kostenlos ersetzen. ShipAid liefert keine Produkte oder Dienstleistungen direkt an Verbraucher, sondern bietet einen Dienst an, der Marken ermöglicht, den Produktersatz für ihre Kunden zu erleichtern. Der Erwerb dieser Garantie bedeutet nicht, dass Sie automatisch eine Rückerstattung für irgendwelche Produkte oder Versandkosten erhalten, da der Lösungsprozess und die Entscheidung über eine Kompensation strikt von der Marke, bei der Sie kaufen, entschieden werden. Die Marke wird einen Nachweis für Beschädigungen oder die Nichtlieferung des Produkts verlangen."},links:{terms:"Servicebedingungen",privacy:"Datenschutzrichtlinie"}}},Ae=Object.freeze(Object.defineProperty({__proto__:null,actions:$e,default:Se,description:we,footer:xe,loading:_e,title:Ce},Symbol.toStringTag,{value:"Module"})),Le="Cargando el widget ShipAid...",Pe="Garantía de entrega",ke="en caso de Pérdida, Daño o Robo",Ee={button:"Energizado por"},ze={add:"Agregar",remove:"Eliminar",loading:"Cargando..."},Me={loading:Le,title:Pe,description:ke,footer:Ee,actions:ze,"learn-more-popup":{close:"Cerca",title:"Garantía de entrega",disclaimer:{"subtitle-enable":"Permitimos que sus marcas favoritas brinden una garantía de entrega porque sabemos que cada pedido es valioso y las cosas suceden!","subtitle-monitor":"Supervisamos continuamente su paquete y le ofrecemos un portal conveniente para que pueda realizar un seguimiento del progreso de su pedido en cualquier momento.","subtitle-notify":"Se le notificará durante todo el proceso de envío, asegurándose de que esté actualizado en cada paso del camino.","subtitle-resolution":"En caso de cualquier problema durante el tránsito, ofrecemos un método rápido y fácil para informar el problema directamente a la marca, para una resolución rápida.",text:"Al comprar esta garantía de entrega, acepta nuestros Términos de servicio y Política de privacidad. Usted no está obligado a comprar esta garantía. Esta garantía NO es un seguro y no brinda indemnización por pérdida, daño o responsabilidad que surja de un evento contingente o desconocido, sino que, a través de las marcas de ShipAid, brinda una garantía de entrega mediante la cual, si el producto que ordenó no se entrega en condiciones satisfactorias, la marca desde el que ordenó el producto puede reemplazar el producto sin cargo. ShipAid no proporciona ningún producto o servicio directamente a los consumidores, sino que proporciona un servicio que permite a las marcas facilitar el reemplazo de productos a sus clientes. La compra de esta garantía no significa que se le reembolsará automáticamente cualquier producto o costo de envío porque el proceso de resolución y la decisión de compensación lo decide estrictamente la marca a la que le compra. La marca requerirá prueba de daño o producto no entregado."},links:{terms:"Términos de servicio",privacy:"Política de Privacidad"}}},Ie=Object.freeze(Object.defineProperty({__proto__:null,actions:ze,default:Me,description:ke,footer:Ee,loading:Le,title:Pe},Symbol.toStringTag,{value:"Module"})),qe="Chargement du widget ShipAid...",Te="Garantie de livraison",Ne="en cas de Perte, Dommages ou Vol",Oe={button:"Propulsé par"},je={add:"Ajouter",remove:"Retirer",loading:"Chargement..."},Ve={loading:qe,title:Te,description:Ne,footer:Oe,actions:je,"learn-more-popup":{close:"Fermer",title:"Garantie de livraison",subtitle:"Nous permettons à vos marques préférées d'offrir une garantie de livraison car chaque commande est précieuse !",disclaimer:{"subtitle-enable":"Nous permettons à vos marques préférées de fournir une garantie de livraison car nous savons que chaque commande est précieuse et que des incidents peuvent survenir !","subtitle-monitor":"Nous surveillons continuellement votre colis et offrons un portail pratique pour vous permettre de suivre l'avancement de votre commande à tout moment !","subtitle-notify":"Vous serez notifié tout au long du processus d'expédition, vous assurant que vous restez informé à chaque étape du parcours.","subtitle-resolution":"Vous serez notifié tout au long du processus d'expédition, vous assurant que vous restez informé à chaque étape du parcours.",text:"En acquérant cette garantie de livraison, vous acceptez nos Conditions de Service et notre Politique de Confidentialité. Cette garantie n'est pas obligatoire, N'EST PAS une assurance et ne fournit pas d'indemnisation pour les pertes, dommages ou responsabilités résultant d'un événement contingent ou inconnu. Si le produit n'est pas livré dans des conditions satisfaisantes, la marque auprès de laquelle vous avez acheté peut le remplacer gratuitement. ShipAid ne fournit aucun produit ou service directement aux consommateurs, mais offre un service permettant aux marques de faciliter le remplacement du produit pour leurs clients. L'achat de cette garantie ne signifie pas que vous serez automatiquement remboursé pour tout produit ou frais de port, car le processus de résolution et la décision de compensation sont strictement décidés par la marque que vous achetez. La marque exigera une preuve de dommage ou de produit non livré."},links:{terms:"Conditions de service",privacy:"Politique de Confidentialité"}}},Re=Object.freeze(Object.defineProperty({__proto__:null,actions:je,default:Ve,description:Ne,footer:Oe,loading:qe,title:Te},Symbol.toStringTag,{value:"Module"})),Ue="Caricamento del widget ShipAid...",De="Garanzia di consegna",Fe="in caso di Perdita, Danno o Furto",Be={button:"Offerto da"},He={add:"Aggiungere",remove:"Rimuovere",loading:"Caricamento ..."},We={loading:Ue,title:De,description:Fe,footer:Be,actions:He,"learn-more-popup":{close:"Vicina",title:"Garanzia di consegna",subtitle:"Consentiamo ai tuoi marchi preferiti di offrire una garanzia di consegna perché ogni ordine è prezioso!",disclaimer:{"subtitle-enable":"Consentiamo ai tuoi marchi preferiti di fornire una garanzia di consegna perché sappiamo che ogni ordine è prezioso e le cose accadono!","subtitle-monitor":"Monitoriamo continuamente il tuo pacco e ti offriamo un comodo portale per monitorare lo stato di avanzamento del tuo ordine in qualsiasi momento!","subtitle-notify":"Riceverai una notifica durante l'intero processo di spedizione, assicurandoti di rimanere aggiornato in ogni fase del processo.","subtitle-resolution":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.",text:"Acquistando questa garanzia di consegna, accetti i nostri Termini di servizio e l'Informativa sulla privacy. Non sei obbligato ad acquistare questa garanzia. Questa garanzia NON è un'assicurazione e non fornisce un indennizzo contro perdite, danni o responsabilità derivanti da un evento contingente o sconosciuto, ma piuttosto, attraverso ShipAid i marchi forniscono una garanzia di consegna in base alla quale se il prodotto ordinato non viene consegnato in condizioni soddisfacenti, il marchio da cui hai ordinato il prodotto può sostituire il prodotto gratuitamente. ShipAid non fornisce alcun prodotto o servizio direttamente ai consumatori, ma fornisce invece un servizio che consente ai marchi di facilitare la sostituzione del prodotto ai propri clienti. L'acquisto di questa garanzia non significa che verrai automaticamente rimborsato per qualsiasi prodotto o costo di spedizione perché il processo di risoluzione e la decisione per il risarcimento sono rigorosamente decisi dal marchio da cui stai acquistando. Il marchio richiederà la prova del danno o del prodotto non consegnato."},links:{terms:"Termini di servizio",privacy:"Politica sulla riservatezza"}}},Ze=Object.freeze(Object.defineProperty({__proto__:null,actions:He,default:We,description:Fe,footer:Be,loading:Ue,title:De},Symbol.toStringTag,{value:"Module"})),Ge="Carregando o widget ShipAid...",Qe="Garantia de entrega",Ke="em caso de Perda, Danos ou Roubo",Ye={button:"Distribuído por"},Je={add:"Adicionar",remove:"Remover",loading:"Carregando..."},Xe={loading:Ge,title:Qe,description:Ke,footer:Ye,actions:Je,"learn-more-popup":{close:"Fechar",title:"Garantia de entrega",subtitle:"Capacitamos suas marcas favoritas para oferecer uma garantia de entrega porque cada pedido é precioso!",disclaimer:{"subtitle-enable":"Permitimos que suas marcas favoritas forneçam uma garantia de entrega porque sabemos que cada pedido é precioso e as coisas acontecem!","subtitle-monitor":"Monitoramos continuamente o seu pacote e oferecemos um portal conveniente para você acompanhar o andamento do seu pedido a qualquer momento!","subtitle-notify":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.","subtitle-resolution":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.",text:"Ao adquirir esta garantia de entrega, você concorda com nossos Termos de Serviço e Política de Privacidade. Esta garantia não é obrigatória, NÃO é um seguro e não fornece indenização contra perdas, danos ou responsabilidade decorrentes de um contingente ou desconhecido. Caso o produto não seja entregue em condições satisfatórias, a marca da qual você comprou pode substituí-lo gratuitamente. A ShipAid não fornece nenhum produto ou serviço diretamente aos consumidores, mas sim presta um serviço que permite às marcas facilitar a substituição do produto aos seus clientes. Adquirir esta garantia não significa que você será automaticamente reembolsado por qualquer produto ou custos de envio porque o processo de resolução e decisão de compensação é estritamente decidido pela marca que você está comprando. A marca exigirá prova de danos ou produto não entregue."},links:{terms:"Termos de serviço",privacy:"Política de Privacidade"}}},ti=Object.freeze(Object.defineProperty({__proto__:null,actions:Je,default:Xe,description:Ke,footer:Ye,loading:Ge,title:Qe},Symbol.toStringTag,{value:"Module"}));return t.ShipAidWidget=be,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t}({});
|
|
1295
|
+
`}};be.styles=ne;let ye=be;de([n({type:String,attribute:!0})],ye.prototype,"env"),de([n({type:Boolean,attribute:!0})],ye.prototype,"useCustomStoreFront"),de([n({type:String,attribute:!0})],ye.prototype,"storeDomain"),de([n({type:String,attribute:!0})],ye.prototype,"storeAccessToken"),de([n({type:String,attribute:!0})],ye.prototype,"cartId"),de([n({type:Boolean,attribute:!0})],ye.prototype,"disablePolling"),de([n({type:Boolean,attribute:!0})],ye.prototype,"disableActions"),de([n({type:Number,attribute:!0})],ye.prototype,"pollingInterval"),de([n({type:Boolean,attribute:!0})],ye.prototype,"disableRefresh"),de([n({type:Boolean,attribute:!0})],ye.prototype,"refreshCart"),de([n({type:Boolean,attribute:!0})],ye.prototype,"persistPopup"),de([n({type:Boolean,attribute:!0})],ye.prototype,"defaultToggleButton"),de([n({type:String,attribute:!0})],ye.prototype,"lang"),de([n({type:String,attribute:!0})],ye.prototype,"currency"),de([n({type:String,attribute:!0})],ye.prototype,"customerId"),de([n({type:Boolean,attribute:!0})],ye.prototype,"supportSubscriptions"),de([s()],ye.prototype,"_storeDomain"),de([s()],ye.prototype,"_store"),de([s()],ye.prototype,"_cart"),de([s()],ye.prototype,"_protectionProduct"),de([s()],ye.prototype,"_cartLastUpdated"),de([s()],ye.prototype,"_hasFinishedSetup"),de([s()],ye.prototype,"_shouldShowWidget"),de([s()],ye.prototype,"_hasProtectionInCart"),de([s()],ye.prototype,"_protectionCartItem"),de([s()],ye.prototype,"_protectionVariant"),de([s()],ye.prototype,"hasLoadedStrings"),de([s()],ye.prototype,"fetchInterceptorCleanup"),de([s()],ye.prototype,"intervalId"),de([s()],ye.prototype,"_state"),de([s()],ye.prototype,"_popup"),customElements.get("shipaid-widget")||customElements.define("shipaid-widget",ye);const _e="Laden des ShipAid-Widgets...",Ce="Liefergarantie",we="im Falle von Verlust, Beschädigung oder Diebstahl",xe={button:"Bereitgestellt von"},$e={add:"Hinzufügen",remove:"Entfernen",loading:"Lädt..."},Se={loading:_e,title:Ce,description:we,footer:xe,actions:$e,"learn-more-popup":{close:"Schließen",title:"Liefergarantie",subtitle:"Wir ermöglichen es Ihren Lieblingsmarken, eine Liefergarantie anzubieten, weil jede Bestellung wertvoll ist!",disclaimer:{"subtitle-enable":"Wir ermöglichen es Ihren Lieblingsmarken, eine Liefergarantie zu bieten, denn wir wissen, dass jede Bestellung wertvoll ist und Dinge passieren können!","subtitle-monitor":"Wir überwachen Ihr Paket kontinuierlich und bieten ein praktisches Portal, damit Sie den Fortschritt Ihrer Bestellung jederzeit verfolgen können!","subtitle-notify":"Sie werden während des gesamten Versandprozesses benachrichtigt, um sicherzustellen, dass Sie auf dem Laufenden bleiben.","subtitle-resolution":"Sie werden während des gesamten Versandprozesses benachrichtigt, um sicherzustellen, dass Sie auf dem Laufenden bleiben.",text:"Durch den Erwerb dieser Liefergarantie stimmen Sie unseren Servicebedingungen und Datenschutzrichtlinien zu. Diese Garantie ist nicht verpflichtend, IST KEINE Versicherung und bietet keine Entschädigung für Verluste, Schäden oder Haftungen, die aus einem zufälligen oder unbekannten Ereignis resultieren. Sollte das Produkt nicht in zufriedenstellendem Zustand geliefert werden, kann die Marke, bei der Sie gekauft haben, dieses kostenlos ersetzen. ShipAid liefert keine Produkte oder Dienstleistungen direkt an Verbraucher, sondern bietet einen Dienst an, der Marken ermöglicht, den Produktersatz für ihre Kunden zu erleichtern. Der Erwerb dieser Garantie bedeutet nicht, dass Sie automatisch eine Rückerstattung für irgendwelche Produkte oder Versandkosten erhalten, da der Lösungsprozess und die Entscheidung über eine Kompensation strikt von der Marke, bei der Sie kaufen, entschieden werden. Die Marke wird einen Nachweis für Beschädigungen oder die Nichtlieferung des Produkts verlangen."},links:{terms:"Servicebedingungen",privacy:"Datenschutzrichtlinie"}}},Ae=Object.freeze(Object.defineProperty({__proto__:null,actions:$e,default:Se,description:we,footer:xe,loading:_e,title:Ce},Symbol.toStringTag,{value:"Module"})),Le="Cargando el widget ShipAid...",ke="Garantía de entrega",Pe="en caso de Pérdida, Daño o Robo",ze={button:"Energizado por"},Ee={add:"Agregar",remove:"Eliminar",loading:"Cargando..."},Me={loading:Le,title:ke,description:Pe,footer:ze,actions:Ee,"learn-more-popup":{close:"Cerca",title:"Garantía de entrega",disclaimer:{"subtitle-enable":"Permitimos que sus marcas favoritas brinden una garantía de entrega porque sabemos que cada pedido es valioso y las cosas suceden!","subtitle-monitor":"Supervisamos continuamente su paquete y le ofrecemos un portal conveniente para que pueda realizar un seguimiento del progreso de su pedido en cualquier momento.","subtitle-notify":"Se le notificará durante todo el proceso de envío, asegurándose de que esté actualizado en cada paso del camino.","subtitle-resolution":"En caso de cualquier problema durante el tránsito, ofrecemos un método rápido y fácil para informar el problema directamente a la marca, para una resolución rápida.",text:"Al comprar esta garantía de entrega, acepta nuestros Términos de servicio y Política de privacidad. Usted no está obligado a comprar esta garantía. Esta garantía NO es un seguro y no brinda indemnización por pérdida, daño o responsabilidad que surja de un evento contingente o desconocido, sino que, a través de las marcas de ShipAid, brinda una garantía de entrega mediante la cual, si el producto que ordenó no se entrega en condiciones satisfactorias, la marca desde el que ordenó el producto puede reemplazar el producto sin cargo. ShipAid no proporciona ningún producto o servicio directamente a los consumidores, sino que proporciona un servicio que permite a las marcas facilitar el reemplazo de productos a sus clientes. La compra de esta garantía no significa que se le reembolsará automáticamente cualquier producto o costo de envío porque el proceso de resolución y la decisión de compensación lo decide estrictamente la marca a la que le compra. La marca requerirá prueba de daño o producto no entregado."},links:{terms:"Términos de servicio",privacy:"Política de Privacidad"}}},Ie=Object.freeze(Object.defineProperty({__proto__:null,actions:Ee,default:Me,description:Pe,footer:ze,loading:Le,title:ke},Symbol.toStringTag,{value:"Module"})),qe="Chargement du widget ShipAid...",Te="Garantie de livraison",je="en cas de Perte, Dommages ou Vol",Ne={button:"Propulsé par"},Oe={add:"Ajouter",remove:"Retirer",loading:"Chargement..."},Ve={loading:qe,title:Te,description:je,footer:Ne,actions:Oe,"learn-more-popup":{close:"Fermer",title:"Garantie de livraison",subtitle:"Nous permettons à vos marques préférées d'offrir une garantie de livraison car chaque commande est précieuse !",disclaimer:{"subtitle-enable":"Nous permettons à vos marques préférées de fournir une garantie de livraison car nous savons que chaque commande est précieuse et que des incidents peuvent survenir !","subtitle-monitor":"Nous surveillons continuellement votre colis et offrons un portail pratique pour vous permettre de suivre l'avancement de votre commande à tout moment !","subtitle-notify":"Vous serez notifié tout au long du processus d'expédition, vous assurant que vous restez informé à chaque étape du parcours.","subtitle-resolution":"Vous serez notifié tout au long du processus d'expédition, vous assurant que vous restez informé à chaque étape du parcours.",text:"En acquérant cette garantie de livraison, vous acceptez nos Conditions de Service et notre Politique de Confidentialité. Cette garantie n'est pas obligatoire, N'EST PAS une assurance et ne fournit pas d'indemnisation pour les pertes, dommages ou responsabilités résultant d'un événement contingent ou inconnu. Si le produit n'est pas livré dans des conditions satisfaisantes, la marque auprès de laquelle vous avez acheté peut le remplacer gratuitement. ShipAid ne fournit aucun produit ou service directement aux consommateurs, mais offre un service permettant aux marques de faciliter le remplacement du produit pour leurs clients. L'achat de cette garantie ne signifie pas que vous serez automatiquement remboursé pour tout produit ou frais de port, car le processus de résolution et la décision de compensation sont strictement décidés par la marque que vous achetez. La marque exigera une preuve de dommage ou de produit non livré."},links:{terms:"Conditions de service",privacy:"Politique de Confidentialité"}}},Re=Object.freeze(Object.defineProperty({__proto__:null,actions:Oe,default:Ve,description:je,footer:Ne,loading:qe,title:Te},Symbol.toStringTag,{value:"Module"})),Ue="Caricamento del widget ShipAid...",De="Garanzia di consegna",Be="in caso di Perdita, Danno o Furto",Fe={button:"Offerto da"},He={add:"Aggiungere",remove:"Rimuovere",loading:"Caricamento ..."},We={loading:Ue,title:De,description:Be,footer:Fe,actions:He,"learn-more-popup":{close:"Vicina",title:"Garanzia di consegna",subtitle:"Consentiamo ai tuoi marchi preferiti di offrire una garanzia di consegna perché ogni ordine è prezioso!",disclaimer:{"subtitle-enable":"Consentiamo ai tuoi marchi preferiti di fornire una garanzia di consegna perché sappiamo che ogni ordine è prezioso e le cose accadono!","subtitle-monitor":"Monitoriamo continuamente il tuo pacco e ti offriamo un comodo portale per monitorare lo stato di avanzamento del tuo ordine in qualsiasi momento!","subtitle-notify":"Riceverai una notifica durante l'intero processo di spedizione, assicurandoti di rimanere aggiornato in ogni fase del processo.","subtitle-resolution":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.",text:"Acquistando questa garanzia di consegna, accetti i nostri Termini di servizio e l'Informativa sulla privacy. Non sei obbligato ad acquistare questa garanzia. Questa garanzia NON è un'assicurazione e non fornisce un indennizzo contro perdite, danni o responsabilità derivanti da un evento contingente o sconosciuto, ma piuttosto, attraverso ShipAid i marchi forniscono una garanzia di consegna in base alla quale se il prodotto ordinato non viene consegnato in condizioni soddisfacenti, il marchio da cui hai ordinato il prodotto può sostituire il prodotto gratuitamente. ShipAid non fornisce alcun prodotto o servizio direttamente ai consumatori, ma fornisce invece un servizio che consente ai marchi di facilitare la sostituzione del prodotto ai propri clienti. L'acquisto di questa garanzia non significa che verrai automaticamente rimborsato per qualsiasi prodotto o costo di spedizione perché il processo di risoluzione e la decisione per il risarcimento sono rigorosamente decisi dal marchio da cui stai acquistando. Il marchio richiederà la prova del danno o del prodotto non consegnato."},links:{terms:"Termini di servizio",privacy:"Politica sulla riservatezza"}}},Ze=Object.freeze(Object.defineProperty({__proto__:null,actions:He,default:We,description:Be,footer:Fe,loading:Ue,title:De},Symbol.toStringTag,{value:"Module"})),Ge="Laad ShipAid Widget...",Qe="Bezorggarantie",Ke="in geval van verlies, schade of diefstal",Je={button:"Aangedreven door"},Ye={add:"Toevoegen",remove:"Verwijderen",loading:"Bezig met laden..."},Xe={loading:Ge,title:Qe,description:Ke,footer:Je,actions:Ye,"learn-more-popup":{close:"Sluiten",title:"Bezorggarantie",disclaimer:{"subtitle-enable":"We stellen je favoriete merken in staat om een bezorggarantie te bieden omdat we weten dat elke bestelling belangrijk is en dingen kunnen gebeuren!","subtitle-monitor":"We monitoren je pakket continu en bieden een handig portaal om de voortgang van je bestelling op elk moment te volgen!","subtitle-notify":"Je wordt gedurende het gehele verzendproces op de hoogte gehouden, zodat je altijd op de hoogte bent van elke stap.","subtitle-resolution":"In geval van problemen tijdens het transport bieden we een snelle en gemakkelijke manier om het probleem direct bij het merk te melden, voor een snelle oplossing.",text:"Door deze bezorggarantie aan te schaffen, ga je akkoord met onze Servicevoorwaarden en Privacybeleid. Je bent niet verplicht om deze garantie aan te schaffen. Deze garantie is GEEN verzekering en biedt geen schadevergoeding voor verlies, schade of aansprakelijkheid als gevolg van een onvoorziene of onbekende gebeurtenis, maar biedt via ShipAid een bezorggarantie waarbij, als het product dat je hebt besteld niet in bevredigende staat wordt geleverd, het merk van wie je het product hebt besteld, het product gratis kan vervangen. ShipAid levert geen producten of diensten direct aan consumenten, maar biedt een dienst die merken in staat stelt om productvervanging aan hun klanten te faciliteren. Het kopen van deze garantie betekent niet automatisch dat je wordt vergoed voor product- of verzendkosten, aangezien het oplossingproces en de beslissing voor compensatie strikt wordt bepaald door het merk van wie je koopt. Het merk zal bewijs van schade of niet-geleverde producten vereisen."},links:{terms:"Servicevoorwaarden",privacy:"Privacybeleid"}}},ti=Object.freeze(Object.defineProperty({__proto__:null,actions:Ye,default:Xe,description:Ke,footer:Je,loading:Ge,title:Qe},Symbol.toStringTag,{value:"Module"})),ei="Carregando o widget ShipAid...",ii="Garantia de entrega",oi="em caso de Perda, Danos ou Roubo",ri={button:"Distribuído por"},ni={add:"Adicionar",remove:"Remover",loading:"Carregando..."},si={loading:ei,title:ii,description:oi,footer:ri,actions:ni,"learn-more-popup":{close:"Fechar",title:"Garantia de entrega",subtitle:"Capacitamos suas marcas favoritas para oferecer uma garantia de entrega porque cada pedido é precioso!",disclaimer:{"subtitle-enable":"Permitimos que suas marcas favoritas forneçam uma garantia de entrega porque sabemos que cada pedido é precioso e as coisas acontecem!","subtitle-monitor":"Monitoramos continuamente o seu pacote e oferecemos um portal conveniente para você acompanhar o andamento do seu pedido a qualquer momento!","subtitle-notify":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.","subtitle-resolution":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.",text:"Ao adquirir esta garantia de entrega, você concorda com nossos Termos de Serviço e Política de Privacidade. Esta garantia não é obrigatória, NÃO é um seguro e não fornece indenização contra perdas, danos ou responsabilidade decorrentes de um contingente ou desconhecido. Caso o produto não seja entregue em condições satisfatórias, a marca da qual você comprou pode substituí-lo gratuitamente. A ShipAid não fornece nenhum produto ou serviço diretamente aos consumidores, mas sim presta um serviço que permite às marcas facilitar a substituição do produto aos seus clientes. Adquirir esta garantia não significa que você será automaticamente reembolsado por qualquer produto ou custos de envio porque o processo de resolução e decisão de compensação é estritamente decidido pela marca que você está comprando. A marca exigirá prova de danos ou produto não entregue."},links:{terms:"Termos de serviço",privacy:"Política de Privacidade"}}},ai=Object.freeze(Object.defineProperty({__proto__:null,actions:ni,default:si,description:oi,footer:ri,loading:ei,title:ii},Symbol.toStringTag,{value:"Module"}));return t.ShipAidWidget=ye,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t}({});
|
package/dist/widget.umd.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ShipAidWidget={})}(this,(function(t){"use strict";function e(t){var e;return(null==(e=null==t?void 0:t.match(/\d+/))?void 0:e[0])??null}const i={calculateProtectionTotal:function(t,e,i){var o,r;if(!t)throw new Error("Missing store settings.");if(!e)throw new Error("Missing protectionProduct.");if(!i)throw new Error("Missing Shopify cart.");const
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ShipAidWidget={})}(this,(function(t){"use strict";function e(t){var e;return(null==(e=null==t?void 0:t.match(/\d+/))?void 0:e[0])??null}const i={calculateProtectionTotal:function(t,e,i){var o,r;if(!t)throw new Error("Missing store settings.");if(!e)throw new Error("Missing protectionProduct.");if(!i)throw new Error("Missing Shopify cart.");const n=null==t?void 0:t.protectionSettings;if(!n)throw new Error("Tried to find protection variant, but protection settings for this store are missing.");const s=Array.isArray(null==t?void 0:t.excludedProductSkus)?t.excludedProductSkus.map((t=>t.trim())):[],a=Array.isArray(null==t?void 0:t.excludedProductsVariantsId)?t.excludedProductsVariantsId.map((t=>{var e;return parseInt((null==(e=t.match(/\d+/))?void 0:e[0])??"",10)})):[],d=(i.items??[]).reduce(((t,e)=>(t=>!(!t.sku||!s.includes(t.sku.trim()))||!(!t.variant_id||!a.includes(t.variant_id)))(e)?t-e.final_line_price:t),i.total_price||0)-((null==(o=i.items)?void 0:o.filter((t=>{var i;return null==(i=null==e?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})))??[]).reduce(((t,e)=>t+e.final_line_price),0);if(0===d)return d;if("FIXED"===n.protectionType){if("number"!=typeof n.defaultFee)throw new Error("Missing default fee amount.");if(!(null==(r=n.rules)?void 0:r.length))return n.defaultFee;const t=d/100,e=n.rules.sort(((t,e)=>t.rangeLower&&e.rangeLower?t.rangeLower-e.rangeLower:0)).find((e=>{const i=Boolean(e.rangeLower&&e.rangeLower<t);return e.rangeUpper?i&&e.rangeUpper>=t:i}));return"number"==typeof(null==e?void 0:e.fee)?e.fee:n.defaultFee}if("PERCENTAGE"===n.protectionType){const t=d*n.percentage/100;return t>=n.minimumFee?t:n.minimumFee}throw new Error("No protection type handler found for this store.")},findProtectionVariant:function(t,e,i){var o;if(!(null==t?void 0:t.protectionSettings)||!(null==(o=null==e?void 0:e.variants)?void 0:o.length))throw new Error("Missing product and variants from protection settings.");const r=null==e?void 0:e.variants.flatMap((t=>{if(!(null==t?void 0:t.price))return[];const e=Number(t.price);return[{...t,formattedPrice:e}]})).sort(((t,e)=>t.formattedPrice-e.formattedPrice)),n=r.find((t=>t.formattedPrice>=i));return n||r[r.length-1]}},o=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}},r=(t,e,i)=>{e.constructor.createProperty(i,t)};
|
|
2
2
|
/**
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2017 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
-
*/function
|
|
6
|
+
*/function n(t){return(e,i)=>void 0!==i?r(t,e,i):o(t,e)}
|
|
7
7
|
/**
|
|
8
8
|
* @license
|
|
9
9
|
* Copyright 2017 Google LLC
|
|
10
10
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
11
|
-
*/function
|
|
11
|
+
*/function s(t){return n({...t,state:!0})}
|
|
12
12
|
/**
|
|
13
13
|
* @license
|
|
14
14
|
* Copyright 2021 Google LLC
|
|
@@ -19,23 +19,23 @@
|
|
|
19
19
|
* Copyright 2019 Google LLC
|
|
20
20
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
21
21
|
*/
|
|
22
|
-
const d=window,
|
|
22
|
+
const d=window,l=d.ShadowRoot&&(void 0===d.ShadyCSS||d.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,p=Symbol(),c=new WeakMap;let u=class{constructor(t,e,i){if(this._$cssResult$=!0,i!==p)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(l&&void 0===t){const i=void 0!==e&&1===e.length;i&&(t=c.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),i&&c.set(e,t))}return t}toString(){return this.cssText}};const h=(t,...e)=>{const i=1===t.length?t[0]:e.reduce(((e,i,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[o+1]),t[0]);return new u(i,t,p)},m=l?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new u("string"==typeof t?t:t+"",void 0,p))(e)})(t):t
|
|
23
23
|
/**
|
|
24
24
|
* @license
|
|
25
25
|
* Copyright 2017 Google LLC
|
|
26
26
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
27
|
-
*/;var f;const g=window,v=g.trustedTypes,
|
|
27
|
+
*/;var f;const g=window,v=g.trustedTypes,b=v?v.emptyScript:"",y=g.reactiveElementPolyfillSupport,_={toAttribute(t,e){switch(e){case Boolean:t=t?b:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(o){i=null}}return i}},C=(t,e)=>e!==t&&(e==e||t==t),w={attribute:!0,type:String,converter:_,reflect:!1,hasChanged:C},x="finalized";let $=class extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this._$Eu()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const o=this._$Ep(i,e);void 0!==o&&(this._$Ev.set(o,i),t.push(o))})),t}static createProperty(t,e=w){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,o=this.getPropertyDescriptor(t,i,e);void 0!==o&&Object.defineProperty(this.prototype,t,o)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(o){const r=this[t];this[e]=o,this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||w}static finalize(){if(this.hasOwnProperty(x))return!1;this[x]=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(m(t))}else void 0!==t&&e.push(m(t));return e}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}_$Eu(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{l?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),o=d.litNonce;void 0!==o&&i.setAttribute("nonce",o),i.textContent=e.cssText,t.appendChild(i)}))})(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)}))}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=w){var o;const r=this.constructor._$Ep(t,i);if(void 0!==r&&!0===i.reflect){const n=(void 0!==(null===(o=i.converter)||void 0===o?void 0:o.toAttribute)?i.converter:_).toAttribute(e,i.type);this._$El=t,null==n?this.removeAttribute(r):this.setAttribute(r,n),this._$El=null}}_$AK(t,e){var i;const o=this.constructor,r=o._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=o.getPropertyOptions(r),n="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:_;this._$El=r,this[r]=n.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let o=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||C)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):o=!1),!this.isUpdatePending&&o&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,e)=>this[e]=t)),this._$Ei=void 0);let e=!1;const i=this._$AL;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this._$Ek()}catch(o){throw e=!1,this._$Ek(),o}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,e)=>this._$EO(e,this[e],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}};
|
|
28
28
|
/**
|
|
29
29
|
* @license
|
|
30
30
|
* Copyright 2017 Google LLC
|
|
31
31
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
32
32
|
*/
|
|
33
|
-
var S;$[x]=!0,$.elementProperties=new Map,$.elementStyles=[],$.shadowRootOptions={mode:"open"},null==
|
|
33
|
+
var S;$[x]=!0,$.elementProperties=new Map,$.elementStyles=[],$.shadowRootOptions={mode:"open"},null==y||y({ReactiveElement:$}),(null!==(f=g.reactiveElementVersions)&&void 0!==f?f:g.reactiveElementVersions=[]).push("1.6.3");const A=window,L=A.trustedTypes,k=L?L.createPolicy("lit-html",{createHTML:t=>t}):void 0,P="$lit$",z=`lit$${(Math.random()+"").slice(9)}$`,E="?"+z,M=`<${E}>`,I=document,q=()=>I.createComment(""),T=t=>null===t||"object"!=typeof t&&"function"!=typeof t,j=Array.isArray,N="[ \t\n\f\r]",O=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,V=/-->/g,R=/>/g,U=RegExp(`>|${N}(?:([^\\s"'>=/]+)(${N}*=${N}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),D=/'/g,B=/"/g,F=/^(?:script|style|textarea|title)$/i,H=(K=1,(t,...e)=>({_$litType$:K,strings:t,values:e})),W=Symbol.for("lit-noChange"),Z=Symbol.for("lit-nothing"),G=new WeakMap,Q=I.createTreeWalker(I,129,null,!1);var K;function J(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==k?k.createHTML(e):e}class Y{constructor({strings:t,_$litType$:e},i){let o;this.parts=[];let r=0,n=0;const s=t.length-1,a=this.parts,[d,l]=((t,e)=>{const i=t.length-1,o=[];let r,n=2===e?"<svg>":"",s=O;for(let a=0;a<i;a++){const e=t[a];let i,d,l=-1,p=0;for(;p<e.length&&(s.lastIndex=p,d=s.exec(e),null!==d);)p=s.lastIndex,s===O?"!--"===d[1]?s=V:void 0!==d[1]?s=R:void 0!==d[2]?(F.test(d[2])&&(r=RegExp("</"+d[2],"g")),s=U):void 0!==d[3]&&(s=U):s===U?">"===d[0]?(s=null!=r?r:O,l=-1):void 0===d[1]?l=-2:(l=s.lastIndex-d[2].length,i=d[1],s=void 0===d[3]?U:'"'===d[3]?B:D):s===B||s===D?s=U:s===V||s===R?s=O:(s=U,r=void 0);const c=s===U&&t[a+1].startsWith("/>")?" ":"";n+=s===O?e+M:l>=0?(o.push(i),e.slice(0,l)+P+e.slice(l)+z+c):e+z+(-2===l?(o.push(void 0),a):c)}return[J(t,n+(t[i]||"<?>")+(2===e?"</svg>":"")),o]})(t,e);if(this.el=Y.createElement(d,i),Q.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=Q.nextNode())&&a.length<s;){if(1===o.nodeType){if(o.hasAttributes()){const t=[];for(const e of o.getAttributeNames())if(e.endsWith(P)||e.startsWith(z)){const i=l[n++];if(t.push(e),void 0!==i){const t=o.getAttribute(i.toLowerCase()+P).split(z),e=/([.?@])?(.*)/.exec(i);a.push({type:1,index:r,name:e[2],strings:t,ctor:"."===e[1]?ot:"?"===e[1]?nt:"@"===e[1]?st:it})}else a.push({type:6,index:r})}for(const e of t)o.removeAttribute(e)}if(F.test(o.tagName)){const t=o.textContent.split(z),e=t.length-1;if(e>0){o.textContent=L?L.emptyScript:"";for(let i=0;i<e;i++)o.append(t[i],q()),Q.nextNode(),a.push({type:2,index:++r});o.append(t[e],q())}}}else if(8===o.nodeType)if(o.data===E)a.push({type:2,index:r});else{let t=-1;for(;-1!==(t=o.data.indexOf(z,t+1));)a.push({type:7,index:r}),t+=z.length-1}r++}}static createElement(t,e){const i=I.createElement("template");return i.innerHTML=t,i}}function X(t,e,i=t,o){var r,n,s,a;if(e===W)return e;let d=void 0!==o?null===(r=i._$Co)||void 0===r?void 0:r[o]:i._$Cl;const l=T(e)?void 0:e._$litDirective$;return(null==d?void 0:d.constructor)!==l&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===l?d=void 0:(d=new l(t),d._$AT(t,i,o)),void 0!==o?(null!==(s=(a=i)._$Co)&&void 0!==s?s:a._$Co=[])[o]=d:i._$Cl=d),void 0!==d&&(e=X(t,d._$AS(t,e.values),d,o)),e}class tt{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var e;const{el:{content:i},parts:o}=this._$AD,r=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:I).importNode(i,!0);Q.currentNode=r;let n=Q.nextNode(),s=0,a=0,d=o[0];for(;void 0!==d;){if(s===d.index){let e;2===d.type?e=new et(n,n.nextSibling,this,t):1===d.type?e=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(e=new at(n,this,t)),this._$AV.push(e),d=o[++a]}s!==(null==d?void 0:d.index)&&(n=Q.nextNode(),s++)}return Q.currentNode=I,r}v(t){let e=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class et{constructor(t,e,i,o){var r;this.type=2,this._$AH=Z,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=o,this._$Cp=null===(r=null==o?void 0:o.isConnected)||void 0===r||r}get _$AU(){var t,e;return null!==(e=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==e?e:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===(null==t?void 0:t.nodeType)&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=X(this,t,e),T(t)?t===Z||null==t||""===t?(this._$AH!==Z&&this._$AR(),this._$AH=Z):t!==this._$AH&&t!==W&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>j(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]))(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==Z&&T(this._$AH)?this._$AA.nextSibling.data=t:this.$(I.createTextNode(t)),this._$AH=t}g(t){var e;const{values:i,_$litType$:o}=t,r="number"==typeof o?this._$AC(t):(void 0===o.el&&(o.el=Y.createElement(J(o.h,o.h[0]),this.options)),o);if((null===(e=this._$AH)||void 0===e?void 0:e._$AD)===r)this._$AH.v(i);else{const t=new tt(r,this),e=t.u(this.options);t.v(i),this.$(e),this._$AH=t}}_$AC(t){let e=G.get(t.strings);return void 0===e&&G.set(t.strings,e=new Y(t)),e}T(t){j(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,o=0;for(const r of t)o===e.length?e.push(i=new et(this.k(q()),this.k(q()),this,this.options)):i=e[o],i._$AI(r),o++;o<e.length&&(this._$AR(i&&i._$AB.nextSibling,o),e.length=o)}_$AR(t=this._$AA.nextSibling,e){var i;for(null===(i=this._$AP)||void 0===i||i.call(this,!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){var e;void 0===this._$AM&&(this._$Cp=t,null===(e=this._$AP)||void 0===e||e.call(this,t))}}class it{constructor(t,e,i,o,r){this.type=1,this._$AH=Z,this._$AN=void 0,this.element=t,this.name=e,this._$AM=o,this.options=r,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=Z}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,o){const r=this.strings;let n=!1;if(void 0===r)t=X(this,t,e,0),n=!T(t)||t!==this._$AH&&t!==W,n&&(this._$AH=t);else{const o=t;let s,a;for(t=r[0],s=0;s<r.length-1;s++)a=X(this,o[i+s],e,s),a===W&&(a=this._$AH[s]),n||(n=!T(a)||a!==this._$AH[s]),a===Z?t=Z:t!==Z&&(t+=(null!=a?a:"")+r[s+1]),this._$AH[s]=a}n&&!o&&this.j(t)}j(t){t===Z?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class ot extends it{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===Z?void 0:t}}const rt=L?L.emptyScript:"";class nt extends it{constructor(){super(...arguments),this.type=4}j(t){t&&t!==Z?this.element.setAttribute(this.name,rt):this.element.removeAttribute(this.name)}}class st extends it{constructor(t,e,i,o,r){super(t,e,i,o,r),this.type=5}_$AI(t,e=this){var i;if((t=null!==(i=X(this,t,e,0))&&void 0!==i?i:Z)===W)return;const o=this._$AH,r=t===Z&&o!==Z||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,n=t!==Z&&(o===Z||r);r&&this.element.removeEventListener(this.name,this,o),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;"function"==typeof this._$AH?this._$AH.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this._$AH.handleEvent(t)}}class at{constructor(t,e,i){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(t){X(this,t)}}const dt=A.litHtmlPolyfillSupport;null==dt||dt(Y,et),(null!==(S=A.litHtmlVersions)&&void 0!==S?S:A.litHtmlVersions=[]).push("2.8.0");const lt=(t,e,i)=>{var o,r;const n=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:e;let s=n._$litPart$;if(void 0===s){const t=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;n._$litPart$=s=new et(e.insertBefore(q(),t),t,void 0,null!=i?i:{})}return s._$AI(t),s};
|
|
34
34
|
/**
|
|
35
35
|
* @license
|
|
36
36
|
* Copyright 2017 Google LLC
|
|
37
37
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
38
|
-
*/var
|
|
38
|
+
*/var pt,ct;let ut=class extends ${constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=lt(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return W}};ut.finalized=!0,ut._$litElement$=!0,null===(pt=globalThis.litElementHydrateSupport)||void 0===pt||pt.call(globalThis,{LitElement:ut});const ht=globalThis.litElementPolyfillSupport;null==ht||ht({LitElement:ut}),(null!==(ct=globalThis.litElementVersions)&&void 0!==ct?ct:globalThis.litElementVersions=[]).push("3.3.3");const mt="langChanged";function ft(t,e,i){return Object.entries(vt(e||{})).reduce(((t,[e,i])=>t.replace(new RegExp(`{{[ ]*${e}[ ]*}}`,"gm"),String(vt(i)))),t)}function gt(t,e){const i=t.split(".");let o=e.strings;for(;null!=o&&i.length>0;)o=o[i.shift()];return null!=o?o.toString():null}function vt(t){return"function"==typeof t?t():t}let bt={loader:()=>Promise.resolve({}),empty:t=>`[${t}]`,lookup:gt,interpolate:ft,translationCache:{}};function yt(t,e,i=bt){var o;o={previousStrings:i.strings,previousLang:i.lang,lang:i.lang=t,strings:i.strings=e},window.dispatchEvent(new CustomEvent(mt,{detail:o}))}
|
|
39
39
|
/**
|
|
40
40
|
* @license
|
|
41
41
|
* Copyright 2017 Google LLC
|
|
@@ -46,23 +46,23 @@ const _t=2;class Ct{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i)
|
|
|
46
46
|
* @license
|
|
47
47
|
* Copyright 2020 Google LLC
|
|
48
48
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
49
|
-
*/const wt=(t,e)=>{var i,o;const r=t._$AN;if(void 0===r)return!1;for(const
|
|
49
|
+
*/const wt=(t,e)=>{var i,o;const r=t._$AN;if(void 0===r)return!1;for(const n of r)null===(o=(i=n)._$AO)||void 0===o||o.call(i,e,!1),wt(n,e);return!0},xt=t=>{let e,i;do{if(void 0===(e=t._$AM))break;i=e._$AN,i.delete(t),t=e}while(0===(null==i?void 0:i.size))},$t=t=>{for(let e;e=t._$AM;t=e){let i=e._$AN;if(void 0===i)e._$AN=i=new Set;else if(i.has(t))break;i.add(t),Lt(e)}};
|
|
50
50
|
/**
|
|
51
51
|
* @license
|
|
52
52
|
* Copyright 2017 Google LLC
|
|
53
53
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
54
|
-
*/function St(t){void 0!==this._$AN?(xt(this),this._$AM=t,$t(this)):this._$AM=t}function At(t,e=!1,i=0){const o=this._$AH,r=this._$AN;if(void 0!==r&&0!==r.size)if(e)if(Array.isArray(o))for(let
|
|
54
|
+
*/function St(t){void 0!==this._$AN?(xt(this),this._$AM=t,$t(this)):this._$AM=t}function At(t,e=!1,i=0){const o=this._$AH,r=this._$AN;if(void 0!==r&&0!==r.size)if(e)if(Array.isArray(o))for(let n=i;n<o.length;n++)wt(o[n],!1),xt(o[n]);else null!=o&&(wt(o,!1),xt(o));else wt(this,t)}const Lt=t=>{var e,i,o,r;t.type==_t&&(null!==(e=(o=t)._$AP)&&void 0!==e||(o._$AP=At),null!==(i=(r=t)._$AQ)&&void 0!==i||(r._$AQ=St))};class kt extends Ct{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),$t(this),this.isConnected=t._$AU}_$AO(t,e=!0){var i,o;t!==this.isConnected&&(this.isConnected=t,t?null===(i=this.reconnected)||void 0===i||i.call(this):null===(o=this.disconnected)||void 0===o||o.call(this)),e&&(wt(this,t),xt(this))}setValue(t){if(void 0===this._$Ct.strings)this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}class Pt extends kt{constructor(){super(...arguments),this.langChangedSubscription=null,this.getValue=()=>""}renderValue(t){return this.getValue=t,this.subscribe(),this.getValue()}langChanged(t){this.setValue(this.getValue(t))}subscribe(){null==this.langChangedSubscription&&(this.langChangedSubscription=function(t,e){const i=e=>t(e.detail);return window.addEventListener(mt,i,e),()=>window.removeEventListener(mt,i)}(this.langChanged.bind(this)))}unsubscribe(){null!=this.langChangedSubscription&&this.langChangedSubscription()}disconnected(){this.unsubscribe()}reconnected(){this.subscribe()}}const zt=(t=>(...e)=>({_$litDirective$:t,values:e}))(class extends Pt{render(t,e,i){return this.renderValue((()=>function(t,e,i=bt){let o=i.translationCache[t]||(i.translationCache[t]=i.lookup(t,i)||i.empty(t,i));return null!=(e=null!=e?vt(e):null)?i.interpolate(o,e,i):o}(t,e,i)))}});
|
|
55
55
|
/**
|
|
56
56
|
* @license
|
|
57
57
|
* Copyright 2017 Google LLC
|
|
58
58
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
59
|
-
*/class
|
|
59
|
+
*/class Et extends Ct{constructor(t){if(super(t),this.et=Z,t.type!==_t)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===Z||null==t)return this.ft=void 0,this.et=t;if(t===W)return t;if("string"!=typeof t)throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.et)return this.ft;this.et=t;const e=[t];return e.raw=e,this.ft={_$litType$:this.constructor.resultType,strings:e,values:[]}}}Et.directiveName="unsafeHTML",Et.resultType=1;const Mt="__registered_effects";function It(t){const e=t;if(e[Mt])return e;const i=function(t){if(!t.dispatchEvent||!t.requestUpdate)throw new Error("Element missing required functions (dispatchEvent/requestUpdate)");return t}(t),o=i.updated;return e[Mt]={index:0,count:0,effects:[]},i.updated=t=>(e[Mt].index=0,o(t)),e}function qt(t,e,i){const o=function(t,e){const i=It(t),{index:o,count:r}=i[Mt];return o===r?(i[Mt].index++,i[Mt].count++,i[Mt].effects.push(e),e):(i[Mt].index++,i[Mt].effects[o])}(t,{on:e,observe:["__initial__dirty"]});o.observe.some(((t,e)=>i[e]!==t))&&o.on(),o.observe=i}
|
|
60
60
|
/**
|
|
61
61
|
* @license
|
|
62
62
|
* Copyright 2021 Google LLC
|
|
63
63
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
64
64
|
*/
|
|
65
|
-
function Tt(t,e,i){return t?e():null==i?void 0:i()}const
|
|
65
|
+
function Tt(t,e,i){return t?e():null==i?void 0:i()}const jt=h`
|
|
66
66
|
:host {
|
|
67
67
|
--shipaid-primary: #0056d6;
|
|
68
68
|
--shipaid-secondary: #0076ff;
|
|
@@ -266,7 +266,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
266
266
|
background: transparent;
|
|
267
267
|
z-index: -1;
|
|
268
268
|
}
|
|
269
|
-
`,
|
|
269
|
+
`,Nt=H`
|
|
270
270
|
<svg
|
|
271
271
|
version="1.0"
|
|
272
272
|
width="50.000000pt"
|
|
@@ -520,7 +520,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
520
520
|
/>
|
|
521
521
|
</g>
|
|
522
522
|
</svg>
|
|
523
|
-
`,
|
|
523
|
+
`,Bt=H`
|
|
524
524
|
<svg
|
|
525
525
|
version="1.0"
|
|
526
526
|
viewBox="0 0 500.000000 500.000000"
|
|
@@ -545,7 +545,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
545
545
|
/>
|
|
546
546
|
</g>
|
|
547
547
|
</svg>
|
|
548
|
-
`,
|
|
548
|
+
`,Ft=H`
|
|
549
549
|
<svg
|
|
550
550
|
xmlns="http://www.w3.org/2000/svg"
|
|
551
551
|
version="1.0"
|
|
@@ -578,30 +578,30 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
578
578
|
class="popup-close"
|
|
579
579
|
@click=${this.handleClosePopup}
|
|
580
580
|
>
|
|
581
|
-
${
|
|
581
|
+
${zt("learn-more-popup.close")}
|
|
582
582
|
</button>
|
|
583
583
|
<div class="popup-logo">${Rt}</div>
|
|
584
|
-
<p class="popup-title">${
|
|
584
|
+
<p class="popup-title">${zt("learn-more-popup.title")}</p>
|
|
585
585
|
<div class="popup-disclaimer-subtitle">
|
|
586
586
|
<div class="popup-icon">${Ut}</div>
|
|
587
|
-
<p>${
|
|
587
|
+
<p>${zt("learn-more-popup.disclaimer.subtitle-enable")}</p>
|
|
588
588
|
</div>
|
|
589
589
|
<div class="popup-disclaimer-subtitle">
|
|
590
590
|
<div class="popup-icon">${Dt}</div>
|
|
591
|
-
<p>${
|
|
591
|
+
<p>${zt("learn-more-popup.disclaimer.subtitle-monitor")}</p>
|
|
592
592
|
</div>
|
|
593
593
|
<div class="popup-disclaimer-subtitle">
|
|
594
|
-
<div class="popup-icon-b">${
|
|
595
|
-
<p>${
|
|
594
|
+
<div class="popup-icon-b">${Ft}</div>
|
|
595
|
+
<p>${zt("learn-more-popup.disclaimer.subtitle-notify")}</p>
|
|
596
596
|
</div>
|
|
597
597
|
<div class="popup-disclaimer-subtitle">
|
|
598
|
-
<div class="popup-icon-bell">${
|
|
598
|
+
<div class="popup-icon-bell">${Bt}</div>
|
|
599
599
|
<p>
|
|
600
|
-
${
|
|
600
|
+
${zt("learn-more-popup.disclaimer.subtitle-resolution")}
|
|
601
601
|
</p>
|
|
602
602
|
</div>
|
|
603
603
|
<p class="popup-disclaimer">
|
|
604
|
-
${
|
|
604
|
+
${zt("learn-more-popup.disclaimer.text")}
|
|
605
605
|
</p>
|
|
606
606
|
<hr class="popup-divider" />
|
|
607
607
|
<div class="popup-footer">
|
|
@@ -611,14 +611,14 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
611
611
|
target="_blank"
|
|
612
612
|
rel="noreferrer"
|
|
613
613
|
>
|
|
614
|
-
${
|
|
614
|
+
${zt("learn-more-popup.links.terms")}
|
|
615
615
|
</a>
|
|
616
616
|
<a
|
|
617
617
|
href="https://www.shipaid.com/privacy-policy"
|
|
618
618
|
target="_blank"
|
|
619
619
|
rel="noreferrer"
|
|
620
620
|
>
|
|
621
|
-
${
|
|
621
|
+
${zt("learn-more-popup.links.privacy")}
|
|
622
622
|
</a>
|
|
623
623
|
</div>
|
|
624
624
|
<div class="footer-date">
|
|
@@ -631,7 +631,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
631
631
|
</div>
|
|
632
632
|
</div>
|
|
633
633
|
<div class="blocker" @click=${this.handleClosePopup}></div>
|
|
634
|
-
`}};Wt.styles=
|
|
634
|
+
`}};Wt.styles=jt;let Zt=Wt;((t,e,i,o)=>{for(var r,n=void 0,s=t.length-1;s>=0;s--)(r=t[s])&&(n=r(e,i,n)||n);n&&Ht(e,i,n)})([n({type:Boolean,attribute:!0})],Zt.prototype,"active"),customElements.get("shipaid-popup-learn-more")||customElements.define("shipaid-popup-learn-more",Zt);const Gt=h`
|
|
635
635
|
:host {
|
|
636
636
|
--shipaid-primary: #0056d6;
|
|
637
637
|
--shipaid-secondary: #0076ff;
|
|
@@ -799,7 +799,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
799
799
|
</div>
|
|
800
800
|
</div>
|
|
801
801
|
<div class="blocker" @click=${this.handleClosePopup}></div>
|
|
802
|
-
`}};Kt.styles=Gt;let
|
|
802
|
+
`}};Kt.styles=Gt;let Jt=Kt;((t,e,i,o)=>{for(var r,n=void 0,s=t.length-1;s>=0;s--)(r=t[s])&&(n=r(e,i,n)||n);n&&Qt(e,i,n)})([n({type:Boolean,attribute:!0})],Jt.prototype,"active"),customElements.get("shipaid-popup-confirmation")||customElements.define("shipaid-popup-confirmation",Jt);const Yt="Loading ShipAid Widget...",Xt="Delivery Guarantee",te="in case of Loss, Damage or Theft",ee={button:"Powered by"},ie={add:"Add",remove:"Remove",loading:"Loading..."},oe={loading:Yt,title:Xt,description:te,footer:ee,actions:ie,"learn-more-popup":{close:"Close",title:"Delivery Guarantee",disclaimer:{"subtitle-enable":"We enable your favorite brands to provide a delivery guarantee because we know that every order is precious, and things happen!","subtitle-monitor":"We continuously monitor your package and offer a convenient portal for you to track your order's progress at any moment!","subtitle-notify":"You'll be notified throughout the entire shipping process, ensuring you stay up to date every step of the way.","subtitle-resolution":"In case of any issues during transit, we offer a quick and easy method to report the problem directly to the brand, for a swift resolution.",text:"By purchasing this delivery guarantee, you agree to our Terms Of Service and Privacy Policy. You are not obligated to purchase this guarantee. This guarantee is NOT insurance and does not provide indemnification against loss, damage, or liability arising from a contingent or unknown event, but rather, through ShipAid brands provide a delivery guarantee whereby if the product you ordered is not delivered in satisfactory condition, the brand from which you ordered the product may replace the product free of charge. ShipAid does not provide any products or services directly to consumers, but instead provides a service that allow brands to facilitate product replacement to their customers. Purchasing this guarantee does not mean that you will automatically be reimbursed for any product or shipping costs because the resolution process and decision for compensation is strictly decided by the brand you a purchasing from. The brand will require proof of damage or undelivered product."},links:{terms:"Terms of Service",privacy:"Privacy Policy"}}},re=Object.freeze(Object.defineProperty({__proto__:null,actions:ie,default:oe,description:te,footer:ee,loading:Yt,title:Xt},Symbol.toStringTag,{value:"Module"})),ne=h`
|
|
803
803
|
:host {
|
|
804
804
|
--shipaid-primary: #002bd6;
|
|
805
805
|
--shipaid-secondary: #0076ff;
|
|
@@ -955,7 +955,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
955
955
|
.shipaid-prompt .prompt-footer .prompt-footer-badge svg {
|
|
956
956
|
height:var(--shipaid-footer-badge-logo-height, 9px);
|
|
957
957
|
}
|
|
958
|
-
`;var ne=(t=>(t.LOADED="shipaid-loaded",t.STATUS_UPDATE="shipaid-protection-status",t))(ne||{});var ae=Object.defineProperty,de=(t,e,i,o)=>{for(var r,s=void 0,n=t.length-1;n>=0;n--)(r=t[n])&&(s=r(e,i,s)||s);return s&&ae(e,i,s),s};const pe=t=>({items:t.lines.edges.map((({node:t})=>({id:t.id,key:t.id,variant_id:t.merchandise.id,sku:t.merchandise.sku,final_line_price:parseFloat(t.cost.totalAmount.amount),quantity:t.quantity}))),total_price:parseFloat(t.cost.totalAmount.amount),item_count:t.lines.edges.length}),le=async(t,e)=>{try{const i=await fetch(t,e);if(!i.ok)throw new Error(await i.text());return await i.json()}catch(i){throw console.error(i),new Error("Failed to complete fetch request.")}},ce=t=>console.warn(`[ShipAid] ${t}`),ue=t=>console.error(`[ShipAid] ${t}`),he="shipaid-protection",me="shipaid-protection-popup-show",fe="query StoreByDomain ($store: String!) {\n store: storeByDomain (input: {store: $store}) {\n currency\n planActive\n store\n widgetAutoOptIn\n widgetPollProtection\n widgetShowCart\n excludedProductSkus\n excludedCustomersIdsAutoOptIn\n protectionSettings\n widgetConfigurations\n }\n}",ge=Object.assign({"./lang/de.json":()=>Promise.resolve().then((()=>Ae)).then((t=>t.default)),"./lang/en.json":()=>Promise.resolve().then((()=>re)).then((t=>t.default)),"./lang/es.json":()=>Promise.resolve().then((()=>Ie)).then((t=>t.default)),"./lang/fr.json":()=>Promise.resolve().then((()=>Re)).then((t=>t.default)),"./lang/it.json":()=>Promise.resolve().then((()=>Ze)).then((t=>t.default)),"./lang/pt.json":()=>Promise.resolve().then((()=>ti)).then((t=>t.default))});var ve;ve={loader:async t=>{if("en"===t)return oe;const e=Reflect.get(ge,`./lang/${t}.json`);return e?await e():oe}},yt=Object.assign(Object.assign({},yt),ve);const ye=class extends ut{constructor(){var t,e,i;super(...arguments),this.env="prod",this.useCustomStoreFront=!1,this.storeDomain="",this.storeAccessToken="",this.cartId="",this.disablePolling=!1,this.disableActions=!1,this.pollingInterval=2500,this.disableRefresh=!1,this.refreshCart=!1,this.persistPopup=!1,this.defaultToggleButton=!1,this.lang="en",this.currency=void 0,this.customerId=void 0,this.supportSubscriptions=!1,this._apiEndpoint="/apps/shipaid",this._storeDomain=(null==(t=window.Shopify)?void 0:t.shop)??(null==(i=null==(e=window.Shopify)?void 0:e.Checkout)?void 0:i.apiHost),this._hasFinishedSetup=!1,this._shouldShowWidget=!1,this._hasProtectionInCart=!1,this.hasLoadedStrings=!1,this.fetchInterceptorCleanup=()=>{},this.intervalId=null,this._state={loading:!1,success:null,error:!1},this._popup=null,this._fetch={get:t=>le(t),post:(t,e)=>le(t,{method:"POST",headers:{"Content-Type":"application/json","X-ShipAid":"1"},body:JSON.stringify(e)})}}shouldUpdate(t){return this.hasLoadedStrings&&super.shouldUpdate(t)}shouldPersistPopup(){return"true"===localStorage.getItem(`${me}`)?"learn-more":null}setPopupKey(){this.persistPopup&&localStorage.setItem(`${me}`,"true")}get nhost(){const t=`https://${"prod"===this.env?"gjiyysyzjwuculcymsvb":"staging"===this.env?"xfnjpunvafvudwuzwjlm":"local"}.graphql.us-east-1.nhost.run/v1`;return{request:async(e,i)=>{try{const o=await fetch(t,{method:"post",body:JSON.stringify({query:e,variables:i})});return await o.json()}catch(o){console.log(`Nhost Error: ${o}`)}}}}async runStoreFrontQuery(t,e){try{const i=new Headers;i.append("Content-Type","application/json"),i.append("X-Shopify-Storefront-Access-Token",this.storeAccessToken);const o={method:"POST",headers:i,body:JSON.stringify({query:t,variables:e})},r=await fetch(`https://${this.storeDomain}/api/2021-07/graphql.json`,o);if(!r.ok)throw new Error(`GraphQL request failed: ${r.statusText}`);const s=await r.json();if(s.errors)throw new Error(s.errors[0].message);return s.data}catch(i){throw console.error("GraphQL query error:",i),new Error("Failed to execute GraphQL query")}}get shouldRefreshOnUpdate(){return!this.disablePolling&&!this.disableRefresh}get planActive(){var t,e;const{searchParams:i}=new URL(window.location.href);return(null==(t=window.Shopify)?void 0:t.designMode)||i.has("shipaid-test")?(ce("Currently in preview mode."),!0):!!(null==(e=this._store)?void 0:e.planActive)}_currencyFormat(t){var e,i,o,r,s,n;const a=this.currency||(null==(i=null==(e=window.Shopify)?void 0:e.currency)?void 0:i.active)||(null==(o=this._store)?void 0:o.currency)||"USD";if(null==(n=null==(s=null==(r=this._store)?void 0:r.widgetConfigurations)?void 0:s.widget)?void 0:n.currencyFormat){return this._store.widgetConfigurations.widget.currencyFormat.replace("_value_",Number(t)).replace("_currency_",a)}return new Intl.NumberFormat(void 0,{currency:a,style:"currency"}).format(Number(t))}_dispatchEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}_handleRefreshCart(){if(this.refreshCart)return window.location.reload()}async _handleRefresh(t){const e=Reflect.has(t,"items");if(this.shouldRefreshOnUpdate)return window.location.reload();e||await this.updateCart(),this._dispatchEvent(ne.STATUS_UPDATE,{protection:this._hasProtectionInCart,cart:e?t:this._cart,lineItem:e?this._protectionCartItem:t})}async calculateProtectionTotal(t){if(t||(t=await this._fetchCart()),!t)throw new Error("Could not fetch cart.");if(!this._store)throw new Error("Missing ShipAid store");if(!this._protectionProduct)throw new Error("Missing Shopify protection product");return i.calculateProtectionTotal(this._store,this._protectionProduct,t)}_findProtectionVariant(t){if(!this._store)throw new Error("Missing ShipAid store");if(!this._protectionProduct)throw new Error("Missing Shopify protection product");return i.findProtectionVariant(this._store,this._protectionProduct,t)}_setState(t,e){this._state={loading:"loading"===t,success:"success"===t,error:"error"===t&&(e||!0)}}_handleConfirmationPopup(){"confirmation"!==this._popup&&(this._popup="confirmation")}_updateProtection(){var t,e,i;const o=null==(i=null==(e=null==(t=this._store)?void 0:t.widgetConfigurations)?void 0:e.widget)?void 0:i.removeWithConfirmation;return this._hasProtectionInCart?o?this._handleConfirmationPopup():this.removeProtection():this.addProtection()}async _fetchShipAidData(){var t,e,i,o,r;let s;if(s=this.storeDomain?this.storeDomain:(null==(t=window.Shopify)?void 0:t.shop)??(null==(i=null==(e=window.Shopify)?void 0:e.Checkout)?void 0:i.apiHost),!s)throw new Error("No shop found in Shopify object.");try{let t,e;if(this.useCustomStoreFront)e=await this.nhost.request(fe,{store:s});else{t=new URL(window.location.href),t.pathname=this._apiEndpoint;const i={query:fe,variables:{store:s}};e=await this._fetch.post(t.toString(),i)}if(!e)throw new Error("Missing response for store query.");if(null==(o=e.errors)?void 0:o.length)throw new Error(e.errors[0].message);if(!(null==(r=e.data)?void 0:r.store))throw new Error("Missing store from store query response.");return e.data.store}catch(n){throw console.error(n),new Error(`Could not find a store for ${this._storeDomain}`)}}_findSellingPlanByName(t,e){for(const i of t){const t=i.node;for(const i of t.sellingPlans.edges){const t=i.node;if(e===t.name)return t}}return null}async _fetchSellingPlanFromVariant(t){var e,i,o,r,s,n,a,d,p,l,c,u,h;const m=(null==(e=window.Shopify)?void 0:e.shop)??(null==(o=null==(i=window.Shopify)?void 0:i.Checkout)?void 0:o.apiHost);if(!m)throw new Error("No shop found in Shopify object.");try{const e=new URL(window.location.href);e.pathname=this._apiEndpoint;const i={query:"query SellingPlanFromVariant($store: String!, $variantId: String!){\n sellingPlanFromVariant(input: {store: $store, variantId: $variantId })\n}",variables:{store:m,variantId:`gid://shopify/ProductVariant/${null==(r=this._protectionVariant)?void 0:r.id}`}},o=await this._fetch.post(e.toString(),i);if(!o)throw new Error("Missing response for selling plan query.");if(null==(s=o.errors)?void 0:s.length)throw new Error(o.errors[0].message);if(!(null==(n=o.data)?void 0:n.sellingPlanFromVariant))throw new Error("Missing variant from selling plan query response.");const f=(null==(d=null==(a=o.data.sellingPlanFromVariant)?void 0:a.sellingPlanGroups)?void 0:d.edges)||[],g=(null==(h=null==(u=null==(c=null==(l=null==(p=f[0])?void 0:p.node)?void 0:l.sellingPlans)?void 0:c.edges)?void 0:u[0])?void 0:h.node)||null;return this._findSellingPlanByName(f,t.name)||g}catch(f){console.error("Error during the query ====>",f)}}async _fetchCart(){try{if(this.useCustomStoreFront&&this.cartId){const t=await this.runStoreFrontQuery("query getCart($cartId: ID!){ cart( id: $cartId ) { id createdAt updatedAt lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } }",{cartId:this.cartId});return pe(t.cart)}return await this._fetch.get("/cart.js")}catch(t){throw ue(t.message),new Error("Could not fetch cart for current domain.")}}async _fetchProduct(){var t,e;try{let i;if(this.useCustomStoreFront){const o=await this.runStoreFrontQuery("query searchProducts($query: String!, $first: Int) { search(query: $query, first: $first, types: PRODUCT) { edges { node { ... on Product { id title handle variants(first: 1) { edges { node { id title price { amount } } } } } } } } }",{query:"ShipAid Delivery Guarantee",first:1});if(null==(e=null==(t=null==o?void 0:o.search)?void 0:t.edges)?void 0:e.length){const t=o.search.edges[0];i={id:t.node.id,variants:t.node.variants.edges.map((t=>({id:t.node.id,price:t.node.price.amount})))}}}else i=(await this._fetch.get("/products/shipaid-protection.json")).product;return i}catch(i){throw ue(i.message),new Error("Could not fetch protection product for current domain.")}}hasProtection(){return this._hasProtectionInCart}async updateCart(t){t||(t=await this._fetchCart()),this._cart=t}async addCartProtectionVariant(){var t,i,o,r;let s,n;if(this.supportSubscriptions){const o=null==(i=null==(t=this._cart)?void 0:t.items)?void 0:i.find((t=>{var e;return t.id!==(null==(e=this._protectionVariant)?void 0:e.id)&&!!(null==t?void 0:t.selling_plan_allocation)}));if(o){const t=await this._fetchSellingPlanFromVariant(o.selling_plan_allocation.selling_plan);n=t?e(t.id):null}}if(this.useCustomStoreFront){const t=await this.runStoreFrontQuery("mutation AddItemToCart($cartId: ID!, $lines: [CartLineInput!]!) { cartLinesAdd(cartId: $cartId, lines: $lines) { cart { id lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } } }",{cartId:this.cartId,lines:[{merchandiseId:String(null==(o=this._protectionVariant)?void 0:o.id),quantity:1,sellingPlanId:n}]});s=pe(t.cartLinesAdd.cart)}else{const t={quantity:1,id:String(null==(r=this._protectionVariant)?void 0:r.id),selling_plan:n};s=await this._fetch.post("/cart/add.js",t)}return s}async updateCartProtectionVariant(t,e=null,i=null){var o,r;let s;if(this.useCustomStoreFront){const r=await this.runStoreFrontQuery("mutation RemoveItemToCart($cartId: ID!, $lines: [CartLineUpdateInput!]!) { cartLinesUpdate(cartId: $cartId, lines: $lines) { cart { id lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } } }",{cartId:this.cartId,lines:[{id:String(e?e.key:null==(o=this._protectionCartItem)?void 0:o.key),quantity:t,sellingPlanId:i}]});s=pe(r.cartLinesUpdate.cart)}else{const o={quantity:t,id:String(e?e.key:null==(r=this._protectionCartItem)?void 0:r.key),selling_plan:i};s=await this._fetch.post("/cart/change.js",o)}return s}async addProtection(){var t,e;try{if(!this._store)throw new Error("Store has not been loaded.");if(!(null==(t=this._cart)?void 0:t.items))throw new Error("Cart has not been loaded.");if(!(null==(e=this._protectionVariant)?void 0:e.id))throw new Error("No protection variant found.");this._setState("loading");const i=await this.addCartProtectionVariant();await this._handleRefresh(i),this._setState("success")}catch(i){ue(i.message)}finally{this._cart=await this._fetchCart(),this._setState("success")}}async removeProtection(){try{if(!this._store)throw new Error("Store has not been loaded.");if(!this._protectionCartItem)throw new Error("Protection product not found.");this._setState("loading");const t=await this.updateCartProtectionVariant(0,this._protectionCartItem);await this._handleRefresh(t),this._cart=t,this._setState("success")}catch(t){ue(t.message)}finally{this._cart=await this._fetchCart(),this._setState("success")}}async attemptAddProtection(){var t,e,i,o,r,s;if(!(null==(t=this._store)?void 0:t.widgetAutoOptIn))return;if(!(null==(e=this._cart)?void 0:e.items)||!(null==(i=this._cart)?void 0:i.item_count))return;const n=null==(o=this._cart.items)?void 0:o.findIndex((t=>{var e,i;return null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})),a=null==(r=this._cart)?void 0:r.items[n];if(this._hasProtectionInCart=!!a,1===this._cart.item_count&&a)return;!!sessionStorage.getItem(he)||!this._hasProtectionInCart&&(null==(s=this._cart)?void 0:s.item_count)&&this._store.widgetShowCart&&(await this.addProtection(),sessionStorage.setItem(he,JSON.stringify({loaded:!0})))}async handleMultipleProtectionVariants(){var t,e,i,o,r;if(!(null==(t=this._cart)?void 0:t.items)||!(null==(e=this._cart)?void 0:e.item_count))return;let s=0;if(null==(i=this._cart.items)||i.forEach((t=>{var e,i;(null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id)))&&s++})),s>1){const t=null==(o=this._cart.items)?void 0:o.findIndex((t=>{var e,i;return null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})),e=null==(r=this._cart)?void 0:r.items[t],i=await this.updateCartProtectionVariant(0,e);return await this._handleRefresh(i)}}learnMorePopupTemplate(){return H`
|
|
958
|
+
`;var se=(t=>(t.LOADED="shipaid-loaded",t.STATUS_UPDATE="shipaid-protection-status",t))(se||{});var ae=Object.defineProperty,de=(t,e,i,o)=>{for(var r,n=void 0,s=t.length-1;s>=0;s--)(r=t[s])&&(n=r(e,i,n)||n);return n&&ae(e,i,n),n};const le=t=>({items:t.lines.edges.map((({node:t})=>({id:t.id,key:t.id,variant_id:t.merchandise.id,sku:t.merchandise.sku,final_line_price:parseFloat(t.cost.totalAmount.amount),quantity:t.quantity}))),total_price:parseFloat(t.cost.totalAmount.amount),item_count:t.lines.edges.length}),pe=async(t,e)=>{try{const i=await fetch(t,e);if(!i.ok)throw new Error(await i.text());return await i.json()}catch(i){throw console.error(i),new Error("Failed to complete fetch request.")}},ce=t=>console.warn(`[ShipAid] ${t}`),ue=t=>console.error(`[ShipAid] ${t}`),he="shipaid-protection",me="shipaid-protection-popup-show",fe="query StoreByDomain ($store: String!) {\n store: storeByDomain (input: {store: $store}) {\n currency\n planActive\n store\n widgetAutoOptIn\n widgetPollProtection\n widgetShowCart\n excludedProductSkus\n excludedCustomersIdsAutoOptIn\n protectionSettings\n widgetConfigurations\n }\n}",ge=Object.assign({"./lang/de.json":()=>Promise.resolve().then((()=>Ae)).then((t=>t.default)),"./lang/en.json":()=>Promise.resolve().then((()=>re)).then((t=>t.default)),"./lang/es.json":()=>Promise.resolve().then((()=>Ie)).then((t=>t.default)),"./lang/fr.json":()=>Promise.resolve().then((()=>Re)).then((t=>t.default)),"./lang/it.json":()=>Promise.resolve().then((()=>Ze)).then((t=>t.default)),"./lang/nl.json":()=>Promise.resolve().then((()=>ti)).then((t=>t.default)),"./lang/pt.json":()=>Promise.resolve().then((()=>ai)).then((t=>t.default))});var ve;ve={loader:async t=>{if("en"===t)return oe;const e=Reflect.get(ge,`./lang/${t}.json`);return e?await e():oe}},bt=Object.assign(Object.assign({},bt),ve);const be=class extends ut{constructor(){var t,e,i;super(...arguments),this.env="prod",this.useCustomStoreFront=!1,this.storeDomain="",this.storeAccessToken="",this.cartId="",this.disablePolling=!1,this.disableActions=!1,this.pollingInterval=2500,this.disableRefresh=!1,this.refreshCart=!1,this.persistPopup=!1,this.defaultToggleButton=!1,this.lang="en",this.currency=void 0,this.customerId=void 0,this.supportSubscriptions=!1,this._apiEndpoint="/apps/shipaid",this._storeDomain=(null==(t=window.Shopify)?void 0:t.shop)??(null==(i=null==(e=window.Shopify)?void 0:e.Checkout)?void 0:i.apiHost),this._hasFinishedSetup=!1,this._shouldShowWidget=!1,this._hasProtectionInCart=!1,this.hasLoadedStrings=!1,this.fetchInterceptorCleanup=()=>{},this.intervalId=null,this._state={loading:!1,success:null,error:!1},this._popup=null,this._fetch={get:t=>pe(t),post:(t,e)=>pe(t,{method:"POST",headers:{"Content-Type":"application/json","X-ShipAid":"1"},body:JSON.stringify(e)})}}shouldUpdate(t){return this.hasLoadedStrings&&super.shouldUpdate(t)}shouldPersistPopup(){return"true"===localStorage.getItem(`${me}`)?"learn-more":null}setPopupKey(){this.persistPopup&&localStorage.setItem(`${me}`,"true")}get nhost(){const t=`https://${"prod"===this.env?"gjiyysyzjwuculcymsvb":"staging"===this.env?"xfnjpunvafvudwuzwjlm":"local"}.graphql.us-east-1.nhost.run/v1`;return{request:async(e,i)=>{try{const o=await fetch(t,{method:"post",body:JSON.stringify({query:e,variables:i})});return await o.json()}catch(o){console.log(`Nhost Error: ${o}`)}}}}async runStoreFrontQuery(t,e){try{const i=new Headers;i.append("Content-Type","application/json"),i.append("X-Shopify-Storefront-Access-Token",this.storeAccessToken);const o={method:"POST",headers:i,body:JSON.stringify({query:t,variables:e})},r=await fetch(`https://${this.storeDomain}/api/2021-07/graphql.json`,o);if(!r.ok)throw new Error(`GraphQL request failed: ${r.statusText}`);const n=await r.json();if(n.errors)throw new Error(n.errors[0].message);return n.data}catch(i){throw console.error("GraphQL query error:",i),new Error("Failed to execute GraphQL query")}}get shouldRefreshOnUpdate(){return!this.disablePolling&&!this.disableRefresh}get planActive(){var t,e;const{searchParams:i}=new URL(window.location.href);return(null==(t=window.Shopify)?void 0:t.designMode)||i.has("shipaid-test")?(ce("Currently in preview mode."),!0):!!(null==(e=this._store)?void 0:e.planActive)}_currencyFormat(t){var e,i,o,r,n,s;const a=this.currency||(null==(i=null==(e=window.Shopify)?void 0:e.currency)?void 0:i.active)||(null==(o=this._store)?void 0:o.currency)||"USD";if(null==(s=null==(n=null==(r=this._store)?void 0:r.widgetConfigurations)?void 0:n.widget)?void 0:s.currencyFormat){return this._store.widgetConfigurations.widget.currencyFormat.replace("_value_",Number(t)).replace("_currency_",a)}return new Intl.NumberFormat(void 0,{currency:a,style:"currency"}).format(Number(t))}_dispatchEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}_handleRefreshCart(){if(this.refreshCart)return window.location.reload()}async _handleRefresh(t){const e=Reflect.has(t,"items");if(this.shouldRefreshOnUpdate)return window.location.reload();e||await this.updateCart(),this._dispatchEvent(se.STATUS_UPDATE,{protection:this._hasProtectionInCart,cart:e?t:this._cart,lineItem:e?this._protectionCartItem:t})}async calculateProtectionTotal(t){if(t||(t=await this._fetchCart()),!t)throw new Error("Could not fetch cart.");if(!this._store)throw new Error("Missing ShipAid store");if(!this._protectionProduct)throw new Error("Missing Shopify protection product");return i.calculateProtectionTotal(this._store,this._protectionProduct,t)}_findProtectionVariant(t){if(!this._store)throw new Error("Missing ShipAid store");if(!this._protectionProduct)throw new Error("Missing Shopify protection product");return i.findProtectionVariant(this._store,this._protectionProduct,t)}_setState(t,e){this._state={loading:"loading"===t,success:"success"===t,error:"error"===t&&(e||!0)}}_handleConfirmationPopup(){"confirmation"!==this._popup&&(this._popup="confirmation")}_updateProtection(){var t,e,i;const o=null==(i=null==(e=null==(t=this._store)?void 0:t.widgetConfigurations)?void 0:e.widget)?void 0:i.removeWithConfirmation;return this._hasProtectionInCart?o?this._handleConfirmationPopup():this.removeProtection():this.addProtection()}async _fetchShipAidData(){var t,e,i,o,r;let n;if(n=this.storeDomain?this.storeDomain:(null==(t=window.Shopify)?void 0:t.shop)??(null==(i=null==(e=window.Shopify)?void 0:e.Checkout)?void 0:i.apiHost),!n)throw new Error("No shop found in Shopify object.");try{let t,e;if(this.useCustomStoreFront)e=await this.nhost.request(fe,{store:n});else{t=new URL(window.location.href),t.pathname=this._apiEndpoint;const i={query:fe,variables:{store:n}};e=await this._fetch.post(t.toString(),i)}if(!e)throw new Error("Missing response for store query.");if(null==(o=e.errors)?void 0:o.length)throw new Error(e.errors[0].message);if(!(null==(r=e.data)?void 0:r.store))throw new Error("Missing store from store query response.");return e.data.store}catch(s){throw console.error(s),new Error(`Could not find a store for ${this._storeDomain}`)}}_findSellingPlanByName(t,e){for(const i of t){const t=i.node;for(const i of t.sellingPlans.edges){const t=i.node;if(e===t.name)return t}}return null}async _fetchSellingPlanFromVariant(t){var e,i,o,r,n,s,a,d,l,p,c,u,h;const m=(null==(e=window.Shopify)?void 0:e.shop)??(null==(o=null==(i=window.Shopify)?void 0:i.Checkout)?void 0:o.apiHost);if(!m)throw new Error("No shop found in Shopify object.");try{const e=new URL(window.location.href);e.pathname=this._apiEndpoint;const i={query:"query SellingPlanFromVariant($store: String!, $variantId: String!){\n sellingPlanFromVariant(input: {store: $store, variantId: $variantId })\n}",variables:{store:m,variantId:`gid://shopify/ProductVariant/${null==(r=this._protectionVariant)?void 0:r.id}`}},o=await this._fetch.post(e.toString(),i);if(!o)throw new Error("Missing response for selling plan query.");if(null==(n=o.errors)?void 0:n.length)throw new Error(o.errors[0].message);if(!(null==(s=o.data)?void 0:s.sellingPlanFromVariant))throw new Error("Missing variant from selling plan query response.");const f=(null==(d=null==(a=o.data.sellingPlanFromVariant)?void 0:a.sellingPlanGroups)?void 0:d.edges)||[],g=(null==(h=null==(u=null==(c=null==(p=null==(l=f[0])?void 0:l.node)?void 0:p.sellingPlans)?void 0:c.edges)?void 0:u[0])?void 0:h.node)||null;return this._findSellingPlanByName(f,t.name)||g}catch(f){console.error("Error during the query ====>",f)}}async _fetchCart(){try{if(this.useCustomStoreFront&&this.cartId){const t=await this.runStoreFrontQuery("query getCart($cartId: ID!){ cart( id: $cartId ) { id createdAt updatedAt lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } }",{cartId:this.cartId});return le(t.cart)}return await this._fetch.get("/cart.js")}catch(t){throw ue(t.message),new Error("Could not fetch cart for current domain.")}}async _fetchProduct(){var t,e;try{let i;if(this.useCustomStoreFront){const o=await this.runStoreFrontQuery("query searchProducts($query: String!, $first: Int) { search(query: $query, first: $first, types: PRODUCT) { edges { node { ... on Product { id title handle variants(first: 1) { edges { node { id title price { amount } } } } } } } } }",{query:"ShipAid Delivery Guarantee",first:1});if(null==(e=null==(t=null==o?void 0:o.search)?void 0:t.edges)?void 0:e.length){const t=o.search.edges[0];i={id:t.node.id,variants:t.node.variants.edges.map((t=>({id:t.node.id,price:t.node.price.amount})))}}}else i=(await this._fetch.get("/products/shipaid-protection.json")).product;return i}catch(i){throw ue(i.message),new Error("Could not fetch protection product for current domain.")}}hasProtection(){return this._hasProtectionInCart}async updateCart(t){t||(t=await this._fetchCart()),this._cart=t}async addCartProtectionVariant(){var t,i,o,r;let n,s;if(this.supportSubscriptions){const o=null==(i=null==(t=this._cart)?void 0:t.items)?void 0:i.find((t=>{var e;return t.id!==(null==(e=this._protectionVariant)?void 0:e.id)&&!!(null==t?void 0:t.selling_plan_allocation)}));if(o){const t=await this._fetchSellingPlanFromVariant(o.selling_plan_allocation.selling_plan);s=t?e(t.id):null}}if(this.useCustomStoreFront){const t=await this.runStoreFrontQuery("mutation AddItemToCart($cartId: ID!, $lines: [CartLineInput!]!) { cartLinesAdd(cartId: $cartId, lines: $lines) { cart { id lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } } }",{cartId:this.cartId,lines:[{merchandiseId:String(null==(o=this._protectionVariant)?void 0:o.id),quantity:1,sellingPlanId:s}]});n=le(t.cartLinesAdd.cart)}else{const t={quantity:1,id:String(null==(r=this._protectionVariant)?void 0:r.id),selling_plan:s};n=await this._fetch.post("/cart/add.js",t)}return n}async updateCartProtectionVariant(t,e=null,i=null){var o,r;let n;if(this.useCustomStoreFront){const r=await this.runStoreFrontQuery("mutation RemoveItemToCart($cartId: ID!, $lines: [CartLineUpdateInput!]!) { cartLinesUpdate(cartId: $cartId, lines: $lines) { cart { id lines(first: 10) { edges { node { id quantity merchandise { ... on ProductVariant { id sku } } cost{ totalAmount{ amount currencyCode } } } } } cost { totalAmount { amount currencyCode } subtotalAmount { amount currencyCode } } } } }",{cartId:this.cartId,lines:[{id:String(e?e.key:null==(o=this._protectionCartItem)?void 0:o.key),quantity:t,sellingPlanId:i}]});n=le(r.cartLinesUpdate.cart)}else{const o={quantity:t,id:String(e?e.key:null==(r=this._protectionCartItem)?void 0:r.key),selling_plan:i};n=await this._fetch.post("/cart/change.js",o)}return n}async addProtection(){var t,e;try{if(!this._store)throw new Error("Store has not been loaded.");if(!(null==(t=this._cart)?void 0:t.items))throw new Error("Cart has not been loaded.");if(!(null==(e=this._protectionVariant)?void 0:e.id))throw new Error("No protection variant found.");this._setState("loading");const i=await this.addCartProtectionVariant();await this._handleRefresh(i),this._setState("success")}catch(i){ue(i.message)}finally{this._cart=await this._fetchCart(),this._setState("success")}}async removeProtection(){try{if(!this._store)throw new Error("Store has not been loaded.");if(!this._protectionCartItem)throw new Error("Protection product not found.");this._setState("loading");const t=await this.updateCartProtectionVariant(0,this._protectionCartItem);await this._handleRefresh(t),this._cart=t,this._setState("success")}catch(t){ue(t.message)}finally{this._cart=await this._fetchCart(),this._setState("success")}}async attemptAddProtection(){var t,e,i,o,r,n;if(!(null==(t=this._store)?void 0:t.widgetAutoOptIn))return;if(!(null==(e=this._cart)?void 0:e.items)||!(null==(i=this._cart)?void 0:i.item_count))return;const s=null==(o=this._cart.items)?void 0:o.findIndex((t=>{var e,i;return null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})),a=null==(r=this._cart)?void 0:r.items[s];if(this._hasProtectionInCart=!!a,1===this._cart.item_count&&a)return;!!sessionStorage.getItem(he)||!this._hasProtectionInCart&&(null==(n=this._cart)?void 0:n.item_count)&&this._store.widgetShowCart&&(await this.addProtection(),sessionStorage.setItem(he,JSON.stringify({loaded:!0})))}async handleMultipleProtectionVariants(){var t,e,i,o,r;if(!(null==(t=this._cart)?void 0:t.items)||!(null==(e=this._cart)?void 0:e.item_count))return;let n=0;if(null==(i=this._cart.items)||i.forEach((t=>{var e,i;(null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id)))&&n++})),n>1){const t=null==(o=this._cart.items)?void 0:o.findIndex((t=>{var e,i;return null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})),e=null==(r=this._cart)?void 0:r.items[t],i=await this.updateCartProtectionVariant(0,e);return await this._handleRefresh(i)}}learnMorePopupTemplate(){return H`
|
|
959
959
|
<shipaid-popup-learn-more
|
|
960
960
|
?active=${"learn-more"===this._popup}
|
|
961
961
|
@close=${()=>{this.persistPopup&&localStorage.removeItem(`${me}`),this._popup=null}}
|
|
@@ -966,31 +966,31 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
966
966
|
@close=${()=>{this.persistPopup&&localStorage.removeItem(`${me}`),this._popup=null}}
|
|
967
967
|
@remove-protection=${()=>{this.removeProtection(),this.persistPopup&&localStorage.removeItem(`${me}`),this._popup=null}}
|
|
968
968
|
></shipaid-popup-confirmation>
|
|
969
|
-
`}renderPopups(){switch(this.persistPopup&&(this._popup=this.shouldPersistPopup()),this._popup){case"confirmation":return this.confirmationPopupTemplate();case"learn-more":return this.learnMorePopupTemplate();default:return null}}promptTemplate(){var t,e,i;const{useToggle:o,useCheckbox:r,leftCheckbox:
|
|
969
|
+
`}renderPopups(){switch(this.persistPopup&&(this._popup=this.shouldPersistPopup()),this._popup){case"confirmation":return this.confirmationPopupTemplate();case"learn-more":return this.learnMorePopupTemplate();default:return null}}promptTemplate(){var t,e,i;const{useToggle:o,useCheckbox:r,leftCheckbox:n}=(null==(e=null==(t=this._store)?void 0:t.widgetConfigurations)?void 0:e.widget)||{useToggle:!1,useCheckbox:!1,leftCheckbox:!1};return H`
|
|
970
970
|
<div class="shipaid-prompt">
|
|
971
971
|
<div class="prompt-product">
|
|
972
|
-
${Tt(!this.disableActions&&
|
|
972
|
+
${Tt(!this.disableActions&&n,(()=>H`
|
|
973
973
|
<label class="shipaid-checkbox">
|
|
974
974
|
${this._hasProtectionInCart||!this._hasFinishedSetup?H`<input type="checkbox" checked @click=${this._updateProtection} ?disabled=${this._state.loading}>`:H`<input type="checkbox" @click=${this._updateProtection} ?disabled=${this._state.loading}>`}
|
|
975
975
|
<span class="shipaid-checkMark left"></span>
|
|
976
976
|
</label>
|
|
977
977
|
`))}
|
|
978
978
|
<div class="prompt-product-image">
|
|
979
|
-
${Tt(this._hasProtectionInCart,(()=>Ot),(()=>
|
|
979
|
+
${Tt(this._hasProtectionInCart,(()=>Ot),(()=>Nt))}
|
|
980
980
|
</div>
|
|
981
981
|
<div class="prompt-product-details">
|
|
982
982
|
<p class="prompt-product-details-title">
|
|
983
|
-
<slot name="title">${
|
|
983
|
+
<slot name="title">${zt("title")}</slot>
|
|
984
984
|
</p>
|
|
985
985
|
<p class="prompt-product-details-description">
|
|
986
|
-
<slot name="subtitle">${
|
|
986
|
+
<slot name="subtitle">${zt("description")}</slot>
|
|
987
987
|
</p>
|
|
988
988
|
</div>
|
|
989
989
|
<div class="prompt-product-actions">
|
|
990
990
|
<p class="prompt-product-actions-price">
|
|
991
991
|
${(null==(i=this._protectionVariant)?void 0:i.price)&&this._currencyFormat(this._protectionVariant.price)}
|
|
992
992
|
</p>
|
|
993
|
-
${o||r||this.defaultToggleButton?Tt(!this.disableActions&&!
|
|
993
|
+
${o||r||this.defaultToggleButton?Tt(!this.disableActions&&!n,(()=>H`
|
|
994
994
|
<label class="shipaid-${o?"toggle":r?"checkbox":""}">
|
|
995
995
|
${this._hasProtectionInCart||!this._hasFinishedSetup?H`<input type="checkbox" checked @click=${this._updateProtection} ?disabled=${this._state.loading}>`:H`<input type="checkbox" @click=${this._updateProtection} ?disabled=${this._state.loading}>`}
|
|
996
996
|
<span class="shipaid-${o?"slider":r?"checkMark":""}"></span>
|
|
@@ -1001,7 +1001,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
1001
1001
|
@click=${this._updateProtection}
|
|
1002
1002
|
?disabled=${this._state.loading}
|
|
1003
1003
|
>
|
|
1004
|
-
${this._state.loading?
|
|
1004
|
+
${this._state.loading?zt("actions.loading"):this._hasProtectionInCart?zt("actions.remove"):H`+ ${zt("actions.add")}`}
|
|
1005
1005
|
</button>
|
|
1006
1006
|
`))}
|
|
1007
1007
|
</div>
|
|
@@ -1012,7 +1012,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
1012
1012
|
class="prompt-footer-badge"
|
|
1013
1013
|
@click=${()=>{this._popup="learn-more",this.persistPopup&&this.setPopupKey()}}
|
|
1014
1014
|
>
|
|
1015
|
-
<span>${
|
|
1015
|
+
<span>${zt("footer.button")}</span>
|
|
1016
1016
|
${Vt}
|
|
1017
1017
|
<button
|
|
1018
1018
|
class="prompt-footer-about"
|
|
@@ -1023,7 +1023,7 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
1023
1023
|
</a>
|
|
1024
1024
|
</div>
|
|
1025
1025
|
</div>
|
|
1026
|
-
`}async connectedCallback(){super.connectedCallback(),await async function(t,e=
|
|
1026
|
+
`}async connectedCallback(){super.connectedCallback(),await async function(t,e=bt){const i=await e.loader(t,e);e.translationCache={},yt(t,i,e)}(this.lang),this.hasLoadedStrings=!0,this.fetchInterceptorCleanup=function(t){const e=window.fetch;let i=!0;const o=async(o,r)=>{const n=e(o,r);if(i)try{await t([o,r],n)}catch(s){console.warn(s)}return await n};return window.fetch=o,()=>{window.fetch===o?window.fetch=e:i=!1}}((async(t,e)=>{var i,o,r,n;if(null==(o=null==(i=t[1])?void 0:i.headers)?void 0:o["X-ShipAid"])return;if(!t[0].startsWith("/cart/change")&&!t[0].startsWith("/cart/update"))return;const s=(null==(n=null==(r=this._store)?void 0:r.widgetConfigurations)?void 0:n.checkoutButtonSelector)||'button[type="submit"][name="checkout"][form="cart"]',a=document.querySelector(s);if(console.log("q",a),a){a.setAttribute("disabled","true"),console.debug("button","t");try{await e,await this.updateCart(),await this.updateProtection()}finally{a.removeAttribute("disabled"),console.debug("button","f")}}}))}disconnectedCallback(){var t;super.disconnectedCallback(),null==(t=this.fetchInterceptorCleanup)||t.call(this)}async updateProtection(){var t,i,o,r;if(this._cartLastUpdated=new Date,!(null==(t=this._cart)?void 0:t.items))return;const n=null==(i=this._cart.items)?void 0:i.findIndex((t=>{var e,i;return null==(i=null==(e=this._protectionProduct)?void 0:e.variants)?void 0:i.some((e=>e.id===t.variant_id))})),s=null==(o=this._cart)?void 0:o.items[n];if(this._hasProtectionInCart=!!s,!this._store)return;const a=await this.calculateProtectionTotal(this._cart);if(this._cart.item_count>0&&s&&(this._cart.total_price===(null==s?void 0:s.final_line_price)||!a)){const t=await this.updateCartProtectionVariant(0,s);return sessionStorage.removeItem(he),await this._handleRefresh(t)}const d=this._findProtectionVariant(a);if(a?(this._protectionVariant=d,this._shouldShowWidget=!0):this._protectionVariant={id:0,price:"0"},!(null==d?void 0:d.id))return this._shouldShowWidget=!1,void ue("No matching protection variant found.");if(!(null==(r=this._protectionVariant)?void 0:r.id))return void(this._shouldShowWidget=!1);if(!s)return;if(this.supportSubscriptions){const t=this._cart.items.find((t=>{var e;return t.id!==(null==(e=this._protectionVariant)?void 0:e.id)&&!!(null==t?void 0:t.selling_plan_allocation)}));let i=null;if(!t&&(null==s?void 0:s.selling_plan_allocation))i={id:s.key,quantity:1,selling_plan:null};else if(t&&!(null==s?void 0:s.selling_plan_allocation)){const o=await this._fetchSellingPlanFromVariant(t.selling_plan_allocation.selling_plan),r=o?e(o.id):null;i={id:s.key,quantity:1,selling_plan:r}}if(i){const t=await this.updateCartProtectionVariant(i.quantity,s,i.selling_plan);await this._handleRefresh(t)}}if(d.id===s.variant_id){if(this._protectionCartItem={...s,index:n,position:n+1},1===s.quantity)return;const t=await this.updateCartProtectionVariant(1,s);return this._handleRefreshCart(),await this._handleRefresh(t)}const l={updates:{[s.variant_id]:0,[d.id]:1}},p=await this._fetch.post("/cart/update.js",l);await this._handleRefresh(p)}render(){return qt(this,(async()=>{var t,e,i,o,r,n;const s=document.createElement("link");s.setAttribute("href","https://fonts.googleapis.com/css2?family=Lato&display=swap"),s.setAttribute("rel","stylesheet"),document.head.appendChild(s);try{const[t,e,i]=await Promise.all([this._fetchShipAidData(),this._fetchCart(),this._fetchProduct()]);this._store=t,this._cart=e,this._protectionProduct=i}catch(a){return ue(a.message),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1)}return this.planActive?(null==(e=null==(t=this._store)?void 0:t.protectionSettings)?void 0:e.protectionType)?this._protectionProduct?(this._hasFinishedSetup=!0,this._dispatchEvent(se.LOADED,this._store),setTimeout((async()=>{var t,e,i,o;(null==(t=this._store)?void 0:t.widgetAutoOptIn)&&(null==(e=this._cart)?void 0:e.item_count)&&(this.customerId&&this._store.excludedCustomersIdsAutoOptIn&&(null==(i=this._store.excludedCustomersIdsAutoOptIn)?void 0:i.length)&&this._store.excludedCustomersIdsAutoOptIn.includes(`gid://shopify/Customer/${this.customerId}`)||sessionStorage.getItem(he)||!this._hasProtectionInCart&&(null==(o=this._cart)?void 0:o.item_count)&&this._store.widgetShowCart&&(await this.addProtection(),sessionStorage.setItem(he,JSON.stringify({loaded:!0}))))}),500),void(this.disablePolling||(setInterval((async()=>{const t=this._cartLastUpdated;t&&(new Date).getTime()-t.getTime()<this.pollingInterval||await this.updateCart()}),this.pollingInterval),(null==(i=this._store)?void 0:i.widgetPollProtection)&&!this.intervalId&&(this.intervalId=setInterval((async()=>{await this.attemptAddProtection()}),400),localStorage.setItem(`polling-shipaid-protection_${this.intervalId}`,`${this.intervalId}`)),(null==(n=null==(r=null==(o=this._store)?void 0:o.widgetConfigurations)?void 0:r.widget)?void 0:n.pollVariantsCheck)&&setInterval((async()=>{await this.handleMultipleProtectionVariants()}),400)))):(ce("No protection settings product for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1)):(ce("No protection settings for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1)):(ce("No plan is active for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1))}),[]),qt(this,(async()=>{await this.updateProtection()}),[this._store,this._cart]),lt(this.renderPopups(),document.body),H`
|
|
1027
1027
|
<style>
|
|
1028
1028
|
:host {
|
|
1029
1029
|
--shipaid-primary: #002bd6;
|
|
@@ -1292,4 +1292,4 @@ function Tt(t,e,i){return t?e():null==i?void 0:i()}const Nt=h`
|
|
|
1292
1292
|
<div class="shipaid">
|
|
1293
1293
|
${Tt(this._hasFinishedSetup,(()=>{var t;return Tt(this._shouldShowWidget&&this.planActive&&(null==(t=this._store)?void 0:t.widgetShowCart),(()=>this.promptTemplate()),(()=>Z))}),(()=>this.promptTemplate()))}
|
|
1294
1294
|
</div>
|
|
1295
|
-
`}};ye.styles=se;let be=ye;de([s({type:String,attribute:!0})],be.prototype,"env"),de([s({type:Boolean,attribute:!0})],be.prototype,"useCustomStoreFront"),de([s({type:String,attribute:!0})],be.prototype,"storeDomain"),de([s({type:String,attribute:!0})],be.prototype,"storeAccessToken"),de([s({type:String,attribute:!0})],be.prototype,"cartId"),de([s({type:Boolean,attribute:!0})],be.prototype,"disablePolling"),de([s({type:Boolean,attribute:!0})],be.prototype,"disableActions"),de([s({type:Number,attribute:!0})],be.prototype,"pollingInterval"),de([s({type:Boolean,attribute:!0})],be.prototype,"disableRefresh"),de([s({type:Boolean,attribute:!0})],be.prototype,"refreshCart"),de([s({type:Boolean,attribute:!0})],be.prototype,"persistPopup"),de([s({type:Boolean,attribute:!0})],be.prototype,"defaultToggleButton"),de([s({type:String,attribute:!0})],be.prototype,"lang"),de([s({type:String,attribute:!0})],be.prototype,"currency"),de([s({type:String,attribute:!0})],be.prototype,"customerId"),de([s({type:Boolean,attribute:!0})],be.prototype,"supportSubscriptions"),de([n()],be.prototype,"_storeDomain"),de([n()],be.prototype,"_store"),de([n()],be.prototype,"_cart"),de([n()],be.prototype,"_protectionProduct"),de([n()],be.prototype,"_cartLastUpdated"),de([n()],be.prototype,"_hasFinishedSetup"),de([n()],be.prototype,"_shouldShowWidget"),de([n()],be.prototype,"_hasProtectionInCart"),de([n()],be.prototype,"_protectionCartItem"),de([n()],be.prototype,"_protectionVariant"),de([n()],be.prototype,"hasLoadedStrings"),de([n()],be.prototype,"fetchInterceptorCleanup"),de([n()],be.prototype,"intervalId"),de([n()],be.prototype,"_state"),de([n()],be.prototype,"_popup"),customElements.get("shipaid-widget")||customElements.define("shipaid-widget",be);const _e="Laden des ShipAid-Widgets...",Ce="Liefergarantie",we="im Falle von Verlust, Beschädigung oder Diebstahl",xe={button:"Bereitgestellt von"},$e={add:"Hinzufügen",remove:"Entfernen",loading:"Lädt..."},Se={loading:_e,title:Ce,description:we,footer:xe,actions:$e,"learn-more-popup":{close:"Schließen",title:"Liefergarantie",subtitle:"Wir ermöglichen es Ihren Lieblingsmarken, eine Liefergarantie anzubieten, weil jede Bestellung wertvoll ist!",disclaimer:{"subtitle-enable":"Wir ermöglichen es Ihren Lieblingsmarken, eine Liefergarantie zu bieten, denn wir wissen, dass jede Bestellung wertvoll ist und Dinge passieren können!","subtitle-monitor":"Wir überwachen Ihr Paket kontinuierlich und bieten ein praktisches Portal, damit Sie den Fortschritt Ihrer Bestellung jederzeit verfolgen können!","subtitle-notify":"Sie werden während des gesamten Versandprozesses benachrichtigt, um sicherzustellen, dass Sie auf dem Laufenden bleiben.","subtitle-resolution":"Sie werden während des gesamten Versandprozesses benachrichtigt, um sicherzustellen, dass Sie auf dem Laufenden bleiben.",text:"Durch den Erwerb dieser Liefergarantie stimmen Sie unseren Servicebedingungen und Datenschutzrichtlinien zu. Diese Garantie ist nicht verpflichtend, IST KEINE Versicherung und bietet keine Entschädigung für Verluste, Schäden oder Haftungen, die aus einem zufälligen oder unbekannten Ereignis resultieren. Sollte das Produkt nicht in zufriedenstellendem Zustand geliefert werden, kann die Marke, bei der Sie gekauft haben, dieses kostenlos ersetzen. ShipAid liefert keine Produkte oder Dienstleistungen direkt an Verbraucher, sondern bietet einen Dienst an, der Marken ermöglicht, den Produktersatz für ihre Kunden zu erleichtern. Der Erwerb dieser Garantie bedeutet nicht, dass Sie automatisch eine Rückerstattung für irgendwelche Produkte oder Versandkosten erhalten, da der Lösungsprozess und die Entscheidung über eine Kompensation strikt von der Marke, bei der Sie kaufen, entschieden werden. Die Marke wird einen Nachweis für Beschädigungen oder die Nichtlieferung des Produkts verlangen."},links:{terms:"Servicebedingungen",privacy:"Datenschutzrichtlinie"}}},Ae=Object.freeze(Object.defineProperty({__proto__:null,actions:$e,default:Se,description:we,footer:xe,loading:_e,title:Ce},Symbol.toStringTag,{value:"Module"})),Le="Cargando el widget ShipAid...",Pe="Garantía de entrega",ke="en caso de Pérdida, Daño o Robo",Ee={button:"Energizado por"},ze={add:"Agregar",remove:"Eliminar",loading:"Cargando..."},Me={loading:Le,title:Pe,description:ke,footer:Ee,actions:ze,"learn-more-popup":{close:"Cerca",title:"Garantía de entrega",disclaimer:{"subtitle-enable":"Permitimos que sus marcas favoritas brinden una garantía de entrega porque sabemos que cada pedido es valioso y las cosas suceden!","subtitle-monitor":"Supervisamos continuamente su paquete y le ofrecemos un portal conveniente para que pueda realizar un seguimiento del progreso de su pedido en cualquier momento.","subtitle-notify":"Se le notificará durante todo el proceso de envío, asegurándose de que esté actualizado en cada paso del camino.","subtitle-resolution":"En caso de cualquier problema durante el tránsito, ofrecemos un método rápido y fácil para informar el problema directamente a la marca, para una resolución rápida.",text:"Al comprar esta garantía de entrega, acepta nuestros Términos de servicio y Política de privacidad. Usted no está obligado a comprar esta garantía. Esta garantía NO es un seguro y no brinda indemnización por pérdida, daño o responsabilidad que surja de un evento contingente o desconocido, sino que, a través de las marcas de ShipAid, brinda una garantía de entrega mediante la cual, si el producto que ordenó no se entrega en condiciones satisfactorias, la marca desde el que ordenó el producto puede reemplazar el producto sin cargo. ShipAid no proporciona ningún producto o servicio directamente a los consumidores, sino que proporciona un servicio que permite a las marcas facilitar el reemplazo de productos a sus clientes. La compra de esta garantía no significa que se le reembolsará automáticamente cualquier producto o costo de envío porque el proceso de resolución y la decisión de compensación lo decide estrictamente la marca a la que le compra. La marca requerirá prueba de daño o producto no entregado."},links:{terms:"Términos de servicio",privacy:"Política de Privacidad"}}},Ie=Object.freeze(Object.defineProperty({__proto__:null,actions:ze,default:Me,description:ke,footer:Ee,loading:Le,title:Pe},Symbol.toStringTag,{value:"Module"})),qe="Chargement du widget ShipAid...",Te="Garantie de livraison",Ne="en cas de Perte, Dommages ou Vol",je={button:"Propulsé par"},Oe={add:"Ajouter",remove:"Retirer",loading:"Chargement..."},Ve={loading:qe,title:Te,description:Ne,footer:je,actions:Oe,"learn-more-popup":{close:"Fermer",title:"Garantie de livraison",subtitle:"Nous permettons à vos marques préférées d'offrir une garantie de livraison car chaque commande est précieuse !",disclaimer:{"subtitle-enable":"Nous permettons à vos marques préférées de fournir une garantie de livraison car nous savons que chaque commande est précieuse et que des incidents peuvent survenir !","subtitle-monitor":"Nous surveillons continuellement votre colis et offrons un portail pratique pour vous permettre de suivre l'avancement de votre commande à tout moment !","subtitle-notify":"Vous serez notifié tout au long du processus d'expédition, vous assurant que vous restez informé à chaque étape du parcours.","subtitle-resolution":"Vous serez notifié tout au long du processus d'expédition, vous assurant que vous restez informé à chaque étape du parcours.",text:"En acquérant cette garantie de livraison, vous acceptez nos Conditions de Service et notre Politique de Confidentialité. Cette garantie n'est pas obligatoire, N'EST PAS une assurance et ne fournit pas d'indemnisation pour les pertes, dommages ou responsabilités résultant d'un événement contingent ou inconnu. Si le produit n'est pas livré dans des conditions satisfaisantes, la marque auprès de laquelle vous avez acheté peut le remplacer gratuitement. ShipAid ne fournit aucun produit ou service directement aux consommateurs, mais offre un service permettant aux marques de faciliter le remplacement du produit pour leurs clients. L'achat de cette garantie ne signifie pas que vous serez automatiquement remboursé pour tout produit ou frais de port, car le processus de résolution et la décision de compensation sont strictement décidés par la marque que vous achetez. La marque exigera une preuve de dommage ou de produit non livré."},links:{terms:"Conditions de service",privacy:"Politique de Confidentialité"}}},Re=Object.freeze(Object.defineProperty({__proto__:null,actions:Oe,default:Ve,description:Ne,footer:je,loading:qe,title:Te},Symbol.toStringTag,{value:"Module"})),Ue="Caricamento del widget ShipAid...",De="Garanzia di consegna",Fe="in caso di Perdita, Danno o Furto",Be={button:"Offerto da"},He={add:"Aggiungere",remove:"Rimuovere",loading:"Caricamento ..."},We={loading:Ue,title:De,description:Fe,footer:Be,actions:He,"learn-more-popup":{close:"Vicina",title:"Garanzia di consegna",subtitle:"Consentiamo ai tuoi marchi preferiti di offrire una garanzia di consegna perché ogni ordine è prezioso!",disclaimer:{"subtitle-enable":"Consentiamo ai tuoi marchi preferiti di fornire una garanzia di consegna perché sappiamo che ogni ordine è prezioso e le cose accadono!","subtitle-monitor":"Monitoriamo continuamente il tuo pacco e ti offriamo un comodo portale per monitorare lo stato di avanzamento del tuo ordine in qualsiasi momento!","subtitle-notify":"Riceverai una notifica durante l'intero processo di spedizione, assicurandoti di rimanere aggiornato in ogni fase del processo.","subtitle-resolution":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.",text:"Acquistando questa garanzia di consegna, accetti i nostri Termini di servizio e l'Informativa sulla privacy. Non sei obbligato ad acquistare questa garanzia. Questa garanzia NON è un'assicurazione e non fornisce un indennizzo contro perdite, danni o responsabilità derivanti da un evento contingente o sconosciuto, ma piuttosto, attraverso ShipAid i marchi forniscono una garanzia di consegna in base alla quale se il prodotto ordinato non viene consegnato in condizioni soddisfacenti, il marchio da cui hai ordinato il prodotto può sostituire il prodotto gratuitamente. ShipAid non fornisce alcun prodotto o servizio direttamente ai consumatori, ma fornisce invece un servizio che consente ai marchi di facilitare la sostituzione del prodotto ai propri clienti. L'acquisto di questa garanzia non significa che verrai automaticamente rimborsato per qualsiasi prodotto o costo di spedizione perché il processo di risoluzione e la decisione per il risarcimento sono rigorosamente decisi dal marchio da cui stai acquistando. Il marchio richiederà la prova del danno o del prodotto non consegnato."},links:{terms:"Termini di servizio",privacy:"Politica sulla riservatezza"}}},Ze=Object.freeze(Object.defineProperty({__proto__:null,actions:He,default:We,description:Fe,footer:Be,loading:Ue,title:De},Symbol.toStringTag,{value:"Module"})),Ge="Carregando o widget ShipAid...",Qe="Garantia de entrega",Ke="em caso de Perda, Danos ou Roubo",Ye={button:"Distribuído por"},Je={add:"Adicionar",remove:"Remover",loading:"Carregando..."},Xe={loading:Ge,title:Qe,description:Ke,footer:Ye,actions:Je,"learn-more-popup":{close:"Fechar",title:"Garantia de entrega",subtitle:"Capacitamos suas marcas favoritas para oferecer uma garantia de entrega porque cada pedido é precioso!",disclaimer:{"subtitle-enable":"Permitimos que suas marcas favoritas forneçam uma garantia de entrega porque sabemos que cada pedido é precioso e as coisas acontecem!","subtitle-monitor":"Monitoramos continuamente o seu pacote e oferecemos um portal conveniente para você acompanhar o andamento do seu pedido a qualquer momento!","subtitle-notify":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.","subtitle-resolution":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.",text:"Ao adquirir esta garantia de entrega, você concorda com nossos Termos de Serviço e Política de Privacidade. Esta garantia não é obrigatória, NÃO é um seguro e não fornece indenização contra perdas, danos ou responsabilidade decorrentes de um contingente ou desconhecido. Caso o produto não seja entregue em condições satisfatórias, a marca da qual você comprou pode substituí-lo gratuitamente. A ShipAid não fornece nenhum produto ou serviço diretamente aos consumidores, mas sim presta um serviço que permite às marcas facilitar a substituição do produto aos seus clientes. Adquirir esta garantia não significa que você será automaticamente reembolsado por qualquer produto ou custos de envio porque o processo de resolução e decisão de compensação é estritamente decidido pela marca que você está comprando. A marca exigirá prova de danos ou produto não entregue."},links:{terms:"Termos de serviço",privacy:"Política de Privacidade"}}},ti=Object.freeze(Object.defineProperty({__proto__:null,actions:Je,default:Xe,description:Ke,footer:Ye,loading:Ge,title:Qe},Symbol.toStringTag,{value:"Module"}));t.ShipAidWidget=be,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
|
|
1295
|
+
`}};be.styles=ne;let ye=be;de([n({type:String,attribute:!0})],ye.prototype,"env"),de([n({type:Boolean,attribute:!0})],ye.prototype,"useCustomStoreFront"),de([n({type:String,attribute:!0})],ye.prototype,"storeDomain"),de([n({type:String,attribute:!0})],ye.prototype,"storeAccessToken"),de([n({type:String,attribute:!0})],ye.prototype,"cartId"),de([n({type:Boolean,attribute:!0})],ye.prototype,"disablePolling"),de([n({type:Boolean,attribute:!0})],ye.prototype,"disableActions"),de([n({type:Number,attribute:!0})],ye.prototype,"pollingInterval"),de([n({type:Boolean,attribute:!0})],ye.prototype,"disableRefresh"),de([n({type:Boolean,attribute:!0})],ye.prototype,"refreshCart"),de([n({type:Boolean,attribute:!0})],ye.prototype,"persistPopup"),de([n({type:Boolean,attribute:!0})],ye.prototype,"defaultToggleButton"),de([n({type:String,attribute:!0})],ye.prototype,"lang"),de([n({type:String,attribute:!0})],ye.prototype,"currency"),de([n({type:String,attribute:!0})],ye.prototype,"customerId"),de([n({type:Boolean,attribute:!0})],ye.prototype,"supportSubscriptions"),de([s()],ye.prototype,"_storeDomain"),de([s()],ye.prototype,"_store"),de([s()],ye.prototype,"_cart"),de([s()],ye.prototype,"_protectionProduct"),de([s()],ye.prototype,"_cartLastUpdated"),de([s()],ye.prototype,"_hasFinishedSetup"),de([s()],ye.prototype,"_shouldShowWidget"),de([s()],ye.prototype,"_hasProtectionInCart"),de([s()],ye.prototype,"_protectionCartItem"),de([s()],ye.prototype,"_protectionVariant"),de([s()],ye.prototype,"hasLoadedStrings"),de([s()],ye.prototype,"fetchInterceptorCleanup"),de([s()],ye.prototype,"intervalId"),de([s()],ye.prototype,"_state"),de([s()],ye.prototype,"_popup"),customElements.get("shipaid-widget")||customElements.define("shipaid-widget",ye);const _e="Laden des ShipAid-Widgets...",Ce="Liefergarantie",we="im Falle von Verlust, Beschädigung oder Diebstahl",xe={button:"Bereitgestellt von"},$e={add:"Hinzufügen",remove:"Entfernen",loading:"Lädt..."},Se={loading:_e,title:Ce,description:we,footer:xe,actions:$e,"learn-more-popup":{close:"Schließen",title:"Liefergarantie",subtitle:"Wir ermöglichen es Ihren Lieblingsmarken, eine Liefergarantie anzubieten, weil jede Bestellung wertvoll ist!",disclaimer:{"subtitle-enable":"Wir ermöglichen es Ihren Lieblingsmarken, eine Liefergarantie zu bieten, denn wir wissen, dass jede Bestellung wertvoll ist und Dinge passieren können!","subtitle-monitor":"Wir überwachen Ihr Paket kontinuierlich und bieten ein praktisches Portal, damit Sie den Fortschritt Ihrer Bestellung jederzeit verfolgen können!","subtitle-notify":"Sie werden während des gesamten Versandprozesses benachrichtigt, um sicherzustellen, dass Sie auf dem Laufenden bleiben.","subtitle-resolution":"Sie werden während des gesamten Versandprozesses benachrichtigt, um sicherzustellen, dass Sie auf dem Laufenden bleiben.",text:"Durch den Erwerb dieser Liefergarantie stimmen Sie unseren Servicebedingungen und Datenschutzrichtlinien zu. Diese Garantie ist nicht verpflichtend, IST KEINE Versicherung und bietet keine Entschädigung für Verluste, Schäden oder Haftungen, die aus einem zufälligen oder unbekannten Ereignis resultieren. Sollte das Produkt nicht in zufriedenstellendem Zustand geliefert werden, kann die Marke, bei der Sie gekauft haben, dieses kostenlos ersetzen. ShipAid liefert keine Produkte oder Dienstleistungen direkt an Verbraucher, sondern bietet einen Dienst an, der Marken ermöglicht, den Produktersatz für ihre Kunden zu erleichtern. Der Erwerb dieser Garantie bedeutet nicht, dass Sie automatisch eine Rückerstattung für irgendwelche Produkte oder Versandkosten erhalten, da der Lösungsprozess und die Entscheidung über eine Kompensation strikt von der Marke, bei der Sie kaufen, entschieden werden. Die Marke wird einen Nachweis für Beschädigungen oder die Nichtlieferung des Produkts verlangen."},links:{terms:"Servicebedingungen",privacy:"Datenschutzrichtlinie"}}},Ae=Object.freeze(Object.defineProperty({__proto__:null,actions:$e,default:Se,description:we,footer:xe,loading:_e,title:Ce},Symbol.toStringTag,{value:"Module"})),Le="Cargando el widget ShipAid...",ke="Garantía de entrega",Pe="en caso de Pérdida, Daño o Robo",ze={button:"Energizado por"},Ee={add:"Agregar",remove:"Eliminar",loading:"Cargando..."},Me={loading:Le,title:ke,description:Pe,footer:ze,actions:Ee,"learn-more-popup":{close:"Cerca",title:"Garantía de entrega",disclaimer:{"subtitle-enable":"Permitimos que sus marcas favoritas brinden una garantía de entrega porque sabemos que cada pedido es valioso y las cosas suceden!","subtitle-monitor":"Supervisamos continuamente su paquete y le ofrecemos un portal conveniente para que pueda realizar un seguimiento del progreso de su pedido en cualquier momento.","subtitle-notify":"Se le notificará durante todo el proceso de envío, asegurándose de que esté actualizado en cada paso del camino.","subtitle-resolution":"En caso de cualquier problema durante el tránsito, ofrecemos un método rápido y fácil para informar el problema directamente a la marca, para una resolución rápida.",text:"Al comprar esta garantía de entrega, acepta nuestros Términos de servicio y Política de privacidad. Usted no está obligado a comprar esta garantía. Esta garantía NO es un seguro y no brinda indemnización por pérdida, daño o responsabilidad que surja de un evento contingente o desconocido, sino que, a través de las marcas de ShipAid, brinda una garantía de entrega mediante la cual, si el producto que ordenó no se entrega en condiciones satisfactorias, la marca desde el que ordenó el producto puede reemplazar el producto sin cargo. ShipAid no proporciona ningún producto o servicio directamente a los consumidores, sino que proporciona un servicio que permite a las marcas facilitar el reemplazo de productos a sus clientes. La compra de esta garantía no significa que se le reembolsará automáticamente cualquier producto o costo de envío porque el proceso de resolución y la decisión de compensación lo decide estrictamente la marca a la que le compra. La marca requerirá prueba de daño o producto no entregado."},links:{terms:"Términos de servicio",privacy:"Política de Privacidad"}}},Ie=Object.freeze(Object.defineProperty({__proto__:null,actions:Ee,default:Me,description:Pe,footer:ze,loading:Le,title:ke},Symbol.toStringTag,{value:"Module"})),qe="Chargement du widget ShipAid...",Te="Garantie de livraison",je="en cas de Perte, Dommages ou Vol",Ne={button:"Propulsé par"},Oe={add:"Ajouter",remove:"Retirer",loading:"Chargement..."},Ve={loading:qe,title:Te,description:je,footer:Ne,actions:Oe,"learn-more-popup":{close:"Fermer",title:"Garantie de livraison",subtitle:"Nous permettons à vos marques préférées d'offrir une garantie de livraison car chaque commande est précieuse !",disclaimer:{"subtitle-enable":"Nous permettons à vos marques préférées de fournir une garantie de livraison car nous savons que chaque commande est précieuse et que des incidents peuvent survenir !","subtitle-monitor":"Nous surveillons continuellement votre colis et offrons un portail pratique pour vous permettre de suivre l'avancement de votre commande à tout moment !","subtitle-notify":"Vous serez notifié tout au long du processus d'expédition, vous assurant que vous restez informé à chaque étape du parcours.","subtitle-resolution":"Vous serez notifié tout au long du processus d'expédition, vous assurant que vous restez informé à chaque étape du parcours.",text:"En acquérant cette garantie de livraison, vous acceptez nos Conditions de Service et notre Politique de Confidentialité. Cette garantie n'est pas obligatoire, N'EST PAS une assurance et ne fournit pas d'indemnisation pour les pertes, dommages ou responsabilités résultant d'un événement contingent ou inconnu. Si le produit n'est pas livré dans des conditions satisfaisantes, la marque auprès de laquelle vous avez acheté peut le remplacer gratuitement. ShipAid ne fournit aucun produit ou service directement aux consommateurs, mais offre un service permettant aux marques de faciliter le remplacement du produit pour leurs clients. L'achat de cette garantie ne signifie pas que vous serez automatiquement remboursé pour tout produit ou frais de port, car le processus de résolution et la décision de compensation sont strictement décidés par la marque que vous achetez. La marque exigera une preuve de dommage ou de produit non livré."},links:{terms:"Conditions de service",privacy:"Politique de Confidentialité"}}},Re=Object.freeze(Object.defineProperty({__proto__:null,actions:Oe,default:Ve,description:je,footer:Ne,loading:qe,title:Te},Symbol.toStringTag,{value:"Module"})),Ue="Caricamento del widget ShipAid...",De="Garanzia di consegna",Be="in caso di Perdita, Danno o Furto",Fe={button:"Offerto da"},He={add:"Aggiungere",remove:"Rimuovere",loading:"Caricamento ..."},We={loading:Ue,title:De,description:Be,footer:Fe,actions:He,"learn-more-popup":{close:"Vicina",title:"Garanzia di consegna",subtitle:"Consentiamo ai tuoi marchi preferiti di offrire una garanzia di consegna perché ogni ordine è prezioso!",disclaimer:{"subtitle-enable":"Consentiamo ai tuoi marchi preferiti di fornire una garanzia di consegna perché sappiamo che ogni ordine è prezioso e le cose accadono!","subtitle-monitor":"Monitoriamo continuamente il tuo pacco e ti offriamo un comodo portale per monitorare lo stato di avanzamento del tuo ordine in qualsiasi momento!","subtitle-notify":"Riceverai una notifica durante l'intero processo di spedizione, assicurandoti di rimanere aggiornato in ogni fase del processo.","subtitle-resolution":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.",text:"Acquistando questa garanzia di consegna, accetti i nostri Termini di servizio e l'Informativa sulla privacy. Non sei obbligato ad acquistare questa garanzia. Questa garanzia NON è un'assicurazione e non fornisce un indennizzo contro perdite, danni o responsabilità derivanti da un evento contingente o sconosciuto, ma piuttosto, attraverso ShipAid i marchi forniscono una garanzia di consegna in base alla quale se il prodotto ordinato non viene consegnato in condizioni soddisfacenti, il marchio da cui hai ordinato il prodotto può sostituire il prodotto gratuitamente. ShipAid non fornisce alcun prodotto o servizio direttamente ai consumatori, ma fornisce invece un servizio che consente ai marchi di facilitare la sostituzione del prodotto ai propri clienti. L'acquisto di questa garanzia non significa che verrai automaticamente rimborsato per qualsiasi prodotto o costo di spedizione perché il processo di risoluzione e la decisione per il risarcimento sono rigorosamente decisi dal marchio da cui stai acquistando. Il marchio richiederà la prova del danno o del prodotto non consegnato."},links:{terms:"Termini di servizio",privacy:"Politica sulla riservatezza"}}},Ze=Object.freeze(Object.defineProperty({__proto__:null,actions:He,default:We,description:Be,footer:Fe,loading:Ue,title:De},Symbol.toStringTag,{value:"Module"})),Ge="Laad ShipAid Widget...",Qe="Bezorggarantie",Ke="in geval van verlies, schade of diefstal",Je={button:"Aangedreven door"},Ye={add:"Toevoegen",remove:"Verwijderen",loading:"Bezig met laden..."},Xe={loading:Ge,title:Qe,description:Ke,footer:Je,actions:Ye,"learn-more-popup":{close:"Sluiten",title:"Bezorggarantie",disclaimer:{"subtitle-enable":"We stellen je favoriete merken in staat om een bezorggarantie te bieden omdat we weten dat elke bestelling belangrijk is en dingen kunnen gebeuren!","subtitle-monitor":"We monitoren je pakket continu en bieden een handig portaal om de voortgang van je bestelling op elk moment te volgen!","subtitle-notify":"Je wordt gedurende het gehele verzendproces op de hoogte gehouden, zodat je altijd op de hoogte bent van elke stap.","subtitle-resolution":"In geval van problemen tijdens het transport bieden we een snelle en gemakkelijke manier om het probleem direct bij het merk te melden, voor een snelle oplossing.",text:"Door deze bezorggarantie aan te schaffen, ga je akkoord met onze Servicevoorwaarden en Privacybeleid. Je bent niet verplicht om deze garantie aan te schaffen. Deze garantie is GEEN verzekering en biedt geen schadevergoeding voor verlies, schade of aansprakelijkheid als gevolg van een onvoorziene of onbekende gebeurtenis, maar biedt via ShipAid een bezorggarantie waarbij, als het product dat je hebt besteld niet in bevredigende staat wordt geleverd, het merk van wie je het product hebt besteld, het product gratis kan vervangen. ShipAid levert geen producten of diensten direct aan consumenten, maar biedt een dienst die merken in staat stelt om productvervanging aan hun klanten te faciliteren. Het kopen van deze garantie betekent niet automatisch dat je wordt vergoed voor product- of verzendkosten, aangezien het oplossingproces en de beslissing voor compensatie strikt wordt bepaald door het merk van wie je koopt. Het merk zal bewijs van schade of niet-geleverde producten vereisen."},links:{terms:"Servicevoorwaarden",privacy:"Privacybeleid"}}},ti=Object.freeze(Object.defineProperty({__proto__:null,actions:Ye,default:Xe,description:Ke,footer:Je,loading:Ge,title:Qe},Symbol.toStringTag,{value:"Module"})),ei="Carregando o widget ShipAid...",ii="Garantia de entrega",oi="em caso de Perda, Danos ou Roubo",ri={button:"Distribuído por"},ni={add:"Adicionar",remove:"Remover",loading:"Carregando..."},si={loading:ei,title:ii,description:oi,footer:ri,actions:ni,"learn-more-popup":{close:"Fechar",title:"Garantia de entrega",subtitle:"Capacitamos suas marcas favoritas para oferecer uma garantia de entrega porque cada pedido é precioso!",disclaimer:{"subtitle-enable":"Permitimos que suas marcas favoritas forneçam uma garantia de entrega porque sabemos que cada pedido é precioso e as coisas acontecem!","subtitle-monitor":"Monitoramos continuamente o seu pacote e oferecemos um portal conveniente para você acompanhar o andamento do seu pedido a qualquer momento!","subtitle-notify":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.","subtitle-resolution":"Você será notificado durante todo o processo de envio, garantindo que você fique atualizado a cada passo do caminho.",text:"Ao adquirir esta garantia de entrega, você concorda com nossos Termos de Serviço e Política de Privacidade. Esta garantia não é obrigatória, NÃO é um seguro e não fornece indenização contra perdas, danos ou responsabilidade decorrentes de um contingente ou desconhecido. Caso o produto não seja entregue em condições satisfatórias, a marca da qual você comprou pode substituí-lo gratuitamente. A ShipAid não fornece nenhum produto ou serviço diretamente aos consumidores, mas sim presta um serviço que permite às marcas facilitar a substituição do produto aos seus clientes. Adquirir esta garantia não significa que você será automaticamente reembolsado por qualquer produto ou custos de envio porque o processo de resolução e decisão de compensação é estritamente decidido pela marca que você está comprando. A marca exigirá prova de danos ou produto não entregue."},links:{terms:"Termos de serviço",privacy:"Política de Privacidade"}}},ai=Object.freeze(Object.defineProperty({__proto__:null,actions:ni,default:si,description:oi,footer:ri,loading:ei,title:ii},Symbol.toStringTag,{value:"Module"}));t.ShipAidWidget=ye,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
|