customElements.get("foxkit-incart-upsell")||customElements.define("foxkit-incart-upsell",class extends HTMLElement{constructor(){super()}connectedCallback(){this.setupData(),this.getOffer().then((async()=>{this.config?(FoxKitV2.cart||await FoxKitV2.getCart(),this.renderComponent()):this.destroy()}))}setupData(){this.wrapperClass=".foxkit-incart-wrapper",this.config={},this.productId=null,this.products=[],this.settings=window.FoxKitPlugins.IncartSettings||{offer_heading:"",card_style:"style-1",image_ratio:"adapt",btn_style:"text",button_label:"",slider_control:!1},this.productId=Number(this.dataset.productId),this.productTitle=this.dataset.productTitle,this.classList.add("foxkit-incart-upsell","foxkit-incart-items","m:w-full"),this.prioritySort=this.dataset.prioritySort}async getOffer(){let t={plg:"inCart",productId:this.productId};const i=this.dataset.collections;i&&(t.collectionIds=i.split(",").filter(Boolean)),this.config=await FoxKitV2.Helpers.getPluginData(t)}renderComponent(){if(this.products=this.config.products||[],FoxKitV2.cart&&FoxKitV2.cart.items){const t=(FoxKitV2.cart.items||[]).map((t=>t.product_id));this.products=this.products.filter((i=>!t.includes(i.id)))}if(this.prioritySort){const t=(FoxKitV2.cart.items||[]).map((t=>t.product_id)).filter((t=>this.config?.target_products?.includes(`gid://shopify/Product/${t}`)));for(const i of t){if(this.productId!==i)return this.destroy();if(this.productId===i)break}}let t=!1;const i=document.querySelectorAll(`foxkit-incart-upsell[data-offer-id="${this.config._id}"]`);for(const e of Array.from(i)){const i=window.getComputedStyle(e);"none"!==i.display&&"hidden"!==i.visibility&&"0"!==i.opacity&&this!==e&&(t=!0)}if(!this.products.length||t)return this.destroy();this.dataset.offerId=this.config._id;const e=document.createElement("foxkit-visible-check"),s=document.createElement("foxkit-component");s.classList.add("f-incart"),s.dataset.plugin="InCart";const n="cart"===FoxKitSettings.template?"cart-page":"cart-drawer";this.classList.add(`f-incart--${n}`);const o=this.getDiscountHtml(),r=this.getTitleHtml(),a=this.getProductsListHtml();if(!a)return this.destroy();const d=this.getSliderControls(this.products.length);let c="";"cart-page"!==n&&(c=' data-slides-per-page="1"'),s.innerHTML=`${r}${o}${a}${d}`,e.appendChild(s),this.innerHTML="",this.appendChild(e),s.querySelectorAll("foxkit-product-card").forEach(((t,i)=>{const e=t.dataset.productId,s=this.products.find((t=>t.id===Number(e)));s&&t.setupData(s)})),s.setConfig(this.config)}getTitleHtml(){return`

${this.settings.offer_heading?window.__i18n.transPlugin({configs:this.settings,key:"offer_heading",_params:{product_title:this.productTitle}}):window.__i18n.tr("incart_title",{product_title:this.productTitle})}

`}getDiscountHtml(){const{discount:t,active_discount:i}=this.config,e=document.createElement("div");return e.appendChild(window.FoxKitV2.Helpers.getDiscountSummary(t)),i?`
${e.innerHTML}
`:""}getProductsListHtml(){let t="";return this.products.forEach(((i,e)=>{t+=this.getProductHtml(i,e)})),t?`
${t}
`:""}getSliderControls(t){return this.settings.slider_control?`
\n \n
\n 1\n \n of\n ${t}\n
\n \n
`:""}getProductHtml(t,i){const{available:e,handle:s}=t;if(!t||!e||t.id===this.productId)return"";const{moneyFormat:n}=FoxKitSettings,o=`${Shopify.routes.root}products/${s}`,r=t.variants.filter((t=>t.available))[0],a=1===t.variants.length&&"default title"===r.title.toLowerCase(),d=this.config.id||this.config._id,c=``;let l=``;const p=`${window.FoxKitV2.Utils.formatMoney(r.price,n)}`;let u="foxkit-product-card__compare-price";(!r.compare_at_price||r.compare_at_price\n ${p}\n `;if(!a){let i="";t.variants.forEach((t=>{let e="";t.available||(e+=' disabled="true"'),t.id===r.id&&(e+=" selected"),i+=``})),l=`
\n \n ${i}\n \n
`}const h=this.settings.image_ratio;let _;switch(h){case"portrait":_="3/4";break;case"landscape":_="16/9";break;default:_="1/1"}let g="";"adapt"!==h&&(g=`--foxkit-aspect-ratio: ${_}`);let m=`foxkit-slider__slide f-incart__product f-incart__product--${this.settings.card_style} f-incart__product--image-${h}`;a&&(m+=" f-incart__product--no-variants");const x=this.settings.button_label?window.__i18n.transPlugin({configs:this.settings,key:"button_label"}):window.__i18n.tr("add_button");return`\n
\n ${c}\n
\n \n \n \n
\n
\n
\n

\n ${t.title}\n

\n ${l}\n ${a?f:""}\n
\n
\n ${a?"":f}\n \n \n \n \n \n \n \n ${"icon"===this.settings.btn_style?'\n \n \n \n \n ':`${x}`}\n \n
\n
\n
\n
`}destroy(){const t=this.closest(this.wrapperClass);this.remove(),t&&t.remove()}});