{
  "version": 3,
  "sources": ["/cdn/shop/t/12/assets/product-original-artwork.js?psv=50a0d4084fe63bf0"],
  "sourcesContent": ["(() => {\n  const VERSION = 'editorial-black-frame-2026-10-15-v1';\n  const create = (root) => {\n    if (root?.dataset.psOriginalArtwork !== VERSION) return null;\n    const thumbnails = [...root.querySelectorAll('[data-ps-media]')];\n    const artwork = thumbnails.filter((item) => item.dataset.mediaRole === 'artwork');\n    const preview = thumbnails.filter((item) => item.dataset.mediaRole === 'frame-preview');\n    if (artwork.length !== 1 || preview.length !== 1\n      || artwork[0].dataset.mediaId !== root.dataset.psOriginalArtworkId\n      || preview[0].dataset.mediaId !== `black-frame-preview-${root.dataset.psProductId}`\n      || thumbnails.some((item) => ['hanger', 'comparison'].includes(item.dataset.mediaRole))) return null;\n    const artworkId = artwork[0].dataset.mediaId;\n    const previewId = preview[0].dataset.mediaId;\n    const lookup = new Map(thumbnails.map((item) => [item.dataset.mediaId, item]));\n    if (lookup.size !== thumbnails.length) return null;\n    let committedId = thumbnails.find((item) => item.classList.contains('is-active'))?.dataset.mediaId || previewId;\n    let requestedId = committedId;\n    const roleFor = (id) => String(id) === artworkId ? 'artwork'\n      : String(id) === previewId ? 'frame-preview' : 'gallery';\n    const committed = (id, { track = true } = {}) => {\n      if (!lookup.has(String(id))) return;\n      committedId = String(id);\n      const role = roleFor(committedId);\n      root.dataset.psActiveMediaRole = role;\n      if (!track || role === 'gallery') return;\n      window.dataLayer?.push({\n        event: role === 'artwork' ? 'product_artwork_preview_viewed' : 'product_black_frame_preview_viewed',\n        product_id: root.dataset.psProductId || null,\n        media_id: committedId,\n        media_role: role,\n        rollout_version: VERSION,\n        preview_only: role === 'frame-preview',\n      });\n    };\n    // Capture before the real choice handler rebuilds its list and detaches the\n    // clicked button. This is a user gesture, never catalogue initialization.\n    root.addEventListener('click', (event) => {\n      const button = event.target?.closest?.('.ps-frame-option--natural');\n      if (!button || button.disabled || !root.contains(button)\n        || !button.closest('[data-ps-framing-select=\"frame\"]')) return;\n      root.dispatchEvent(new CustomEvent('product:show-custom-preview'));\n    }, { capture: true });\n    committed(committedId, { track: false });\n    return Object.freeze({\n      artworkMediaId: artworkId,\n      isCustomPreview: (id) => String(id) === artworkId,\n      requested(id) { if (lookup.has(String(id))) requestedId = String(id); },\n      committed,\n      // Keep a customer's chosen display view across size-only changes; real\n      // Black/Mat selection already requests the actual artwork via showcase.\n      variantMediaId() { return requestedId === previewId ? previewId : artworkId; },\n      framingChanged() {\n        // Never create a fake selected.frame or alter a cart/price. The real\n        // renderer is active only on the committed canonical artwork view.\n        root.dispatchEvent(new CustomEvent('product:media-change', { detail: {\n          mediaId: committedId,\n          isCustomPreview: committedId === artworkId,\n        } }));\n      },\n    });\n  };\n  globalThis.PosterOriginalArtworkMedia = Object.freeze({ create });\n})();\n"],
  "mappings": "CAAC,IAAM,CACL,MAAM,QAAU,sCACV,OAAU,MAAS,CACvB,GAAI,MAAM,QAAQ,oBAAsB,QAAS,OAAO,KACxD,MAAM,WAAa,CAAC,GAAG,KAAK,iBAAiB,iBAAiB,CAAC,EACzD,QAAU,WAAW,OAAQ,MAAS,KAAK,QAAQ,YAAc,SAAS,EAC1E,QAAU,WAAW,OAAQ,MAAS,KAAK,QAAQ,YAAc,eAAe,EACtF,GAAI,QAAQ,SAAW,GAAK,QAAQ,SAAW,GAC1C,QAAQ,CAAC,EAAE,QAAQ,UAAY,KAAK,QAAQ,qBAC5C,QAAQ,CAAC,EAAE,QAAQ,UAAY,uBAAuB,KAAK,QAAQ,WAAW,IAC9E,WAAW,KAAM,MAAS,CAAC,SAAU,YAAY,EAAE,SAAS,KAAK,QAAQ,SAAS,CAAC,EAAG,OAAO,KAClG,MAAM,UAAY,QAAQ,CAAC,EAAE,QAAQ,QAC/B,UAAY,QAAQ,CAAC,EAAE,QAAQ,QAC/B,OAAS,IAAI,IAAI,WAAW,IAAK,MAAS,CAAC,KAAK,QAAQ,QAAS,IAAI,CAAC,CAAC,EAC7E,GAAI,OAAO,OAAS,WAAW,OAAQ,OAAO,KAC9C,IAAI,YAAc,WAAW,KAAM,MAAS,KAAK,UAAU,SAAS,WAAW,CAAC,GAAG,QAAQ,SAAW,UAClG,YAAc,YAClB,MAAM,QAAW,IAAO,OAAO,EAAE,IAAM,UAAY,UAC/C,OAAO,EAAE,IAAM,UAAY,gBAAkB,UAC3C,UAAY,CAAC,GAAI,CAAE,MAAQ,EAAK,EAAI,CAAC,IAAM,CAC/C,GAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC,EAAG,OAC7B,YAAc,OAAO,EAAE,EACvB,MAAM,KAAO,QAAQ,WAAW,EAChC,KAAK,QAAQ,kBAAoB,KAC7B,GAAC,OAAS,OAAS,YACvB,OAAO,WAAW,KAAK,CACrB,MAAO,OAAS,UAAY,iCAAmC,qCAC/D,WAAY,KAAK,QAAQ,aAAe,KACxC,SAAU,YACV,WAAY,KACZ,gBAAiB,QACjB,aAAc,OAAS,eACzB,CAAC,CACH,EAGA,YAAK,iBAAiB,QAAU,OAAU,CACxC,MAAM,OAAS,MAAM,QAAQ,UAAU,2BAA2B,EAC9D,CAAC,QAAU,OAAO,UAAY,CAAC,KAAK,SAAS,MAAM,GAClD,CAAC,OAAO,QAAQ,kCAAkC,GACvD,KAAK,cAAc,IAAI,YAAY,6BAA6B,CAAC,CACnE,EAAG,CAAE,QAAS,EAAK,CAAC,EACpB,UAAU,YAAa,CAAE,MAAO,EAAM,CAAC,EAChC,OAAO,OAAO,CACnB,eAAgB,UAChB,gBAAkB,IAAO,OAAO,EAAE,IAAM,UACxC,UAAU,GAAI,CAAM,OAAO,IAAI,OAAO,EAAE,CAAC,IAAG,YAAc,OAAO,EAAE,EAAG,EACtE,UAGA,gBAAiB,CAAE,OAAO,cAAgB,UAAY,UAAY,SAAW,EAC7E,gBAAiB,CAGf,KAAK,cAAc,IAAI,YAAY,uBAAwB,CAAE,OAAQ,CACnE,QAAS,YACT,gBAAiB,cAAgB,SACnC,CAAE,CAAC,CAAC,CACN,CACF,CAAC,CACH,EACA,WAAW,2BAA6B,OAAO,OAAO,CAAE,MAAO,CAAC,CAClE,GAAG",
  "names": []
}
