{"version":3,"file":"shared.mpJWiTCC.mjs","names":["useState","useRef","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/bZ9R4bp5CFf3ZaPgoGlH/MSlxnG4m2igxNcGBWSXX/HTML5_Banner_Preview_Flexible.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useCallback,useEffect,useMemo,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function uint8ToArrayBuffer(data){const copy=new Uint8Array(data.byteLength);copy.set(data);return copy.buffer;}function extToMime(path){const ext=path.toLowerCase().split(\".\").pop()??\"\";if(ext===\"html\"||ext===\"htm\")return\"text/html\";if(ext===\"css\")return\"text/css\";if(ext===\"js\"||ext===\"mjs\")return\"text/javascript\";if(ext===\"json\")return\"application/json\";if(ext===\"svg\")return\"image/svg+xml\";if(ext===\"png\")return\"image/png\";if(ext===\"jpg\"||ext===\"jpeg\")return\"image/jpeg\";if(ext===\"gif\")return\"image/gif\";if(ext===\"webp\")return\"image/webp\";if(ext===\"woff\")return\"font/woff\";if(ext===\"woff2\")return\"font/woff2\";if(ext===\"ttf\")return\"font/ttf\";if(ext===\"otf\")return\"font/otf\";if(ext===\"mp4\")return\"video/mp4\";if(ext===\"mp3\")return\"audio/mpeg\";return\"application/octet-stream\";}function normalizePath(path){return path.replace(/\\\\/g,\"/\").replace(/^\\.?\\//,\"\");}function dirname(path){const normalized=normalizePath(path);const index=normalized.lastIndexOf(\"/\");return index===-1?\"\":normalized.slice(0,index);}function resolveRelativePath(baseDir,rawRelative){const cleaned=rawRelative.split(\"?\")[0].split(\"#\")[0];const baseParts=baseDir?baseDir.split(\"/\"):[];const relParts=cleaned.split(\"/\");const merged=[...baseParts];for(const part of relParts){if(!part||part===\".\")continue;if(part===\"..\"){if(merged.length>0)merged.pop();continue;}merged.push(part);}return normalizePath(merged.join(\"/\"));}function parseDimensionsFromHtml(html){const adSizeMeta=html.match(/<meta[^>]*name=[\"']ad\\.size[\"'][^>]*content=[\"'][^\"']*width\\s*=\\s*(\\d+)\\s*,\\s*height\\s*=\\s*(\\d+)[^\"']*[\"'][^>]*>/i);if(adSizeMeta){return{width:Number(adSizeMeta[1]),height:Number(adSizeMeta[2])};}const cssOrInlineSize=html.match(/(width|max-width)\\s*[:=]\\s*[\"']?(\\d{2,4})px[\"']?[^<\\n\\r]{0,100}(height|max-height)\\s*[:=]\\s*[\"']?(\\d{2,4})px/i);if(cssOrInlineSize){return{width:Number(cssOrInlineSize[2]),height:Number(cssOrInlineSize[4])};}const bodyAttrs=html.match(/<body[^>]*width=[\"']?(\\d{2,4})[\"']?[^>]*height=[\"']?(\\d{2,4})[\"']?[^>]*>/i);if(bodyAttrs){return{width:Number(bodyAttrs[1]),height:Number(bodyAttrs[2])};}return{};}function parseDimensionsFromText(text){const match=text.match(/(?:^|[^0-9])(\\d{2,4})\\s*[xX]\\s*(\\d{2,4})(?:[^0-9]|$)/);if(!match)return{};const width=Number(match[1]);const height=Number(match[2]);if(!Number.isFinite(width)||!Number.isFinite(height))return{};return{width,height};}function parseDimensionsFromCss(cssText){const clean=cssText.replace(/\\s+/g,\" \");const match=clean.match(/(width|max-width)\\s*:\\s*(\\d{2,4})px[^{};]{0,150}(height|max-height)\\s*:\\s*(\\d{2,4})px/i);if(!match)return{};return{width:Number(match[2]),height:Number(match[4])};}function sanitizeClickThroughCandidate(value){const cleaned=value.trim().replace(/^['\"`]|['\"`]$/g,\"\");if(!cleaned)return undefined;if(/^(javascript:|data:|#)/i.test(cleaned))return undefined;if(/^(https?:)?\\/\\//i.test(cleaned))return cleaned;return undefined;}function extractClickThroughUrl(html){const patterns=[/<meta[^>]*name=[\"'](?:clicktag\\d*|clicktag|clickthroughurl|exit_url|clickurl)[\"'][^>]*content=[\"']([^\"']+)[\"'][^>]*>/gi,/<meta[^>]*content=[\"']([^\"']+)[\"'][^>]*name=[\"'](?:clicktag\\d*|clicktag|clickthroughurl|exit_url|clickurl)[\"'][^>]*>/gi,/(?:var|let|const)?\\s*(?:window\\.)?(?:clicktag\\d*|clicktag|clickTAG\\d*|ClickTag\\d*|exit_url|exitUrl|clickThroughUrl)\\s*[:=]\\s*(['\"`])([^'\"`]+)\\1/gi,/[\"'](?:clicktag\\d*|clicktag|clickTAG\\d*|ClickTag\\d*|exit_url|exitUrl|clickThroughUrl)[\"']\\s*:\\s*(['\"`])([^'\"`]+)\\1/gi];for(const pattern of patterns){pattern.lastIndex=0;let match=pattern.exec(html);while(match){const candidate=match[2]??match[1];const sanitized=sanitizeClickThroughCandidate(candidate);if(sanitized)return sanitized;match=pattern.exec(html);}}return undefined;}function decodeHtmlEntities(value){return value.replace(/&amp;/gi,\"&\").replace(/&lt;/gi,\"<\").replace(/&gt;/gi,\">\").replace(/&quot;/gi,'\"').replace(/&#39;/gi,\"'\");}function extractHtmlTitle(html){const titleMatch=html.match(/<title[^>]*>([\\s\\S]*?)<\\/title>/i);if(!titleMatch)return undefined;const decoded=decodeHtmlEntities(titleMatch[1]).trim();return decoded||undefined;}function hasNativeClickOpenHandler(html){const openWithClickTagPatterns=[/window\\.open\\s*\\([^)]*\\b(?:clicktag\\d*|clicktag|clickTAG\\d*|ClickTag\\d*|exit_url|exitUrl|clickThroughUrl)\\b[^)]*\\)/i,/location(?:\\.href)?\\s*=\\s*(?:window\\.)?\\b(?:clicktag\\d*|clicktag|clickTAG\\d*|ClickTag\\d*|exit_url|exitUrl|clickThroughUrl)\\b/i];for(const pattern of openWithClickTagPatterns){if(pattern.test(html))return true;}const hasWindowOpen=/window\\.open\\s*\\(/i.test(html);const hasClickTagIdentifier=/\\b(?:clicktag\\d*|clicktag|clickTAG\\d*|ClickTag\\d*|exit_url|exitUrl|clickThroughUrl)\\b/i.test(html);return hasWindowOpen&&hasClickTagIdentifier;}function stripZipExtension(name){const trimmed=name.trim();if(!trimmed)return\"Creative\";return trimmed.replace(/\\.zip$/i,\"\");}function getFileExtension(fileUrl){const clean=fileUrl.split(\"?\")[0].split(\"#\")[0];const lastPart=clean.split(\"/\").pop()??\"\";const ext=lastPart.split(\".\").pop()??\"\";return ext.toLowerCase();}function isImageExtension(ext){return ext===\"jpg\"||ext===\"jpeg\"||ext===\"png\"||ext===\"gif\";}function isPdfExtension(ext){return ext===\"pdf\";}function sourceZipNameFromUrl(zipUrl){if(!zipUrl)return\"Uploaded ZIP\";try{const parsed=new URL(zipUrl);const filename=parsed.pathname.split(\"/\").pop();if(filename)return decodeURIComponent(filename);}catch(_error){const fallback=zipUrl.split(\"/\").pop();if(fallback)return fallback;}return\"Uploaded ZIP\";}async function loadZipLib(){if(typeof window===\"undefined\"){throw new Error(\"ZIP processing is unavailable during server rendering.\");}try{// @ts-expect-error Runtime ESM URL import for Framer/browser environments.\nreturn await import(\"https://esm.sh/fflate@0.8.2?bundle\");}catch(_error){throw new Error(\"Could not load ZIP library in this environment.\");}}async function unzipEntries(zipArrayBuffer){const{unzipSync}=await loadZipLib();try{const unzipped=unzipSync(new Uint8Array(zipArrayBuffer));const files=new Map;for(const[rawPath,data]of Object.entries(unzipped)){const normalizedPath=normalizePath(rawPath);if(!normalizedPath||normalizedPath.endsWith(\"/\"))continue;files.set(normalizedPath,data instanceof Uint8Array?data:new Uint8Array(data));}return files;}catch(_error){throw new Error(\"Invalid or unsupported ZIP file.\");}}function buildBannerHtml(indexPath,indexHtml,entries,registerUrl,clickThroughUrl){const indexDir=dirname(indexPath);const blobMap=new Map;const decoder=new TextDecoder;const encoder=new TextEncoder;for(const[entryPath,data]of entries.entries()){const url=URL.createObjectURL(new Blob([uint8ToArrayBuffer(data)],{type:extToMime(entryPath)}));registerUrl(url);blobMap.set(normalizePath(entryPath),url);}const shouldRewrite=value=>{const trimmed=value.trim();if(!trimmed)return false;if(/^(data:|blob:|https?:|\\/\\/|#|mailto:|tel:|javascript:)/i.test(trimmed))return false;return true;};const rewritePath=rawPath=>{if(!shouldRewrite(rawPath))return rawPath;const normalizedTarget=resolveRelativePath(indexDir,rawPath);return blobMap.get(normalizedTarget)??rawPath;};for(const[entryPath,data]of entries.entries()){if(!/\\.css$/i.test(entryPath))continue;const cssDir=dirname(entryPath);const cssText=decoder.decode(data);const rewrittenCss=cssText.replace(/url\\((['\"]?)([^'\")]+)\\1\\)/gi,(_match,quote,value)=>{if(!shouldRewrite(value))return`url(${quote}${value}${quote})`;const normalizedTarget=resolveRelativePath(cssDir,value);const rewritten=blobMap.get(normalizedTarget)??value;return`url(${quote}${rewritten}${quote})`;});const cssUrl=URL.createObjectURL(new Blob([uint8ToArrayBuffer(encoder.encode(rewrittenCss))],{type:\"text/css\"}));registerUrl(cssUrl);blobMap.set(normalizePath(entryPath),cssUrl);}const rewrittenAttributes=indexHtml.replace(/(src|href|poster)=[\"']([^\"']+)[\"']/gi,(_match,attr,value)=>`${attr}=\"${rewritePath(value)}\"`);const rewrittenHtml=rewrittenAttributes.replace(/url\\((['\"]?)([^'\")]+)\\1\\)/gi,(_match,quote,value)=>{const rewritten=rewritePath(value);return`url(${quote}${rewritten}${quote})`;});if(!clickThroughUrl)return rewrittenHtml;if(hasNativeClickOpenHandler(indexHtml))return rewrittenHtml;const serializedUrl=JSON.stringify(clickThroughUrl);const clickScript=`<script>(function(){var clickUrl=${serializedUrl};if(!clickUrl)return;var lastOpenAt=0;var guardMs=300;document.addEventListener(\"click\",function(){var now=Date.now();if(now-lastOpenAt<guardMs)return;lastOpenAt=now;window.open(clickUrl,\"_blank\",\"noopener,noreferrer\");});})();</script>`;if(/<\\/body>/i.test(rewrittenHtml)){return rewrittenHtml.replace(/<\\/body>/i,`${clickScript}</body>`);}return`${rewrittenHtml}${clickScript}`;}function detectBannerDimensions(sourceName,indexPath,indexHtml,entries){const fromName=parseDimensionsFromText(`${sourceName} ${indexPath}`);if(fromName.width&&fromName.height)return fromName;const fromHtml=parseDimensionsFromHtml(indexHtml);if(fromHtml.width&&fromHtml.height)return fromHtml;const decoder=new TextDecoder;for(const[path,data]of entries.entries()){if(!/\\.css$/i.test(path))continue;const cssText=decoder.decode(data);const cssSize=parseDimensionsFromCss(cssText);if(cssSize.width&&cssSize.height)return cssSize;}return{};}function extractBannerUnits(entries,sourceZipName,registerUrl){const decoder=new TextDecoder;const indexPaths=[...entries.keys()].filter(path=>/(^|\\/)index\\.html?$/i.test(path));const units=[];for(const indexPath of indexPaths){const indexBytes=entries.get(indexPath);if(!indexBytes)continue;const indexHtml=decoder.decode(indexBytes);const htmlTitle=extractHtmlTitle(indexHtml);const size=detectBannerDimensions(sourceZipName,indexPath,indexHtml,entries);const clickThroughUrl=extractClickThroughUrl(indexHtml);const folder=dirname(indexPath);const inZipName=folder?folder.split(\"/\").pop()||folder:\"Root\";const srcDoc=buildBannerHtml(indexPath,indexHtml,entries,registerUrl,clickThroughUrl);units.push({id:`${sourceZipName}-${indexPath}`,name:inZipName,sourceZipName,htmlTitle,width:size.width,height:size.height,clickThroughUrl,srcDoc});}return units;}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function HTML5BannerPreviewFlexible(props){const{zipFile=\"\",zipFiles=[],previewBackground,cardBackground,cardBorderColor,cardRadius,cardPadding,gridGap,labelColor,labelFont,placeholderText,loadingText,errorTextColor}=props;const isStatic=useIsStaticRenderer();const[status,setStatus]=useState(\"idle\");const[errorMessage,setErrorMessage]=useState(\"\");const[banners,setBanners]=useState([]);const[zipErrors,setZipErrors]=useState([]);const[localZipFiles,setLocalZipFiles]=useState([]);const[isDragOver,setIsDragOver]=useState(false);const blobUrlsRef=useRef([]);const fileInputRef=useRef(null);const normalizedRemoteZipFiles=useMemo(()=>zipFiles.filter(file=>typeof file===\"string\"&&file.trim().length>0),[zipFiles]);const hasAnyZipSource=useMemo(()=>{const hasSingleZip=typeof zipFile===\"string\"&&zipFile.trim().length>0;return hasSingleZip||normalizedRemoteZipFiles.length>0||localZipFiles.length>0;},[zipFile,normalizedRemoteZipFiles,localZipFiles.length]);const clearBlobUrls=useCallback(()=>{for(const url of blobUrlsRef.current)URL.revokeObjectURL(url);blobUrlsRef.current=[];},[]);const registerUrl=useCallback(url=>{blobUrlsRef.current.push(url);},[]);const loadZips=useCallback(async()=>{const allZipFiles=[...normalizedRemoteZipFiles];if(zipFile)allZipFiles.push(zipFile);const dedupedZipFiles=Array.from(new Set(allZipFiles));const sources=[...dedupedZipFiles.map((zipUrl,index)=>({id:`remote-${index}-${zipUrl}`,label:sourceZipNameFromUrl(zipUrl),kind:\"remote\",zipUrl})),...localZipFiles.map((file,index)=>({id:`local-${index}-${file.name}-${file.size}-${file.lastModified}`,label:file.name||`Local ZIP ${index+1}`,kind:\"local\",file}))];if(sources.length===0){clearBlobUrls();startTransition(()=>{setStatus(\"idle\");setErrorMessage(\"\");setBanners([]);setZipErrors([]);});return;}if(typeof window===\"undefined\")return;clearBlobUrls();startTransition(()=>{setStatus(\"loading\");setErrorMessage(\"\");setBanners([]);setZipErrors([]);});try{const units=[];const errors=[];for(const source of sources){const sourceName=source.label;try{let buffer;if(source.kind===\"remote\"){const response=await fetch(source.zipUrl);if(!response.ok)throw new Error(\"Could not fetch the uploaded ZIP file.\");buffer=await response.arrayBuffer();}else{buffer=await source.file.arrayBuffer();}const masterEntries=await unzipEntries(buffer);const nestedZipEntries=[...masterEntries.entries()].filter(([path])=>/\\.zip$/i.test(path));if(nestedZipEntries.length>0){let nestedHasValidBanner=false;for(const[nestedPath,nestedBytes]of nestedZipEntries){const nestedDisplayName=nestedPath.split(\"/\").pop()||nestedPath;try{const nestedBuffer=uint8ToArrayBuffer(nestedBytes);const nestedEntries=await unzipEntries(nestedBuffer);const bannersFromNested=extractBannerUnits(nestedEntries,nestedDisplayName,registerUrl);if(bannersFromNested.length>0){nestedHasValidBanner=true;units.push(...bannersFromNested.map(banner=>({...banner,id:`${source.id}-${banner.id}`})));}else{errors.push({id:`${source.id}-${nestedPath}-no-index`,source:`${sourceName} / ${nestedDisplayName}`,message:\"No valid banner creative detected (missing index.html).\"});}}catch(nestedError){const nestedMessage=nestedError instanceof Error?nestedError.message:\"Failed to read nested ZIP file.\";errors.push({id:`${source.id}-${nestedPath}-invalid`,source:`${sourceName} / ${nestedDisplayName}`,message:nestedMessage});}}if(!nestedHasValidBanner){const hasNoNestedErrorsForThisZip=!errors.some(item=>item.id.startsWith(`${source.id}-`));if(hasNoNestedErrorsForThisZip){errors.push({id:`${source.id}-no-nested-banners`,source:sourceName,message:\"No valid nested banner ZIPs were detected.\"});}}}else{const bannersFromSingle=extractBannerUnits(masterEntries,sourceName,registerUrl);if(bannersFromSingle.length>0){units.push(...bannersFromSingle.map(banner=>({...banner,id:`${source.id}-${banner.id}`})));}else{errors.push({id:`${source.id}-no-index`,source:sourceName,message:\"No valid banner creative detected (missing index.html).\"});}}}catch(zipError){const message=zipError instanceof Error?zipError.message:\"Failed to read ZIP file.\";errors.push({id:`${source.id}-fetch-or-unzip`,source:sourceName,message});}}const prioritizedUnits=[...units.filter(unit=>unit.width===970&&unit.height===250),...units.filter(unit=>!(unit.width===970&&unit.height===250))];if(prioritizedUnits.length>0){startTransition(()=>{setBanners(prioritizedUnits);setZipErrors(errors);setStatus(\"ready\");setErrorMessage(\"\");});}else{const fallbackError=errors[0]?.message??\"No valid banner creatives were detected (missing index.html).\";startTransition(()=>{setStatus(\"error\");setErrorMessage(fallbackError);setZipErrors(errors);setBanners([]);});}}catch(error){const message=error instanceof Error?error.message:\"Failed to read ZIP files.\";startTransition(()=>{setStatus(\"error\");setErrorMessage(message);setZipErrors([]);setBanners([]);});}},[zipFile,normalizedRemoteZipFiles,localZipFiles,clearBlobUrls,registerUrl]);const addLocalFiles=useCallback(incomingFiles=>{const zipOnly=incomingFiles.filter(file=>/\\.zip$/i.test(file.name)||file.type===\"application/zip\");if(zipOnly.length===0)return;startTransition(()=>{setLocalZipFiles(prev=>{const next=[...prev];for(const file of zipOnly){const duplicate=next.some(existing=>existing.name===file.name&&existing.size===file.size&&existing.lastModified===file.lastModified);if(!duplicate)next.push(file);}return next;});});},[]);const handleInputChange=useCallback(event=>{const files=event.target.files?Array.from(event.target.files):[];addLocalFiles(files);event.target.value=\"\";},[addLocalFiles]);const handleDrop=useCallback(event=>{event.preventDefault();event.stopPropagation();if(isDragOver){startTransition(()=>setIsDragOver(false));}const files=event.dataTransfer?.files?Array.from(event.dataTransfer.files):[];addLocalFiles(files);},[addLocalFiles,isDragOver]);const handleDragOver=useCallback(event=>{event.preventDefault();event.stopPropagation();startTransition(()=>setIsDragOver(true));},[]);const handleDragLeave=useCallback(event=>{event.preventDefault();event.stopPropagation();startTransition(()=>setIsDragOver(false));},[]);const openFilePicker=useCallback(()=>{if(typeof window===\"undefined\")return;fileInputRef.current?.click();},[]);const clearLocalFiles=useCallback(()=>{startTransition(()=>{setLocalZipFiles([]);setIsDragOver(false);});},[]);useEffect(()=>{loadZips();return()=>clearBlobUrls();},[loadZips,clearBlobUrls]);const labelStyle=useMemo(()=>({color:labelColor,fontSize:labelFont?.fontSize,lineHeight:labelFont?.lineHeight,letterSpacing:labelFont?.letterSpacing,fontWeight:labelFont?.fontWeight,fontStyle:labelFont?.fontStyle,fontFamily:labelFont?.fontFamily,textAlign:labelFont?.textAlign}),[labelColor,labelFont]);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"auto\",background:previewBackground,padding:8,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`@keyframes h5bp-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }`}),!hasAnyZipSource&&/*#__PURE__*/_jsxs(\"div\",{onDrop:handleDrop,onDragOver:handleDragOver,onDragLeave:handleDragLeave,style:{border:`1px dashed ${isDragOver?labelColor:cardBorderColor}`,background:cardBackground,borderRadius:cardRadius,padding:cardPadding,marginBottom:gridGap,display:\"flex\",flexDirection:\"column\",gap:8},children:[/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:labelColor,width:\"max-content\"},children:\"Local preview ZIPs (editor/preview only)\"}),/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:labelColor},children:\"Drop .zip files here or choose multiple ZIPs from Finder. These local files are not saved to Framer props.\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:8,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:openFilePicker,style:{appearance:\"none\",border:`1px solid ${cardBorderColor}`,background:\"#FFFFFF\",color:labelColor,borderRadius:8,padding:\"8px 12px\",cursor:\"pointer\"},children:\"Choose ZIP files…\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:clearLocalFiles,style:{appearance:\"none\",border:`1px solid ${cardBorderColor}`,background:\"#FFFFFF\",color:labelColor,borderRadius:8,padding:\"8px 12px\",cursor:\"pointer\"},children:\"Clear local files\"}),/*#__PURE__*/_jsxs(\"span\",{style:{...labelStyle,color:labelColor},children:[localZipFiles.length,\" local file\",localZipFiles.length===1?\"\":\"s\",\" selected\"]})]}),/*#__PURE__*/_jsx(\"input\",{ref:fileInputRef,type:\"file\",multiple:true,accept:\".zip,application/zip\",onChange:handleInputChange,style:{display:\"none\"},\"aria-label\":\"Choose local ZIP files for preview\"})]}),status===\"idle\"&&!hasAnyZipSource&&/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:labelColor,padding:8},children:placeholderText}),status===\"loading\"&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,...labelStyle,color:labelColor,padding:8},children:[!isStatic&&/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{width:16,height:16,borderRadius:\"999px\",border:`2px solid ${cardBorderColor}`,borderTopColor:labelColor,animation:\"h5bp-spin 0.8s linear infinite\",flex:\"0 0 auto\"}}),/*#__PURE__*/_jsx(\"span\",{children:loadingText})]}),status===\"error\"&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:gridGap},children:[/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:errorTextColor,padding:8},role:\"status\",\"aria-live\":\"polite\",children:errorMessage}),zipErrors.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",alignItems:\"flex-start\",gap:gridGap},children:zipErrors.map(zipError=>{return /*#__PURE__*/_jsxs(\"div\",{style:{background:cardBackground,border:`1px solid ${cardBorderColor}`,borderRadius:cardRadius,padding:cardPadding,display:\"flex\",flexDirection:\"column\",gap:8,maxWidth:\"100%\",boxSizing:\"border-box\",minWidth:220},role:\"status\",\"aria-live\":\"polite\",children:[/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:labelColor,width:\"max-content\"},children:zipError.source}),/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:errorTextColor},children:zipError.message})]},zipError.id);})})]}),status===\"ready\"&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",alignItems:\"flex-start\",gap:gridGap},children:[banners.map(banner=>{const width=banner.width??300;const height=banner.height??250;const renderWidth=width+5;const renderHeight=height+5;const sizeLabel=banner.width&&banner.height?`${banner.width}\\xd7${banner.height}`:\"Unknown size\";const displayName=banner.htmlTitle||stripZipExtension(banner.sourceZipName);return /*#__PURE__*/_jsxs(\"div\",{style:{background:cardBackground,border:`1px solid ${cardBorderColor}`,borderRadius:cardRadius,padding:cardPadding,display:\"flex\",flexDirection:\"column\",gap:8,maxWidth:\"100%\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{...labelStyle,color:labelColor,width:\"max-content\"},children:[displayName,\" • \",sizeLabel]}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:renderWidth,height:renderHeight,maxWidth:\"100%\"},children:/*#__PURE__*/_jsx(\"iframe\",{title:`${banner.name} preview`,sandbox:\"allow-scripts allow-same-origin allow-popups allow-popups-to-escape-sandbox\",scrolling:\"no\",srcDoc:banner.srcDoc,style:{width:\"100%\",height:\"100%\",overflow:\"hidden\",border:`1px solid ${cardBorderColor}`,borderRadius:4,background:\"#FFFFFF\",display:\"block\"}})})]},banner.id);}),zipErrors.map(zipError=>{return /*#__PURE__*/_jsxs(\"div\",{style:{background:cardBackground,border:`1px solid ${cardBorderColor}`,borderRadius:cardRadius,padding:cardPadding,display:\"flex\",flexDirection:\"column\",gap:8,maxWidth:\"100%\",boxSizing:\"border-box\",minWidth:220},role:\"status\",\"aria-live\":\"polite\",children:[/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:labelColor,width:\"max-content\"},children:zipError.source}),/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:errorTextColor},children:zipError.message})]},zipError.id);})]})]});}/**\n * User request: Create a separate multi-file upload version for individual creative files (jpg/jpeg/png/gif/pdf), no ZIP support, editable array items with upload boxes, image preview when possible, and matching style controls.\n *//**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export function HTML5BannerPreviewFiles(props){const{items=[{label:\"Creative 1\",file:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\"}],previewBackground,cardBackground,cardBorderColor,cardRadius,cardPadding,gridGap,labelColor,labelFont,errorTextColor,placeholderText,columnCount}=props;const labelStyle=useMemo(()=>({color:labelColor,fontSize:labelFont?.fontSize,lineHeight:labelFont?.lineHeight,letterSpacing:labelFont?.letterSpacing,fontWeight:labelFont?.fontWeight,fontStyle:labelFont?.fontStyle,fontFamily:labelFont?.fontFamily,textAlign:labelFont?.textAlign}),[labelColor,labelFont]);const normalizedItems=useMemo(()=>(items||[]).map((item,index)=>({id:`${index}-${item?.label||\"creative\"}`,label:item?.label?.trim()||`Creative ${index+1}`,file:item?.file||\"\"})),[items]);const normalizedColumnCount=useMemo(()=>Math.max(1,Math.min(6,columnCount||3)),[columnCount]);const rootRef=useRef(null);const resizeObserversRef=useRef(new Map);const cardElementsRef=useRef(new Map);const[containerWidth,setContainerWidth]=useState(null);const[cardHeights,setCardHeights]=useState({});useEffect(()=>{if(typeof window===\"undefined\"||!rootRef.current)return;const root=rootRef.current;const observer=new ResizeObserver(entries=>{const nextWidth=entries[0]?.contentRect.width;if(!nextWidth)return;startTransition(()=>setContainerWidth(nextWidth));});observer.observe(root);return()=>observer.disconnect();},[]);const activeColumnCount=useMemo(()=>{if(containerWidth===null)return normalizedColumnCount;if(containerWidth<=1300)return 1;if(containerWidth<=1800)return 2;return normalizedColumnCount;},[containerWidth,normalizedColumnCount]);const setCardNode=useCallback((id,node)=>{const existingObserver=resizeObserversRef.current.get(id);if(existingObserver){existingObserver.disconnect();resizeObserversRef.current.delete(id);}if(!node||typeof window===\"undefined\"){cardElementsRef.current.delete(id);return;}cardElementsRef.current.set(id,node);const observer=new ResizeObserver(entries=>{const height=entries[0]?.contentRect.height;if(!height)return;startTransition(()=>setCardHeights(prev=>{if(prev[id]===height)return prev;return{...prev,[id]:height};}));});observer.observe(node);resizeObserversRef.current.set(id,observer);},[]);useEffect(()=>{const validIds=new Set(normalizedItems.map(item=>item.id));for(const[id,observer]of resizeObserversRef.current.entries()){if(validIds.has(id))continue;observer.disconnect();resizeObserversRef.current.delete(id);cardElementsRef.current.delete(id);}startTransition(()=>setCardHeights(prev=>{const next={};let changed=false;for(const[id,height]of Object.entries(prev)){if(!validIds.has(id)){changed=true;continue;}next[id]=height;}return changed?next:prev;}));},[normalizedItems]);useEffect(()=>{return()=>{for(const observer of resizeObserversRef.current.values())observer.disconnect();resizeObserversRef.current.clear();cardElementsRef.current.clear();};},[]);const columns=useMemo(()=>{const nextColumns=Array.from({length:activeColumnCount},()=>[]);const columnHeights=Array.from({length:activeColumnCount},()=>0);for(const item of normalizedItems){let targetColumn=0;for(let i=1;i<activeColumnCount;i++){if(columnHeights[i]<columnHeights[targetColumn])targetColumn=i;}nextColumns[targetColumn].push(item);const nextHeight=cardHeights[item.id]??0;columnHeights[targetColumn]+=nextHeight+gridGap;}return nextColumns;},[normalizedItems,activeColumnCount,cardHeights,gridGap]);return /*#__PURE__*/_jsxs(\"div\",{className:\"h5bp-files-root\",ref:rootRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",minWidth:1200,overflow:\"hidden\",background:previewBackground,padding:8,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .h5bp-files-root {\n                    container-type: inline-size;\n                }\n\n                .h5bp-files-columns {\n                    display: flex;\n                    flex-direction: row;\n                    align-items: flex-start;\n                    width: max-content;\n                    min-width: 100%;\n                }\n\n                .h5bp-files-column {\n                    display: flex;\n                    flex-direction: column;\n                    align-items: flex-start;\n                    width: max-content;\n                }\n\n                .h5bp-files-card {\n                    width: max-content;\n                }\n\n                .h5bp-files-image {\n                    width: auto;\n                    height: auto;\n                    max-width: none;\n                }\n\n                @container (max-width: 1800px) {\n                    .h5bp-files-columns {\n                        flex-direction: row;\n                        width: max-content;\n                        min-width: 100%;\n                    }\n\n                    .h5bp-files-column {\n                        width: max-content;\n                    }\n\n                    .h5bp-files-card {\n                        width: max-content;\n                        max-width: none;\n                    }\n\n                    .h5bp-files-image {\n                        width: auto;\n                        height: auto;\n                        max-width: 100%;\n                    }\n                }\n\n                @container (max-width: 1300px) {\n                    .h5bp-files-columns {\n                        flex-direction: column;\n                        width: 100%;\n                        min-width: 0;\n                    }\n\n                    .h5bp-files-column {\n                        width: 100%;\n                    }\n\n                    .h5bp-files-card {\n                        width: 100%;\n                        max-width: 100%;\n                    }\n\n                    .h5bp-files-image {\n                        width: auto;\n                        height: auto;\n                        max-width: 100%;\n                    }\n                }\n            `}),normalizedItems.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:labelColor,padding:8},children:placeholderText}),normalizedItems.length>0&&/*#__PURE__*/_jsx(\"div\",{className:\"h5bp-files-columns\",style:{gap:`${gridGap}px`},children:columns.map((columnItems,columnIndex)=>/*#__PURE__*/_jsx(\"div\",{className:\"h5bp-files-column\",style:{gap:`${gridGap}px`},children:columnItems.map(item=>{const ext=getFileExtension(item.file);const hasFile=Boolean(item.file);const canPreviewImage=hasFile&&isImageExtension(ext);const isPdf=hasFile&&isPdfExtension(ext);return /*#__PURE__*/_jsxs(\"div\",{className:\"h5bp-files-card\",ref:node=>{setCardNode(item.id,node);},style:{background:cardBackground,border:`1px solid ${cardBorderColor}`,borderRadius:cardRadius,padding:cardPadding,display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",gap:8,width:\"max-content\",boxSizing:\"border-box\",minWidth:hasFile&&canPreviewImage?undefined:220},children:[/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:labelColor,width:\"max-content\"},\"aria-label\":item.label,children:item.label}),!hasFile&&/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:errorTextColor},children:\"No file selected\"}),canPreviewImage&&/*#__PURE__*/_jsx(\"img\",{className:\"h5bp-files-image\",src:item.file,alt:`${item.label} preview`,style:{width:\"auto\",height:\"auto\",border:`1px solid ${cardBorderColor}`,borderRadius:4,display:\"block\",background:\"#FFFFFF\"}}),hasFile&&!canPreviewImage&&/*#__PURE__*/_jsxs(\"div\",{role:\"status\",\"aria-live\":\"polite\",style:{border:`1px solid ${cardBorderColor}`,borderRadius:4,background:\"#FFFFFF\",padding:12,display:\"flex\",flexDirection:\"column\",gap:6,minHeight:92,minWidth:220,justifyContent:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:labelColor},children:isPdf?\"PDF file selected\":\"Preview unavailable for this file type\"}),/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:labelColor,overflowWrap:\"anywhere\"},children:item.file}),/*#__PURE__*/_jsx(\"div\",{style:{...labelStyle,color:errorTextColor},children:\"Remove this item from the Items list in the property panel.\"})]})]},item.id);})},`column-${columnIndex}`))})]});}addPropertyControls(HTML5BannerPreviewFlexible,{zipFiles:{type:ControlType.Array,title:\"Banner ZIPs\",defaultValue:[],control:{type:ControlType.File,allowedFileTypes:[\"zip\"]}},zipFile:{type:ControlType.File,title:\"Banner ZIP (single or master)\",description:\"Upload either one creative ZIP or a master ZIP containing nested creative ZIPs.\",allowedFileTypes:[\"zip\"]},previewBackground:{type:ControlType.Color,title:\"Background\",defaultValue:\"#F5F5F5\"},cardBackground:{type:ControlType.Color,title:\"Card BG\",defaultValue:\"#FFFFFF\"},cardBorderColor:{type:ControlType.Color,title:\"Card Border\",defaultValue:\"#EEEEEE\"},cardRadius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"12px\"},cardPadding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"10px\"},gridGap:{type:ControlType.Number,title:\"Grid Gap\",min:0,max:48,step:1,defaultValue:12},labelColor:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#000000\"},labelFont:{type:ControlType.Font,title:\"Label Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},placeholderText:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Upload a banner .zip (single creative) or a master .zip with nested banner ZIPs.\"},loadingText:{type:ControlType.String,title:\"Loading\",defaultValue:\"Unzipping banners…\"},errorTextColor:{type:ControlType.Color,title:\"Error Color\",defaultValue:\"#000000\"}});addPropertyControls(HTML5BannerPreviewFiles,{items:{type:ControlType.Array,title:\"Items\",defaultValue:[{label:\"Creative 1\",file:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\"}],control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Creative\"},file:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"jpeg\",\"jpg\",\"png\",\"gif\",\"pdf\"]}}}},previewBackground:{type:ControlType.Color,title:\"Background\",defaultValue:\"#F5F5F5\"},cardBackground:{type:ControlType.Color,title:\"Card BG\",defaultValue:\"#FFFFFF\"},cardBorderColor:{type:ControlType.Color,title:\"Card Border\",defaultValue:\"#EEEEEE\"},cardRadius:{type:ControlType.BorderRadius,title:\"Radius\",defaultValue:\"12px\"},cardPadding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"10px\"},gridGap:{type:ControlType.Number,title:\"Grid Gap\",min:0,max:48,step:1,defaultValue:12},columnCount:{type:ControlType.Number,title:\"Columns\",min:1,max:6,step:1,defaultValue:3},labelColor:{type:ControlType.Color,title:\"Label Color\",defaultValue:\"#000000\"},labelFont:{type:ControlType.Font,title:\"Label Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"14px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},errorTextColor:{type:ControlType.Color,title:\"Error Color\",defaultValue:\"#000000\"},placeholderText:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Add individual creative files in the Items control.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HTML5BannerPreviewFlexible\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"HTML5BannerPreviewFiles\":{\"type\":\"reactComponent\",\"name\":\"HTML5BannerPreviewFiles\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HTML5_Banner_Preview_Flexible.map"],"mappings":"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"}