1import{an as u,ao as v,S as b,C as h}from"./storefrontApp.DHj_rTVq.min.js";import{$ as l,w as m,t as _,e as d}from"./chunk-vendor-lit.NvY0u02.js";import{F as y}from"./chunk-frontstore_preview_error.BiR4h5q.js";import{P as I}from"./chunk-product_stock_changed_handler.Cxrl8lM.js";import{S as A}from"./chunk-storefront_base_lit_element.BDgKmPq.js";import"./chunk-vendor-di.Bh23gdA.js";import"./chunk-storefront_settings_constants.DIF02Gz.js";import"./chunk-vendor-rxjs.Dp7kflo.js";import"./chunk-vendor-lodash.CWHFt7Z.js";import"./chunk-vendor-phoenix.cdKS79L.js";import"./chunk-product_events_constants.BHFu5GP.js";const n={productAvailabilityImageAndDescription:"product-availability__image-and-description",productAvailabilityDescriptionUnavailable:"product-availability__description_unavailable",productAvailabilityImage:"product-availability__image"},S={image:"image"};var f=Object.defineProperty,s=(e,t,a,c)=>{for(var i=void 0,o=e.length-1,p;o>=0;o--)(p=e[o])&&(i=p(t,a,i)||i);return i&&f(t,a,i),i};class r extends A{constructor(){super(...arguments),this._descriptionSlot=u.description,this._imageSlot=u.image,this._availability=null,this.productId=null,this.variantId=null,this.hasStockVariants=!1,this._updateAvailability=({body:t})=>{if(!t)return;this.hidden=!1;const{stockId:a,productId:c,availability:i}=t;c===this.productId&&a!==this.variantId&&(this.variantId=a,this._availability=i)}}static{this.moduleName=v.component}firstUpdated(t){super.firstUpdated(t),new I(this._updateAvailability)}_renderImage(t){return l` <picture class="${S.image}"> 2 <img 3 src="${t}" 4 alt="product availability image" 5 title="product-availability-module" 6 class="${n.productAvailabilityImage}" 7 /> 8 </picture>`}connectedCallback(){if(super.connectedCallback(),this.hasStockVariants&&(this.hidden=!0),!this.productId)throw new y("product-id is not defined")}render(){return l` ${this.getSlot(this._descriptionSlot)} 9 ${this._availability?l` <div class="${n.productAvailabilityImageAndDescription}"> 10 ${this._availability.url?this._renderImage(this._availability.url.absolute):m} 11 <strong 12 class="${this._availability.isAvailable?m:n.productAvailabilityDescriptionUnavailable}" 13 > 14 ${this._availability.name} 15 </strong> 16 </div>`:l`${this.getSlot(this._imageSlot)}`}`}}s([_()],r.prototype,"_availability");s([d({type:Number,attribute:"product-id",reflect:!0})],r.prototype,"productId");s([d({type:Number,attribute:"variant-id",reflect:!0})],r.prototype,"variantId");s([d({type:Boolean,attribute:"has-stocks-variants"})],r.prototype,"hasStockVariants");class U extends b{static{this.featureName=v.feature}init(){return{cores:[{type:h,instance:[r]}]}}}export{U as ProductAvailabilityInitializer};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.