import{html}from"https://cdn.jsdelivr.net/npm/lit@2.3.0/+esm";import{WishlistElement}from"https://cdn.jsdelivr.net/npm/@appmate/wishlist@4.14.1";import{LiquidElement}from"https://cdn.jsdelivr.net/npm/@appmate/wishlist@4.14.1/liquid.js";import{ProductFormController,Icon}from"https://cdn.jsdelivr.net/npm/@appmate/wishlist@4.14.1/components/all.js";class WishlistPage extends LiquidElement{getStateConfig(){return{wishlist:"all"}}updateState(t){"mine"===(t.wishlist&&t.wishlist.id)&&"mine"!==this.dataset.wishlistId?this.dataset.wishlistId="mine":super.updateState(t),setTimeout(function(){$(document).trigger("initialize.toggleAdvanced")},1500)}getLiquidTemplate(){return`
{% if customer %} {% endif %}

{%- if customer or wishlist.is_mine == false or shop.customer_accounts_enabled == false -%} {{ 'general.wishlist_title' | t }} {%- else -%} {{ 'general.share_list_title' | t }} {%- endif -%}

{% if wishlist.num_items == 0 %}
{{ 'general.wishlist_empty_note' | t }}
{% else %} {%- if wishlist.id -%} {%- unless wishlist.num_items == 0 -%}
{%- endunless -%} {%- endif -%} {% unless customer or wishlist.is_mine == false or shop.customer_accounts_enabled == false %} {% endunless %}
  1. {{ 'general.header_product_details' | t }}
  2. {{ 'general.header_price' | t }}
    {%- assign wishlist_items = wishlist.items | reverse -%} {%- for wishlist_item in wishlist_items -%}
  1. {%- endfor -%}
{% endif %}
`}}customElements.define("wishlist-page",WishlistPage);class WishlistProductCard extends LiquidElement{constructor(){super(),this.form=new ProductFormController(this,{app:this.app})}updateState(t){t.wishlistItem&&this.form.setProduct({product:t.wishlistItem.product,selectedVariantId:t.wishlistItem.selectedVariantId,autoSelect:this.app.settings.autoSelectVariantOnInit}),super.updateState(t)}getStateConfig(){return{loading:"lazy",wishlist:"minimal",wishlistItem:!0}}getLiquidData(){return{form:this.form.state}}getEventConfig(){return{"change .wk-form":async t=>{"select"==t.target.tagName.toLowerCase()&&(this.form.changeOption({input:t.target,autoSelect:this.app.settings.autoSelectVariantOnChange}),this.form.state.selectedVariant)&&this.state.wishlist.isMine&&await this.app.updateWishlistItem({wishlistItemId:this.state.wishlistItem.id,changes:{variantId:this.form.state.selectedVariant.id}})},"submit .wk-form":async t=>{t.preventDefault();var e=t.target,t={id:parseInt(e.querySelector('[name="id"]').value),quantity:parseInt(e.querySelector('[name="quantity"]').value)};await fetch(e.getAttribute("action")+".js",{method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then(t=>{t.ok;$(document).trigger("updateMiniCart","addToCart"),(new PageMessage).setMessage("success",window.productTranslate.success_added_message.replace("%1",e.dataset.wkTitle),!0),$(document).trigger("updateMiniCart","addToCart")}).catch(t=>{console.error("Error:",t)})}}}getLiquidTemplate(){return` {%- assign container_id = "product-card-" | append: wishlist_item.id -%} {%- if wishlist_item.loading -%}
{%- elsif wishlist_item.hidden -%} {%- else -%} {%- assign product = wishlist_item.product -%} {%- assign variant = form.selected_variant -%} {%- if product.has_only_default_variant -%} {%- assign variant = product.variants | first -%} {%- endif -%} {%- if variant.price < variant.compare_at_price -%} {%- assign container_class = "wk-product--sale" -%} {%- else %} {%- assign container_class = "" -%} {%- endif -%}
{{ product.title }}
{{ product.title }}
{%- unless product.has_only_default_variant -%} {%- for option in form.options_with_values -%}
{%- if option.selected_value == null or option.unavailable_values contains option.selected_value -%} {%- endif -%} {%- for value in option.values -%} {%- assign soldout = option.soldout_values contains value -%} {%- assign unavailable = option.unavailable_values contains value and option.name == "Size" -%} {%- assign selected = option.selected_value == value -%} {%- unless unavailable -%} {%- endunless -%} {%- endfor -%}
{%- endfor -%} {%- endunless -%}
{%- if wishlist.is_mine -%} {%- endif -%}
{{ variant.price | money }} {% assign discount = variant.compare_at_price | divided_by: 100.0 %} {% assign discount = variant.price | divided_by: discount | round: 0 %} {% assign percent = 100 | minus: discount %} {{ 'general.percent_off' | t: percent: percent }} {{ variant.compare_at_price | money }}
{% if variant.available %}
{% else %}

{{ 'general.sold_out' | t }}

{% endif %}
{%- endif -%} `}}customElements.define("wishlist-product-card",WishlistProductCard);class WishlistButton extends WishlistElement{static get properties(){return{layout:{type:String},alignment:{type:String},outline:{type:Boolean},fullWidth:{type:Boolean},floating:{type:Object}}}getStateConfig(){return{productInfo:!0}}getEventConfig(){return{"click wk-button":this.handleClick}}appReadyCallback(){this.app.events.subscribe("wk:product:change-variant:success",t=>{var e,i;this.dataset.productHandle===t.data.productHandle&&(e=this.state.productInfo?this.state.productInfo.wishlistItemId:void 0,i=this.state.productInfo?this.state.productInfo.variantId:void 0,e&&!i&&this.app.updateWishlistItem({wishlistItemId:e,changes:{variantId:t.data.variantId}}),this.dataset.variantId=t.data.variantId)})}handleClick(){var t=this.state.productInfo.productId,t=this.closest('[data-wk-product-id="'+t+'"]'),t=t?t.dataset.wkTitle:"@productName",e=new PageMessage,i=!(document.body.classList.contains("search-template")||document.body.classList.contains("collection-template"));return e.clearMessages(),this.state.productInfo.inWishlist?(e.setMessage("success",window.wishlistTranslate.removed.replace("%1",t),i),this.app.removeWishlistItem(this.state.productInfo)):(e.setMessage("success",window.wishlistTranslate.added_html.replace("%1",Shopify.routes.root+"apps/wishlist").replace("%2",t),i),this.app.addWishlistItem(this.state.productInfo))}render(){var t=this.state.productInfo&&this.state.productInfo.inWishlist,e=this.getTranslation(t?"general.remove_from_wishlist":"general.add_to_wishlist"),i=this.getTranslation(t?"general.remove_from_wishlist":"general.add_to_wishlist");return html` `}}customElements.define("wishlist-button",WishlistButton);class RemoveButton extends WishlistElement{static get properties(){return{layout:{type:String},alignment:{type:String},outline:{type:Boolean},fullWidth:{type:Boolean},floating:{type:Object}}}getEventConfig(){return{"click .wk-button":this.handleClick}}handleClick(t){return t.preventDefault(),(new PageMessage).setMessage("success",window.wishlistTranslate.removed.replace("%1",this.dataset.wkTitle),!0),this.app.removeWishlistItem({wishlistItemId:this.dataset.wishlistItemId})}render(){var t=this.getTranslation("general.remove"),e=this.getTranslation("general.remove_from_wishlist");this.getTranslation("general.remove");return html` ${t} `}}customElements.define("remove-button",RemoveButton);class WishlistLink extends WishlistElement{static get properties(){return{layout:{type:String},alignment:{type:String},outline:{type:Boolean},fullWidth:{type:Boolean},floating:{type:Object},badgeLayout:{type:String},badgeParentheses:{type:Boolean},badgeHiddenIfEmpty:{type:Boolean},badgeFloating:{type:Object}}}getStateConfig(){return{wishlist:"minimal"}}getWishlistUrl(){return this.app.settings.loginRequired&&!this.app.customer?this.app.routes.accountLoginUrl:this.app.routes.wishlistUrl}render(){var t=this.getWishlistUrl(),e=this.getTranslation("general.wishlist"),i=this.getTranslation("general.view_wishlist");return html` `}}customElements.define("wishlist-link",WishlistLink);class WishlistShare extends WishlistElement{static get properties(){return{layout:{type:String},alignment:{type:String},floating:{type:Object}}}getStateConfig(){return{wishlist:"minimal"}}getEventConfig(){return{"click wk-button":this.handleClick}}async handleClick(){var t=(await this.app.shareWishlist({wishlistId:this.state.wishlist.publicId,title:this.getTranslation("general.share_list_title"),text:this.getTranslation("general.share_list_description")}))["clipboard"];t&&(this.updateState({linkCopied:!0}),await new Promise(t=>setTimeout(t,2e3)),this.updateState({linkCopied:!1}))}render(){var t=this.getTranslation(this.state.linkCopied?"general.share_link_copied":"general.share_wishlist");return html` `}}customElements.define("wishlist-share",WishlistShare),Icon.setIcons({wishlistHeader:` `,wishlistFill:` `,remove:` `,share:` `,caret:` `,spinner:` `});export{WishlistPage,WishlistProductCard,WishlistButton,RemoveButton,WishlistLink,WishlistShare};