{
  "version": 3,
  "sources": ["/cdn/shop/t/17/assets/acme-iml-layout.js?nocache=1792536416376"],
  "sourcesContent": ["(function(scope){\n'use strict';\nfunction positive(n){return Number.isFinite(n)&&n>0;}\nfunction printPlan(art,garment,size){\n const p=art?.print,area=garment?.printProfile?.sizes?.[size],b=art?.source?.bounds;\n if(!p||!area||!b||!b.every(Number.isFinite))return null;\n const bw=b[2]-b[0],bh=b[3]-b[1];\n if(![bw,bh,p.widthIn,p.maxHeightIn,area.maxWidthIn,area.maxHeightIn].every(positive)||!Number.isFinite(p.collarOffsetIn)||p.collarOffsetIn<0)return null;\n if(b[0]<0||b[1]<0||b[2]>art.source.width||b[3]>art.source.height)return null;\n const cap=Number.isFinite(p.maxWidthIn)&&p.maxWidthIn>0?Math.min(p.maxWidthIn,13):area.maxWidthIn;\n // Production accepts quarter-inch widths only, so the default is floored to the quarter inch.\n const aspect=bw/bh, widthIn=Math.floor(Math.min(p.widthIn,cap,p.maxHeightIn*aspect,19.5*aspect)*4+1e-9)/4;\n const heightIn=widthIn/aspect;\n return {widthIn,heightIn,collarOffsetIn:p.collarOffsetIn,revision:p.revision,approved:p.approved===true,placement:'Front',bounds:b};\n}\nfunction previewBox(art,plan,photo){\n if(!plan||!photo||![photo.width,photo.height,photo.pixelsPerInch].every(positive))return null;\n const [x,y,right,bottom]=plan.bounds,scale=plan.widthIn*photo.pixelsPerInch/(right-x);\n // Position the visible artwork, excluding transparent padding, below the front collar.\n const left=photo.centerX+(plan.horizontalOffsetIn||0)*photo.pixelsPerInch-plan.widthIn*photo.pixelsPerInch/2-x*scale;\n const top=(Object.hasOwn(plan,'hemOffsetIn')?(photo.hemY??photo.height*.9)-(plan.hemOffsetIn+plan.heightIn)*photo.pixelsPerInch:photo.collarY+plan.collarOffsetIn*photo.pixelsPerInch)-y*scale;\n return {left:left/photo.width*100,top:top/photo.height*100,width:art.source.width*scale/photo.width*100,height:art.source.height*scale/photo.height*100};\n}\nfunction referencePlan(art,garment){return printPlan(art,garment,garment?.printProfile?.referenceSize||'M');}\n// David approved a 13-inch adjustable width; the fixed recommendation stays unchanged.\n// Shared shop maximum is 13 inches wide by 19.5 inches high; preserve aspect ratio.\nfunction adjustmentLimits(art,garment,size){\n const plan=printPlan(art,garment,size);\n if(!plan)return null;\n const aspect=(plan.bounds[2]-plan.bounds[0])/(plan.bounds[3]-plan.bounds[1]);\n const maxWidth=Math.min(13,19.5*aspect);\n return {minWidthIn:1.5,maxWidthIn:Math.floor(maxWidth*4)/4,widthStepIn:.25,minCollarOffsetIn:0,maxCollarOffsetIn:48};\n}\nfunction adjustedPlan(art,garment,size,value){\n const limits=adjustmentLimits(art,garment,size),plan=printPlan(art,garment,size);\n if(!limits||!value)return null;\n const vertical=Object.hasOwn(value,'hemOffsetIn')?'hemOffsetIn':'collarOffsetIn';\n const keys=['widthIn',vertical,...(Object.hasOwn(value,'horizontalOffsetIn')?['horizontalOffsetIn']:[])].sort().join(',');\n if(Object.keys(value).sort().join(',')!==keys||(Object.hasOwn(value,'horizontalOffsetIn')&&(!Number.isFinite(value.horizontalOffsetIn)||Math.abs(value.horizontalOffsetIn)>16||!Number.isInteger(value.horizontalOffsetIn*4))))return null;\n const widthIn=value.widthIn,collarOffsetIn=value[vertical];\n if(!Number.isFinite(widthIn)||widthIn<limits.minWidthIn||widthIn>limits.maxWidthIn||!Number.isInteger(widthIn*4)||!Number.isFinite(collarOffsetIn)||collarOffsetIn<limits.minCollarOffsetIn||collarOffsetIn>(vertical==='collarOffsetIn'?16:limits.maxCollarOffsetIn))return null;\n const {collarOffsetIn:unused,...base}=plan;\n return {...base,widthIn,heightIn:widthIn*(plan.bounds[3]-plan.bounds[1])/(plan.bounds[2]-plan.bounds[0]),[vertical]:collarOffsetIn,...(value.horizontalOffsetIn?{horizontalOffsetIn:value.horizontalOffsetIn,placement:value.horizontalOffsetIn>0?'Left chest':'Right chest'}:{}),approved:false};\n}\nconst api={printPlan,previewBox,referencePlan,adjustmentLimits,adjustedPlan};\nif(typeof module!=='undefined'&&module.exports)module.exports=api;else scope.AcmePrintLayout=api;\n})(typeof window!=='undefined'?window:globalThis);\n"],
  "mappings": "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",
  "names": []
}
