{
  "version": 3,
  "sources": ["/cdn/shop/t/5/assets/custom-image-framing.js?psv=image-framing-20260814"],
  "sourcesContent": ["(() => {\n  const root = document.querySelector('[data-ps-product]');\n  const preview = root?.querySelector('[data-ps-art-preview]');\n  const canvas = preview?.querySelector('[data-pdp-print-preview]');\n  const layers = {\n    passepartout: preview?.querySelector('[data-ps-framing-layer=\"passepartout\"]'),\n    frame: preview?.querySelector('[data-ps-framing-layer=\"frame\"]'),\n  };\n  if (!root || !preview || !canvas || !layers.passepartout || !layers.frame) return;\n\n  let state = { passepartout: null, frame: null, active: false };\n\n  const orientation = () => preview.dataset.psPreviewOrientation || preview.dataset.orientation || 'portrait';\n  const updateLayerScale = (layer, currentOrientation) => {\n    const compensation = currentOrientation === 'square' && layer.naturalWidth > 0\n      ? layer.naturalHeight / layer.naturalWidth\n      : 1;\n    layer.style.setProperty('--ps-framing-layer-scale', String(compensation));\n  };\n\n  const render = () => {\n    const currentOrientation = orientation();\n    Object.entries(layers).forEach(([kind, layer]) => {\n      const selected = state[kind];\n      const url = selected?.preview?.[currentOrientation] || selected?.preview?.portrait || '';\n      if (!state.active || !selected || !url) {\n        layer.hidden = true;\n        layer.removeAttribute('src');\n        return;\n      }\n      layer.onload = () => updateLayerScale(layer, currentOrientation);\n      layer.src = url;\n      layer.hidden = false;\n      if (layer.complete) updateLayerScale(layer, currentOrientation);\n    });\n    canvas.dataset.hasPassepartout = String(Boolean(state.active && state.passepartout));\n    canvas.dataset.hasFrame = String(Boolean(state.active && state.frame));\n  };\n\n  root.addEventListener('product:preview-orientation', render);\n  root.productFramePreview = {\n    update(nextState = {}) {\n      state = { ...state, ...nextState };\n      render();\n    },\n  };\n  render();\n})();\n"],
  "mappings": "CAAC,IAAM,CACL,MAAM,KAAO,SAAS,cAAc,mBAAmB,EACjD,QAAU,MAAM,cAAc,uBAAuB,EACrD,OAAS,SAAS,cAAc,0BAA0B,EAC1D,OAAS,CACb,aAAc,SAAS,cAAc,wCAAwC,EAC7E,MAAO,SAAS,cAAc,iCAAiC,CACjE,EACA,GAAI,CAAC,MAAQ,CAAC,SAAW,CAAC,QAAU,CAAC,OAAO,cAAgB,CAAC,OAAO,MAAO,OAE3E,IAAI,MAAQ,CAAE,aAAc,KAAM,MAAO,KAAM,OAAQ,EAAM,EAE7D,MAAM,YAAc,IAAM,QAAQ,QAAQ,sBAAwB,QAAQ,QAAQ,aAAe,WAC3F,iBAAmB,CAAC,MAAO,qBAAuB,CACtD,MAAM,aAAe,qBAAuB,UAAY,MAAM,aAAe,EACzE,MAAM,cAAgB,MAAM,aAC5B,EACJ,MAAM,MAAM,YAAY,2BAA4B,OAAO,YAAY,CAAC,CAC1E,EAEM,OAAS,IAAM,CACnB,MAAM,mBAAqB,YAAY,EACvC,OAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAM,KAAK,IAAM,CAChD,MAAM,SAAW,MAAM,IAAI,EACrB,IAAM,UAAU,UAAU,kBAAkB,GAAK,UAAU,SAAS,UAAY,GACtF,GAAI,CAAC,MAAM,QAAU,CAAC,UAAY,CAAC,IAAK,CACtC,MAAM,OAAS,GACf,MAAM,gBAAgB,KAAK,EAC3B,MACF,CACA,MAAM,OAAS,IAAM,iBAAiB,MAAO,kBAAkB,EAC/D,MAAM,IAAM,IACZ,MAAM,OAAS,GACX,MAAM,UAAU,iBAAiB,MAAO,kBAAkB,CAChE,CAAC,EACD,OAAO,QAAQ,gBAAkB,OAAO,GAAQ,MAAM,QAAU,MAAM,aAAa,EACnF,OAAO,QAAQ,SAAW,OAAO,GAAQ,MAAM,QAAU,MAAM,MAAM,CACvE,EAEA,KAAK,iBAAiB,8BAA+B,MAAM,EAC3D,KAAK,oBAAsB,CACzB,OAAO,UAAY,CAAC,EAAG,CACrB,MAAQ,CAAE,GAAG,MAAO,GAAG,SAAU,EACjC,OAAO,CACT,CACF,EACA,OAAO,CACT,GAAG",
  "names": []
}
