ui.shipaid.com 0.1.1 → 0.1.2
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.
|
@@ -2,11 +2,11 @@ var xt=Object.defineProperty,Ct=Object.defineProperties;var Pt=Object.getOwnProp
|
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2017 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
-
*/const
|
|
5
|
+
*/const kt=o=>t=>typeof t=="function"?((e,i)=>(window.customElements.define(e,i),i))(o,t):((e,i)=>{const{kind:r,elements:s}=i;return{kind:r,elements:s,finisher(n){window.customElements.define(e,n)}}})(o,t);/**
|
|
6
6
|
* @license
|
|
7
7
|
* Copyright 2017 Google LLC
|
|
8
8
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
9
|
-
*/const
|
|
9
|
+
*/const Nt=(o,t)=>t.kind==="method"&&t.descriptor&&!("value"in t.descriptor)?b(A({},t),{finisher(e){e.createProperty(t.key,o)}}):{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:t.key,initializer(){typeof t.initializer=="function"&&(this[t.key]=t.initializer.call(this))},finisher(e){e.createProperty(t.key,o)}};function st(o){return(t,e)=>e!==void 0?((i,r,s)=>{r.constructor.createProperty(s,i)})(o,t,e):Nt(o,t)}/**
|
|
10
10
|
* @license
|
|
11
11
|
* Copyright 2017 Google LLC
|
|
12
12
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
@@ -26,7 +26,7 @@ var xt=Object.defineProperty,Ct=Object.defineProperties;var Pt=Object.getOwnProp
|
|
|
26
26
|
* @license
|
|
27
27
|
* Copyright 2017 Google LLC
|
|
28
28
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
29
|
-
*/var J;const x=globalThis.trustedTypes,lt=x?x.createPolicy("lit-html",{createHTML:o=>o}):void 0,y=`lit$${(Math.random()+"").slice(9)}$`,ut="?"+y,zt=`<${ut}>`,C=document,
|
|
29
|
+
*/var J;const x=globalThis.trustedTypes,lt=x?x.createPolicy("lit-html",{createHTML:o=>o}):void 0,y=`lit$${(Math.random()+"").slice(9)}$`,ut="?"+y,zt=`<${ut}>`,C=document,N=(o="")=>C.createComment(o),O=o=>o===null||typeof o!="object"&&typeof o!="function",ft=Array.isArray,Dt=o=>{var t;return ft(o)||typeof((t=o)===null||t===void 0?void 0:t[Symbol.iterator])=="function"},I=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,mt=/-->/g,vt=/>/g,E=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,_t=/'/g,gt=/"/g,yt=/^(?:script|style|textarea|title)$/i,Mt=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),P=Mt(1),T=Symbol.for("lit-noChange"),u=Symbol.for("lit-nothing"),$t=new WeakMap,Rt=(o,t,e)=>{var i,r;const s=(i=e==null?void 0:e.renderBefore)!==null&&i!==void 0?i:t;let n=s._$litPart$;if(n===void 0){const c=(r=e==null?void 0:e.renderBefore)!==null&&r!==void 0?r:null;s._$litPart$=n=new D(t.insertBefore(N(),c),c,void 0,e!=null?e:{})}return n._$AI(o),n},U=C.createTreeWalker(C,129,null,!1),Ft=(o,t)=>{const e=o.length-1,i=[];let r,s=t===2?"<svg>":"",n=I;for(let a=0;a<e;a++){const p=o[a];let l,h,d=-1,f=0;for(;f<p.length&&(n.lastIndex=f,h=n.exec(p),h!==null);)f=n.lastIndex,n===I?h[1]==="!--"?n=mt:h[1]!==void 0?n=vt:h[2]!==void 0?(yt.test(h[2])&&(r=RegExp("</"+h[2],"g")),n=E):h[3]!==void 0&&(n=E):n===E?h[0]===">"?(n=r!=null?r:I,d=-1):h[1]===void 0?d=-2:(d=n.lastIndex-h[2].length,l=h[1],n=h[3]===void 0?E:h[3]==='"'?gt:_t):n===gt||n===_t?n=E:n===mt||n===vt?n=I:(n=E,r=void 0);const $=n===E&&o[a+1].startsWith("/>")?" ":"";s+=n===I?p+zt:d>=0?(i.push(l),p.slice(0,d)+"$lit$"+p.slice(d)+y+$):p+y+(d===-2?(i.push(void 0),a):$)}const c=s+(o[e]||"<?>")+(t===2?"</svg>":"");if(!Array.isArray(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return[lt!==void 0?lt.createHTML(c):c,i]};class z{constructor({strings:t,_$litType$:e},i){let r;this.parts=[];let s=0,n=0;const c=t.length-1,a=this.parts,[p,l]=Ft(t,e);if(this.el=z.createElement(p,i),U.currentNode=this.el.content,e===2){const h=this.el.content,d=h.firstChild;d.remove(),h.append(...d.childNodes)}for(;(r=U.nextNode())!==null&&a.length<c;){if(r.nodeType===1){if(r.hasAttributes()){const h=[];for(const d of r.getAttributeNames())if(d.endsWith("$lit$")||d.startsWith(y)){const f=l[n++];if(h.push(d),f!==void 0){const $=r.getAttribute(f.toLowerCase()+"$lit$").split(y),w=/([.?@])?(.*)/.exec(f);a.push({type:1,index:s,name:w[2],strings:$,ctor:w[1]==="."?Vt:w[1]==="?"?qt:w[1]==="@"?Wt:M})}else a.push({type:6,index:s})}for(const d of h)r.removeAttribute(d)}if(yt.test(r.tagName)){const h=r.textContent.split(y),d=h.length-1;if(d>0){r.textContent=x?x.emptyScript:"";for(let f=0;f<d;f++)r.append(h[f],N()),U.nextNode(),a.push({type:2,index:++s});r.append(h[d],N())}}}else if(r.nodeType===8)if(r.data===ut)a.push({type:2,index:s});else{let h=-1;for(;(h=r.data.indexOf(y,h+1))!==-1;)a.push({type:7,index:s}),h+=y.length-1}s++}}static createElement(t,e){const i=C.createElement("template");return i.innerHTML=t,i}}function k(o,t,e=o,i){var r,s,n,c;if(t===T)return t;let a=i!==void 0?(r=e._$Cl)===null||r===void 0?void 0:r[i]:e._$Cu;const p=O(t)?void 0:t._$litDirective$;return(a==null?void 0:a.constructor)!==p&&((s=a==null?void 0:a._$AO)===null||s===void 0||s.call(a,!1),p===void 0?a=void 0:(a=new p(o),a._$AT(o,e,i)),i!==void 0?((n=(c=e)._$Cl)!==null&&n!==void 0?n:c._$Cl=[])[i]=a:e._$Cu=a),a!==void 0&&(t=k(o,a._$AS(o,t.values),a,i)),t}class jt{constructor(t,e){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var e;const{el:{content:i},parts:r}=this._$AD,s=((e=t==null?void 0:t.creationScope)!==null&&e!==void 0?e:C).importNode(i,!0);U.currentNode=s;let n=U.nextNode(),c=0,a=0,p=r[0];for(;p!==void 0;){if(c===p.index){let l;p.type===2?l=new D(n,n.nextSibling,this,t):p.type===1?l=new p.ctor(n,p.name,p.strings,this,t):p.type===6&&(l=new Jt(n,this,t)),this.v.push(l),p=r[++a]}c!==(p==null?void 0:p.index)&&(n=U.nextNode(),c++)}return s}m(t){let e=0;for(const i of this.v)i!==void 0&&(i.strings!==void 0?(i._$AI(t,i,e),e+=i.strings.length-2):i._$AI(t[e])),e++}}class D{constructor(t,e,i,r){var s;this.type=2,this._$AH=u,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=i,this.options=r,this._$Cg=(s=r==null?void 0:r.isConnected)===null||s===void 0||s}get _$AU(){var t,e;return(e=(t=this._$AM)===null||t===void 0?void 0:t._$AU)!==null&&e!==void 0?e:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&t.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=k(this,t,e),O(t)?t===u||t==null||t===""?(this._$AH!==u&&this._$AR(),this._$AH=u):t!==this._$AH&&t!==T&&this.$(t):t._$litType$!==void 0?this.T(t):t.nodeType!==void 0?this.k(t):Dt(t)?this.S(t):this.$(t)}A(t,e=this._$AB){return this._$AA.parentNode.insertBefore(t,e)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==u&&O(this._$AH)?this._$AA.nextSibling.data=t:this.k(C.createTextNode(t)),this._$AH=t}T(t){var e;const{values:i,_$litType$:r}=t,s=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=z.createElement(r.h,this.options)),r);if(((e=this._$AH)===null||e===void 0?void 0:e._$AD)===s)this._$AH.m(i);else{const n=new jt(s,this),c=n.p(this.options);n.m(i),this.k(c),this._$AH=n}}_$AC(t){let e=$t.get(t.strings);return e===void 0&&$t.set(t.strings,e=new z(t)),e}S(t){ft(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let i,r=0;for(const s of t)r===e.length?e.push(i=new D(this.A(N()),this.A(N()),this,this.options)):i=e[r],i._$AI(s),r++;r<e.length&&(this._$AR(i&&i._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){var i;for((i=this._$AP)===null||i===void 0||i.call(this,!1,!0,e);t&&t!==this._$AB;){const r=t.nextSibling;t.remove(),t=r}}setConnected(t){var e;this._$AM===void 0&&(this._$Cg=t,(e=this._$AP)===null||e===void 0||e.call(this,t))}}class M{constructor(t,e,i,r,s){this.type=1,this._$AH=u,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=s,i.length>2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=u}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,r){const s=this.strings;let n=!1;if(s===void 0)t=k(this,t,e,0),n=!O(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const c=t;let a,p;for(t=s[0],a=0;a<s.length-1;a++)p=k(this,c[i+a],e,a),p===T&&(p=this._$AH[a]),n||(n=!O(p)||p!==this._$AH[a]),p===u?t=u:t!==u&&(t+=(p!=null?p:"")+s[a+1]),this._$AH[a]=p}n&&!r&&this.C(t)}C(t){t===u?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t!=null?t:"")}}class Vt extends M{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===u?void 0:t}}const Bt=x?x.emptyScript:"";class qt extends M{constructor(){super(...arguments),this.type=4}C(t){t&&t!==u?this.element.setAttribute(this.name,Bt):this.element.removeAttribute(this.name)}}class Wt extends M{constructor(t,e,i,r,s){super(t,e,i,r,s),this.type=5}_$AI(t,e=this){var i;if((t=(i=k(this,t,e,0))!==null&&i!==void 0?i:u)===T)return;const r=this._$AH,s=t===u&&r!==u||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,n=t!==u&&(r===u||s);s&&this.element.removeEventListener(this.name,this,r),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e,i;typeof this._$AH=="function"?this._$AH.call((i=(e=this.options)===null||e===void 0?void 0:e.host)!==null&&i!==void 0?i:this.element,t):this._$AH.handleEvent(t)}}class Jt{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){k(this,t)}}const wt=window.litHtmlPolyfillSupport;wt==null||wt(z,D),((J=globalThis.litHtmlVersions)!==null&&J!==void 0?J:globalThis.litHtmlVersions=[]).push("2.2.0");/**
|
|
30
30
|
* @license
|
|
31
31
|
* Copyright 2017 Google LLC
|
|
32
32
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
@@ -327,4 +327,4 @@ var xt=Object.defineProperty,Ct=Object.defineProperties;var Pt=Object.getOwnProp
|
|
|
327
327
|
<div class="shipaid">
|
|
328
328
|
${Z(this._hasFinishedSetup,()=>{var i,r;return Z(((r=(i=this._store)==null?void 0:i.plan)==null?void 0:r.active)&&this._store.widgetShowCart,()=>[o,t],()=>P``)},()=>P`<p><slot>Loading ShipAid Widget...</slot></p>`)}
|
|
329
329
|
</div>
|
|
330
|
-
`}_currencyFormat(o){var t,e,i,r,s;return new Intl.NumberFormat((e=(t=window.Shopify)==null?void 0:t.locale)!=null?e:void 0,{currency:((i=this._store)==null?void 0:i.currency)||((s=(r=window.Shopify)==null?void 0:r.currency)==null?void 0:s.active)||"USD",style:"currency"}).format(Number(o))}_dispatchEvent(o,t={}){this.dispatchEvent(new CustomEvent(o,{bubbles:!0,composed:!0,detail:t}))}async calculateProtectionTotal(o){var r,s,n,c;if(o||(o=await this._fetchCart()),!o)throw new Error("Could not fetch cart.");const t=(r=this._store)==null?void 0:r.protectionSettings;if(!t||!t.product)throw new Error("Tried to find protection variant, but protection settings for this store are missing.");const e=((n=(s=o.items)==null?void 0:s.filter(a=>{var p,l,h;return(h=(l=(p=t.product)==null?void 0:p.variants)==null?void 0:l.edges)==null?void 0:h.some(({node:d})=>{var f;return(f=d==null?void 0:d.id)==null?void 0:f.includes(a.variant_id.toString())})}))!=null?n:[]).reduce((a,p)=>a+=p.final_line_price,0),i=o.total_price-e;if(t.protectionType==="FIXED"){if(!t.defaultFee)throw new Error("Missing default fee amount.");if(!((c=t.rules)!=null&&c.length))return t.defaultFee;const a=i/100,p=t.rules.sort((l,h)=>!l.rangeLower||!h.rangeLower?0:l.rangeLower-h.rangeLower).find(l=>{const h=Boolean(l.rangeLower&&l.rangeLower<a);return l.rangeUpper?h&&l.rangeUpper>=a:h});return typeof(p==null?void 0:p.fee)=="number"?p.fee:t.defaultFee}if(t.protectionType==="PERCENTAGE"){const a=i*t.percentage/100;return a>=t.minimumFee?a:t.minimumFee}throw new Error("No protection type handler found for this store.")}_findProtectionVariant(o){var e,i,r;const t=(e=this._store)==null?void 0:e.protectionSettings;if(!t||!((r=(i=t.product)==null?void 0:i.variants)!=null&&r.edges))throw new Error("Missing product and variants from protection settings.");return t.product.variants.edges.flatMap(({node:s})=>{if(!s||!s.price)return[];const n=Number(s.price);return[b(A({},s),{formattedPrice:n})]}).sort((s,n)=>s.formattedPrice-n.formattedPrice).find(s=>s.formattedPrice>=o)}_setState(o,t){this._state={loading:o==="loading",success:o==="success",error:o==="error"?t||!0:!1}}async _updateProtection(){return this._hasProtectionInCart?this.removeProtection():this.addProtection()}async _fetchShipAidData(){try{const o=new URL(window.location.href);o.pathname=this._apiEndpoint;const t=await this._fetch.get(o.toString());if(!t)throw new Error(`Failed to fetch store data for ${o.toString()}`);const[e]=t.stores;if(!e)throw new Error(`Could not find a store for this URL ${o.toString()}.`);return e}catch(o){throw console.error(o),new Error(`Could not find a store for ${this._storeDomain}`)}}async _fetchCart(){try{return await this._fetch.get("/cart.js")}catch(o){throw console.error(o),new Error("Could not fetch cart for current domain.")}}hasProtection(){return this._hasProtectionInCart}async updateCart(o){o||(o=await this._fetchCart()),this._cart=o}async addProtection(){var o,t;try{if(!this._store)throw new Error("Store has not been loaded.");if(!((o=this._cart)!=null&&o.items))throw new Error("Cart has not been loaded.");if(!((t=this._protectionVariant)!=null&&t.id))throw new Error("No protection variant found.");this._setState("loading");const
|
|
330
|
+
`}_currencyFormat(o){var t,e,i,r,s;return new Intl.NumberFormat((e=(t=window.Shopify)==null?void 0:t.locale)!=null?e:void 0,{currency:((i=this._store)==null?void 0:i.currency)||((s=(r=window.Shopify)==null?void 0:r.currency)==null?void 0:s.active)||"USD",style:"currency"}).format(Number(o))}_dispatchEvent(o,t={}){this.dispatchEvent(new CustomEvent(o,{bubbles:!0,composed:!0,detail:t}))}async calculateProtectionTotal(o){var r,s,n,c;if(o||(o=await this._fetchCart()),!o)throw new Error("Could not fetch cart.");const t=(r=this._store)==null?void 0:r.protectionSettings;if(!t||!t.product)throw new Error("Tried to find protection variant, but protection settings for this store are missing.");const e=((n=(s=o.items)==null?void 0:s.filter(a=>{var p,l,h;return(h=(l=(p=t.product)==null?void 0:p.variants)==null?void 0:l.edges)==null?void 0:h.some(({node:d})=>{var f;return(f=d==null?void 0:d.id)==null?void 0:f.includes(a.variant_id.toString())})}))!=null?n:[]).reduce((a,p)=>a+=p.final_line_price,0),i=o.total_price-e;if(t.protectionType==="FIXED"){if(!t.defaultFee)throw new Error("Missing default fee amount.");if(!((c=t.rules)!=null&&c.length))return t.defaultFee;const a=i/100,p=t.rules.sort((l,h)=>!l.rangeLower||!h.rangeLower?0:l.rangeLower-h.rangeLower).find(l=>{const h=Boolean(l.rangeLower&&l.rangeLower<a);return l.rangeUpper?h&&l.rangeUpper>=a:h});return typeof(p==null?void 0:p.fee)=="number"?p.fee:t.defaultFee}if(t.protectionType==="PERCENTAGE"){const a=i*t.percentage/100;return a>=t.minimumFee?a:t.minimumFee}throw new Error("No protection type handler found for this store.")}_findProtectionVariant(o){var e,i,r;const t=(e=this._store)==null?void 0:e.protectionSettings;if(!t||!((r=(i=t.product)==null?void 0:i.variants)!=null&&r.edges))throw new Error("Missing product and variants from protection settings.");return t.product.variants.edges.flatMap(({node:s})=>{if(!s||!s.price)return[];const n=Number(s.price);return[b(A({},s),{formattedPrice:n})]}).sort((s,n)=>s.formattedPrice-n.formattedPrice).find(s=>s.formattedPrice>=o)}_setState(o,t){this._state={loading:o==="loading",success:o==="success",error:o==="error"?t||!0:!1}}async _updateProtection(){return this._hasProtectionInCart?this.removeProtection():this.addProtection()}async _fetchShipAidData(){try{const o=new URL(window.location.href);o.pathname=this._apiEndpoint;const t=await this._fetch.get(o.toString());if(!t)throw new Error(`Failed to fetch store data for ${o.toString()}`);const[e]=t.stores;if(!e)throw new Error(`Could not find a store for this URL ${o.toString()}.`);return e}catch(o){throw console.error(o),new Error(`Could not find a store for ${this._storeDomain}`)}}async _fetchCart(){try{return await this._fetch.get("/cart.js")}catch(o){throw console.error(o),new Error("Could not fetch cart for current domain.")}}hasProtection(){return this._hasProtectionInCart}async updateCart(o){o||(o=await this._fetchCart()),this._cart=o}async addProtection(){var o,t,e;try{if(!this._store)throw new Error("Store has not been loaded.");if(!((o=this._cart)!=null&&o.items))throw new Error("Cart has not been loaded.");if(!((t=this._protectionVariant)!=null&&t.id))throw new Error("No protection variant found.");this._setState("loading");const i={id:this._protectionVariant.id.replace("gid://shopify/ProductVariant/",""),quantity:1},r=await this._fetch.post("/cart/add.js",i),s=b(A({},this._cart),{items:[r,...this._cart.items]});this._cart=s,this._setState("success"),this._dispatchEvent(L.STATUS_UPDATE,{protection:!0,cart:s,lineItem:r}),(e=window.Shopify)!=null&&e.Checkout&&window.location.reload()}catch(i){console.error(i),this._setState("error","Failed to add protection to cart - please try again, or contact us for help.")}}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 o={id:this._protectionCartItem.key,quantity:0},t=await this._fetch.post("/cart/change.js",o);this._dispatchEvent(L.STATUS_UPDATE,{protection:!1,cart:t,lineItem:this._protectionCartItem}),this._cart=t,this._setState("success")}catch(o){console.error(o),this._setState("error","Failed to add protection to cart - please try again, or contact us for help.")}}};m.styles=Xt,v([st({type:Number,attribute:!0,converter:o=>o?o==="false"?0:Number(o):ee})],m.prototype,"polling",2),v([_()],m.prototype,"_storeDomain",2),v([_()],m.prototype,"_store",2),v([_()],m.prototype,"_cart",2),v([_()],m.prototype,"_cartLastUpdated",2),v([_()],m.prototype,"_hasFinishedSetup",2),v([_()],m.prototype,"_hasProtectionInCart",2),v([_()],m.prototype,"_protectionCartItem",2),v([_()],m.prototype,"_protectionVariant",2),v([_()],m.prototype,"_state",2),v([_()],m.prototype,"_popup",2),m=v([kt("shipaid-widget")],m);export{m as ShipAidWidget};
|
|
@@ -340,4 +340,4 @@ function ft(t,e,i){return t?e():null==i?void 0:i()}var vt=((t,...e)=>{const i=1=
|
|
|
340
340
|
<div class="shipaid">
|
|
341
341
|
${ft(this._hasFinishedSetup,(()=>{var t,o;return ft((null==(o=null==(t=this._store)?void 0:t.plan)?void 0:o.active)&&this._store.widgetShowCart,(()=>[e,i]),(()=>V``))}),(()=>V`<p><slot>Loading ShipAid Widget...</slot></p>`))}
|
|
342
342
|
</div>
|
|
343
|
-
`}_currencyFormat(t){var e,i,o,r,s;return new Intl.NumberFormat(null!=(i=null==(e=window.Shopify)?void 0:e.locale)?i:void 0,{currency:(null==(o=this._store)?void 0:o.currency)||(null==(s=null==(r=window.Shopify)?void 0:r.currency)?void 0:s.active)||"USD",style:"currency"}).format(Number(t))}_dispatchEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}async calculateProtectionTotal(t){var e,i,o,r;if(t||(t=await this._fetchCart()),!t)throw new Error("Could not fetch cart.");const s=null==(e=this._store)?void 0:e.protectionSettings;if(!s||!s.product)throw new Error("Tried to find protection variant, but protection settings for this store are missing.");const n=(null!=(o=null==(i=t.items)?void 0:i.filter((t=>{var e,i,o;return null==(o=null==(i=null==(e=s.product)?void 0:e.variants)?void 0:i.edges)?void 0:o.some((({node:e})=>{var i;return null==(i=null==e?void 0:e.id)?void 0:i.includes(t.variant_id.toString())}))})))?o:[]).reduce(((t,e)=>t+e.final_line_price),0),a=t.total_price-n;if("FIXED"===s.protectionType){if(!s.defaultFee)throw new Error("Missing default fee amount.");if(null==(r=s.rules)||!r.length)return s.defaultFee;const t=a/100,e=s.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:s.defaultFee}if("PERCENTAGE"===s.protectionType){const t=a*s.percentage/100;return t>=s.minimumFee?t:s.minimumFee}throw new Error("No protection type handler found for this store.")}_findProtectionVariant(t){var e,i,o;const r=null==(e=this._store)?void 0:e.protectionSettings;if(!r||null==(o=null==(i=r.product)?void 0:i.variants)||!o.edges)throw new Error("Missing product and variants from protection settings.");return r.product.variants.edges.flatMap((({node:t})=>{if(!t||!t.price)return[];const e=Number(t.price);return[l(p({},t),{formattedPrice:e})]})).sort(((t,e)=>t.formattedPrice-e.formattedPrice)).find((e=>e.formattedPrice>=t))}_setState(t,e){this._state={loading:"loading"===t,success:"success"===t,error:"error"===t&&(e||!0)}}async _updateProtection(){return this._hasProtectionInCart?this.removeProtection():this.addProtection()}async _fetchShipAidData(){try{const t=new URL(window.location.href);t.pathname=this._apiEndpoint;const e=await this._fetch.get(t.toString());if(!e)throw new Error(`Failed to fetch store data for ${t.toString()}`);const[i]=e.stores;if(!i)throw new Error(`Could not find a store for this URL ${t.toString()}.`);return i}catch(Y){throw console.error(Y),new Error(`Could not find a store for ${this._storeDomain}`)}}async _fetchCart(){try{return await this._fetch.get("/cart.js")}catch(Y){throw console.error(Y),new Error("Could not fetch cart for current domain.")}}hasProtection(){return this._hasProtectionInCart}async updateCart(t){t||(t=await this._fetchCart()),this._cart=t}async addProtection(){var t,e;try{if(!this._store)throw new Error("Store has not been loaded.");if(null==(t=this._cart)||!t.items)throw new Error("Cart has not been loaded.");if(null==(e=this._protectionVariant)||!e.id)throw new Error("No protection variant found.");this._setState("loading");const
|
|
343
|
+
`}_currencyFormat(t){var e,i,o,r,s;return new Intl.NumberFormat(null!=(i=null==(e=window.Shopify)?void 0:e.locale)?i:void 0,{currency:(null==(o=this._store)?void 0:o.currency)||(null==(s=null==(r=window.Shopify)?void 0:r.currency)?void 0:s.active)||"USD",style:"currency"}).format(Number(t))}_dispatchEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}async calculateProtectionTotal(t){var e,i,o,r;if(t||(t=await this._fetchCart()),!t)throw new Error("Could not fetch cart.");const s=null==(e=this._store)?void 0:e.protectionSettings;if(!s||!s.product)throw new Error("Tried to find protection variant, but protection settings for this store are missing.");const n=(null!=(o=null==(i=t.items)?void 0:i.filter((t=>{var e,i,o;return null==(o=null==(i=null==(e=s.product)?void 0:e.variants)?void 0:i.edges)?void 0:o.some((({node:e})=>{var i;return null==(i=null==e?void 0:e.id)?void 0:i.includes(t.variant_id.toString())}))})))?o:[]).reduce(((t,e)=>t+e.final_line_price),0),a=t.total_price-n;if("FIXED"===s.protectionType){if(!s.defaultFee)throw new Error("Missing default fee amount.");if(null==(r=s.rules)||!r.length)return s.defaultFee;const t=a/100,e=s.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:s.defaultFee}if("PERCENTAGE"===s.protectionType){const t=a*s.percentage/100;return t>=s.minimumFee?t:s.minimumFee}throw new Error("No protection type handler found for this store.")}_findProtectionVariant(t){var e,i,o;const r=null==(e=this._store)?void 0:e.protectionSettings;if(!r||null==(o=null==(i=r.product)?void 0:i.variants)||!o.edges)throw new Error("Missing product and variants from protection settings.");return r.product.variants.edges.flatMap((({node:t})=>{if(!t||!t.price)return[];const e=Number(t.price);return[l(p({},t),{formattedPrice:e})]})).sort(((t,e)=>t.formattedPrice-e.formattedPrice)).find((e=>e.formattedPrice>=t))}_setState(t,e){this._state={loading:"loading"===t,success:"success"===t,error:"error"===t&&(e||!0)}}async _updateProtection(){return this._hasProtectionInCart?this.removeProtection():this.addProtection()}async _fetchShipAidData(){try{const t=new URL(window.location.href);t.pathname=this._apiEndpoint;const e=await this._fetch.get(t.toString());if(!e)throw new Error(`Failed to fetch store data for ${t.toString()}`);const[i]=e.stores;if(!i)throw new Error(`Could not find a store for this URL ${t.toString()}.`);return i}catch(Y){throw console.error(Y),new Error(`Could not find a store for ${this._storeDomain}`)}}async _fetchCart(){try{return await this._fetch.get("/cart.js")}catch(Y){throw console.error(Y),new Error("Could not fetch cart for current domain.")}}hasProtection(){return this._hasProtectionInCart}async updateCart(t){t||(t=await this._fetchCart()),this._cart=t}async addProtection(){var t,e,i;try{if(!this._store)throw new Error("Store has not been loaded.");if(null==(t=this._cart)||!t.items)throw new Error("Cart has not been loaded.");if(null==(e=this._protectionVariant)||!e.id)throw new Error("No protection variant found.");this._setState("loading");const o={id:this._protectionVariant.id.replace("gid://shopify/ProductVariant/",""),quantity:1},r=await this._fetch.post("/cart/add.js",o),s=l(p({},this._cart),{items:[r,...this._cart.items]});this._cart=s,this._setState("success"),this._dispatchEvent(mt.STATUS_UPDATE,{protection:!0,cart:s,lineItem:r}),null!=(i=window.Shopify)&&i.Checkout&&window.location.reload()}catch(o){console.error(o),this._setState("error","Failed to add protection to cart - please try again, or contact us for help.")}}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={id:this._protectionCartItem.key,quantity:0},e=await this._fetch.post("/cart/change.js",t);this._dispatchEvent(mt.STATUS_UPDATE,{protection:!1,cart:e,lineItem:this._protectionCartItem}),this._cart=e,this._setState("success")}catch(Y){console.error(Y),this._setState("error","Failed to add protection to cart - please try again, or contact us for help.")}}},t.ShipAidWidget.styles=vt,yt([h({type:Number,attribute:!0,converter:t=>t?"false"===t?0:Number(t):4e3})],t.ShipAidWidget.prototype,"polling",2),yt([c()],t.ShipAidWidget.prototype,"_storeDomain",2),yt([c()],t.ShipAidWidget.prototype,"_store",2),yt([c()],t.ShipAidWidget.prototype,"_cart",2),yt([c()],t.ShipAidWidget.prototype,"_cartLastUpdated",2),yt([c()],t.ShipAidWidget.prototype,"_hasFinishedSetup",2),yt([c()],t.ShipAidWidget.prototype,"_hasProtectionInCart",2),yt([c()],t.ShipAidWidget.prototype,"_protectionCartItem",2),yt([c()],t.ShipAidWidget.prototype,"_protectionVariant",2),yt([c()],t.ShipAidWidget.prototype,"_state",2),yt([c()],t.ShipAidWidget.prototype,"_popup",2),t.ShipAidWidget=yt([(t=>e=>{return"function"==typeof e?(i=t,o=e,window.customElements.define(i,o),o):((t,e)=>{const{kind:i,elements:o}=e;return{kind:i,elements:o,finisher(e){window.customElements.define(t,e)}}})(t,e);var i,o})("shipaid-widget")],t.ShipAidWidget),Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),t}({});
|
|
@@ -340,4 +340,4 @@ function ft(t,e,i){return t?e():null==i?void 0:i()}var vt=((t,...e)=>{const i=1=
|
|
|
340
340
|
<div class="shipaid">
|
|
341
341
|
${ft(this._hasFinishedSetup,(()=>{var t,o;return ft((null==(o=null==(t=this._store)?void 0:t.plan)?void 0:o.active)&&this._store.widgetShowCart,(()=>[e,i]),(()=>V``))}),(()=>V`<p><slot>Loading ShipAid Widget...</slot></p>`))}
|
|
342
342
|
</div>
|
|
343
|
-
`}_currencyFormat(t){var e,i,o,r,s;return new Intl.NumberFormat(null!=(i=null==(e=window.Shopify)?void 0:e.locale)?i:void 0,{currency:(null==(o=this._store)?void 0:o.currency)||(null==(s=null==(r=window.Shopify)?void 0:r.currency)?void 0:s.active)||"USD",style:"currency"}).format(Number(t))}_dispatchEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}async calculateProtectionTotal(t){var e,i,o,r;if(t||(t=await this._fetchCart()),!t)throw new Error("Could not fetch cart.");const s=null==(e=this._store)?void 0:e.protectionSettings;if(!s||!s.product)throw new Error("Tried to find protection variant, but protection settings for this store are missing.");const n=(null!=(o=null==(i=t.items)?void 0:i.filter((t=>{var e,i,o;return null==(o=null==(i=null==(e=s.product)?void 0:e.variants)?void 0:i.edges)?void 0:o.some((({node:e})=>{var i;return null==(i=null==e?void 0:e.id)?void 0:i.includes(t.variant_id.toString())}))})))?o:[]).reduce(((t,e)=>t+e.final_line_price),0),a=t.total_price-n;if("FIXED"===s.protectionType){if(!s.defaultFee)throw new Error("Missing default fee amount.");if(null==(r=s.rules)||!r.length)return s.defaultFee;const t=a/100,e=s.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:s.defaultFee}if("PERCENTAGE"===s.protectionType){const t=a*s.percentage/100;return t>=s.minimumFee?t:s.minimumFee}throw new Error("No protection type handler found for this store.")}_findProtectionVariant(t){var e,i,o;const r=null==(e=this._store)?void 0:e.protectionSettings;if(!r||null==(o=null==(i=r.product)?void 0:i.variants)||!o.edges)throw new Error("Missing product and variants from protection settings.");return r.product.variants.edges.flatMap((({node:t})=>{if(!t||!t.price)return[];const e=Number(t.price);return[l(p({},t),{formattedPrice:e})]})).sort(((t,e)=>t.formattedPrice-e.formattedPrice)).find((e=>e.formattedPrice>=t))}_setState(t,e){this._state={loading:"loading"===t,success:"success"===t,error:"error"===t&&(e||!0)}}async _updateProtection(){return this._hasProtectionInCart?this.removeProtection():this.addProtection()}async _fetchShipAidData(){try{const t=new URL(window.location.href);t.pathname=this._apiEndpoint;const e=await this._fetch.get(t.toString());if(!e)throw new Error(`Failed to fetch store data for ${t.toString()}`);const[i]=e.stores;if(!i)throw new Error(`Could not find a store for this URL ${t.toString()}.`);return i}catch(Y){throw console.error(Y),new Error(`Could not find a store for ${this._storeDomain}`)}}async _fetchCart(){try{return await this._fetch.get("/cart.js")}catch(Y){throw console.error(Y),new Error("Could not fetch cart for current domain.")}}hasProtection(){return this._hasProtectionInCart}async updateCart(t){t||(t=await this._fetchCart()),this._cart=t}async addProtection(){var t,e;try{if(!this._store)throw new Error("Store has not been loaded.");if(null==(t=this._cart)||!t.items)throw new Error("Cart has not been loaded.");if(null==(e=this._protectionVariant)||!e.id)throw new Error("No protection variant found.");this._setState("loading");const
|
|
343
|
+
`}_currencyFormat(t){var e,i,o,r,s;return new Intl.NumberFormat(null!=(i=null==(e=window.Shopify)?void 0:e.locale)?i:void 0,{currency:(null==(o=this._store)?void 0:o.currency)||(null==(s=null==(r=window.Shopify)?void 0:r.currency)?void 0:s.active)||"USD",style:"currency"}).format(Number(t))}_dispatchEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}async calculateProtectionTotal(t){var e,i,o,r;if(t||(t=await this._fetchCart()),!t)throw new Error("Could not fetch cart.");const s=null==(e=this._store)?void 0:e.protectionSettings;if(!s||!s.product)throw new Error("Tried to find protection variant, but protection settings for this store are missing.");const n=(null!=(o=null==(i=t.items)?void 0:i.filter((t=>{var e,i,o;return null==(o=null==(i=null==(e=s.product)?void 0:e.variants)?void 0:i.edges)?void 0:o.some((({node:e})=>{var i;return null==(i=null==e?void 0:e.id)?void 0:i.includes(t.variant_id.toString())}))})))?o:[]).reduce(((t,e)=>t+e.final_line_price),0),a=t.total_price-n;if("FIXED"===s.protectionType){if(!s.defaultFee)throw new Error("Missing default fee amount.");if(null==(r=s.rules)||!r.length)return s.defaultFee;const t=a/100,e=s.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:s.defaultFee}if("PERCENTAGE"===s.protectionType){const t=a*s.percentage/100;return t>=s.minimumFee?t:s.minimumFee}throw new Error("No protection type handler found for this store.")}_findProtectionVariant(t){var e,i,o;const r=null==(e=this._store)?void 0:e.protectionSettings;if(!r||null==(o=null==(i=r.product)?void 0:i.variants)||!o.edges)throw new Error("Missing product and variants from protection settings.");return r.product.variants.edges.flatMap((({node:t})=>{if(!t||!t.price)return[];const e=Number(t.price);return[l(p({},t),{formattedPrice:e})]})).sort(((t,e)=>t.formattedPrice-e.formattedPrice)).find((e=>e.formattedPrice>=t))}_setState(t,e){this._state={loading:"loading"===t,success:"success"===t,error:"error"===t&&(e||!0)}}async _updateProtection(){return this._hasProtectionInCart?this.removeProtection():this.addProtection()}async _fetchShipAidData(){try{const t=new URL(window.location.href);t.pathname=this._apiEndpoint;const e=await this._fetch.get(t.toString());if(!e)throw new Error(`Failed to fetch store data for ${t.toString()}`);const[i]=e.stores;if(!i)throw new Error(`Could not find a store for this URL ${t.toString()}.`);return i}catch(Y){throw console.error(Y),new Error(`Could not find a store for ${this._storeDomain}`)}}async _fetchCart(){try{return await this._fetch.get("/cart.js")}catch(Y){throw console.error(Y),new Error("Could not fetch cart for current domain.")}}hasProtection(){return this._hasProtectionInCart}async updateCart(t){t||(t=await this._fetchCart()),this._cart=t}async addProtection(){var t,e,i;try{if(!this._store)throw new Error("Store has not been loaded.");if(null==(t=this._cart)||!t.items)throw new Error("Cart has not been loaded.");if(null==(e=this._protectionVariant)||!e.id)throw new Error("No protection variant found.");this._setState("loading");const o={id:this._protectionVariant.id.replace("gid://shopify/ProductVariant/",""),quantity:1},r=await this._fetch.post("/cart/add.js",o),s=l(p({},this._cart),{items:[r,...this._cart.items]});this._cart=s,this._setState("success"),this._dispatchEvent(mt.STATUS_UPDATE,{protection:!0,cart:s,lineItem:r}),null!=(i=window.Shopify)&&i.Checkout&&window.location.reload()}catch(o){console.error(o),this._setState("error","Failed to add protection to cart - please try again, or contact us for help.")}}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={id:this._protectionCartItem.key,quantity:0},e=await this._fetch.post("/cart/change.js",t);this._dispatchEvent(mt.STATUS_UPDATE,{protection:!1,cart:e,lineItem:this._protectionCartItem}),this._cart=e,this._setState("success")}catch(Y){console.error(Y),this._setState("error","Failed to add protection to cart - please try again, or contact us for help.")}}},t.ShipAidWidget.styles=vt,yt([h({type:Number,attribute:!0,converter:t=>t?"false"===t?0:Number(t):4e3})],t.ShipAidWidget.prototype,"polling",2),yt([c()],t.ShipAidWidget.prototype,"_storeDomain",2),yt([c()],t.ShipAidWidget.prototype,"_store",2),yt([c()],t.ShipAidWidget.prototype,"_cart",2),yt([c()],t.ShipAidWidget.prototype,"_cartLastUpdated",2),yt([c()],t.ShipAidWidget.prototype,"_hasFinishedSetup",2),yt([c()],t.ShipAidWidget.prototype,"_hasProtectionInCart",2),yt([c()],t.ShipAidWidget.prototype,"_protectionCartItem",2),yt([c()],t.ShipAidWidget.prototype,"_protectionVariant",2),yt([c()],t.ShipAidWidget.prototype,"_state",2),yt([c()],t.ShipAidWidget.prototype,"_popup",2),t.ShipAidWidget=yt([(t=>e=>{return"function"==typeof e?(i=t,o=e,window.customElements.define(i,o),o):((t,e)=>{const{kind:i,elements:o}=e;return{kind:i,elements:o,finisher(e){window.customElements.define(t,e)}}})(t,e);var i,o})("shipaid-widget")],t.ShipAidWidget),Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
package/package.json
CHANGED