{
  "version": 3,
  "sources": ["/cdn/shop/t/12/assets/framing-fulfilment.js?psv=5434afa539fab4bc"],
  "sourcesContent": ["(() => {\n  const connections = new WeakMap();\n  const packagingCopy = /\\b(?:rolled|rolls?|tubes?|tube-packed)\\b/i;\n\n  // These are presentation fields published by the actual framing selection.\n  // A positive add-on price can also be a mount, so it is never a frame signal.\n  const isFittedBlackFrame = (frame) => Boolean(frame\n    && /^[1-9]\\d*$/.test(String(frame.id))\n    && frame.available === true\n    && frame.styleSlug === 'black-wood');\n\n  const capture = (node) => ({\n    node,\n    hidden: node.hidden,\n    display: node.style.getPropertyValue('display'),\n    priority: node.style.getPropertyPriority('display'),\n  });\n  const restore = ({ node, hidden, display, priority }) => {\n    node.hidden = hidden;\n    if (display) node.style.setProperty('display', display, priority);\n    else node.style.removeProperty('display');\n  };\n  const conceal = ({ node }) => {\n    node.hidden = true;\n    // Existing theme classes can have display:flex, which overrides [hidden].\n    node.style.setProperty('display', 'none', 'important');\n  };\n\n  const connect = (root) => {\n    if (!root || (root.dataset.psProductContext !== 'default'\n        && !root.hasAttribute('data-pf-photo-customizer')\n        && !root.hasAttribute('data-pf-framing-assembled-scope'))) return null;\n    if (connections.has(root)) return connections.get(root);\n    const form = root.querySelector('.ps-form');\n    const assembled = form?.querySelector('[data-pf-framing-assembled]');\n    if (!form || !assembled) return null;\n    const unframed = [...form.querySelectorAll('[data-pf-framing-unframed]'),\n      ...[...form.querySelectorAll('[data-pf-framing-packaging]')]\n        .filter((node) => packagingCopy.test(node.textContent || ''))];\n    const original = [...new Set(unframed)].map(capture);\n    const assembledOriginal = capture(assembled);\n    let disposed = false;\n    const update = (frame) => {\n      const fitted = isFittedBlackFrame(frame);\n      original.forEach(fitted ? conceal : restore);\n      if (fitted) {\n        assembled.hidden = false;\n        assembled.style.removeProperty('display');\n      } else conceal(assembledOriginal);\n    };\n    const onPricing = (event) => {\n      if (Object.prototype.hasOwnProperty.call(event.detail || {}, 'frame')) {\n        update(event.detail.frame);\n      }\n    };\n    const dispose = () => {\n      if (disposed) return;\n      disposed = true;\n      root.removeEventListener('product:framing-price-change', onPricing);\n      root.removeEventListener('shopify:section:unload', dispose);\n      original.forEach(restore);\n      restore(assembledOriginal);\n      connections.delete(root);\n    };\n    const connection = Object.freeze({ dispose });\n    connections.set(root, connection);\n    root.addEventListener('product:framing-price-change', onPricing);\n    root.addEventListener('shopify:section:unload', dispose);\n    update(null);\n    return connection;\n  };\n\n  globalThis.PosterFramingFulfilment = Object.freeze({ connect });\n})();\n"],
  "mappings": "CAAC,IAAM,CACL,MAAM,YAAc,IAAI,QAClB,cAAgB,4CAIhB,mBAAsB,OAAU,GAAQ,OACzC,aAAa,KAAK,OAAO,MAAM,EAAE,CAAC,GAClC,MAAM,YAAc,IACpB,MAAM,YAAc,cAEnB,QAAW,OAAU,CACzB,KACA,OAAQ,KAAK,OACb,QAAS,KAAK,MAAM,iBAAiB,SAAS,EAC9C,SAAU,KAAK,MAAM,oBAAoB,SAAS,CACpD,GACM,QAAU,CAAC,CAAE,KAAM,OAAQ,QAAS,QAAS,IAAM,CACvD,KAAK,OAAS,OACV,QAAS,KAAK,MAAM,YAAY,UAAW,QAAS,QAAQ,EAC3D,KAAK,MAAM,eAAe,SAAS,CAC1C,EACM,QAAU,CAAC,CAAE,IAAK,IAAM,CAC5B,KAAK,OAAS,GAEd,KAAK,MAAM,YAAY,UAAW,OAAQ,WAAW,CACvD,EAEM,QAAW,MAAS,CACxB,GAAI,CAAC,MAAS,KAAK,QAAQ,mBAAqB,WACzC,CAAC,KAAK,aAAa,0BAA0B,GAC7C,CAAC,KAAK,aAAa,iCAAiC,EAAI,OAAO,KACtE,GAAI,YAAY,IAAI,IAAI,EAAG,OAAO,YAAY,IAAI,IAAI,EACtD,MAAM,KAAO,KAAK,cAAc,UAAU,EACpC,UAAY,MAAM,cAAc,6BAA6B,EACnE,GAAI,CAAC,MAAQ,CAAC,UAAW,OAAO,KAChC,MAAM,SAAW,CAAC,GAAG,KAAK,iBAAiB,4BAA4B,EACrE,GAAG,CAAC,GAAG,KAAK,iBAAiB,6BAA6B,CAAC,EACxD,OAAQ,MAAS,cAAc,KAAK,KAAK,aAAe,EAAE,CAAC,CAAC,EAC3D,SAAW,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,EAAE,IAAI,OAAO,EAC7C,kBAAoB,QAAQ,SAAS,EAC3C,IAAI,SAAW,GACf,MAAM,OAAU,OAAU,CACxB,MAAM,OAAS,mBAAmB,KAAK,EACvC,SAAS,QAAQ,OAAS,QAAU,OAAO,EACvC,QACF,UAAU,OAAS,GACnB,UAAU,MAAM,eAAe,SAAS,GACnC,QAAQ,iBAAiB,CAClC,EACM,UAAa,OAAU,CACvB,OAAO,UAAU,eAAe,KAAK,MAAM,QAAU,CAAC,EAAG,OAAO,GAClE,OAAO,MAAM,OAAO,KAAK,CAE7B,EACM,QAAU,IAAM,CAChB,WACJ,SAAW,GACX,KAAK,oBAAoB,+BAAgC,SAAS,EAClE,KAAK,oBAAoB,yBAA0B,OAAO,EAC1D,SAAS,QAAQ,OAAO,EACxB,QAAQ,iBAAiB,EACzB,YAAY,OAAO,IAAI,EACzB,EACM,WAAa,OAAO,OAAO,CAAE,OAAQ,CAAC,EAC5C,mBAAY,IAAI,KAAM,UAAU,EAChC,KAAK,iBAAiB,+BAAgC,SAAS,EAC/D,KAAK,iBAAiB,yBAA0B,OAAO,EACvD,OAAO,IAAI,EACJ,UACT,EAEA,WAAW,wBAA0B,OAAO,OAAO,CAAE,OAAQ,CAAC,CAChE,GAAG",
  "names": []
}
