PageSourceSearch

https://playcraftsystems.com/assets/js/916.96c43f51d4245721addc.js

js playcraftsystems.com collected 2026-10-08 03:17:57 UTC 20,390 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[916],{Xmeo(e,t,s){s.r(t),s.d(t,{default:()=>I});var a=s("zThL"),r=s("q1tI"),l=s("0axw"),n=s("22DA"),i=s("2p8o"),o=s("4h1T"),d=s("blTc"),c=(s("FAgf"),s("k9rF")),p=s("PahA"),u=s("tMS0"),m=s("nKUr");function h(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function x(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?h(Object(s),!0).forEach((function(t){(0,a.A)(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):h(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}const g="damUploadQueue";var f=(0,m.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:"Upload Assets"}),b=(0,m.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"mr-2",children:(0,m.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})}),y=(0,m.jsx)("span",{className:"font-medium",children:"Uploading to:"}),j=(0,m.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"mr-2 flex-shrink-0",children:[(0,m.jsx)("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"}),(0,m.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,m.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]}),w=(0,m.jsx)("p",{className:"font-medium",children:"Folder changed!"}),v=(0,m.jsx)("div",{className:"text-6xl text-gray-400",children:"📁"}),N=(0,m.jsx)("p",{className:"text-lg font-medium text-gray-900",children:"Drop files here or click to browse"}),k=(0,m.jsx)("p",{className:"text-sm text-gray-500 mt-1",children:"Supports images, graphics, RAW, video, and more."}),C=(0,m.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"mr-2",children:(0,m.jsx)("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})}),z=(0,m.jsx)("span",{className:"font-medium",children:"Files will be uploaded to:"}),S=(0,m.jsx)(o.WhN,{className:"w-5 h-5 text-gray-400","aria-hidden":"true"}),P=(0,m.jsx)("span",{className:"sr-only",children:"Drag to reorder"}),O=(0,m.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Title"}),T=(0,m.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Description"}),D=(0,m.jsx)("label",{className:"block text-xs text-gray-500 mb-1",children:"Tags"}),F=(0,m.jsx)("span",{className:"text-gray-500",children:"Waiting to upload..."}),A=(0,m.jsx)("span",{className:"text-green-600",children:"Upload complete!"}),E=(0,m.jsx)(n.l$,{position:"top-right"});const I=e=>{let{currentFolder:t,onUploadComplete:s,onClose:a,tags:o=[],acceptedFileTypes:h=["image/*",".raw",".arw",".cr2",".cr3",".nef",".dng",".orf",".rw2",".pef",".srw",".raf",".x3f",".mrw",".rwz",".bay",".dcr",".mos",".kdc",".erf",".mef",".iiq",".nrw",".rwl",".srw",".srf",".x3f",".3fr",".fff",".hdr",".exr","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.*",".psd",".psb",".psdt",".ai",".ait",".eps",".aia",".indd",".ind",".indt",".inx",".lrcat",".lrdata",".lrtemplate",".lrpreset",".brc",".max",".3ds",".3d",".chr",".cob",".scn",".ma",".mb",".mp",".mel",".bif",".c4d",".c4dl",".c4dx",".c4dlib",".blend",".blend1",".blend2",".hip",".hipnc",".bgeo",".sim",".zbr",".ztl",".zpr",".zsc",".sbs",".sbsar",".spsm",".sppr","video/*",".aep",".aet",".aepx",".prproj",".prtl",".prfpset",".drp",".drt",".drtemplate",".fcp",".fcpx",".fcpbundle","audio/*",".sesx",".ses",".ptx",".ptf",".pts",".logicx",".logic",".als",".alp",".dwg",".dxf",".step",".iges",".stp",".igs",".sat",".sldprt",".sldasm",".ipt",".iam",".prt",".asm",".drw",".f3d",".f3z",".skp",".skb",".3dm",".3dmx",".rvt",".rfa",".rte",".rft",".pln",".pla",".tpl",".ttf",".otf",".woff",".woff2",".eot",".pfb",".pfm",".fnt",".fon",".zip",".rar",".7z",".tar",".gz",".bz2",".xz",".lzma",".cab",".iso",".dmg",".csv",".tsv",".json",".xml",".yaml",".yml",".sql",".db",".sqlite"],currentFolderPath:I=""}=e;const[R,M]=(0,r.useState)([]),[U,B]=(0,r.useState)(!1),[q,L]=(0,r.useState)(!1),[W,J]=(0,r.useState)({}),[Z,H]=(0,r.useState)([]),[V,Y]=(0,r.useState)({}),[$,K]=(0,r.useState)(!1),[Q,G]=(0,r.useState)(t),[X,_]=(0,r.useState)(!1),ee=(0,r.useRef)(null),te=(0,r.useRef)(null),se=1048576,ae=(0,r.useCallback)((()=>Math.random().toString(36).substr(2,9)),[]),re=(0,r.useCallback)((e=>{if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["Bytes","KB","MB","GB"][t]}),[]),le=(0,r.useCallback)((e=>
1{switch(e){case"pending":return"⏳";case"uploading":return"📤";case"completed":return"✅";case"failed":return"❌";default:return"📄"}}),[]),ne=(0,r.useCallback)((e=>{const s=R.length,a=Array.from(e).slice(0,10-s);if(s+e.length>10&&n.Ay.error("You can only upload up to ".concat(10," files at a time.")),0===a.length)return;0===R.length&&G(t);const r=a.map((e=>({id:ae(),file:e,name:e.name,size:e.size,type:e.type,status:"pending",progress:0,chunks:Math.ceil(e.size/se),uploadedChunks:0,uploadId:null,error:null,retries:0,title:e.name.replace(/\.[^.]+$/,""),description:"",selectedTags:[]})));M((e=>[...e,...r]))}),[ae,R.length,t]),ie=(0,r.useCallback)((e=>{ne(e)}),[ne]),oe=(0,r.useCallback)((e=>{e.preventDefault(),e.stopPropagation();const t=Array.from(e.dataTransfer.files);ne(t)}),[ne]),de=(0,r.useCallback)((e=>{e.preventDefault(),e.stopPropagation()}),[]),ce=(0,r.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.items&&e.dataTransfer.items.length>0&&L(!0)}),[]),pe=(0,r.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),L(!1)}),[]),ue=(0,r.useCallback)((async e=>{try{const s=new FormData;s.append("filename",e.name),s.append("fileSize",e.size),s.append("folderId",t||""),s.append("chunkSize",se),s.append("totalChunks",e.chunks),s.append("mimeType",e.type),s.append("tags",JSON.stringify(e.selectedTags||[])),s.append("title",e.title||""),s.append("description",e.description||"");const a=await(0,u.Z)("/actions/playcraft-systems-module/dam/init-upload",{method:"POST",body:s}),r=await a.json();if(r.success)return r.uploadId;throw new Error(r.message)}catch(e){throw new Error("Failed to initialize upload: ".concat(e.message))}}),[t,se]),me=(0,r.useCallback)((async(e,t,s)=>{const a=t*se,r=Math.min(a+se,e.size),l=e.file.slice(a,r),n=new FormData;n.append("uploadId",s),n.append("chunkIndex",t),n.append("totalChunks",e.chunks),n.append("chunk",l,"chunk_".concat(t));const i=await(0,u.Z)("/actions/playcraft-systems-module/dam/upload-chunk",{method:"POST",body:n}),o=await i.json();if(!o.success)throw new Error(o.message);return o}),[se]),he=(0,r.useCallback)((async e=>{const t=new FormData;t.append("uploadId",e);const s=await(0,u.Z)("/actions/playcraft-systems-module/dam/complete-upload",{method:"POST",body:t}),a=await s.json();if(!a.success)throw new Error(a.message);return a.asset}),[]),xe=(0,r.useCallback)((async e=>{const s=new FormData;t&&s.append("folderId",t);const a=e.map((e=>{const t=R.find((t=>t.file===e));return{filename:e.name,title:(null==t?void 0:t.title)||e.name.replace(/\.[^.]+$/,""),description:(null==t?void 0:t.description)||"",tags:(null==t?void 0:t.selectedTags)||[]}}));s.append("metadata",JSON.stringify(a)),e.forEach(((e,t)=>{s.append("files[]",e)}));try{const e=await(0,u.Z)("/actions/playcraft-systems-module/dam/bulk-upload",{method:"POST",body:s}),t=await e.json();if(!t.success)throw new Error(t.message||"Bulk upload failed");return t}catch(e){throw e}}),[t,R]),ge=(0,r.useCallback)((async e=>{try{ke(e,0);const t=await ue(e);M((s=>s.map((s=>s.id===e.id?x(x({},s),{},{uploadId:t,status:"uploading"}):s))));for(let s=0;s<e.chunks;s++)try{const a=await me(e,s,t);let r=0;if(Number.isFinite(a.uploadedChunks)&&Number.isFinite(e.chunks)&&e.chunks>0&&(r=a.uploadedChunks/e.chunks*100),J((t=>x(x({},t),{},{[e.id]:x(x({},t[e.id]),{},{uploadedChunks:a.uploadedChunks,progress:r})}))),ke(e,r),a.isComplete){const s=await he(t);return M((t=>t.map((t=>t.id===e.id?x(x({},t),{},{status:"completed",progress:100}):t)))),Ce(e),s}}catch(t){const a=V[e.id]||0;if(a<3){Y((t=>x(x({},t),{},{[e.id]:a+1}))),Se(e),await new Promise((e=>setTimeout(e,1e3*Math.pow(2,a)))),s--;continue}throw ze(e),t}}catch(t){throw ze(e),M((s=>s.map((s=>s.id===e.id?x(x({},s),{},{status:"failed",error:t.message}):s)))),H((s=>[...s,{filename:e.name,error:t.message}])),t}}),[ue,me,he,s,V,3]),fe=(0,r.useCallback)((async()=>{if(X)return;if(U)return;const e=R.filter((e=>"pending"===e.status));if(0!==e.length){B(!0);try{const t=e.filter((e=>e.size<=2097152)),a=e.filter((e=>e.size>2097152));if(t.length>0){const e=t.slice(0,10),a=e.map((e=>e.file));M((t=>t.map((t=>e.some((e=>e.id===t.id))?x(x({},t),{},{status:"uploading"}):t)))),e.forEach(ke);try{const e=await xe(a);M((t=>t.map((t=>{const a=e.results.find((e=>e.filename===t.name));return a&&a.success?(Ce(t),s&&s(a),x(x({},t),{},{status:"completed",progress:100})):t}
1)))),e.errors.length>0&&M((t=>t.map((t=>{const s=e.errors.find((e=>e.filename===t.name));return s?(ze(t),x(x({},t),{},{status:"failed",error:s.error})):t}))))}catch(t){M((s=>s.map((s=>e.some((e=>e.id===s.id))?x(x({},s),{},{status:"failed",error:t.message}):s)))),e.forEach(ze)}}if(a.length>0){const e=a[0];try{await ge(e)}catch(e){}}}finally{B(!1)}}else R.length>0&&R.every((e=>"completed"===e.status||"failed"===e.status))&&Pe()}),[R,U,s,xe,ge,se,X]);(0,r.useEffect)((()=>{R.some((e=>"pending"===e.status))&&!U&&fe()}),[R.filter((e=>"pending"===e.status)).length,U,fe]),(0,r.useEffect)((()=>{Q!==t&&K(!0)}),[t,Q]),(0,r.useEffect)((()=>{const e=localStorage.getItem(g);if(e)try{const t=JSON.parse(e);Array.isArray(t)&&t.length>0&&M([])}catch(e){M([])}}),[]),(0,r.useEffect)((()=>{const e=R.map((e=>({id:e.id,name:e.name,size:e.size,type:e.type,status:e.status,progress:e.progress,title:e.title,description:e.description,selectedTags:e.selectedTags})));localStorage.setItem(g,JSON.stringify(e))}),[R]);const be=(0,r.useCallback)((e=>{M((t=>t.filter((t=>t.id!==e)))),J((t=>{const s=x({},t);return delete s[e],s})),Y((t=>{const s=x({},t);return delete s[e],s}))}),[]),ye=(0,r.useCallback)((async e=>{if(e.uploadId)try{await(0,u.Z)("/actions/playcraft-systems-module/dam/cancel-upload",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"uploadId=".concat(e.uploadId)})}catch(e){}be(e.id)}),[be]),je=(0,r.useCallback)((e=>{M((t=>t.map((t=>t.id===e.id?x(x({},t),{},{status:"pending",error:null,retries:0}):t)))),Y((t=>x(x({},t),{},{[e.id]:0})))}),[]),we=(0,r.useCallback)(((e,t)=>{M((s=>s.map((s=>s.id===e?x(x({},s),t):s))))}),[]),ve=R.some((e=>"uploading"===e.status||"pending"===e.status)),Ne=(0,r.useRef)({}),ke=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const s="Uploading ".concat(e.name," — ").concat(t.toFixed(1),"%");Ne.current[e.id]?n.Ay.loading(s,{id:Ne.current[e.id]}):Ne.current[e.id]=n.Ay.loading(s)},Ce=e=>{n.Ay.success("".concat(e.name," uploaded successfully!"),{id:Ne.current[e.id]}),delete Ne.current[e.id]},ze=e=>{n.Ay.error("Failed to upload ".concat(e.name),{id:Ne.current[e.id]}),delete Ne.current[e.id]},Se=e=>{(0,n.Ay)("Retrying ".concat(e.name,"..."))},Pe=()=>{n.Ay.success("All uploads complete!")};return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("div",{className:"fixed inset-0 bg-black bg-opacity-50 z-40",onClick:a,style:{cursor:"pointer"}}),(0,m.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",style:{pointerEvents:"none"},children:(0,m.jsxs)("div",{className:"bg-white rounded-lg max-w-4xl w-full max-h-screen overflow-hidden shadow-2xl",style:{pointerEvents:"auto"},children:[(0,m.jsxs)("div",{className:"flex items-center justify-between p-6 border-b border-gray-200",children:[(0,m.jsxs)("div",{className:"flex-1",children:[f,(0,m.jsxs)("div",{className:"mt-2 flex items-center text-sm text-gray-600",children:[b,y,(0,m.jsx)("span",{className:"ml-1 text-blue-600 font-medium",children:I||"Root Folder"})]})]}),(0,m.jsx)("button",{onClick:a,className:"text-gray-400 hover:text-gray-600 text-2xl font-bold ml-4 cursor-pointer",children:"×"})]}),(0,m.jsxs)("div",{className:"p-6 overflow-y-auto max-h-96",children:[$&&(0,m.jsx)("div",{className:"mb-4 p-4 bg-yellow-50 border border-yellow-200 rounded-lg",children:(0,m.jsxs)("div",{className:"flex items-center text-yellow-800",children:[j,(0,m.jsxs)("div",{className:"text-sm",children:[w,(0,m.jsxs)("p",{children:["You've navigated to a different folder. Files will now be uploaded to the current folder: ",(0,m.jsx)("span",{className:"font-semibold",children:I||"Root Folder"})]})]})]})}),(0,m.jsxs)("div",{ref:te,className:"border-2 border-dashed rounded-lg p-8 text-center transition-colors ".concat(q?"border-blue-500 bg-blue-50":"border-gray-300 hover:border-gray-400"),onDragEnter:ce,onDragLeave:pe,onDragOver:de,onDrop:oe,children:[(0,m.jsx)("input",{ref:ee,type:"file",multiple:!0,onChange:e=>ie(e.target.files),className:"hidden",accept:h.join(",")}),(0,m.jsxs)("div",{className:"space-y-4",children:[v,(0,m.jsxs)("div",{children:[N,k,(0,m.jsx)("div",{className:"mt-3 p-3 bg-blue-50 border border-blue-200 rounded-lg",children:(0,m.jsxs)("div",{className:"flex items-center text-sm text-blue-800",children:[C,z,(0,m.jsx)("span",{className:"ml-1 font-semibold",children:I||"Root Folder"})]})})]}),(0,m.jsx)("button",{type:"button",onClick:()=>{var e;return null===(e=ee.current)||void 0===e?void 0:e.click()},className:"px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 transition-colors cursor-pointer",children:"Choose Files"}),(0,m.jsx)("button",{type:"button",onClick:async()=>{try{const e=await fetch("/actions/playcraft-systems-module/dam/test-upload-config");await e.json()}catch(e){}},className:"block mx-auto mt-2 px-3 py-1 text-xs bg-gray-200 text-gray-700 rounded hover:bg-gray-300",children:"Test Upload Config"})]})]}),R.length>0&&(0,m.jsxs)("div",{className:"mt-6",children:[(0,m.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,m.jsxs)("h3",{className:"text-lg font-medium text-gray-900",children:["Upload Queue (",R.length,")"]}),ve&&(0,m.jsx)("div",{className:"space-x-2",children:X?(0,m.jsx)("button",{className:"px-3 py-1 text-sm bg-green-600 text-white rounded hover:bg-green-700 cursor-pointer",onClick:()=>_(!1),children:"Resume All"}):(0,m.jsx)("button",{className:"px-3 py-1 text-sm bg-yellow-600 text-white rounded hover:bg-yellow-700 cursor-pointer",onClick:()=>_(!0),children:"Pause All"})})]}),(0,m.jsx)(i.JY,{onDragEnd:e=>{if(!e.destination)return;const t=Array.from(R),[s]=t.splice(e.source.index,1);t.splice(e.destination.index,0,s),M(t)},children:(0,m.jsx)(i.gL,{droppableId:"upload-queue",children:e=>(0,m.jsxs)("div",x(x({ref:e.innerRef},e.droppableProps),{},{className:"space-y-3",children:[(0,m.jsx)(c.N,{children:R.map(((e,t)=>(0,m.jsx)(p.P.div,{initial:{opacity:0,y:20}
1,animate:{opacity:1,y:0},exit:{opacity:0,y:-20},transition:{duration:.2},children:(0,m.jsx)(i.sx,{draggableId:e.id,index:t,isDragDisabled:!("pending"===e.status||"failed"===e.status),children:(t,s)=>(0,m.jsxs)("div",x(x({ref:t.innerRef},t.draggableProps),{},{className:"border border-gray-200 rounded-lg p-4 bg-white transition-shadow duration-200 focus-within:ring-2 focus-within:ring-blue-400 ".concat(s.isDragging?"shadow-lg scale-105":""),tabIndex:0,role:"group","aria-label":"Upload item: ".concat(e.name),children:[(0,m.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,m.jsxs)("div",{className:"flex items-center space-x-3",children:[("pending"===e.status||"failed"===e.status)&&(0,m.jsxs)("button",x(x({},t.dragHandleProps),{},{className:"mr-2 cursor-move p-1 rounded focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-400 transition-transform duration-200 ".concat(s.isDragging?"animate-bounce":"hover:animate-wiggle"),tabIndex:0,"aria-label":"Reorder upload",type:"button",children:[S,P]})),(0,m.jsx)("span",{className:"text-lg",children:le(e.status)}),(0,m.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,m.jsx)("div",{className:"flex-shrink-0",children:(0,l.I3)(e.name,"24")}),(0,m.jsxs)("div",{children:[(0,m.jsx)("p",{className:"font-medium text-gray-900 truncate max-w-xs",children:e.name}),(0,m.jsxs)("p",{className:"text-sm text-gray-500",children:[re(e.size)," • ",(0,l.Me)(e.name)]})]})]})]}),(0,m.jsxs)("div",{className:"flex items-center space-x-2",children:["failed"===e.status&&(0,m.jsx)("button",{onClick:()=>je(e),className:"px-3 py-1 text-sm bg-blue-600 text-white rounded hover:bg-blue-700 cursor-pointer","aria-label":"Retry upload for ".concat(e.name),children:"Retry"}),(0,m.jsx)("button",{onClick:()=>ye(e),className:"px-3 py-1 text-sm bg-red-600 text-white rounded hover:bg-red-700 cursor-pointer","aria-label":"Remove ".concat(e.name," from upload queue"),"data-tooltip-id":"remove-tooltip-".concat(e.id),"data-tooltip-content":"Remove from queue",children:"Remove"})]})]}),(0,m.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 mb-2",children:[(0,m.jsxs)("div",{children:[O,(0,m.jsx)("input",{type:"text",value:e.title,onChange:t=>we(e.id,{title:t.target.value}),className:"w-full px-2 py-1 border rounded",placeholder:"Title"})]}),(0,m.jsxs)("div",{children:[T,(0,m.jsx)("input",{type:"text",value:e.description,onChange:t=>we(e.id,{description:t.target.value}),className:"w-full px-2 py-1 border rounded",placeholder:"Description"})]}),(0,m.jsxs)("div",{children:[D,(0,m.jsx)(d.Ay,{isMulti:!0,options:o.map((e=>({value:e.id,label:e.title}))),value:o.filter((t=>e.selectedTags.includes(t.id))).map((e=>({value:e.id,label:e.title}))),onChange:t=>we(e.id,{selectedTags:t.map((e=>e.value))}),className:"react-select-container",classNamePrefix:"react-select",placeholder:"Select tags...",styles:{control:e=>x(x({},e),{},{minHeight:"2.5rem",borderRadius:"0.375rem",borderColor:"#d1d5db",boxShadow:"none"}),multiValue:e=>x(x({},e),{},{backgroundColor:"#e0e7ff",color:"#3730a3"}),multiValueLabel:e=>x(x({},e),{},{color:"#3730a3"}),option:(e,t)=>x(x({},e),{},{backgroundColor:t.isFocused?"#f3f4f6":"white",color:"#111827"})},menuPortalTarget:document.body,menuPosition:"fixed"})]})]}),"uploading"===e.status&&(0,m.jsx)("div",{className:"w-full bg-gray-100 rounded h-2 mt-2",children:(0,m.jsx)("div",{className:"h-2 rounded transition-all duration-500 ".concat("uploading"===e.status?"bg-blue-500 animate-pulse":"completed"===e.status?"bg-green-500":"bg-gray-300"),style:{width:"".concat(e.progress,"%")}})}),(0,m.jsxs)("div",{className:"text-sm",children:["pending"===e.status&&F,"uploading"===e.status&&(0,m.jsxs)("span",{className:"text-blue-600",children:["Uploading... ",Math.round(e.progress),"%",V[e.id]>0&&(0,m.jsxs)("span",{className:"text-orange-600 ml-2",children:["(Retry ",V[e.id],"/",3,")"]})]}),"completed"===e.status&&A,"failed"===e.status&&(0,m.jsx)("span",{className:"text-red-600",children:e.error})]})]}))},e.id)},e.id)))}),e.placeholder]}))})})]}),Z.length>0&&(0,m.jsxs)("div",{className:"mt-6",children:[(0,m.jsxs)("h3",{className:"text-lg font-medium text-red-900 mb-4",children:["Upload Errors (",Z.length,")"]}),(0,m.jsx)("div",{className:"space-y-2",children:Z.map(((e,t)=>(0,m.jsx)("div",{className:"bg-red-50 border border-red-200 rounded-lg p-3",children:(0,m.jsxs)("p",{className:"text-sm text-red-800",children:[(0,m.jsxs)("strong",{children:[e.filename,":"]})," ",e.error]})},t)))})]})]}),(0,m.jsxs)("div",{className:"flex items-center justify-between p-6 border-t border-gray-200 bg-gray-50",children:[(0,m.jsx)("div",{className:"text-sm text-gray-600",children:R.length>0&&(0,m.jsxs)(m.Fragment,{children:[R.filter((e=>"completed"===e.status)).length," completed,"," ",R.filter((e=>"uploading"===e.status)).length," uploading,"," ",R.filter((e=>"failed"===e.status)).length," failed"]})}),(0,m.jsx)("div",{className:"flex space-x-3",children:(0,m.jsx)("button",{onClick:a,className:"px-4 py-2 text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50",children:"Close"})})]})]})}),E]})}}}]);
2//# sourceMappingURL=916.96c43f51d4245721addc.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.