{
  "version": 3,
  "sources": ["/cdn/shop/t/21/assets/product-sku.js?codex_sku_display=20260618"],
  "sourcesContent": ["import { Component } from '@theme/component';\nimport { ThemeEvents, VariantUpdateEvent } from '@theme/events';\n\n/**\n * A custom element that displays a product SKU.\n * This component listens for variant update events and updates the SKU display accordingly.\n * It handles SKU updates from two different sources:\n * 1. Variant picker (in quick add modal or product page)\n * 2. Swatches variant picker (in product cards)\n *\n * @typedef {Object} Refs\n * @property {HTMLElement} skuContainer - The container element for the SKU\n * @property {HTMLElement} sku - The span element that displays the SKU text\n *\n * @extends {Component<Refs>}\n */\nclass ProductSkuComponent extends Component {\n  requiredRefs = ['skuContainer', 'sku'];\n\n  connectedCallback() {\n    super.connectedCallback();\n    const target = this.closest('[id*=\"ProductInformation-\"], [id*=\"QuickAdd-\"], product-card');\n    if (!target) return;\n    target.addEventListener(ThemeEvents.variantUpdate, this.updateSku);\n  }\n\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    const target = this.closest('[id*=\"ProductInformation-\"], [id*=\"QuickAdd-\"], product-card');\n    if (!target) return;\n    target.removeEventListener(ThemeEvents.variantUpdate, this.updateSku);\n  }\n\n  /**\n   * Updates the SKU.\n   * @param {VariantUpdateEvent} event - The variant update event.\n   */\n  updateSku = (event) => {\n    if (event.detail.data.newProduct) {\n      this.dataset.productId = event.detail.data.newProduct.id;\n    }\n\n    if (event.target instanceof HTMLElement && event.target.dataset.productId !== this.dataset.productId) {\n      return;\n    }\n\n    // Use the variant data from the event\n    // The variant is in event.detail.resource\n    if (event.detail.resource) {\n      const variantSku = event.detail.resource.sku || '';\n\n      if (variantSku) {\n        // Show the component and update the SKU\n        this.style.display = 'block';\n        this.refs.sku.textContent = variantSku;\n      } else {\n        // Hide the entire component when SKU is empty\n        this.style.display = 'none';\n        this.refs.sku.textContent = '';\n      }\n    }\n  };\n}\n\nif (!customElements.get('product-sku-component')) {\n  customElements.define('product-sku-component', ProductSkuComponent);\n}\n"],
  "mappings": "AAAA,OAAS,cAAiB,mBAC1B,OAAS,gBAAuC,gBAehD,MAAM,4BAA4B,SAAU,CAC1C,aAAe,CAAC,eAAgB,KAAK,EAErC,mBAAoB,CAClB,MAAM,kBAAkB,EACxB,MAAM,OAAS,KAAK,QAAQ,8DAA8D,EACrF,QACL,OAAO,iBAAiB,YAAY,cAAe,KAAK,SAAS,CACnE,CAEA,sBAAuB,CACrB,MAAM,qBAAqB,EAC3B,MAAM,OAAS,KAAK,QAAQ,8DAA8D,EACrF,QACL,OAAO,oBAAoB,YAAY,cAAe,KAAK,SAAS,CACtE,CAMA,UAAa,OAAU,CAKrB,GAJI,MAAM,OAAO,KAAK,aACpB,KAAK,QAAQ,UAAY,MAAM,OAAO,KAAK,WAAW,IAGpD,QAAM,kBAAkB,aAAe,MAAM,OAAO,QAAQ,YAAc,KAAK,QAAQ,YAMvF,MAAM,OAAO,SAAU,CACzB,MAAM,WAAa,MAAM,OAAO,SAAS,KAAO,GAE5C,YAEF,KAAK,MAAM,QAAU,QACrB,KAAK,KAAK,IAAI,YAAc,aAG5B,KAAK,MAAM,QAAU,OACrB,KAAK,KAAK,IAAI,YAAc,GAEhC,CACF,CACF,CAEK,eAAe,IAAI,uBAAuB,GAC7C,eAAe,OAAO,wBAAyB,mBAAmB",
  "names": []
}
