ui.shipaid.com 0.3.11 → 0.3.12
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/widget.es.js +156 -0
- package/dist/widget.iife.js +171 -15
- package/dist/widget.umd.js +171 -15
- package/package.json +1 -1
package/dist/widget.es.js
CHANGED
|
@@ -2358,6 +2358,162 @@ let ShipAidWidget = class extends s$1 {
|
|
|
2358
2358
|
);
|
|
2359
2359
|
D(this.learnMorePopupTemplate(), document.body);
|
|
2360
2360
|
return x`
|
|
2361
|
+
<style>
|
|
2362
|
+
:host {
|
|
2363
|
+
--shipaid-primary: #002bd6;
|
|
2364
|
+
--shipaid-secondary: #0076ff;
|
|
2365
|
+
--shipaid-danger: #f44336;
|
|
2366
|
+
--shipaid-text: #000000;
|
|
2367
|
+
--shipaid-text-muted: #cccccc;
|
|
2368
|
+
--shipaid-text-grey: #aaaaaa;
|
|
2369
|
+
--shipaid-light-grey: #ebecf0;
|
|
2370
|
+
--shipaid-font: "Lato", sans-serif;
|
|
2371
|
+
--shipaid-font-xxs: 11px;
|
|
2372
|
+
--shipaid-font-xs: 12px;
|
|
2373
|
+
--shipaid-font-sm: 14px;
|
|
2374
|
+
--shipaid-font-base: 16px;
|
|
2375
|
+
--shipaid-font-lg: 18px;
|
|
2376
|
+
--shipaid-font-regular: 400;
|
|
2377
|
+
--shipaid-font-heavy: 700;
|
|
2378
|
+
--shipaid-prompt-badge: #f2f7ff;
|
|
2379
|
+
}
|
|
2380
|
+
|
|
2381
|
+
* {
|
|
2382
|
+
font-family: var(--shipaid-font);
|
|
2383
|
+
}
|
|
2384
|
+
|
|
2385
|
+
p,
|
|
2386
|
+
a {
|
|
2387
|
+
font-weight: var(--shipaid-font-regular);
|
|
2388
|
+
font-size: var(--shipaid-font-base);
|
|
2389
|
+
color: var(--shipaid-text);
|
|
2390
|
+
}
|
|
2391
|
+
|
|
2392
|
+
.error {
|
|
2393
|
+
color: var(--shipaid-danger);
|
|
2394
|
+
font-size: var(--shipaid-font-sm);
|
|
2395
|
+
}
|
|
2396
|
+
|
|
2397
|
+
/* Widget */
|
|
2398
|
+
.shipaid-prompt {
|
|
2399
|
+
width: var(--shipaid-prompt-width, 300px);
|
|
2400
|
+
max-width: 100%;
|
|
2401
|
+
display: flex;
|
|
2402
|
+
flex-direction: column;
|
|
2403
|
+
gap: 0.5rem;
|
|
2404
|
+
margin: var(--shipaid-prompt-margin, 2rem 0px 4rem auto);
|
|
2405
|
+
}
|
|
2406
|
+
|
|
2407
|
+
@media (max-width: 600px) {
|
|
2408
|
+
.shipaid-prompt {
|
|
2409
|
+
width: var(--shipaid-prompt-width-mobile, 100%);
|
|
2410
|
+
}
|
|
2411
|
+
}
|
|
2412
|
+
|
|
2413
|
+
.shipaid-prompt p,
|
|
2414
|
+
.shipaid-prompt a {
|
|
2415
|
+
margin: 0;
|
|
2416
|
+
line-height: 1;
|
|
2417
|
+
}
|
|
2418
|
+
.shipaid-prompt .prompt-title {
|
|
2419
|
+
text-align: center;
|
|
2420
|
+
font-size: var(--shipaid-font-lg);
|
|
2421
|
+
font-weight: var(--shipaid-font-heavy);
|
|
2422
|
+
}
|
|
2423
|
+
.shipaid-prompt .prompt-product {
|
|
2424
|
+
display: flex;
|
|
2425
|
+
flex-direction: row;
|
|
2426
|
+
gap: 0.5rem;
|
|
2427
|
+
margin-top: 1rem;
|
|
2428
|
+
}
|
|
2429
|
+
.shipaid-prompt .prompt-product .prompt-product-image {
|
|
2430
|
+
position: relative;
|
|
2431
|
+
}
|
|
2432
|
+
.shipaid-prompt .prompt-product .prompt-product-image svg {
|
|
2433
|
+
height: var(--shipaid-logo-height, 35px);
|
|
2434
|
+
max-height: var(--shipaid-logo-max-height, 35px);
|
|
2435
|
+
width: var(--shipaid-logo-width, auto);
|
|
2436
|
+
max-width: var(--shipaid-logo-max-width, 50px);
|
|
2437
|
+
}
|
|
2438
|
+
.shipaid-prompt
|
|
2439
|
+
.prompt-product
|
|
2440
|
+
.prompt-product-details
|
|
2441
|
+
.prompt-product-details-title {
|
|
2442
|
+
text-align: left;
|
|
2443
|
+
font-size: var(--shipaid-font-lg);
|
|
2444
|
+
font-weight: var(--shipaid-font-heavy);
|
|
2445
|
+
}
|
|
2446
|
+
.shipaid-prompt
|
|
2447
|
+
.prompt-product
|
|
2448
|
+
.prompt-product-details
|
|
2449
|
+
.prompt-product-details-description {
|
|
2450
|
+
font-size: var(--shipaid-font-xxs);
|
|
2451
|
+
margin-top: var(--shipaid-prompt-product-description-margin, 0.65rem);
|
|
2452
|
+
}
|
|
2453
|
+
.shipaid-prompt .prompt-product .prompt-product-actions {
|
|
2454
|
+
margin-left: auto;
|
|
2455
|
+
display: flex;
|
|
2456
|
+
flex-direction: column;
|
|
2457
|
+
justify-content: space-between;
|
|
2458
|
+
text-align: right;
|
|
2459
|
+
min-width: 55px;
|
|
2460
|
+
}
|
|
2461
|
+
.shipaid-prompt
|
|
2462
|
+
.prompt-product
|
|
2463
|
+
.prompt-product-actions
|
|
2464
|
+
.prompt-product-actions-price {
|
|
2465
|
+
color: var(--shipaid-prompt-actions-price-color, var(--shipaid-text-muted));
|
|
2466
|
+
font-size: var(--shipaid-font-base);
|
|
2467
|
+
}
|
|
2468
|
+
.shipaid-prompt
|
|
2469
|
+
.prompt-product
|
|
2470
|
+
.prompt-product-actions
|
|
2471
|
+
.prompt-product-actions-button {
|
|
2472
|
+
background-color: transparent;
|
|
2473
|
+
border: none;
|
|
2474
|
+
color: var(--shipaid-prompt-actions-button-color, var(--shipaid-primary));
|
|
2475
|
+
text-transform: uppercase;
|
|
2476
|
+
font-weight: var(--shipaid-font-heavy);
|
|
2477
|
+
cursor: pointer;
|
|
2478
|
+
padding: 6px 0;
|
|
2479
|
+
text-align: right;
|
|
2480
|
+
}
|
|
2481
|
+
.shipaid-prompt .prompt-footer {
|
|
2482
|
+
display: flex;
|
|
2483
|
+
flex-direction: row;
|
|
2484
|
+
justify-content: flex-start;
|
|
2485
|
+
align-items: center;
|
|
2486
|
+
}
|
|
2487
|
+
.shipaid-prompt .prompt-footer .prompt-footer-about {
|
|
2488
|
+
color: var(--shipaid-text);
|
|
2489
|
+
cursor: pointer;
|
|
2490
|
+
font-size: 10px;
|
|
2491
|
+
background-color: transparent;
|
|
2492
|
+
cursor: pointer;
|
|
2493
|
+
border: 1px solid var(--shipaid-text);
|
|
2494
|
+
border-radius: 10px;
|
|
2495
|
+
margin-left: 0.5rem;
|
|
2496
|
+
}
|
|
2497
|
+
.shipaid-prompt .prompt-footer .prompt-footer-badge {
|
|
2498
|
+
background-color: var(
|
|
2499
|
+
--shipaid-prompt-badge-background-color,
|
|
2500
|
+
var(--shipaid-prompt-badge)
|
|
2501
|
+
);
|
|
2502
|
+
color: var(--shipaid-prompt-badge-text-color, var(--shipaid-text));
|
|
2503
|
+
padding: 0.2rem 1rem;
|
|
2504
|
+
border-radius: 30px;
|
|
2505
|
+
cursor: pointer;
|
|
2506
|
+
text-decoration: none;
|
|
2507
|
+
font-size: var(--shipaid-font-xs);
|
|
2508
|
+
display: inline-flex;
|
|
2509
|
+
align-items: center;
|
|
2510
|
+
gap: 0.8rem;
|
|
2511
|
+
white-space: nowrap;
|
|
2512
|
+
}
|
|
2513
|
+
.shipaid-prompt .prompt-footer .prompt-footer-badge svg {
|
|
2514
|
+
height: 9px;
|
|
2515
|
+
}
|
|
2516
|
+
</style>
|
|
2361
2517
|
<div class="shipaid">
|
|
2362
2518
|
${n(
|
|
2363
2519
|
this._hasFinishedSetup,
|
package/dist/widget.iife.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var ShipAidWidget=function(t){"use strict";const e={calculateProtectionTotal:function(t,e,i){var o,r,s;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";const e={calculateProtectionTotal:function(t,e,i){var o,r,s;if(!t)throw new Error("Missing store settings.");if(!e)throw new Error("Missing protectionProduct.");if(!i)throw new Error("Missing Shopify cart.");const a=null==t?void 0:t.protectionSettings;if(!a)throw new Error("Tried to find protection variant, but protection settings for this store are missing.");const n=Array.isArray(null==t?void 0:t.excludedProductSkus)?null==t?void 0:t.excludedProductSkus.map((t=>t.trim())):[],p=((null==(o=i.items)?void 0:o.reduce(((t,e)=>{if(!e.sku)return t;return n.some((t=>t===e.sku.trim()))?t-e.final_line_price:t}),i.total_price))??i.total_price)-((null==(r=i.items)?void 0:r.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("FIXED"===a.protectionType){if("number"!=typeof a.defaultFee)throw new Error("Missing default fee amount.");if(!(null==(s=a.rules)?void 0:s.length))return a.defaultFee;const t=p/100,e=a.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:a.defaultFee}if("PERCENTAGE"===a.protectionType){const t=p*a.percentage/100;return t>=a.minimumFee?t:a.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)),s=r.find((t=>t.formattedPrice>=i));return s||r[r.length-1]}},i=t=>e=>{return"function"==typeof e?(i=t,o=e,customElements.define(i,o),o):((t,e)=>{const{kind:i,elements:o}=e;return{kind:i,elements:o,finisher(e){customElements.define(t,e)}}})(t,e);
|
|
2
2
|
/**
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2017 Google LLC
|
|
@@ -13,55 +13,55 @@ var ShipAidWidget=function(t){"use strict";const e={calculateProtectionTotal:fun
|
|
|
13
13
|
* @license
|
|
14
14
|
* Copyright 2017 Google LLC
|
|
15
15
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
16
|
-
*/function
|
|
16
|
+
*/function a(t){return s({...t,state:!0})}
|
|
17
17
|
/**
|
|
18
18
|
* @license
|
|
19
19
|
* Copyright 2021 Google LLC
|
|
20
20
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
21
|
-
*/var
|
|
21
|
+
*/var n;null===(n=window.HTMLSlotElement)||void 0===n||n.prototype.assignedElements;
|
|
22
22
|
/**
|
|
23
23
|
* @license
|
|
24
24
|
* Copyright 2019 Google LLC
|
|
25
25
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
26
26
|
*/
|
|
27
|
-
const
|
|
27
|
+
const p=window,d=p.ShadowRoot&&(void 0===p.ShadyCSS||p.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,l=Symbol(),c=new WeakMap;let h=class{constructor(t,e,i){if(this._$cssResult$=!0,i!==l)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(d&&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 u=(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 h(i,t,l)},m=d?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new h("string"==typeof t?t:t+"",void 0,l))(e)})(t):t
|
|
28
28
|
/**
|
|
29
29
|
* @license
|
|
30
30
|
* Copyright 2017 Google LLC
|
|
31
31
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
32
|
-
*/;var
|
|
32
|
+
*/;var f;const g=window,v=g.trustedTypes,_=v?v.emptyScript:"",y=g.reactiveElementPolyfillSupport,C={toAttribute(t,e){switch(e){case Boolean:t=t?_: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}},b=(t,e)=>e!==t&&(e==e||t==t),w={attribute:!0,type:String,converter:C,reflect:!1,hasChanged:b},$="finalized";let x=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($))return!1;this[$]=!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)=>{d?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),o=p.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 s=(void 0!==(null===(o=i.converter)||void 0===o?void 0:o.toAttribute)?i.converter:C).toAttribute(e,i.type);this._$El=t,null==s?this.removeAttribute(r):this.setAttribute(r,s),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),s="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:C;this._$El=r,this[r]=s.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let o=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||b)(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){}};
|
|
33
33
|
/**
|
|
34
34
|
* @license
|
|
35
35
|
* Copyright 2017 Google LLC
|
|
36
36
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
37
37
|
*/
|
|
38
|
-
var
|
|
38
|
+
var A;x[$]=!0,x.elementProperties=new Map,x.elementStyles=[],x.shadowRootOptions={mode:"open"},null==y||y({ReactiveElement:x}),(null!==(f=g.reactiveElementVersions)&&void 0!==f?f:g.reactiveElementVersions=[]).push("1.6.3");const L=window,S=L.trustedTypes,E=S?S.createPolicy("lit-html",{createHTML:t=>t}):void 0,P="$lit$",z=`lit$${(Math.random()+"").slice(9)}$`,M="?"+z,k=`<${M}>`,T=document,O=()=>T.createComment(""),I=t=>null===t||"object"!=typeof t&&"function"!=typeof t,q=Array.isArray,N="[ \t\n\f\r]",U=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,j=/-->/g,R=/>/g,W=RegExp(`>|${N}(?:([^\\s"'>=/]+)(${N}*=${N}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),H=/'/g,D=/"/g,V=/^(?:script|style|textarea|title)$/i,B=(J=1,(t,...e)=>({_$litType$:J,strings:t,values:e})),Z=Symbol.for("lit-noChange"),F=Symbol.for("lit-nothing"),G=new WeakMap,Y=T.createTreeWalker(T,129,null,!1);var J;function K(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(e):e}class Q{constructor({strings:t,_$litType$:e},i){let o;this.parts=[];let r=0,s=0;const a=t.length-1,n=this.parts,[p,d]=((t,e)=>{const i=t.length-1,o=[];let r,s=2===e?"<svg>":"",a=U;for(let n=0;n<i;n++){const e=t[n];let i,p,d=-1,l=0;for(;l<e.length&&(a.lastIndex=l,p=a.exec(e),null!==p);)l=a.lastIndex,a===U?"!--"===p[1]?a=j:void 0!==p[1]?a=R:void 0!==p[2]?(V.test(p[2])&&(r=RegExp("</"+p[2],"g")),a=W):void 0!==p[3]&&(a=W):a===W?">"===p[0]?(a=null!=r?r:U,d=-1):void 0===p[1]?d=-2:(d=a.lastIndex-p[2].length,i=p[1],a=void 0===p[3]?W:'"'===p[3]?D:H):a===D||a===H?a=W:a===j||a===R?a=U:(a=W,r=void 0);const c=a===W&&t[n+1].startsWith("/>")?" ":"";s+=a===U?e+k:d>=0?(o.push(i),e.slice(0,d)+P+e.slice(d)+z+c):e+z+(-2===d?(o.push(void 0),n):c)}return[K(t,s+(t[i]||"<?>")+(2===e?"</svg>":"")),o]})(t,e);if(this.el=Q.createElement(p,i),Y.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=Y.nextNode())&&n.length<a;){if(1===o.nodeType){if(o.hasAttributes()){const t=[];for(const e of o.getAttributeNames())if(e.endsWith(P)||e.startsWith(z)){const i=d[s++];if(t.push(e),void 0!==i){const t=o.getAttribute(i.toLowerCase()+P).split(z),e=/([.?@])?(.*)/.exec(i);n.push({type:1,index:r,name:e[2],strings:t,ctor:"."===e[1]?ot:"?"===e[1]?st:"@"===e[1]?at:it})}else n.push({type:6,index:r})}for(const e of t)o.removeAttribute(e)}if(V.test(o.tagName)){const t=o.textContent.split(z),e=t.length-1;if(e>0){o.textContent=S?S.emptyScript:"";for(let i=0;i<e;i++)o.append(t[i],O()),Y.nextNode(),n.push({type:2,index:++r});o.append(t[e],O())}}}else if(8===o.nodeType)if(o.data===M)n.push({type:2,index:r});else{let t=-1;for(;-1!==(t=o.data.indexOf(z,t+1));)n.push({type:7,index:r}),t+=z.length-1}r++}}static createElement(t,e){const i=T.createElement("template");return i.innerHTML=t,i}}function X(t,e,i=t,o){var r,s,a,n;if(e===Z)return e;let p=void 0!==o?null===(r=i._$Co)||void 0===r?void 0:r[o]:i._$Cl;const d=I(e)?void 0:e._$litDirective$;return(null==p?void 0:p.constructor)!==d&&(null===(s=null==p?void 0:p._$AO)||void 0===s||s.call(p,!1),void 0===d?p=void 0:(p=new d(t),p._$AT(t,i,o)),void 0!==o?(null!==(a=(n=i)._$Co)&&void 0!==a?a:n._$Co=[])[o]=p:i._$Cl=p),void 0!==p&&(e=X(t,p._$AS(t,e.values),p,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:T).importNode(i,!0);Y.currentNode=r;let s=Y.nextNode(),a=0,n=0,p=o[0];for(;void 0!==p;){if(a===p.index){let e;2===p.type?e=new et(s,s.nextSibling,this,t):1===p.type?e=new p.ctor(s,p.name,p.strings,this,t):6===p.type&&(e=new nt(s,this,t)),this._$AV.push(e),p=o[++n]}a!==(null==p?void 0:p.index)&&(s=Y.nextNode(),a++)}return Y.currentNode=T,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=F,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),I(t)?t===F||null==t||""===t?(this._$AH!==F&&this._$AR(),this._$AH=F):t!==this._$AH&&t!==Z&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>q(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!==F&&I(this._$AH)?this._$AA.nextSibling.data=t:this.$(T.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=Q.createElement(K(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 Q(t)),e}T(t){q(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(O()),this.k(O()),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=F,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=F}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,o){const r=this.strings;let s=!1;if(void 0===r)t=X(this,t,e,0),s=!I(t)||t!==this._$AH&&t!==Z,s&&(this._$AH=t);else{const o=t;let a,n;for(t=r[0],a=0;a<r.length-1;a++)n=X(this,o[i+a],e,a),n===Z&&(n=this._$AH[a]),s||(s=!I(n)||n!==this._$AH[a]),n===F?t=F:t!==F&&(t+=(null!=n?n:"")+r[a+1]),this._$AH[a]=n}s&&!o&&this.j(t)}j(t){t===F?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===F?void 0:t}}const rt=S?S.emptyScript:"";class st extends it{constructor(){super(...arguments),this.type=4}j(t){t&&t!==F?this.element.setAttribute(this.name,rt):this.element.removeAttribute(this.name)}}class at 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:F)===Z)return;const o=this._$AH,r=t===F&&o!==F||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,s=t!==F&&(o===F||r);r&&this.element.removeEventListener(this.name,this,o),s&&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 nt{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 pt=L.litHtmlPolyfillSupport;null==pt||pt(Q,et),(null!==(A=L.litHtmlVersions)&&void 0!==A?A:L.litHtmlVersions=[]).push("2.8.0");const dt=(t,e,i)=>{var o,r;const s=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:e;let a=s._$litPart$;if(void 0===a){const t=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;s._$litPart$=a=new et(e.insertBefore(O(),t),t,void 0,null!=i?i:{})}return a._$AI(t),a};
|
|
39
39
|
/**
|
|
40
40
|
* @license
|
|
41
41
|
* Copyright 2017 Google LLC
|
|
42
42
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
43
|
-
*/var
|
|
43
|
+
*/var lt,ct;let ht=class extends x{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=dt(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 Z}};ht.finalized=!0,ht._$litElement$=!0,null===(lt=globalThis.litElementHydrateSupport)||void 0===lt||lt.call(globalThis,{LitElement:ht});const ut=globalThis.litElementPolyfillSupport;null==ut||ut({LitElement:ht}),(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 _t={loader:()=>Promise.resolve({}),empty:t=>`[${t}]`,lookup:gt,interpolate:ft,translationCache:{}};function yt(t,e,i=_t){var o;o={previousStrings:i.strings,previousLang:i.lang,lang:i.lang=t,strings:i.strings=e},window.dispatchEvent(new CustomEvent(mt,{detail:o}))}
|
|
44
44
|
/**
|
|
45
45
|
* @license
|
|
46
46
|
* Copyright 2017 Google LLC
|
|
47
47
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
48
48
|
*/
|
|
49
|
-
const
|
|
49
|
+
const Ct=2;class bt{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
|
|
50
50
|
/**
|
|
51
51
|
* @license
|
|
52
52
|
* Copyright 2020 Google LLC
|
|
53
53
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
54
|
-
*/const wt=(t,e)=>{var i,o;const r=t._$AN;if(void 0===r)return!1;for(const s of r)null===(o=(i=s)._$AO)||void 0===o||o.call(i,e,!1),wt(s,e);return!0},$t=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))},
|
|
54
|
+
*/const wt=(t,e)=>{var i,o;const r=t._$AN;if(void 0===r)return!1;for(const s of r)null===(o=(i=s)._$AO)||void 0===o||o.call(i,e,!1),wt(s,e);return!0},$t=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))},xt=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),St(e)}};
|
|
55
55
|
/**
|
|
56
56
|
* @license
|
|
57
57
|
* Copyright 2017 Google LLC
|
|
58
58
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
59
|
-
*/function
|
|
59
|
+
*/function At(t){void 0!==this._$AN?($t(this),this._$AM=t,xt(this)):this._$AM=t}function Lt(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 s=i;s<o.length;s++)wt(o[s],!1),$t(o[s]);else null!=o&&(wt(o,!1),$t(o));else wt(this,t)}const St=t=>{var e,i,o,r;t.type==Ct&&(null!==(e=(o=t)._$AP)&&void 0!==e||(o._$AP=Lt),null!==(i=(r=t)._$AQ)&&void 0!==i||(r._$AQ=At))};class Et extends bt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),xt(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),$t(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 Et{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=_t){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)))}});
|
|
60
60
|
/**
|
|
61
61
|
* @license
|
|
62
62
|
* Copyright 2017 Google LLC
|
|
63
63
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
64
|
-
*/class Mt extends bt{constructor(t){if(super(t),this.et=F,t.type!==
|
|
64
|
+
*/class Mt extends bt{constructor(t){if(super(t),this.et=F,t.type!==Ct)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===F||null==t)return this.ft=void 0,this.et=t;if(t===Z)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:[]}}}Mt.directiveName="unsafeHTML",Mt.resultType=1;const kt="__registered_effects";function Tt(t){const e=t;if(e[kt])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[kt]={index:0,count:0,effects:[]},i.updated=t=>(e[kt].index=0,o(t)),e}function Ot(t,e,i){const o=function(t,e){const i=Tt(t),{index:o,count:r}=i[kt];return o===r?(i[kt].index++,i[kt].count++,i[kt].effects.push(e),e):(i[kt].index++,i[kt].effects[o])}(t,{on:e,observe:["__initial__dirty"]});o.observe.some(((t,e)=>i[e]!==t))&&o.on(),o.observe=i}
|
|
65
65
|
/**
|
|
66
66
|
* @license
|
|
67
67
|
* Copyright 2021 Google LLC
|
|
@@ -572,7 +572,7 @@ function It(t,e,i){return t?e():null==i?void 0:i()}const qt=u`
|
|
|
572
572
|
/>
|
|
573
573
|
</g>
|
|
574
574
|
</svg>
|
|
575
|
-
`;var Bt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Ft=(t,e,i,o)=>{for(var r,s=o>1?void 0:o?Zt(e,i):e,
|
|
575
|
+
`;var Bt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Ft=(t,e,i,o)=>{for(var r,s=o>1?void 0:o?Zt(e,i):e,a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o?r(e,i,s):r(s))||s);return o&&s&&Bt(e,i,s),s};let Gt=class extends ht{constructor(){super(...arguments),this.active=!1}handleClosePopup(){const t=new Event("close");this.dispatchEvent(t)}render(){return B`
|
|
576
576
|
<div class=${`shipaid-popup ${this.active&&"active"}`}>
|
|
577
577
|
<div class="blocker" @click=${this.handleClosePopup}></div>
|
|
578
578
|
<button
|
|
@@ -787,7 +787,7 @@ function It(t,e,i){return t?e():null==i?void 0:i()}const qt=u`
|
|
|
787
787
|
.shipaid-prompt .prompt-footer .prompt-footer-badge svg {
|
|
788
788
|
height: 9px;
|
|
789
789
|
}
|
|
790
|
-
`;var oe=(t=>(t.LOADED="shipaid-loaded",t.STATUS_UPDATE="shipaid-protection-status",t))(oe||{}),re=Object.defineProperty,se=Object.getOwnPropertyDescriptor,
|
|
790
|
+
`;var oe=(t=>(t.LOADED="shipaid-loaded",t.STATUS_UPDATE="shipaid-protection-status",t))(oe||{}),re=Object.defineProperty,se=Object.getOwnPropertyDescriptor,ae=(t,e,i,o)=>{for(var r,s=o>1?void 0:o?se(e,i):e,a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o?r(e,i,s):r(s))||s);return o&&s&&re(e,i,s),s};const ne=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.")}},pe=t=>console.warn(`[ShipAid] ${t}`),de=t=>console.error(`[ShipAid] ${t}`),le="shipaid-protection",ce=Object.assign({"./lang/en.json":()=>Promise.resolve().then((()=>ee)).then((t=>t.default)),"./lang/es.json":()=>Promise.resolve().then((()=>ye)).then((t=>t.default)),"./lang/it.json":()=>Promise.resolve().then((()=>Le)).then((t=>t.default)),"./lang/pt.json":()=>Promise.resolve().then((()=>Te)).then((t=>t.default))});var he;he={loader:async t=>{if("en"===t)return te;const e=Reflect.get(ce,`./lang/${t}.json`);return e?await e():te}},_t=Object.assign(Object.assign({},_t),he),t.ShipAidWidget=class extends ht{constructor(){var t,e,i;super(...arguments),this.disablePolling=!1,this.disableActions=!1,this.pollingInterval=2500,this.disableRefresh=!1,this.lang="en",this.currency=void 0,this.customerId=void 0,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=!0,this._hasProtectionInCart=!1,this.hasLoadedStrings=!1,this.intervalId=0,this._state={loading:!1,success:null,error:!1},this._popup=null,this._fetch={get:t=>ne(t),post:(t,e)=>ne(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}}shouldUpdate(t){return this.hasLoadedStrings&&super.shouldUpdate(t)}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")?(pe("Currently in preview mode."),!0):!!(null==(e=this._store)?void 0:e.planActive)}_currencyFormat(t){var e,i,o;return new Intl.NumberFormat(void 0,{currency:this.currency||(null==(e=this._store)?void 0:e.currency)||(null==(o=null==(i=window.Shopify)?void 0:i.currency)?void 0:o.active)||"USD",style:"currency"}).format(Number(t))}_dispatchEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}async _handleRefresh(t){const e=Reflect.has(t,"items");if(this.shouldRefreshOnUpdate)return window.location.reload();e||await this.updateCart(),this._dispatchEvent(oe.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 e.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 e.findProtectionVariant(this._store,this._protectionProduct,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(){var t,e,i,o,r;const s=(null==(t=window.Shopify)?void 0:t.shop)??(null==(i=null==(e=window.Shopify)?void 0:e.Checkout)?void 0:i.apiHost);if(!s)throw new Error("No shop found in Shopify object.");try{const t=new URL(window.location.href);t.pathname=this._apiEndpoint;const e={query:"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 }\n}",variables:{store:s}},i=await this._fetch.post(t.toString(),e);if(!i)throw new Error("Missing response for store query.");if(null==(o=i.errors)?void 0:o.length)throw new Error(i.errors[0].message);if(!(null==(r=i.data)?void 0:r.store))throw new Error("Missing store from store query response.");return i.data.store}catch(a){throw console.error(a),new Error(`Could not find a store for ${this._storeDomain}`)}}async _fetchCart(){try{return await this._fetch.get("/cart.js")}catch(t){throw de(t.message),new Error("Could not fetch cart for current domain.")}}async _fetchProduct(){try{const{product:t}=await this._fetch.get("/products/shipaid-protection.json");return t}catch(t){throw de(t.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 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={quantity:1,id:this._protectionVariant.id},o=await this._fetch.post("/cart/add.js",i);await this._handleRefresh(o),this._setState("success")}catch(i){de(i.message),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={quantity:0,id:this._protectionCartItem.key},e=await this._fetch.post("/cart/change.js",t);await this._handleRefresh(e),this._cart=e,this._setState("success")}catch(t){de(t.message),this._setState("error","Failed to add protection to cart - please try again, or contact us for help.")}}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 a=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))})),n=null==(r=this._cart)?void 0:r.items[a];if(this._hasProtectionInCart=!!n,1===this._cart.item_count&&n)return;!!sessionStorage.getItem(le)||(sessionStorage.setItem(le,JSON.stringify({loaded:!0})),!this._hasProtectionInCart&&(null==(s=this._cart)?void 0:s.item_count)&&this._store.widgetShowCart&&await this.addProtection())}learnMorePopupTemplate(){return B`
|
|
791
791
|
<shipaid-popup-learn-more
|
|
792
792
|
?active=${"learn-more"===this._popup}
|
|
793
793
|
@close=${()=>{this._popup=null}}
|
|
@@ -838,10 +838,166 @@ function It(t,e,i){return t?e():null==i?void 0:i()}const qt=u`
|
|
|
838
838
|
</a>
|
|
839
839
|
</div>
|
|
840
840
|
</div>
|
|
841
|
-
`}async connectedCallback(){super.connectedCallback(),await async function(t,e=_t){const i=await e.loader(t,e);e.translationCache={},
|
|
841
|
+
`}async connectedCallback(){super.connectedCallback(),await async function(t,e=_t){const i=await e.loader(t,e);e.translationCache={},yt(t,i,e)}(this.lang),this.hasLoadedStrings=!0}render(){return Ot(this,(async()=>{var t,e,i;const o=document.createElement("link");o.setAttribute("href","https://fonts.googleapis.com/css2?family=Lato&display=swap"),o.setAttribute("rel","stylesheet"),document.head.appendChild(o);try{const[t,e,i]=await Promise.all([this._fetchShipAidData(),this._fetchCart(),this._fetchProduct()]);this._store=t,this._cart=e,this._protectionProduct=i}catch(r){return de(r.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._shouldShowWidget=!0,this._dispatchEvent(oe.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(le)||(sessionStorage.setItem(le,JSON.stringify({loaded:!0})),!this._hasProtectionInCart&&(null==(o=this._cart)?void 0:o.item_count)&&this._store.widgetShowCart&&await this.addProtection()))}),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}`))))):(pe("No protection settings product for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1)):(pe("No protection settings for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1)):(pe("No plan is active for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1))}),[]),Ot(this,(async()=>{var t,e,i;if(this._cartLastUpdated=new Date,!(null==(t=this._cart)?void 0:t.items))return;const o=null==(e=this._cart.items)?void 0:e.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))})),r=null==(i=this._cart)?void 0:i.items[o];if(this._hasProtectionInCart=!!r,1===this._cart.item_count&&r){const t={id:r.key,quantity:0},e=await this._fetch.post("/cart/change.js",t);return sessionStorage.removeItem(le),await this._handleRefresh(e)}const s=await this.calculateProtectionTotal(this._cart),a=this._findProtectionVariant(s);if(this._protectionVariant=a,!(null==a?void 0:a.id))return this._shouldShowWidget=!1,void de("No matching protection variant found.");if(!r)return;if(a.id===r.variant_id){if(this._protectionCartItem={...r,index:o,position:o+1},1===r.quantity)return;const t={id:r.key,quantity:1},e=await this._fetch.post("/cart/change.js",t);return await this._handleRefresh(e)}const n={updates:{[r.variant_id]:0,[a.id]:1}},p=await this._fetch.post("/cart/update.js",n);await this._handleRefresh(p)}),[this._store,this._cart]),dt(this.learnMorePopupTemplate(),document.body),B`
|
|
842
|
+
<style>
|
|
843
|
+
:host {
|
|
844
|
+
--shipaid-primary: #002bd6;
|
|
845
|
+
--shipaid-secondary: #0076ff;
|
|
846
|
+
--shipaid-danger: #f44336;
|
|
847
|
+
--shipaid-text: #000000;
|
|
848
|
+
--shipaid-text-muted: #cccccc;
|
|
849
|
+
--shipaid-text-grey: #aaaaaa;
|
|
850
|
+
--shipaid-light-grey: #ebecf0;
|
|
851
|
+
--shipaid-font: "Lato", sans-serif;
|
|
852
|
+
--shipaid-font-xxs: 11px;
|
|
853
|
+
--shipaid-font-xs: 12px;
|
|
854
|
+
--shipaid-font-sm: 14px;
|
|
855
|
+
--shipaid-font-base: 16px;
|
|
856
|
+
--shipaid-font-lg: 18px;
|
|
857
|
+
--shipaid-font-regular: 400;
|
|
858
|
+
--shipaid-font-heavy: 700;
|
|
859
|
+
--shipaid-prompt-badge: #f2f7ff;
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
* {
|
|
863
|
+
font-family: var(--shipaid-font);
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
p,
|
|
867
|
+
a {
|
|
868
|
+
font-weight: var(--shipaid-font-regular);
|
|
869
|
+
font-size: var(--shipaid-font-base);
|
|
870
|
+
color: var(--shipaid-text);
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
.error {
|
|
874
|
+
color: var(--shipaid-danger);
|
|
875
|
+
font-size: var(--shipaid-font-sm);
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
/* Widget */
|
|
879
|
+
.shipaid-prompt {
|
|
880
|
+
width: var(--shipaid-prompt-width, 300px);
|
|
881
|
+
max-width: 100%;
|
|
882
|
+
display: flex;
|
|
883
|
+
flex-direction: column;
|
|
884
|
+
gap: 0.5rem;
|
|
885
|
+
margin: var(--shipaid-prompt-margin, 2rem 0px 4rem auto);
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
@media (max-width: 600px) {
|
|
889
|
+
.shipaid-prompt {
|
|
890
|
+
width: var(--shipaid-prompt-width-mobile, 100%);
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
.shipaid-prompt p,
|
|
895
|
+
.shipaid-prompt a {
|
|
896
|
+
margin: 0;
|
|
897
|
+
line-height: 1;
|
|
898
|
+
}
|
|
899
|
+
.shipaid-prompt .prompt-title {
|
|
900
|
+
text-align: center;
|
|
901
|
+
font-size: var(--shipaid-font-lg);
|
|
902
|
+
font-weight: var(--shipaid-font-heavy);
|
|
903
|
+
}
|
|
904
|
+
.shipaid-prompt .prompt-product {
|
|
905
|
+
display: flex;
|
|
906
|
+
flex-direction: row;
|
|
907
|
+
gap: 0.5rem;
|
|
908
|
+
margin-top: 1rem;
|
|
909
|
+
}
|
|
910
|
+
.shipaid-prompt .prompt-product .prompt-product-image {
|
|
911
|
+
position: relative;
|
|
912
|
+
}
|
|
913
|
+
.shipaid-prompt .prompt-product .prompt-product-image svg {
|
|
914
|
+
height: var(--shipaid-logo-height, 35px);
|
|
915
|
+
max-height: var(--shipaid-logo-max-height, 35px);
|
|
916
|
+
width: var(--shipaid-logo-width, auto);
|
|
917
|
+
max-width: var(--shipaid-logo-max-width, 50px);
|
|
918
|
+
}
|
|
919
|
+
.shipaid-prompt
|
|
920
|
+
.prompt-product
|
|
921
|
+
.prompt-product-details
|
|
922
|
+
.prompt-product-details-title {
|
|
923
|
+
text-align: left;
|
|
924
|
+
font-size: var(--shipaid-font-lg);
|
|
925
|
+
font-weight: var(--shipaid-font-heavy);
|
|
926
|
+
}
|
|
927
|
+
.shipaid-prompt
|
|
928
|
+
.prompt-product
|
|
929
|
+
.prompt-product-details
|
|
930
|
+
.prompt-product-details-description {
|
|
931
|
+
font-size: var(--shipaid-font-xxs);
|
|
932
|
+
margin-top: var(--shipaid-prompt-product-description-margin, 0.65rem);
|
|
933
|
+
}
|
|
934
|
+
.shipaid-prompt .prompt-product .prompt-product-actions {
|
|
935
|
+
margin-left: auto;
|
|
936
|
+
display: flex;
|
|
937
|
+
flex-direction: column;
|
|
938
|
+
justify-content: space-between;
|
|
939
|
+
text-align: right;
|
|
940
|
+
min-width: 55px;
|
|
941
|
+
}
|
|
942
|
+
.shipaid-prompt
|
|
943
|
+
.prompt-product
|
|
944
|
+
.prompt-product-actions
|
|
945
|
+
.prompt-product-actions-price {
|
|
946
|
+
color: var(--shipaid-prompt-actions-price-color, var(--shipaid-text-muted));
|
|
947
|
+
font-size: var(--shipaid-font-base);
|
|
948
|
+
}
|
|
949
|
+
.shipaid-prompt
|
|
950
|
+
.prompt-product
|
|
951
|
+
.prompt-product-actions
|
|
952
|
+
.prompt-product-actions-button {
|
|
953
|
+
background-color: transparent;
|
|
954
|
+
border: none;
|
|
955
|
+
color: var(--shipaid-prompt-actions-button-color, var(--shipaid-primary));
|
|
956
|
+
text-transform: uppercase;
|
|
957
|
+
font-weight: var(--shipaid-font-heavy);
|
|
958
|
+
cursor: pointer;
|
|
959
|
+
padding: 6px 0;
|
|
960
|
+
text-align: right;
|
|
961
|
+
}
|
|
962
|
+
.shipaid-prompt .prompt-footer {
|
|
963
|
+
display: flex;
|
|
964
|
+
flex-direction: row;
|
|
965
|
+
justify-content: flex-start;
|
|
966
|
+
align-items: center;
|
|
967
|
+
}
|
|
968
|
+
.shipaid-prompt .prompt-footer .prompt-footer-about {
|
|
969
|
+
color: var(--shipaid-text);
|
|
970
|
+
cursor: pointer;
|
|
971
|
+
font-size: 10px;
|
|
972
|
+
background-color: transparent;
|
|
973
|
+
cursor: pointer;
|
|
974
|
+
border: 1px solid var(--shipaid-text);
|
|
975
|
+
border-radius: 10px;
|
|
976
|
+
margin-left: 0.5rem;
|
|
977
|
+
}
|
|
978
|
+
.shipaid-prompt .prompt-footer .prompt-footer-badge {
|
|
979
|
+
background-color: var(
|
|
980
|
+
--shipaid-prompt-badge-background-color,
|
|
981
|
+
var(--shipaid-prompt-badge)
|
|
982
|
+
);
|
|
983
|
+
color: var(--shipaid-prompt-badge-text-color, var(--shipaid-text));
|
|
984
|
+
padding: 0.2rem 1rem;
|
|
985
|
+
border-radius: 30px;
|
|
986
|
+
cursor: pointer;
|
|
987
|
+
text-decoration: none;
|
|
988
|
+
font-size: var(--shipaid-font-xs);
|
|
989
|
+
display: inline-flex;
|
|
990
|
+
align-items: center;
|
|
991
|
+
gap: 0.8rem;
|
|
992
|
+
white-space: nowrap;
|
|
993
|
+
}
|
|
994
|
+
.shipaid-prompt .prompt-footer .prompt-footer-badge svg {
|
|
995
|
+
height: 9px;
|
|
996
|
+
}
|
|
997
|
+
</style>
|
|
842
998
|
<div class="shipaid">
|
|
843
999
|
${It(this._hasFinishedSetup,(()=>{var t;return It(this._shouldShowWidget&&this.planActive&&(null==(t=this._store)?void 0:t.widgetShowCart),(()=>this.promptTemplate()),(()=>F))}),(()=>B`<p>
|
|
844
1000
|
<slot name="loading" default>${zt("loading")}</slot>
|
|
845
1001
|
</p>`))}
|
|
846
1002
|
</div>
|
|
847
|
-
`}},t.ShipAidWidget.styles=ie,
|
|
1003
|
+
`}},t.ShipAidWidget.styles=ie,ae([s({type:Boolean,attribute:!0})],t.ShipAidWidget.prototype,"disablePolling",2),ae([s({type:Boolean,attribute:!0})],t.ShipAidWidget.prototype,"disableActions",2),ae([s({type:Number,attribute:!0})],t.ShipAidWidget.prototype,"pollingInterval",2),ae([s({type:Boolean,attribute:!0})],t.ShipAidWidget.prototype,"disableRefresh",2),ae([s({type:String,attribute:!0})],t.ShipAidWidget.prototype,"lang",2),ae([s({type:String,attribute:!0})],t.ShipAidWidget.prototype,"currency",2),ae([s({type:String,attribute:!0})],t.ShipAidWidget.prototype,"customerId",2),ae([a()],t.ShipAidWidget.prototype,"_storeDomain",2),ae([a()],t.ShipAidWidget.prototype,"_store",2),ae([a()],t.ShipAidWidget.prototype,"_cart",2),ae([a()],t.ShipAidWidget.prototype,"_protectionProduct",2),ae([a()],t.ShipAidWidget.prototype,"_cartLastUpdated",2),ae([a()],t.ShipAidWidget.prototype,"_hasFinishedSetup",2),ae([a()],t.ShipAidWidget.prototype,"_shouldShowWidget",2),ae([a()],t.ShipAidWidget.prototype,"_hasProtectionInCart",2),ae([a()],t.ShipAidWidget.prototype,"_protectionCartItem",2),ae([a()],t.ShipAidWidget.prototype,"_protectionVariant",2),ae([a()],t.ShipAidWidget.prototype,"hasLoadedStrings",2),ae([a()],t.ShipAidWidget.prototype,"intervalId",2),ae([a()],t.ShipAidWidget.prototype,"_state",2),ae([a()],t.ShipAidWidget.prototype,"_popup",2),t.ShipAidWidget=ae([i("shipaid-widget")],t.ShipAidWidget);const ue="Cargando el widget ShipAid...",me="Garantía de entrega",fe="en caso de Pérdida, Daño o Robo",ge={button:"Energizado por"},ve={add:"Agregar",remove:"Eliminar",loading:"Cargando..."},_e={loading:ue,title:me,description:fe,footer:ge,actions:ve,"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"}}},ye=Object.freeze(Object.defineProperty({__proto__:null,actions:ve,default:_e,description:fe,footer:ge,loading:ue,title:me},Symbol.toStringTag,{value:"Module"})),Ce="Caricamento del widget ShipAid...",be="Garanzia di consegna",we="in caso di Perdita, Danno o Furto",$e={button:"Offerto da"},xe={add:"Aggiungere",remove:"Rimuovere",loading:"Caricamento ..."},Ae={loading:Ce,title:be,description:we,footer:$e,actions:xe,"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"}}},Le=Object.freeze(Object.defineProperty({__proto__:null,actions:xe,default:Ae,description:we,footer:$e,loading:Ce,title:be},Symbol.toStringTag,{value:"Module"})),Se="Carregando o widget ShipAid...",Ee="Garantia de entrega",Pe="em caso de Perda, Danos ou Roubo",ze={button:"Distribuído por"},Me={add:"Adicionar",remove:"Remover",loading:"Carregando..."},ke={loading:Se,title:Ee,description:Pe,footer:ze,actions:Me,"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"}}},Te=Object.freeze(Object.defineProperty({__proto__:null,actions:Me,default:ke,description:Pe,footer:ze,loading:Se,title:Ee},Symbol.toStringTag,{value:"Module"}));return Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t}({});
|
package/dist/widget.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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";const e={calculateProtectionTotal:function(t,e,i){var o,r,s;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";const e={calculateProtectionTotal:function(t,e,i){var o,r,s;if(!t)throw new Error("Missing store settings.");if(!e)throw new Error("Missing protectionProduct.");if(!i)throw new Error("Missing Shopify cart.");const a=null==t?void 0:t.protectionSettings;if(!a)throw new Error("Tried to find protection variant, but protection settings for this store are missing.");const n=Array.isArray(null==t?void 0:t.excludedProductSkus)?null==t?void 0:t.excludedProductSkus.map((t=>t.trim())):[],p=((null==(o=i.items)?void 0:o.reduce(((t,e)=>{if(!e.sku)return t;return n.some((t=>t===e.sku.trim()))?t-e.final_line_price:t}),i.total_price))??i.total_price)-((null==(r=i.items)?void 0:r.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("FIXED"===a.protectionType){if("number"!=typeof a.defaultFee)throw new Error("Missing default fee amount.");if(!(null==(s=a.rules)?void 0:s.length))return a.defaultFee;const t=p/100,e=a.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:a.defaultFee}if("PERCENTAGE"===a.protectionType){const t=p*a.percentage/100;return t>=a.minimumFee?t:a.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)),s=r.find((t=>t.formattedPrice>=i));return s||r[r.length-1]}},i=t=>e=>{return"function"==typeof e?(i=t,o=e,customElements.define(i,o),o):((t,e)=>{const{kind:i,elements:o}=e;return{kind:i,elements:o,finisher(e){customElements.define(t,e)}}})(t,e);
|
|
2
2
|
/**
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2017 Google LLC
|
|
@@ -13,55 +13,55 @@
|
|
|
13
13
|
* @license
|
|
14
14
|
* Copyright 2017 Google LLC
|
|
15
15
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
16
|
-
*/function
|
|
16
|
+
*/function a(t){return s({...t,state:!0})}
|
|
17
17
|
/**
|
|
18
18
|
* @license
|
|
19
19
|
* Copyright 2021 Google LLC
|
|
20
20
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
21
|
-
*/var
|
|
21
|
+
*/var n;null===(n=window.HTMLSlotElement)||void 0===n||n.prototype.assignedElements;
|
|
22
22
|
/**
|
|
23
23
|
* @license
|
|
24
24
|
* Copyright 2019 Google LLC
|
|
25
25
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
26
26
|
*/
|
|
27
|
-
const
|
|
27
|
+
const p=window,d=p.ShadowRoot&&(void 0===p.ShadyCSS||p.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,l=Symbol(),c=new WeakMap;let h=class{constructor(t,e,i){if(this._$cssResult$=!0,i!==l)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(d&&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 u=(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 h(i,t,l)},m=d?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new h("string"==typeof t?t:t+"",void 0,l))(e)})(t):t
|
|
28
28
|
/**
|
|
29
29
|
* @license
|
|
30
30
|
* Copyright 2017 Google LLC
|
|
31
31
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
32
|
-
*/;var
|
|
32
|
+
*/;var f;const g=window,v=g.trustedTypes,_=v?v.emptyScript:"",y=g.reactiveElementPolyfillSupport,C={toAttribute(t,e){switch(e){case Boolean:t=t?_: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}},b=(t,e)=>e!==t&&(e==e||t==t),w={attribute:!0,type:String,converter:C,reflect:!1,hasChanged:b},$="finalized";let x=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($))return!1;this[$]=!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)=>{d?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style"),o=p.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 s=(void 0!==(null===(o=i.converter)||void 0===o?void 0:o.toAttribute)?i.converter:C).toAttribute(e,i.type);this._$El=t,null==s?this.removeAttribute(r):this.setAttribute(r,s),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),s="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:C;this._$El=r,this[r]=s.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let o=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||b)(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){}};
|
|
33
33
|
/**
|
|
34
34
|
* @license
|
|
35
35
|
* Copyright 2017 Google LLC
|
|
36
36
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
37
37
|
*/
|
|
38
|
-
var
|
|
38
|
+
var A;x[$]=!0,x.elementProperties=new Map,x.elementStyles=[],x.shadowRootOptions={mode:"open"},null==y||y({ReactiveElement:x}),(null!==(f=g.reactiveElementVersions)&&void 0!==f?f:g.reactiveElementVersions=[]).push("1.6.3");const L=window,S=L.trustedTypes,E=S?S.createPolicy("lit-html",{createHTML:t=>t}):void 0,P="$lit$",z=`lit$${(Math.random()+"").slice(9)}$`,M="?"+z,k=`<${M}>`,T=document,O=()=>T.createComment(""),I=t=>null===t||"object"!=typeof t&&"function"!=typeof t,q=Array.isArray,N="[ \t\n\f\r]",U=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,j=/-->/g,R=/>/g,W=RegExp(`>|${N}(?:([^\\s"'>=/]+)(${N}*=${N}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),H=/'/g,D=/"/g,V=/^(?:script|style|textarea|title)$/i,B=(J=1,(t,...e)=>({_$litType$:J,strings:t,values:e})),Z=Symbol.for("lit-noChange"),F=Symbol.for("lit-nothing"),G=new WeakMap,Y=T.createTreeWalker(T,129,null,!1);var J;function K(t,e){if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(e):e}class Q{constructor({strings:t,_$litType$:e},i){let o;this.parts=[];let r=0,s=0;const a=t.length-1,n=this.parts,[p,d]=((t,e)=>{const i=t.length-1,o=[];let r,s=2===e?"<svg>":"",a=U;for(let n=0;n<i;n++){const e=t[n];let i,p,d=-1,l=0;for(;l<e.length&&(a.lastIndex=l,p=a.exec(e),null!==p);)l=a.lastIndex,a===U?"!--"===p[1]?a=j:void 0!==p[1]?a=R:void 0!==p[2]?(V.test(p[2])&&(r=RegExp("</"+p[2],"g")),a=W):void 0!==p[3]&&(a=W):a===W?">"===p[0]?(a=null!=r?r:U,d=-1):void 0===p[1]?d=-2:(d=a.lastIndex-p[2].length,i=p[1],a=void 0===p[3]?W:'"'===p[3]?D:H):a===D||a===H?a=W:a===j||a===R?a=U:(a=W,r=void 0);const c=a===W&&t[n+1].startsWith("/>")?" ":"";s+=a===U?e+k:d>=0?(o.push(i),e.slice(0,d)+P+e.slice(d)+z+c):e+z+(-2===d?(o.push(void 0),n):c)}return[K(t,s+(t[i]||"<?>")+(2===e?"</svg>":"")),o]})(t,e);if(this.el=Q.createElement(p,i),Y.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=Y.nextNode())&&n.length<a;){if(1===o.nodeType){if(o.hasAttributes()){const t=[];for(const e of o.getAttributeNames())if(e.endsWith(P)||e.startsWith(z)){const i=d[s++];if(t.push(e),void 0!==i){const t=o.getAttribute(i.toLowerCase()+P).split(z),e=/([.?@])?(.*)/.exec(i);n.push({type:1,index:r,name:e[2],strings:t,ctor:"."===e[1]?ot:"?"===e[1]?st:"@"===e[1]?at:it})}else n.push({type:6,index:r})}for(const e of t)o.removeAttribute(e)}if(V.test(o.tagName)){const t=o.textContent.split(z),e=t.length-1;if(e>0){o.textContent=S?S.emptyScript:"";for(let i=0;i<e;i++)o.append(t[i],O()),Y.nextNode(),n.push({type:2,index:++r});o.append(t[e],O())}}}else if(8===o.nodeType)if(o.data===M)n.push({type:2,index:r});else{let t=-1;for(;-1!==(t=o.data.indexOf(z,t+1));)n.push({type:7,index:r}),t+=z.length-1}r++}}static createElement(t,e){const i=T.createElement("template");return i.innerHTML=t,i}}function X(t,e,i=t,o){var r,s,a,n;if(e===Z)return e;let p=void 0!==o?null===(r=i._$Co)||void 0===r?void 0:r[o]:i._$Cl;const d=I(e)?void 0:e._$litDirective$;return(null==p?void 0:p.constructor)!==d&&(null===(s=null==p?void 0:p._$AO)||void 0===s||s.call(p,!1),void 0===d?p=void 0:(p=new d(t),p._$AT(t,i,o)),void 0!==o?(null!==(a=(n=i)._$Co)&&void 0!==a?a:n._$Co=[])[o]=p:i._$Cl=p),void 0!==p&&(e=X(t,p._$AS(t,e.values),p,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:T).importNode(i,!0);Y.currentNode=r;let s=Y.nextNode(),a=0,n=0,p=o[0];for(;void 0!==p;){if(a===p.index){let e;2===p.type?e=new et(s,s.nextSibling,this,t):1===p.type?e=new p.ctor(s,p.name,p.strings,this,t):6===p.type&&(e=new nt(s,this,t)),this._$AV.push(e),p=o[++n]}a!==(null==p?void 0:p.index)&&(s=Y.nextNode(),a++)}return Y.currentNode=T,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=F,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),I(t)?t===F||null==t||""===t?(this._$AH!==F&&this._$AR(),this._$AH=F):t!==this._$AH&&t!==Z&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):(t=>q(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!==F&&I(this._$AH)?this._$AA.nextSibling.data=t:this.$(T.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=Q.createElement(K(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 Q(t)),e}T(t){q(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(O()),this.k(O()),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=F,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=F}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,o){const r=this.strings;let s=!1;if(void 0===r)t=X(this,t,e,0),s=!I(t)||t!==this._$AH&&t!==Z,s&&(this._$AH=t);else{const o=t;let a,n;for(t=r[0],a=0;a<r.length-1;a++)n=X(this,o[i+a],e,a),n===Z&&(n=this._$AH[a]),s||(s=!I(n)||n!==this._$AH[a]),n===F?t=F:t!==F&&(t+=(null!=n?n:"")+r[a+1]),this._$AH[a]=n}s&&!o&&this.j(t)}j(t){t===F?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===F?void 0:t}}const rt=S?S.emptyScript:"";class st extends it{constructor(){super(...arguments),this.type=4}j(t){t&&t!==F?this.element.setAttribute(this.name,rt):this.element.removeAttribute(this.name)}}class at 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:F)===Z)return;const o=this._$AH,r=t===F&&o!==F||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,s=t!==F&&(o===F||r);r&&this.element.removeEventListener(this.name,this,o),s&&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 nt{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 pt=L.litHtmlPolyfillSupport;null==pt||pt(Q,et),(null!==(A=L.litHtmlVersions)&&void 0!==A?A:L.litHtmlVersions=[]).push("2.8.0");const dt=(t,e,i)=>{var o,r;const s=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:e;let a=s._$litPart$;if(void 0===a){const t=null!==(r=null==i?void 0:i.renderBefore)&&void 0!==r?r:null;s._$litPart$=a=new et(e.insertBefore(O(),t),t,void 0,null!=i?i:{})}return a._$AI(t),a};
|
|
39
39
|
/**
|
|
40
40
|
* @license
|
|
41
41
|
* Copyright 2017 Google LLC
|
|
42
42
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
43
|
-
*/var
|
|
43
|
+
*/var lt,ct;let ht=class extends x{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=dt(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 Z}};ht.finalized=!0,ht._$litElement$=!0,null===(lt=globalThis.litElementHydrateSupport)||void 0===lt||lt.call(globalThis,{LitElement:ht});const ut=globalThis.litElementPolyfillSupport;null==ut||ut({LitElement:ht}),(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 _t={loader:()=>Promise.resolve({}),empty:t=>`[${t}]`,lookup:gt,interpolate:ft,translationCache:{}};function yt(t,e,i=_t){var o;o={previousStrings:i.strings,previousLang:i.lang,lang:i.lang=t,strings:i.strings=e},window.dispatchEvent(new CustomEvent(mt,{detail:o}))}
|
|
44
44
|
/**
|
|
45
45
|
* @license
|
|
46
46
|
* Copyright 2017 Google LLC
|
|
47
47
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
48
48
|
*/
|
|
49
|
-
const
|
|
49
|
+
const Ct=2;class bt{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}
|
|
50
50
|
/**
|
|
51
51
|
* @license
|
|
52
52
|
* Copyright 2020 Google LLC
|
|
53
53
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
54
|
-
*/const wt=(t,e)=>{var i,o;const r=t._$AN;if(void 0===r)return!1;for(const s of r)null===(o=(i=s)._$AO)||void 0===o||o.call(i,e,!1),wt(s,e);return!0},$t=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))},
|
|
54
|
+
*/const wt=(t,e)=>{var i,o;const r=t._$AN;if(void 0===r)return!1;for(const s of r)null===(o=(i=s)._$AO)||void 0===o||o.call(i,e,!1),wt(s,e);return!0},$t=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))},xt=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),St(e)}};
|
|
55
55
|
/**
|
|
56
56
|
* @license
|
|
57
57
|
* Copyright 2017 Google LLC
|
|
58
58
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
59
|
-
*/function
|
|
59
|
+
*/function At(t){void 0!==this._$AN?($t(this),this._$AM=t,xt(this)):this._$AM=t}function Lt(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 s=i;s<o.length;s++)wt(o[s],!1),$t(o[s]);else null!=o&&(wt(o,!1),$t(o));else wt(this,t)}const St=t=>{var e,i,o,r;t.type==Ct&&(null!==(e=(o=t)._$AP)&&void 0!==e||(o._$AP=Lt),null!==(i=(r=t)._$AQ)&&void 0!==i||(r._$AQ=At))};class Et extends bt{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),xt(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),$t(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 Et{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=_t){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)))}});
|
|
60
60
|
/**
|
|
61
61
|
* @license
|
|
62
62
|
* Copyright 2017 Google LLC
|
|
63
63
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
64
|
-
*/class Mt extends bt{constructor(t){if(super(t),this.et=F,t.type!==
|
|
64
|
+
*/class Mt extends bt{constructor(t){if(super(t),this.et=F,t.type!==Ct)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===F||null==t)return this.ft=void 0,this.et=t;if(t===Z)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:[]}}}Mt.directiveName="unsafeHTML",Mt.resultType=1;const kt="__registered_effects";function Tt(t){const e=t;if(e[kt])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[kt]={index:0,count:0,effects:[]},i.updated=t=>(e[kt].index=0,o(t)),e}function Ot(t,e,i){const o=function(t,e){const i=Tt(t),{index:o,count:r}=i[kt];return o===r?(i[kt].index++,i[kt].count++,i[kt].effects.push(e),e):(i[kt].index++,i[kt].effects[o])}(t,{on:e,observe:["__initial__dirty"]});o.observe.some(((t,e)=>i[e]!==t))&&o.on(),o.observe=i}
|
|
65
65
|
/**
|
|
66
66
|
* @license
|
|
67
67
|
* Copyright 2021 Google LLC
|
|
@@ -572,7 +572,7 @@ function It(t,e,i){return t?e():null==i?void 0:i()}const qt=u`
|
|
|
572
572
|
/>
|
|
573
573
|
</g>
|
|
574
574
|
</svg>
|
|
575
|
-
`;var Bt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Ft=(t,e,i,o)=>{for(var r,s=o>1?void 0:o?Zt(e,i):e,
|
|
575
|
+
`;var Bt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,Ft=(t,e,i,o)=>{for(var r,s=o>1?void 0:o?Zt(e,i):e,a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o?r(e,i,s):r(s))||s);return o&&s&&Bt(e,i,s),s};let Gt=class extends ht{constructor(){super(...arguments),this.active=!1}handleClosePopup(){const t=new Event("close");this.dispatchEvent(t)}render(){return B`
|
|
576
576
|
<div class=${`shipaid-popup ${this.active&&"active"}`}>
|
|
577
577
|
<div class="blocker" @click=${this.handleClosePopup}></div>
|
|
578
578
|
<button
|
|
@@ -787,7 +787,7 @@ function It(t,e,i){return t?e():null==i?void 0:i()}const qt=u`
|
|
|
787
787
|
.shipaid-prompt .prompt-footer .prompt-footer-badge svg {
|
|
788
788
|
height: 9px;
|
|
789
789
|
}
|
|
790
|
-
`;var oe=(t=>(t.LOADED="shipaid-loaded",t.STATUS_UPDATE="shipaid-protection-status",t))(oe||{}),re=Object.defineProperty,se=Object.getOwnPropertyDescriptor,
|
|
790
|
+
`;var oe=(t=>(t.LOADED="shipaid-loaded",t.STATUS_UPDATE="shipaid-protection-status",t))(oe||{}),re=Object.defineProperty,se=Object.getOwnPropertyDescriptor,ae=(t,e,i,o)=>{for(var r,s=o>1?void 0:o?se(e,i):e,a=t.length-1;a>=0;a--)(r=t[a])&&(s=(o?r(e,i,s):r(s))||s);return o&&s&&re(e,i,s),s};const ne=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.")}},pe=t=>console.warn(`[ShipAid] ${t}`),de=t=>console.error(`[ShipAid] ${t}`),le="shipaid-protection",ce=Object.assign({"./lang/en.json":()=>Promise.resolve().then((()=>ee)).then((t=>t.default)),"./lang/es.json":()=>Promise.resolve().then((()=>ye)).then((t=>t.default)),"./lang/it.json":()=>Promise.resolve().then((()=>Le)).then((t=>t.default)),"./lang/pt.json":()=>Promise.resolve().then((()=>Te)).then((t=>t.default))});var he;he={loader:async t=>{if("en"===t)return te;const e=Reflect.get(ce,`./lang/${t}.json`);return e?await e():te}},_t=Object.assign(Object.assign({},_t),he),t.ShipAidWidget=class extends ht{constructor(){var t,e,i;super(...arguments),this.disablePolling=!1,this.disableActions=!1,this.pollingInterval=2500,this.disableRefresh=!1,this.lang="en",this.currency=void 0,this.customerId=void 0,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=!0,this._hasProtectionInCart=!1,this.hasLoadedStrings=!1,this.intervalId=0,this._state={loading:!1,success:null,error:!1},this._popup=null,this._fetch={get:t=>ne(t),post:(t,e)=>ne(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}}shouldUpdate(t){return this.hasLoadedStrings&&super.shouldUpdate(t)}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")?(pe("Currently in preview mode."),!0):!!(null==(e=this._store)?void 0:e.planActive)}_currencyFormat(t){var e,i,o;return new Intl.NumberFormat(void 0,{currency:this.currency||(null==(e=this._store)?void 0:e.currency)||(null==(o=null==(i=window.Shopify)?void 0:i.currency)?void 0:o.active)||"USD",style:"currency"}).format(Number(t))}_dispatchEvent(t,e={}){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:e}))}async _handleRefresh(t){const e=Reflect.has(t,"items");if(this.shouldRefreshOnUpdate)return window.location.reload();e||await this.updateCart(),this._dispatchEvent(oe.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 e.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 e.findProtectionVariant(this._store,this._protectionProduct,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(){var t,e,i,o,r;const s=(null==(t=window.Shopify)?void 0:t.shop)??(null==(i=null==(e=window.Shopify)?void 0:e.Checkout)?void 0:i.apiHost);if(!s)throw new Error("No shop found in Shopify object.");try{const t=new URL(window.location.href);t.pathname=this._apiEndpoint;const e={query:"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 }\n}",variables:{store:s}},i=await this._fetch.post(t.toString(),e);if(!i)throw new Error("Missing response for store query.");if(null==(o=i.errors)?void 0:o.length)throw new Error(i.errors[0].message);if(!(null==(r=i.data)?void 0:r.store))throw new Error("Missing store from store query response.");return i.data.store}catch(a){throw console.error(a),new Error(`Could not find a store for ${this._storeDomain}`)}}async _fetchCart(){try{return await this._fetch.get("/cart.js")}catch(t){throw de(t.message),new Error("Could not fetch cart for current domain.")}}async _fetchProduct(){try{const{product:t}=await this._fetch.get("/products/shipaid-protection.json");return t}catch(t){throw de(t.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 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={quantity:1,id:this._protectionVariant.id},o=await this._fetch.post("/cart/add.js",i);await this._handleRefresh(o),this._setState("success")}catch(i){de(i.message),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={quantity:0,id:this._protectionCartItem.key},e=await this._fetch.post("/cart/change.js",t);await this._handleRefresh(e),this._cart=e,this._setState("success")}catch(t){de(t.message),this._setState("error","Failed to add protection to cart - please try again, or contact us for help.")}}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 a=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))})),n=null==(r=this._cart)?void 0:r.items[a];if(this._hasProtectionInCart=!!n,1===this._cart.item_count&&n)return;!!sessionStorage.getItem(le)||(sessionStorage.setItem(le,JSON.stringify({loaded:!0})),!this._hasProtectionInCart&&(null==(s=this._cart)?void 0:s.item_count)&&this._store.widgetShowCart&&await this.addProtection())}learnMorePopupTemplate(){return B`
|
|
791
791
|
<shipaid-popup-learn-more
|
|
792
792
|
?active=${"learn-more"===this._popup}
|
|
793
793
|
@close=${()=>{this._popup=null}}
|
|
@@ -838,10 +838,166 @@ function It(t,e,i){return t?e():null==i?void 0:i()}const qt=u`
|
|
|
838
838
|
</a>
|
|
839
839
|
</div>
|
|
840
840
|
</div>
|
|
841
|
-
`}async connectedCallback(){super.connectedCallback(),await async function(t,e=_t){const i=await e.loader(t,e);e.translationCache={},
|
|
841
|
+
`}async connectedCallback(){super.connectedCallback(),await async function(t,e=_t){const i=await e.loader(t,e);e.translationCache={},yt(t,i,e)}(this.lang),this.hasLoadedStrings=!0}render(){return Ot(this,(async()=>{var t,e,i;const o=document.createElement("link");o.setAttribute("href","https://fonts.googleapis.com/css2?family=Lato&display=swap"),o.setAttribute("rel","stylesheet"),document.head.appendChild(o);try{const[t,e,i]=await Promise.all([this._fetchShipAidData(),this._fetchCart(),this._fetchProduct()]);this._store=t,this._cart=e,this._protectionProduct=i}catch(r){return de(r.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._shouldShowWidget=!0,this._dispatchEvent(oe.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(le)||(sessionStorage.setItem(le,JSON.stringify({loaded:!0})),!this._hasProtectionInCart&&(null==(o=this._cart)?void 0:o.item_count)&&this._store.widgetShowCart&&await this.addProtection()))}),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}`))))):(pe("No protection settings product for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1)):(pe("No protection settings for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1)):(pe("No plan is active for this store - skipping setup."),this._hasFinishedSetup=!0,void(this._shouldShowWidget=!1))}),[]),Ot(this,(async()=>{var t,e,i;if(this._cartLastUpdated=new Date,!(null==(t=this._cart)?void 0:t.items))return;const o=null==(e=this._cart.items)?void 0:e.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))})),r=null==(i=this._cart)?void 0:i.items[o];if(this._hasProtectionInCart=!!r,1===this._cart.item_count&&r){const t={id:r.key,quantity:0},e=await this._fetch.post("/cart/change.js",t);return sessionStorage.removeItem(le),await this._handleRefresh(e)}const s=await this.calculateProtectionTotal(this._cart),a=this._findProtectionVariant(s);if(this._protectionVariant=a,!(null==a?void 0:a.id))return this._shouldShowWidget=!1,void de("No matching protection variant found.");if(!r)return;if(a.id===r.variant_id){if(this._protectionCartItem={...r,index:o,position:o+1},1===r.quantity)return;const t={id:r.key,quantity:1},e=await this._fetch.post("/cart/change.js",t);return await this._handleRefresh(e)}const n={updates:{[r.variant_id]:0,[a.id]:1}},p=await this._fetch.post("/cart/update.js",n);await this._handleRefresh(p)}),[this._store,this._cart]),dt(this.learnMorePopupTemplate(),document.body),B`
|
|
842
|
+
<style>
|
|
843
|
+
:host {
|
|
844
|
+
--shipaid-primary: #002bd6;
|
|
845
|
+
--shipaid-secondary: #0076ff;
|
|
846
|
+
--shipaid-danger: #f44336;
|
|
847
|
+
--shipaid-text: #000000;
|
|
848
|
+
--shipaid-text-muted: #cccccc;
|
|
849
|
+
--shipaid-text-grey: #aaaaaa;
|
|
850
|
+
--shipaid-light-grey: #ebecf0;
|
|
851
|
+
--shipaid-font: "Lato", sans-serif;
|
|
852
|
+
--shipaid-font-xxs: 11px;
|
|
853
|
+
--shipaid-font-xs: 12px;
|
|
854
|
+
--shipaid-font-sm: 14px;
|
|
855
|
+
--shipaid-font-base: 16px;
|
|
856
|
+
--shipaid-font-lg: 18px;
|
|
857
|
+
--shipaid-font-regular: 400;
|
|
858
|
+
--shipaid-font-heavy: 700;
|
|
859
|
+
--shipaid-prompt-badge: #f2f7ff;
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
* {
|
|
863
|
+
font-family: var(--shipaid-font);
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
p,
|
|
867
|
+
a {
|
|
868
|
+
font-weight: var(--shipaid-font-regular);
|
|
869
|
+
font-size: var(--shipaid-font-base);
|
|
870
|
+
color: var(--shipaid-text);
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
.error {
|
|
874
|
+
color: var(--shipaid-danger);
|
|
875
|
+
font-size: var(--shipaid-font-sm);
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
/* Widget */
|
|
879
|
+
.shipaid-prompt {
|
|
880
|
+
width: var(--shipaid-prompt-width, 300px);
|
|
881
|
+
max-width: 100%;
|
|
882
|
+
display: flex;
|
|
883
|
+
flex-direction: column;
|
|
884
|
+
gap: 0.5rem;
|
|
885
|
+
margin: var(--shipaid-prompt-margin, 2rem 0px 4rem auto);
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
@media (max-width: 600px) {
|
|
889
|
+
.shipaid-prompt {
|
|
890
|
+
width: var(--shipaid-prompt-width-mobile, 100%);
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
.shipaid-prompt p,
|
|
895
|
+
.shipaid-prompt a {
|
|
896
|
+
margin: 0;
|
|
897
|
+
line-height: 1;
|
|
898
|
+
}
|
|
899
|
+
.shipaid-prompt .prompt-title {
|
|
900
|
+
text-align: center;
|
|
901
|
+
font-size: var(--shipaid-font-lg);
|
|
902
|
+
font-weight: var(--shipaid-font-heavy);
|
|
903
|
+
}
|
|
904
|
+
.shipaid-prompt .prompt-product {
|
|
905
|
+
display: flex;
|
|
906
|
+
flex-direction: row;
|
|
907
|
+
gap: 0.5rem;
|
|
908
|
+
margin-top: 1rem;
|
|
909
|
+
}
|
|
910
|
+
.shipaid-prompt .prompt-product .prompt-product-image {
|
|
911
|
+
position: relative;
|
|
912
|
+
}
|
|
913
|
+
.shipaid-prompt .prompt-product .prompt-product-image svg {
|
|
914
|
+
height: var(--shipaid-logo-height, 35px);
|
|
915
|
+
max-height: var(--shipaid-logo-max-height, 35px);
|
|
916
|
+
width: var(--shipaid-logo-width, auto);
|
|
917
|
+
max-width: var(--shipaid-logo-max-width, 50px);
|
|
918
|
+
}
|
|
919
|
+
.shipaid-prompt
|
|
920
|
+
.prompt-product
|
|
921
|
+
.prompt-product-details
|
|
922
|
+
.prompt-product-details-title {
|
|
923
|
+
text-align: left;
|
|
924
|
+
font-size: var(--shipaid-font-lg);
|
|
925
|
+
font-weight: var(--shipaid-font-heavy);
|
|
926
|
+
}
|
|
927
|
+
.shipaid-prompt
|
|
928
|
+
.prompt-product
|
|
929
|
+
.prompt-product-details
|
|
930
|
+
.prompt-product-details-description {
|
|
931
|
+
font-size: var(--shipaid-font-xxs);
|
|
932
|
+
margin-top: var(--shipaid-prompt-product-description-margin, 0.65rem);
|
|
933
|
+
}
|
|
934
|
+
.shipaid-prompt .prompt-product .prompt-product-actions {
|
|
935
|
+
margin-left: auto;
|
|
936
|
+
display: flex;
|
|
937
|
+
flex-direction: column;
|
|
938
|
+
justify-content: space-between;
|
|
939
|
+
text-align: right;
|
|
940
|
+
min-width: 55px;
|
|
941
|
+
}
|
|
942
|
+
.shipaid-prompt
|
|
943
|
+
.prompt-product
|
|
944
|
+
.prompt-product-actions
|
|
945
|
+
.prompt-product-actions-price {
|
|
946
|
+
color: var(--shipaid-prompt-actions-price-color, var(--shipaid-text-muted));
|
|
947
|
+
font-size: var(--shipaid-font-base);
|
|
948
|
+
}
|
|
949
|
+
.shipaid-prompt
|
|
950
|
+
.prompt-product
|
|
951
|
+
.prompt-product-actions
|
|
952
|
+
.prompt-product-actions-button {
|
|
953
|
+
background-color: transparent;
|
|
954
|
+
border: none;
|
|
955
|
+
color: var(--shipaid-prompt-actions-button-color, var(--shipaid-primary));
|
|
956
|
+
text-transform: uppercase;
|
|
957
|
+
font-weight: var(--shipaid-font-heavy);
|
|
958
|
+
cursor: pointer;
|
|
959
|
+
padding: 6px 0;
|
|
960
|
+
text-align: right;
|
|
961
|
+
}
|
|
962
|
+
.shipaid-prompt .prompt-footer {
|
|
963
|
+
display: flex;
|
|
964
|
+
flex-direction: row;
|
|
965
|
+
justify-content: flex-start;
|
|
966
|
+
align-items: center;
|
|
967
|
+
}
|
|
968
|
+
.shipaid-prompt .prompt-footer .prompt-footer-about {
|
|
969
|
+
color: var(--shipaid-text);
|
|
970
|
+
cursor: pointer;
|
|
971
|
+
font-size: 10px;
|
|
972
|
+
background-color: transparent;
|
|
973
|
+
cursor: pointer;
|
|
974
|
+
border: 1px solid var(--shipaid-text);
|
|
975
|
+
border-radius: 10px;
|
|
976
|
+
margin-left: 0.5rem;
|
|
977
|
+
}
|
|
978
|
+
.shipaid-prompt .prompt-footer .prompt-footer-badge {
|
|
979
|
+
background-color: var(
|
|
980
|
+
--shipaid-prompt-badge-background-color,
|
|
981
|
+
var(--shipaid-prompt-badge)
|
|
982
|
+
);
|
|
983
|
+
color: var(--shipaid-prompt-badge-text-color, var(--shipaid-text));
|
|
984
|
+
padding: 0.2rem 1rem;
|
|
985
|
+
border-radius: 30px;
|
|
986
|
+
cursor: pointer;
|
|
987
|
+
text-decoration: none;
|
|
988
|
+
font-size: var(--shipaid-font-xs);
|
|
989
|
+
display: inline-flex;
|
|
990
|
+
align-items: center;
|
|
991
|
+
gap: 0.8rem;
|
|
992
|
+
white-space: nowrap;
|
|
993
|
+
}
|
|
994
|
+
.shipaid-prompt .prompt-footer .prompt-footer-badge svg {
|
|
995
|
+
height: 9px;
|
|
996
|
+
}
|
|
997
|
+
</style>
|
|
842
998
|
<div class="shipaid">
|
|
843
999
|
${It(this._hasFinishedSetup,(()=>{var t;return It(this._shouldShowWidget&&this.planActive&&(null==(t=this._store)?void 0:t.widgetShowCart),(()=>this.promptTemplate()),(()=>F))}),(()=>B`<p>
|
|
844
1000
|
<slot name="loading" default>${zt("loading")}</slot>
|
|
845
1001
|
</p>`))}
|
|
846
1002
|
</div>
|
|
847
|
-
`}},t.ShipAidWidget.styles=ie,
|
|
1003
|
+
`}},t.ShipAidWidget.styles=ie,ae([s({type:Boolean,attribute:!0})],t.ShipAidWidget.prototype,"disablePolling",2),ae([s({type:Boolean,attribute:!0})],t.ShipAidWidget.prototype,"disableActions",2),ae([s({type:Number,attribute:!0})],t.ShipAidWidget.prototype,"pollingInterval",2),ae([s({type:Boolean,attribute:!0})],t.ShipAidWidget.prototype,"disableRefresh",2),ae([s({type:String,attribute:!0})],t.ShipAidWidget.prototype,"lang",2),ae([s({type:String,attribute:!0})],t.ShipAidWidget.prototype,"currency",2),ae([s({type:String,attribute:!0})],t.ShipAidWidget.prototype,"customerId",2),ae([a()],t.ShipAidWidget.prototype,"_storeDomain",2),ae([a()],t.ShipAidWidget.prototype,"_store",2),ae([a()],t.ShipAidWidget.prototype,"_cart",2),ae([a()],t.ShipAidWidget.prototype,"_protectionProduct",2),ae([a()],t.ShipAidWidget.prototype,"_cartLastUpdated",2),ae([a()],t.ShipAidWidget.prototype,"_hasFinishedSetup",2),ae([a()],t.ShipAidWidget.prototype,"_shouldShowWidget",2),ae([a()],t.ShipAidWidget.prototype,"_hasProtectionInCart",2),ae([a()],t.ShipAidWidget.prototype,"_protectionCartItem",2),ae([a()],t.ShipAidWidget.prototype,"_protectionVariant",2),ae([a()],t.ShipAidWidget.prototype,"hasLoadedStrings",2),ae([a()],t.ShipAidWidget.prototype,"intervalId",2),ae([a()],t.ShipAidWidget.prototype,"_state",2),ae([a()],t.ShipAidWidget.prototype,"_popup",2),t.ShipAidWidget=ae([i("shipaid-widget")],t.ShipAidWidget);const ue="Cargando el widget ShipAid...",me="Garantía de entrega",fe="en caso de Pérdida, Daño o Robo",ge={button:"Energizado por"},ve={add:"Agregar",remove:"Eliminar",loading:"Cargando..."},_e={loading:ue,title:me,description:fe,footer:ge,actions:ve,"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"}}},ye=Object.freeze(Object.defineProperty({__proto__:null,actions:ve,default:_e,description:fe,footer:ge,loading:ue,title:me},Symbol.toStringTag,{value:"Module"})),Ce="Caricamento del widget ShipAid...",be="Garanzia di consegna",we="in caso di Perdita, Danno o Furto",$e={button:"Offerto da"},xe={add:"Aggiungere",remove:"Rimuovere",loading:"Caricamento ..."},Ae={loading:Ce,title:be,description:we,footer:$e,actions:xe,"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"}}},Le=Object.freeze(Object.defineProperty({__proto__:null,actions:xe,default:Ae,description:we,footer:$e,loading:Ce,title:be},Symbol.toStringTag,{value:"Module"})),Se="Carregando o widget ShipAid...",Ee="Garantia de entrega",Pe="em caso de Perda, Danos ou Roubo",ze={button:"Distribuído por"},Me={add:"Adicionar",remove:"Remover",loading:"Carregando..."},ke={loading:Se,title:Ee,description:Pe,footer:ze,actions:Me,"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"}}},Te=Object.freeze(Object.defineProperty({__proto__:null,actions:Me,default:ke,description:Pe,footer:ze,loading:Se,title:Ee},Symbol.toStringTag,{value:"Module"}));Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
|