{
  "version": 3,
  "sources": ["/cdn/shop/t/4/assets/dec-print-your-own.js?rev=medium-poly-bright-samples-20261016"],
  "sourcesContent": ["document.querySelectorAll('[data-dec-pyo]').forEach((root) => {\n  const family = root.querySelector('[data-dec-family]');\n  const basePhoto = root.querySelector('[data-dec-base-photo]');\n  const examplePhoto = root.querySelector('[data-dec-example-photo]');\n  const visualCaption = root.querySelector('.dec-pyo__visual-caption');\n  function updateBasePhoto(option) {\n    if (!basePhoto || !examplePhoto) return;\n    const url = option?.dataset.photo?.trim();\n    basePhoto.hidden = !url;\n    examplePhoto.hidden = Boolean(url);\n    if (visualCaption) visualCaption.textContent = option?.dataset.name\n      ? (url ? `${option.dataset.name} \u00B7 Fabric sample preview.` : `${option.dataset.name} \u00B7 Sample photo coming soon. Specifications below are current.`)\n      : 'Concept visual \u00B7 choose a fabric base and upload your own artwork.';\n    if (url) {\n      const image = basePhoto.querySelector('img');\n      image.src = url;\n      image.alt = `${option.dataset.name} \u2014 ${option.dataset.madeToOrder === 'true' ? 'fabric sample photo' : 'unprinted fabric texture'}`;\n      basePhoto.querySelector('figcaption').textContent = `${option.dataset.name} \u00B7 ${option.dataset.madeToOrder === 'true' ? 'Fabric sample photo' : 'Unprinted base fabric'}. Your artwork is printed to order.`;\n    }\n    const visualStrip = root.querySelector('[data-dec-visual-strip]');\n    if (visualStrip) {\n      const sampleSet = option?.value === 'urban-rib'\n        ? { name: 'Urban Rib', src: 'urbanSrc', href: 'urbanHref' }\n        : option?.value === '7x5-poly-rib-knit'\n          ? { name: '7x5 Poly Rib Knit', src: 'rib7x5Src', href: 'rib7x5Href' }\n          : option?.value === '3x2-european-brushed-rib-fleece'\n            ? { name: '3x2 European Brushed Rib Fleece', src: 'rib3x2Src', href: 'rib3x2Href' }\n            : option?.value === 'light-double-brushed-poly'\n              ? { name: 'Light Double Brushed Poly', src: 'lightPolySrc', href: 'lightPolyHref' }\n              : option?.value === 'medium-double-brushed-poly'\n                ? { name: 'Medium Double Brushed Poly', src: 'mediumPolySrc', href: 'mediumPolyHref' }\n                : option?.value === 'poly-waffle-knit'\n                  ? { name: 'Poly Waffle Knit', src: 'polyWaffleSrc', href: 'polyWaffleHref' }\n                  : null;\n      visualStrip.hidden = Boolean(option?.value && !sampleSet);\n      visualStrip.querySelectorAll('[data-dec-strip-image]').forEach((image) => {\n        image.src = sampleSet ? image.dataset[sampleSet.src] : image.dataset.defaultSrc;\n        image.alt = sampleSet ? `${sampleSet.name} colour sample` : image.alt;\n      });\n      visualStrip.querySelectorAll('[data-dec-strip-link]').forEach((link) => {\n        link.href = sampleSet ? link.dataset[sampleSet.href] : link.dataset.defaultHref;\n        if (!link.dataset.modalBound) {\n          link.dataset.modalBound = 'true';\n          link.addEventListener('click', (event) => {\n            event.preventDefault();\n            let modal = root.querySelector('[data-dec-image-modal]');\n            if (!modal) {\n              modal = document.createElement('div');\n              modal.dataset.decImageModal = '';\n              modal.hidden = true;\n              modal.setAttribute('role', 'dialog');\n              modal.setAttribute('aria-modal', 'true');\n              modal.innerHTML = '<div data-dec-modal-backdrop></div><div data-dec-modal-panel><button type=\"button\" data-dec-modal-close aria-label=\"Close image\">\u00D7</button><img data-dec-modal-image alt=\"\"></div>';\n              document.body.append(modal);\n              const style = document.createElement('style');\n              style.textContent = '[data-dec-image-modal]{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px}[data-dec-image-modal][hidden]{display:none}[data-dec-modal-backdrop]{position:absolute;inset:0;background:rgba(15,31,54,.58)}[data-dec-modal-panel]{position:relative;z-index:1;max-width:min(860px,90vw);max-height:80vh;padding:14px;background:#fff;border-radius:14px;box-shadow:0 18px 60px rgba(15,31,54,.28)}[data-dec-modal-image]{display:block;max-width:calc(90vw - 28px);max-height:calc(80vh - 28px);width:auto;height:auto;border-radius:8px}[data-dec-modal-close]{position:absolute;right:6px;top:4px;z-index:2;width:32px;height:32px;border:0;border-radius:50%;background:#20345a;color:#fff;font-size:24px;line-height:1;cursor:pointer}';\n              document.head.append(style);\n              const close = () => { modal.hidden = true; };\n              modal.querySelector('[data-dec-modal-backdrop]').addEventListener('click', close);\n              modal.querySelector('[data-dec-modal-close]').addEventListener('click', close);\n              document.addEventListener('keydown', (keyEvent) => { if (keyEvent.key === 'Escape') close(); });\n            }\n            const modalImage = modal.querySelector('[data-dec-modal-image]');\n            modalImage.src = link.href;\n            modalImage.alt = link.querySelector('img')?.alt || 'Fabric sample enlarged';\n            modal.hidden = false;\n          });\n        }\n      });\n      const captions = visualStrip.querySelectorAll('[data-dec-strip-caption]');\n      if (captions.length >= 2) {\n        captions[0].textContent = sampleSet ? `${sampleSet.name} colour sample 1 \u00B7 click to enlarge` : 'Texture detail';\n        captions[1].textContent = sampleSet ? `${sampleSet.name} colour sample 2 \u00B7 click to enlarge` : 'Design and colour planning';\n      }\n    }\n  }\n\n  const base = root.querySelector('[data-dec-base]');\n  const originalOptions = Array.from(base.querySelectorAll('option[data-family]'));\n  const specs = root.querySelector('[data-dec-specs]');\n  const priceNode = root.querySelector('[data-dec-price]');\n  const variantInput = root.querySelector('[data-dec-variant]');\n  const fabricProperty = root.querySelector('[data-dec-fabric-property]');\n  const quantity = root.querySelector('[data-dec-quantity]');\n  const total = root.querySelector('[data-dec-total]');\n  const totalValue = root.querySelector('[data-dec-total-value]');\n  const submit = root.querySelector('[data-dec-submit]');\n  const formNote = root.querySelector('[data-dec-form-note]');\n  const designNameInput = root.querySelector('input[name=\"properties[Design name]\"]');\n  const artwork = root.querySelector('input[type=\"file\"][name=\"properties[Artwork]\"]');\n  const rights = root.querySelector('[data-dec-rights]');\n  const variantsElement = root.querySelector('[data-dec-variants]');\n  let variants = [];\n  if (variantsElement) {\n    try {\n      const parsed = JSON.parse(variantsElement.textContent);\n      variants = Array.isArray(parsed) ? parsed : [];\n    } catch (error) {\n      console.error('DEC FABRICS: unable to read printed fabric variants.', error);\n    }\n  }\n  let selectedPrice = 0;\n  let selectedKgPerYard = null;\n  const weightEstimate = root.querySelector('[data-dec-weight-estimate]');\n  const matchingCurrency = root.dataset.decCurrency === 'USD';\n\n  const formatPrice = (amount) => new Intl.NumberFormat('en-US', {\n    style: 'currency',\n    currency: 'USD'\n  }).format(amount);\n\n  function validYards() {\n    const yards = Number(quantity?.value);\n    return Number.isSafeInteger(yards) && yards >= 1 ? yards : null;\n  }\n\n  function updateTotal() {\n    const yards = validYards();\n    const artworkReady = !artwork || artwork.required === false || Boolean(artwork.files?.length);\n    const rightsReady = !rights || Boolean(rights.checked);\n    const missing = [];\n    if (!artworkReady) missing.push('upload artwork');\n    if (!rightsReady) missing.push('confirm artwork rights');\n    if (weightEstimate) weightEstimate.textContent = selectedKgPerYard && yards\n      ? `This fabric: ${(selectedKgPerYard * yards).toFixed(4)} kg. Your cart combines all fabrics and adds packaging once.`\n      : '';\n    if (submit && variantInput?.value) {\n      submit.disabled = yards === null || !artworkReady || !rightsReady;\n      submit.textContent = yards === null\n        ? 'Enter a whole number of yards'\n        : missing.length\n          ? `Complete: ${missing.join(' and ')}`\n          : `Add ${yards} yard${yards === 1 ? '' : 's'} to cart`;\n    }\n    if (!selectedPrice || yards === null || !total || !totalValue) {\n      if (total) total.hidden = true;\n      return;\n    }\n    totalValue.textContent = formatPrice(selectedPrice * yards);\n    total.hidden = false;\n  }\n\n  function resetSelection(message) {\n    updateBasePhoto(null);\n    selectedPrice = 0;\n    selectedKgPerYard = null;\n    if (weightEstimate) weightEstimate.textContent = '';\n    const baseHeading = root.querySelector('[data-dec-base-heading]');\n    if (baseHeading) baseHeading.textContent = 'Find your fabric';\n    specs.hidden = true;\n    priceNode.textContent = 'Choose a fabric';\n    if (variantInput) variantInput.value = '';\n    if (fabricProperty) fabricProperty.value = '';\n    if (total) total.hidden = true;\n    if (submit) {\n      submit.disabled = true;\n      submit.textContent = 'Choose a fabric to continue';\n    }\n    if (formNote && message) formNote.textContent = message;\n  }\n\n  family.addEventListener('change', () => {\n    const matches = originalOptions.filter((option) => option.dataset.family === family.value);\n    base.replaceChildren(new Option(family.value ? 'Select your fabric base' : 'Choose a family first', ''));\n    matches.forEach((option) => {\n      const visibleOption = option.cloneNode(true);\n      visibleOption.hidden = false;\n      base.add(visibleOption);\n    });\n    base.disabled = matches.length === 0;\n    resetSelection('Artwork and print details are confirmed before production.');\n  });\n\n  base.addEventListener('change', () => {\n    const selected = base.selectedOptions[0];\n    if (!selected || !selected.value) {\n      resetSelection();\n      return;\n    }\n\n    root.querySelector('[data-dec-composition]').textContent = selected.dataset.composition;\n    root.querySelector('[data-dec-width]').textContent = selected.dataset.width;\n    root.querySelector('[data-dec-weight]').textContent = selected.dataset.weight;\n    specs.hidden = false;\n    updateBasePhoto(selected);\n    const baseHeading = root.querySelector('[data-dec-base-heading]');\n    if (baseHeading) baseHeading.textContent = selected.dataset.name;\n\n    const width = /^(\\d+(?:\\.\\d+)?)cm$/i.exec(selected.dataset.width);\n    const gsm = /^(\\d+(?:\\.\\d+)?)GSM$/i.exec(selected.dataset.weight);\n    selectedKgPerYard = width && gsm ? Math.round(Number(width[1]) * Number(gsm[1]) / 10 * 0.9144) / 10000 : null;\n    selectedPrice = Number(selected.dataset.price);\n    if (!Number.isFinite(selectedPrice) || selectedPrice <= 0) selectedPrice = 0;\n    priceNode.textContent = selectedPrice ? `${formatPrice(selectedPrice)} / yard` : 'Price available on request';\n    if (fabricProperty) fabricProperty.value = selected.dataset.name;\n    updateTotal();\n    if (!variantInput || !submit) return;\n    const variant = variants.find((item) => item.title === selected.dataset.name);\n    const matchingPrice = variant && Number.isFinite(selectedPrice) && selectedPrice > 0\n      && Math.abs(Number(variant.price) - selectedPrice) < 0.01;\n    const madeToOrder = selected.dataset.madeToOrder === 'true';\n    const variantCanOrder = variant && (variant.available || madeToOrder) && matchingPrice && matchingCurrency;\n    variantInput.value = variantCanOrder ? variant.id : '';\n    submit.disabled = !variantInput.value;\n    updateTotal();\n    if (!matchingCurrency) {\n      submit.textContent = 'Contact us to order';\n      formNote.textContent = 'These estimates are in USD. Please contact us to confirm pricing in your checkout currency.';\n    } else if (!variant) {\n      submit.textContent = 'This fabric is not ready to order';\n      formNote.textContent = 'This base is not linked to the ordering product yet. Please contact us.';\n    } else if (!matchingPrice) {\n      submit.textContent = 'This fabric is not ready to order';\n      formNote.textContent = 'This base needs a final price check before ordering. Please contact us.';\n    } else if (!variant.available && !madeToOrder) {\n      submit.textContent = 'This fabric is currently unavailable';\n      formNote.textContent = 'Please contact us for availability and the next production date.';\n    } else {\n      formNote.textContent = madeToOrder\n        ? 'Made to order. Artwork and print details are confirmed before production.'\n        : 'Artwork and print details are confirmed before production.';\n    }\n  });\n\n  if (quantity) {\n    quantity.addEventListener('input', () => {\n      updateTotal();\n    });\n  }\n\n  if (artwork) {\n    artwork.addEventListener('change', () => {\n      const file = artwork.files?.[0];\n      const fileStatus = root.querySelector('[data-dec-file-status]');\n      if (fileStatus) fileStatus.textContent = file ? file.name : 'No file selected';\n      const allowed = /\\.(jpe?g|png|tiff?|pdf|psd)$/i;\n      artwork.setCustomValidity(file && !allowed.test(file.name) ? 'Please upload a JPG, PNG, TIFF, PDF or PSD file.' : '');\n      if (formNote && file) formNote.textContent = artwork.validationMessage || `Selected artwork: ${file.name}`;\n      updateTotal();\n    });\n  }\n\n  rights?.addEventListener('change', updateTotal);\n\n  const form = root.querySelector('form');\n  const urlParams = new URLSearchParams(window.location.search);\n  const requestedDesignName = urlParams.get('design_name');\n  const requestedDesignImage = urlParams.get('design_image');\n  const libraryDesignSelected = Boolean(requestedDesignName && requestedDesignImage);\n  const libraryUploadLabel = root.querySelector('label[for^=\"dec-artwork-\"]');\n  const libraryUploadBox = libraryUploadLabel?.nextElementSibling;\n  const libraryUploadHelp = libraryUploadBox?.nextElementSibling;\n  const libraryVisualCaption = root.querySelector('.dec-pyo__visual-caption');\n  if (libraryDesignSelected) {\n    [libraryUploadLabel, libraryUploadBox, libraryUploadHelp].forEach((element) => {\n      if (element) element.hidden = true;\n    });\n    if (artwork) artwork.removeAttribute('required');\n    const libraryNotice = document.createElement('p');\n    libraryNotice.className = 'dec-pyo__fine';\n    libraryNotice.textContent = 'Original Design selected. No artwork upload is required.';\n    libraryNotice.setAttribute('data-dec-library-notice', '');\n    libraryUploadBox?.parentNode?.insertBefore(libraryNotice, libraryUploadBox.nextSibling);\n    if (libraryVisualCaption) libraryVisualCaption.textContent = 'Preview your selected Original Design on the fabric base.';\n    const libraryStep = root.querySelector('.dec-pyo__steps span:nth-child(2)');\n    if (libraryStep) libraryStep.textContent = '02  Choose your design';\n  }\n  if (requestedDesignName && designNameInput) {\n    designNameInput.value = requestedDesignName;\n    designNameInput.dispatchEvent(new Event('input', { bubbles: true }));\n  }\n  if (form && libraryDesignSelected) {\n    artwork.required = false;\n    const libraryField = document.createElement('input');\n    libraryField.type = 'hidden';\n    libraryField.name = 'properties[Library design preview]';\n    libraryField.value = requestedDesignImage;\n    form.append(libraryField);\n    const preview = document.createElement('figure');\n    preview.className = 'dec-library-design-preview';\n    const previewImage = document.createElement('img');\n    previewImage.src = requestedDesignImage;\n    previewImage.alt = requestedDesignName + ' preview';\n    previewImage.loading = 'lazy';\n    const caption = document.createElement('figcaption');\n    caption.textContent = 'Selected library design: ' + requestedDesignName + '. The selected library image will be used for printing; contact us if you need changes.';\n    preview.append(previewImage, caption);\n    const upload = root.querySelector('.dec-pyo__upload');\n    if (upload) upload.before(preview);\n    if (formNote) formNote.textContent = 'Selected library design loaded. Confirm your fabric, repeat and scale, then add it to cart.';\n  }\n  if (form) form.addEventListener('submit', (event) => {\n    if (!variantInput || !variantInput.value || !base.value || validYards() === null || !(artwork?.files?.length || libraryDesignSelected) || !rights?.checked || !form.checkValidity()) {\n      event.preventDefault();\n      form.reportValidity();\n      if (formNote) formNote.textContent = libraryDesignSelected\n        ? 'Choose a fabric, enter whole yards and confirm permission before adding to cart.'\n        : 'Choose a fabric, enter whole yards, upload artwork and confirm permission before adding to cart.';\n      return;\n    }\n    submit.disabled = true;\n    submit.textContent = 'Adding your custom fabric\u2026';\n  });\n\n  window.addEventListener('pageshow', (event) => {\n    if (event.persisted) updateTotal();\n  });\n  const requestedBase = urlParams.get('base');\n  const requestedOption = originalOptions.find((option) => option.value === requestedBase);\n  if (requestedOption) {\n    family.value = requestedOption.dataset.family;\n    family.dispatchEvent(new Event('change'));\n    base.value = requestedOption.value;\n    base.dispatchEvent(new Event('change'));\n  }\n\n});\n/* DEC artwork size preview */\n(()=>{document.querySelectorAll('[data-dec-pyo]').forEach(r=>{let f=r.querySelector('form'),i=r.querySelector('input[type=file][name=\"properties[Artwork]\"]'),u=r.querySelector('.dec-pyo__upload');if(!f||!i||!u)return;let c=document.createElement('div');c.className='dec-artwork-card';c.hidden=1;c.innerHTML='<img><div><b></b><small></small><small></small></div><button type=\"button\" data-clear>\u00D7</button><button type=\"button\" data-view disabled>View size</button>';u.after(c);let im=c.querySelector('img'),nm=c.querySelector('b'),sz=c.querySelectorAll('small')[0],msg=c.querySelectorAll('small')[1],vw=c.querySelector('[data-view]'),add=n=>{let e=document.createElement('input');e.type='hidden';e.name=n;f.append(e);return e},ww=add('properties[Artwork width (in)]'),hh=add('properties[Artwork height (in)]'),rr=add('properties[Artwork preview repeat]'),m=document.createElement('div');m.className='dec-size-modal';m.hidden=1;m.innerHTML='<div data-close></div><section><header>Pattern preview <button type=\"button\" data-close>\u00D7</button></header><main><div class=\"p\"><canvas></canvas><p>Preview shows print-scale proportions; the original file is preserved.</p></div><aside><b>Size settings</b><small data-file></small><div class=\"pres\"><button type=\"button\" data-size=\"12\">12\u2033</button><button type=\"button\" data-size=\"24\">24\u2033</button><button type=\"button\" data-size=\"58\">58\u2033</button></div><label>Width (in)<input type=\"number\" min=\"1\" data-w></label><label>Height (in)<input type=\"number\" min=\"1\" data-h></label><label><input type=\"checkbox\" checked data-lock> Keep image ratio</label><label>Preview repeat<select data-repeat><option>Basic repeat</option><option>Half-drop repeat</option><option>Mirror repeat</option><option>No repeat / placement</option></select></label><button type=\"button\" data-save>Save size settings</button></aside></main></section>';document.body.append(m);let cv=m.querySelector('canvas'),x=cv.getContext('2d'),w=m.querySelector('[data-w]'),h=m.querySelector('[data-h]'),lock=m.querySelector('[data-lock]'),rep=m.querySelector('[data-repeat]'),pic,ratio=1;function draw(){if(!pic)return;let W=560,H=400,a=+w.value||12,b=+h.value||12,ppi=18,t=Math.max(40,a*ppi),z=Math.max(40,b*ppi);cv.width=W;cv.height=H;x.fillStyle='#f5f8fb';x.fillRect(0,0,W,H);if(rep.value==='No repeat / placement'){let q=Math.min(t/pic.width,z/pic.height);x.drawImage(pic,(W-pic.width*q)/2,(H-pic.height*q)/2,pic.width*q,pic.height*q)}else for(let row=0,y=0;y<H+z;y+=z,row++)for(let col=0,k=0;k<W+t;k+=t,col++){let dx=k-(rep.value==='Half-drop repeat'&&row%2?t/2:0);if(rep.value==='Mirror repeat'&&col%2){x.save();x.translate(dx+t,y);x.scale(-1,1);x.drawImage(pic,0,0,t,z);x.restore()}else x.drawImage(pic,dx,y,t,z)}}i.onchange=()=>{let file=i.files[0];c.hidden=!file;vw.disabled=1;msg.textContent='';if(!file)return;nm.textContent=file.name;sz.textContent=((file.size||0)/1048576).toFixed(1)+' MB';if(!/^image\\/(jpeg|png|webp|gif)$/i.test(file.type)){msg.textContent='Preview unavailable for this file type; original will still be uploaded.';return}im.src=URL.createObjectURL(file);pic=new Image;pic.onload=()=>{ratio=pic.width/pic.height||1;w.value=12;h.value=Math.max(1,(12/ratio).toFixed(1));vw.disabled=0};pic.src=im.src};c.querySelector('[data-clear]').onclick=()=>{i.value='';i.onchange()};vw.onclick=()=>{m.hidden=0;m.querySelector('[data-file]').textContent=i.files[0].name;draw();w.focus()};m.onclick=e=>{if(e.target.hasAttribute('data-close'))m.hidden=1};m.querySelectorAll('[data-size]').forEach(b=>b.onclick=()=>{w.value=b.dataset.size;if(lock.checked)h.value=Math.max(1,(w.value/ratio).toFixed(1));draw()});w.oninput=()=>{if(lock.checked)h.value=Math.max(1,(w.value/ratio).toFixed(1));draw()};h.oninput=()=>{if(lock.checked)w.value=Math.max(1,(h.value*ratio).toFixed(1));draw()};rep.onchange=draw;m.querySelector('[data-save]').onclick=()=>{ww.value=w.value;hh.value=h.value;rr.value=rep.value;msg.textContent='Saved: '+w.value+'\u2033 \u00D7 '+h.value+'\u2033 \u00B7 '+rep.value;m.hidden=1};f.onsubmit=()=>{if(pic&&!ww.value){ww.value=w.value;hh.value=h.value;rr.value=rep.value}}})})();\n\n(()=>{let s=document.createElement('style');s.textContent=\".dec-artwork-card{display:grid;grid-template-columns:64px 1fr auto;gap:8px;align-items:center;margin:10px 0;padding:8px;border:1px solid #b9c9d5;border-radius:8px}.dec-artwork-card[hidden]{display:none}.dec-artwork-card img{width:64px;height:64px;object-fit:cover}.dec-artwork-card div{display:grid;gap:3px}.dec-artwork-card small{font-size:12px;color:#53657d}.dec-artwork-card button{border:0;background:transparent;color:#20345a;cursor:pointer}.dec-artwork-card [data-view]{grid-column:2;background:#20345a;color:#fff;border-radius:4px;padding:7px 12px;justify-self:start}.dec-size-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center}.dec-size-modal[hidden]{display:none}.dec-size-modal>div{position:absolute;inset:0;background:#10233bb3}.dec-size-modal section{position:relative;width:min(900px,calc(100vw - 20px));background:#fff;border-radius:12px;overflow:auto}.dec-size-modal header{display:flex;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #ddd;font-size:20px}.dec-size-modal header button{border:0;background:none;font-size:24px}.dec-size-modal main{display:grid;grid-template-columns:1.5fr .8fr;gap:18px;padding:18px}.dec-size-modal canvas{width:100%;border:1px solid #d6e0e8}.dec-size-modal aside{display:grid;gap:9px;align-content:start}.dec-size-modal aside label{font-size:12px;color:#53657d}.dec-size-modal input[type=number],.dec-size-modal select{width:100%;box-sizing:border-box;padding:8px;margin-top:3px;border:1px solid #b9c9d5;border-radius:4px}.dec-size-modal .pres{display:flex;gap:6px}.dec-size-modal .pres button{flex:1;padding:8px;border:1px solid #c7d2de;background:#fff;border-radius:4px}.dec-size-modal [data-save]{padding:10px;background:#5f73dc;color:#fff;border:0;border-radius:5px}@media(max-width:700px){.dec-size-modal main{grid-template-columns:1fr}}\";document.head.append(s)})();\n\n(()=>{let m=document.querySelector('.dec-size-modal'),w=m&&m.querySelector('[data-w]'),h=m&&m.querySelector('[data-h]');if(!m||!w||!h||m.querySelector('[data-quick-adjust]'))return;let box=document.createElement('div');box.dataset.quickAdjust='';box.innerHTML='<label>Quick Adjust <output>12.0\u2033</output></label><input type=\"range\" min=\"1\" max=\"58\" step=\".1\" value=\"12\" aria-label=\"Quick Adjust\">';h.closest('label').after(box);let range=box.querySelector('input'),out=box.querySelector('output');function sync(){let v=Math.max(1,Math.min(58,parseFloat(w.value)||1));range.value=v;out.textContent=v.toFixed(1)+'\u2033'}range.addEventListener('input',()=>{w.value=range.value;w.dispatchEvent(new Event('input',{bubbles:true}));sync()});w.addEventListener('input',sync);h.addEventListener('input',sync);new MutationObserver(()=>{if(!m.hidden)sync()}).observe(m,{attributes:true,attributeFilter:['hidden']});setInterval(()=>{if(!m.hidden&&document.activeElement!==range)sync()},150);sync()})();\n(()=>{let s=document.createElement('style');s.textContent='.dec-size-modal [data-quick-adjust]{padding:14px 16px;margin:3px 0;background:#f5f7fa;border-radius:10px}.dec-size-modal [data-quick-adjust] label{display:flex;justify-content:space-between;align-items:center;font-size:16px;color:#53657d}.dec-size-modal [data-quick-adjust] output{font-size:16px;font-weight:700;color:#6174da}.dec-size-modal [data-quick-adjust] input{width:100%;margin:16px 0 0;accent-color:#6174da;cursor:pointer}';document.head.append(s)})();\n(()=>{const s=document.createElement('style');s.textContent='.dec-library-design-preview{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;margin:12px 0 18px;padding:12px;border:1px solid #bfd0e3;border-radius:12px;background:#f5f8fc}.dec-library-design-preview img{width:112px;height:112px;object-fit:cover;border-radius:8px}.dec-library-design-preview figcaption{margin:0;color:#435b7b;font-size:13px;line-height:1.45}@media(max-width:560px){.dec-library-design-preview{grid-template-columns:80px 1fr}.dec-library-design-preview img{width:80px;height:80px}}';document.head.append(s)})();\n"],
  "mappings": "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",
  "names": []
}
