PageSourceSearch

https://debongout-paris.com/cdn/shop/t/113/assets/block.product-inventory.js?v=20518228087486565811785848489

js debongout-paris.com collected 2026-09-26 06:22:29 UTC 4,621 bytes, 2 lines download raw bytes

1import{EVENTS}from"util.events";import{HTMLThemeElement}from"element.theme";class ProductInventory extends HTMLThemeElement{constructor(){super(),this.classes={hidden:"hide",lowInventory:"inventory--low"},this.selectors={variantJson:"[data-current-variant-json]",inventory:"[data-product-inventory]",incomingInventory:"[data-incoming-inventory]",inventory:"[data-product-inventory]",locales:"[data-locales]",inventories:"[data-inventories-json]"},this.settings={inventoryThreshold:10},this.updateInventory=this.updateInventory.bind(this)}connectedCallback(){this.abortController=new AbortController,this.productId=this.dataset.productId,this.currentVariant=JSON.parse(this.querySelector(this.selectors.variantJson).textContent);const inventoryEl=this.querySelector(this.selectors.inventory);this.settings.inventory=!0,this.settings.inventoryThreshold=inventoryEl.dataset.threshold,this.updateInventory({detail:{variant:this.currentVariant}}),document.addEventListener(`${EVENTS.variantChange}:${this.dataset.sectionId}:${this.productId}`,this.updateInventory,{signal:this.abortController.signal})}disconnectedCallback(){this.abortController.abort()}updateInventory(evt){const variant=evt.detail.variant,inStockForOOSAndContinueSelling=!1;if(!variant){this.toggleInventoryQuantity("hidden",!1),this.toggleIncomingInventory(!1);return}if(!variant.inventory_management){this.toggleInventoryQuantity("visible",!1),this.toggleIncomingInventory(!1);return}if(variant.inventory_management==="shopify"&&this.getInventories()){const variantInventoryObject=this.getInventories()[variant.id],{quantity,policy,incoming,next_incoming_date}=variantInventoryObject||{};if(this.toggleInventoryQuantity(void 0,quantity),inStockForOOSAndContinueSelling&&quantity<=0&&policy==="continue"){this.toggleInventoryQuantity("visible",!1),this.toggleIncomingInventory(!1);return}incoming&&!variant.available||quantity<=0&&policy==="continue"?this.toggleIncomingInventory(!0,next_incoming_date,policy):this.toggleIncomingInventory(!1),[...this.querySelectorAll(".product-inventory__point")].every(el=>el.classList.contains(this.classes.hidden))?this.classList.add(this.classes.hidden):this.classList.remove(this.classes.hidden)}}toggleInventoryQuantity(state=void 0,quantity){const productInventoryEl=this.querySelector(this.selectors.inventory),inventorySalesPoint=productInventoryEl.closest(".product-inventory__point");if(state&&state==="hidden"){inventorySalesPoint&&inventorySalesPoint.classList.add(this.classes.hidden);return}let showLowInventoryMessage=!1;parseInt(quantity)<=parseInt(this.settings.inventoryThreshold)&&parseInt(quantity)>0&&(showLowInventoryMessage=!0),parseInt(quantity)>0||state&&state==="visible"?(showLowInventoryMessage?(productInventoryEl.parentNode.classList.add(this.classes.lowInventory),quantity>1?productInventoryEl.textContent=this.locales.otherStockLabel.replace("[count]",quantity):productInventoryEl.textContent=this.locales.oneStockLabel.replace("[count]",quantity)):(productInventoryEl.parentNode.classList.remove(this.classes.lowInventory),productInventoryEl.textContent=this.locales.inStockLabel),inventorySalesPoint&&inventorySalesPoint.classList.remove(this.classes.hidden)):inventorySalesPoint&&inventorySalesPoint.classList.add(this.classes.hidden)}toggleIncomingInventory(showIncomingInventory,incomingInventoryDate,policy){const incomingInventoryEl=this.querySelector(this.selectors.incomingInventory),incomingInventoryIcon=incomingInventoryEl.querySelector(".icon-and-text");if(!incomingInventoryEl)return;const incomingInventoryBlockEnabled=incomingInventoryEl.dataset.enabled==="true",textEl=incomingInventoryEl.querySelector(".js-incoming-text");if(!incomingInventoryBlockEnabled){incomingInventoryEl.classList.add(this.classes.hidden);return}showIncomingInventory?(incomingInventoryDate?(textEl.textContent=this.locales.willBeInStockAfter.replace("[date]",incomingInventoryDate),incomingInventoryEl.classList.remove(this.classes.hidden)):(textEl.textContent=this.locales.waitingForStock,incomingInventoryEl.classList.remove(this.classes.hidden)),incomingInventoryIcon&&(policy!=="continue"?incomingInventoryIcon.classList.add(this.classes.lowInventory):incomingInventoryIcon.classList.remove(this.classes.lowInventory))):incomingInventoryEl.classList.add(this.classes.hidden)}getInventories(){return this.inventories=this.inventories||JSON.parse(this.querySelector(this.selectors.inventories).textContent),this.inventories}}customElements.define("product-inventory",ProductInventory);
2//# sourceMappingURL=/cdn/shop/t/113/assets/block.product-inventory.js.map?v=20518228087486565811785848489

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.