{
  "version": 3,
  "sources": ["/cdn/shop/t/5/assets/custom-framing.js?psv=framing-visibility-20260818"],
  "sourcesContent": ["(async () => {\n  const root = document.querySelector('[data-ps-product]');\n  const catalogNode = document.querySelector('[data-ps-framing-catalog]');\n  if (!root || !catalogNode) return;\n\n  globalThis.PosterFramingFulfilment?.connect(root);\n\n  const catalog = globalThis.PosterFramingCatalog\n    ? await globalThis.PosterFramingCatalog.load(catalogNode)\n    : JSON.parse(catalogNode.textContent);\n\n  const variantNode = document.querySelector('[data-ps-variants]');\n  const posterVariants = variantNode ? JSON.parse(variantNode.textContent) : [];\n  const variantInput = root.querySelector('[data-ps-variant-input]');\n  const selected = { passepartout: null, frame: null };\n  let isCustomPreviewActive = false;\n\n  const labels = {\n    passepartout: { empty: 'Add passepartout', none: 'No passepartout', from: 'From' },\n    frame: { empty: 'Add frame', none: 'No frame', from: 'From' },\n  };\n  const swatches = {\n    beige: '#e6dfca', black: '#111111', blue: '#38558d', brass: '#c3ad73',\n    'dark-oak': '#654634', green: '#278e53', grey: '#c9c7bf', lavender: '#d9cbe8',\n    'light-blue': '#9fc8db', mint: '#74c79d', oak: '#a77b49', orange: '#ff8038',\n    petrol: '#577486', pink: '#ead0c2', plum: '#6e3e4c', red: '#c9584f',\n    white: '#ffffff', yellow: '#f4cf65',\n  };\n  const swatchFor = (styleSlug = '') => swatches[styleSlug]\n    || swatches[styleSlug.replace(/-(wood|alu)$/, '')]\n    || '#b8bbba';\n\n  const normalizeSize = globalThis.PosterFramingCatalog?.normalizeSize || ((value = '') => value\n    .toLowerCase()\n    .replaceAll(',', '.')\n    .replace(/[\u00D7\u2715\u2716]/g, 'x')\n    .replace(/\\s*x\\s*/g, 'x')\n    .replace(/\\s+/g, ' ')\n    .trim());\n  const isFramingOptionVisible = globalThis.PosterFramingVisibility?.isVisible || (() => true);\n  const currentPosterVariant = () => posterVariants.find((variant) => String(variant.id) === String(variantInput?.value));\n  const currentPosterSize = () => {\n    const variant = currentPosterVariant();\n    const sizeIndex = variant?.options?.findIndex((_value, index) => {\n      const group = root.querySelector(`[data-ps-option-group][data-option-position=\"${index + 1}\"]`);\n      return group?.textContent.toLowerCase().includes('size');\n    });\n    return variant?.options?.[sizeIndex >= 0 ? sizeIndex : 0] || '';\n  };\n  const rowsForSize = (kind) => {\n    const targetSize = kind === 'frame' && selected.passepartout ? selected.passepartout.size : currentPosterSize();\n    const size = normalizeSize(targetSize);\n    return (catalog[kind]?.variants || []).filter((variant) => (\n      variant.available\n      && isFramingOptionVisible(kind, variant)\n      && normalizeSize(kind === 'passepartout' ? variant.fitsSize : variant.size) === size\n    ));\n  };\n  const lowestPrice = (rows) => rows.length ? rows.reduce((lowest, row) => row.price < lowest.price ? row : lowest) : null;\n  const optionLabel = (kind, variant) => kind === 'passepartout' ? `${variant.style} passepartout` : `${variant.style} frame`;\n  const publishPricing = () => {\n    const passepartoutPrice = Number(selected.passepartout?.price || 0);\n    const framePrice = Number(selected.frame?.price || 0);\n    root.dispatchEvent(new CustomEvent('product:framing-price-change', {\n      detail: {\n        addonPrice: passepartoutPrice + framePrice,\n        passepartoutPrice,\n        framePrice,\n        frame: selected.frame ? {\n          id: selected.frame.id,\n          styleSlug: selected.frame.styleSlug,\n          available: selected.frame.available,\n        } : null,\n      },\n    }));\n  };\n\n  const updateTrigger = (kind) => {\n    const select = root.querySelector(`[data-ps-framing-select=\"${kind}\"]`);\n    if (!select) return;\n    const value = select.querySelector('[data-ps-choice-select-value]');\n    const price = select.querySelector('[data-ps-choice-select-price]');\n    const plus = select.querySelector('[data-ps-choice-select-plus]');\n    const output = select.closest('.ps-config-group')?.querySelector('[data-ps-choice-output]');\n    const chosen = selected[kind];\n    const lowest = lowestPrice(rowsForSize(kind));\n    if (value) value.textContent = chosen ? optionLabel(kind, chosen) : labels[kind].empty;\n    if (price) price.textContent = chosen ? chosen.formattedPrice : (lowest ? `${labels[kind].from} ${lowest.formattedPrice}` : 'Unavailable');\n    if (plus) plus.hidden = Boolean(chosen);\n    if (output) output.textContent = chosen ? optionLabel(kind, chosen) : labels[kind].none;\n  };\n\n  const applyPreview = () => {\n    root.productFramePreview?.update({\n      passepartout: selected.passepartout,\n      frame: selected.frame,\n      active: isCustomPreviewActive,\n    });\n  };\n\n  const selectVariant = (kind, variant) => {\n    selected[kind] = variant;\n    render(kind);\n    updateTrigger(kind);\n    if (kind === 'passepartout') {\n      render('frame');\n      updateTrigger('frame');\n    }\n    if (variant) root.dispatchEvent(new CustomEvent('product:show-custom-preview'));\n    applyPreview();\n    publishPricing();\n    window.dataLayer?.push({\n      event: 'framing_option_changed',\n      component: kind,\n      action: variant ? 'selected' : 'removed',\n      variant_id: variant?.id || null,\n      price: Number(variant?.price || 0),\n    });\n  };\n\n  const optionButton = (kind, variant) => {\n    const button = document.createElement('button');\n    const isSelected = String(selected[kind]?.id) === String(variant.id);\n    button.type = 'button';\n    button.className = `ps-frame-option${isSelected ? ' is-selected' : ''}`;\n    button.setAttribute('role', 'option');\n    button.setAttribute('aria-selected', String(isSelected));\n    button.setAttribute('aria-pressed', String(isSelected));\n    button.dataset.psFramingVariant = String(variant.id);\n    button.innerHTML = `<span class=\"ps-frame-option__swatch\" style=\"--ps-framing-swatch:${swatchFor(variant.styleSlug)}\"></span><span class=\"ps-frame-option__details\"><span class=\"ps-frame-option__name\"></span><span class=\"ps-frame-option__size\"></span></span><span class=\"ps-frame-option__price\"></span>`;\n    button.querySelector('.ps-frame-option__name').textContent = optionLabel(kind, variant);\n    button.querySelector('.ps-frame-option__size').textContent = kind === 'passepartout' ? `${variant.size} | fits: ${variant.fitsSize}` : variant.size;\n    button.querySelector('.ps-frame-option__price').textContent = variant.formattedPrice;\n    button.addEventListener('click', () => selectVariant(kind, variant));\n    return button;\n  };\n\n  const render = (kind) => {\n    const select = root.querySelector(`[data-ps-framing-select=\"${kind}\"]`);\n    const list = select?.querySelector('[data-ps-framing-options]');\n    if (!list) return;\n    const rows = rowsForSize(kind);\n    if (selected[kind] && !rows.some((row) => String(row.id) === String(selected[kind].id))) selected[kind] = null;\n    list.replaceChildren();\n\n    const none = document.createElement('button');\n    none.type = 'button';\n    none.className = `ps-frame-option ps-frame-option--natural${selected[kind] ? '' : ' is-selected'}`;\n    none.setAttribute('role', 'option');\n    none.setAttribute('aria-selected', String(!selected[kind]));\n    none.setAttribute('aria-pressed', String(!selected[kind]));\n    none.innerHTML = '<span class=\"ps-frame-option__swatch\"></span><span class=\"ps-frame-option__details\"><span class=\"ps-frame-option__name\"></span></span>';\n    none.querySelector('.ps-frame-option__name').textContent = labels[kind].none;\n    none.addEventListener('click', () => selectVariant(kind, null));\n    list.append(none);\n    rows.forEach((variant) => list.append(optionButton(kind, variant)));\n    if (!rows.length) {\n      const message = document.createElement('p');\n      message.className = 'ps-frame-options__empty';\n      message.textContent = 'No option is available for this size.';\n      list.append(message);\n    }\n    updateTrigger(kind);\n  };\n\n  root.querySelectorAll('[data-ps-framing-select]').forEach((select) => {\n    const trigger = select.querySelector('[data-ps-frame-trigger]');\n    trigger?.addEventListener('click', () => {\n      const willOpen = !select.classList.contains('is-open');\n      root.querySelectorAll('[data-ps-framing-select].is-open').forEach((item) => {\n        item.classList.remove('is-open');\n        item.querySelector('[data-ps-frame-trigger]')?.setAttribute('aria-expanded', 'false');\n      });\n      select.classList.toggle('is-open', willOpen);\n      trigger.setAttribute('aria-expanded', String(willOpen));\n    });\n  });\n  document.addEventListener('click', (event) => {\n    if (event.target.closest('[data-ps-framing-select]')) return;\n    root.querySelectorAll('[data-ps-framing-select].is-open').forEach((select) => {\n      select.classList.remove('is-open');\n      select.querySelector('[data-ps-frame-trigger]')?.setAttribute('aria-expanded', 'false');\n    });\n  });\n\n  root.addEventListener('product:variant-change', () => {\n    render('passepartout');\n    render('frame');\n    applyPreview();\n    publishPricing();\n  });\n  root.addEventListener('product:media-change', (event) => {\n    isCustomPreviewActive = Boolean(event.detail?.isCustomPreview);\n    applyPreview();\n  });\n  root.addEventListener('product:preview-orientation', applyPreview);\n\n  root.productFraming = {\n    getCartItems(parentVariantId, quantity) {\n      const configurationId = globalThis.crypto?.randomUUID?.() || `${Date.now()}-${Math.random().toString(16).slice(2)}`;\n      const parentProperties = { _framing_config: configurationId };\n      const items = [{ id: Number(parentVariantId), quantity, properties: parentProperties }];\n      for (const kind of ['passepartout', 'frame']) {\n        const variant = selected[kind];\n        if (!variant) continue;\n        parentProperties[kind === 'passepartout' ? 'Passepartout' : 'Frame'] = optionLabel(kind, variant);\n        items.push({\n          id: Number(variant.id), quantity, parent_id: Number(parentVariantId),\n          properties: {\n            _framing_config: configurationId, _framing_component: kind,\n            _framing_style: variant.style, _framing_size: variant.size,\n          },\n        });\n      }\n      return { items, configurationId, selected: { ...selected } };\n    },\n  };\n\n  window.dataLayer?.push({\n    event: 'framing_catalog_loaded',\n    source: catalog.source || 'liquid',\n    passepartout_variant_count: catalog.passepartout?.variants?.length || 0,\n    frame_variant_count: catalog.frame?.variants?.length || 0,\n    visible_passepartout_variant_count: (catalog.passepartout?.variants || []).filter((variant) => isFramingOptionVisible('passepartout', variant)).length,\n    visible_frame_variant_count: (catalog.frame?.variants || []).filter((variant) => isFramingOptionVisible('frame', variant)).length,\n  });\n\n  render('passepartout');\n  render('frame');\n  applyPreview();\n  publishPricing();\n})();\n"],
  "mappings": "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",
  "names": []
}
