@package-uploader/core 1.8.40 → 1.8.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js
CHANGED
|
File without changes
|
package/dist/server.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -64,8 +64,8 @@ Error generating stack: `+l.message+`
|
|
|
64
64
|
* LICENSE.md file in the root directory of this source tree.
|
|
65
65
|
*
|
|
66
66
|
* @license MIT
|
|
67
|
-
*/function Ki(){return Ki=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ki.apply(this,arguments)}function nd(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,l;for(l=0;l<r.length;l++)i=r[l],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function Bv(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Wv(e,t){return e.button===0&&(!t||t==="_self")&&!Bv(e)}function Ya(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(i=>[n,i]):[[n,r]])},[]))}function Vv(e,t){let n=Ya(e);return t&&t.forEach((r,i)=>{n.has(i)||t.getAll(i).forEach(l=>{n.append(i,l)})}),n}const Hv=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Qv=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],Kv="6";try{window.__reactRouterVersion=Kv}catch{}const qv=g.createContext({isTransitioning:!1}),Gv="startTransition",wu=Ad[Gv];function Yv(e){let{basename:t,children:n,future:r,window:i}=e,l=g.useRef();l.current==null&&(l.current=Xm({window:i,v5Compat:!0}));let a=l.current,[o,s]=g.useState({action:a.action,location:a.location}),{v7_startTransition:u}=r||{},v=g.useCallback(m=>{u&&wu?wu(()=>s(m)):s(m)},[s,u]);return g.useLayoutEffect(()=>a.listen(v),[a,v]),g.useEffect(()=>Av(r),[r]),g.createElement($v,{basename:t,children:n,location:o.location,navigationType:o.action,navigator:a,future:r})}const Xv=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Zv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Jv=g.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:l,replace:a,state:o,target:s,to:u,preventScrollReset:v,viewTransition:m}=t,h=nd(t,Hv),{basename:w}=g.useContext(wt),x,k=!1;if(typeof u=="string"&&Zv.test(u)&&(x=u,Xv))try{let f=new URL(window.location.href),y=u.startsWith("//")?new URL(f.protocol+u):new URL(u),N=bn(y.pathname,w);y.origin===f.origin&&N!=null?u=N+y.search+y.hash:k=!0}catch{}let C=Ev(u,{relative:i}),d=nh(u,{replace:a,state:o,target:s,preventScrollReset:v,relative:i,viewTransition:m});function p(f){r&&r(f),f.defaultPrevented||d(f)}return g.createElement("a",Ki({},h,{href:x||C,onClick:k||l?r:p,ref:n,target:s}))}),eh=g.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:i=!1,className:l="",end:a=!1,style:o,to:s,viewTransition:u,children:v}=t,m=nd(t,Qv),h=vl(s,{relative:m.relative}),w=un(),x=g.useContext(Yp),{navigator:k,basename:C}=g.useContext(wt),d=x!=null&&ih(h)&&u===!0,p=k.encodeLocation?k.encodeLocation(h).pathname:h.pathname,f=w.pathname,y=x&&x.navigation&&x.navigation.location?x.navigation.location.pathname:null;i||(f=f.toLowerCase(),y=y?y.toLowerCase():null,p=p.toLowerCase()),y&&C&&(y=bn(y,C)||y);const N=p!=="/"&&p.endsWith("/")?p.length-1:p.length;let z=f===p||!a&&f.startsWith(p)&&f.charAt(N)==="/",S=y!=null&&(y===p||!a&&y.startsWith(p)&&y.charAt(p.length)==="/"),E={isActive:z,isPending:S,isTransitioning:d},_=z?r:void 0,P;typeof l=="function"?P=l(E):P=[l,z?"active":null,S?"pending":null,d?"transitioning":null].filter(Boolean).join(" ");let R=typeof o=="function"?o(E):o;return g.createElement(Jv,Ki({},m,{"aria-current":_,className:P,ref:n,style:R,to:s,viewTransition:u}),typeof v=="function"?v(E):v)});var Xa;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Xa||(Xa={}));var ku;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(ku||(ku={}));function th(e){let t=g.useContext(fl);return t||te(!1),t}function nh(e,t){let{target:n,replace:r,state:i,preventScrollReset:l,relative:a,viewTransition:o}=t===void 0?{}:t,s=ns(),u=un(),v=vl(e,{relative:a});return g.useCallback(m=>{if(Wv(m,n)){m.preventDefault();let h=r!==void 0?r:Qi(u)===Qi(v);s(e,{replace:h,state:i,preventScrollReset:l,relative:a,viewTransition:o})}},[u,s,v,r,i,n,e,l,a,o])}function rh(e){let t=g.useRef(Ya(e)),n=g.useRef(!1),r=un(),i=g.useMemo(()=>Vv(r.search,n.current?null:t.current),[r.search]),l=ns(),a=g.useCallback((o,s)=>{const u=Ya(typeof o=="function"?o(i):o);n.current=!0,l("?"+u,s)},[l,i]);return[i,a]}function ih(e,t){t===void 0&&(t={});let n=g.useContext(qv);n==null&&te(!1);let{basename:r}=th(Xa.useViewTransitionState),i=vl(e,{relative:t.relative});if(!n.isTransitioning)return!1;let l=bn(n.currentLocation.pathname,r)||n.currentLocation.pathname,a=bn(n.nextLocation.pathname,r)||n.nextLocation.pathname;return Ka(i.pathname,a)!=null||Ka(i.pathname,l)!=null}const rd="/api";async function Pe(e,t,n){const r={};let i;n instanceof FormData?i=n:n&&(r["Content-Type"]="application/json",i=JSON.stringify(n));const l=await fetch(`${rd}${t}`,{method:e,headers:r,body:i,credentials:"include"});if(!l.ok){const a=await l.text();throw new Error(a||`Request failed: ${l.status}`)}return l.json()}const ve={getConfig:()=>Pe("GET","/config"),listFolders:()=>Pe("GET","/folders"),getFolder:e=>Pe("GET",`/folders/${e}`),listSubfolders:e=>Pe("GET",`/folders/${e}/subfolders`),createFolder:(e,t,n)=>Pe("POST","/folders",{parentId:e,name:t,description:n}),deleteFolder:e=>Pe("DELETE",`/folders/${e}`),listDocuments:e=>{const t=new URLSearchParams;e!=null&&e.folderId&&t.set("folderId",String(e.folderId)),e!=null&&e.filterText&&t.set("filterText",e.filterText);const n=t.toString();return Pe("GET",`/documents${n?`?${n}`:""}`)},getDocument:e=>Pe("GET",`/documents/${e}`),listSharedLinks:e=>Pe("GET",`/documents/${e}/shared-links`),createSharedLink:(e,t)=>Pe("POST",`/documents/${e}/shared-links`,t),getDocumentVersions:e=>Pe("GET",`/documents/${e}/versions`),uploadCourse:(e,t,n)=>{const r=new FormData;return r.append("file",e),r.append("folderId",String(t)),n!=null&&n.title&&r.append("title",n.title),Pe("POST","/upload",r)},uploadCourseWithProgress:(e,t,n,r)=>new Promise((i,l)=>{const a=new XMLHttpRequest,o=new FormData;o.append("file",e),o.append("folderId",String(t)),n!=null&&n.title&&o.append("title",n.title),a.upload.onprogress=s=>{if(s.lengthComputable){const u=Math.round(s.loaded/s.total*100);r(u)}},a.onload=()=>{if(a.status>=200&&a.status<300)try{i(JSON.parse(a.responseText))}catch{l(new Error("Invalid JSON response"))}else l(new Error(a.statusText||`Upload failed: ${a.status}`))},a.onerror=()=>l(new Error("Network error during upload")),a.onabort=()=>l(new Error("Upload aborted")),a.open("POST",`${rd}/upload`),a.withCredentials=!0,a.send(o)}),uploadVersion:(e,t,n)=>{const r=new FormData;return r.append("file",e),r.append("documentId",String(t)),n&&r.append("note",n),Pe("POST","/upload/version",r)},getLaunchUrl:e=>Pe("GET",`/documents/${e}/launch`)};function lh({path:e,onNavigate:t}){return c.jsxs("nav",{className:"breadcrumb",children:[c.jsx("button",{className:"breadcrumb-item",onClick:()=>t(null),children:"Home"}),e.map((n,r)=>c.jsxs("span",{className:"breadcrumb-segment",children:[c.jsx("span",{className:"breadcrumb-separator",children:"/"}),r===e.length-1?c.jsx("span",{className:"breadcrumb-item breadcrumb-current",children:n.name}):c.jsx("button",{className:"breadcrumb-item",onClick:()=>t(n.id),children:n.name})]},n.id))]})}function Su({documentId:e,documentName:t,type:n,existingLink:r,bravaisBaseUrl:i,onLinkCreated:l}){const[a,o]=g.useState(!1),[s,u]=g.useState(!1),[v,m]=g.useState(null),[h,w]=g.useState(""),x=n==="lms",k=x,C=x?"LMS Thin Pack":"Shared Link",d=x?"Download ZIP for LMS import":"Direct link to course",p=x?"📦":"🔗";function f(P){return P.trim().replace(/\s+/g,"_").replace(/[^a-zA-Z0-9_-]/g,"").substring(0,50)}function y(P){const R=P.replace("-","/");return`${i}/s/${R}`}function N(P){return`/api/shared-links/${P}/download`}async function z(){const P=h.trim()||`${t} - ${x?"LMS Thin Pack":"Shared Link"}`,R=f(P);if(!R){m("Please enter a valid name");return}o(!0),m(null);try{const U=await ve.createSharedLink(e,{name:P,isPublic:k,isForThinPackage:x,openInIframe:!0,token:R});l(U),w("")}catch(U){m(U instanceof Error?U.message:"Failed to create link")}finally{o(!1)}}async function S(){if(r)try{const P=y(r.token);await navigator.clipboard.writeText(P),u(!0),setTimeout(()=>u(!1),2e3)}catch{const P=y(r.token);prompt("Copy this URL:",P)}}function E(P){return new Date(P).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}const _=h.trim()?f(h):f(`${t} - ${x?"LMS Thin Pack":"Shared Link"}`);return c.jsxs("div",{className:`thin-pack-tile ${n}`,children:[c.jsxs("div",{className:"thin-pack-header",children:[c.jsx("span",{className:"thin-pack-icon",children:p}),c.jsxs("div",{className:"thin-pack-titles",children:[c.jsx("h4",{className:"thin-pack-title",children:C}),c.jsx("p",{className:"thin-pack-subtitle",children:d})]})]}),c.jsxs("div",{className:"thin-pack-content",children:[v&&c.jsx("div",{className:"thin-pack-error",children:v}),r?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"thin-pack-status exists",children:[c.jsx("span",{className:"status-icon",children:"✓"}),c.jsxs("span",{children:["Link exists: ",r.name]})]}),c.jsxs("div",{className:"thin-pack-meta",children:[c.jsx("span",{children:r.isPublic?"🌐 Public":"🔒 Private"}),c.jsxs("span",{children:["Token: ",r.token]}),c.jsxs("span",{children:["Created: ",E(r.dateCreated)]}),c.jsxs("span",{children:["Views: ",r.accessCounter]})]}),c.jsxs("div",{className:"thin-pack-actions",children:[x?c.jsx("a",{href:N(r.token),download:!0,className:"btn btn-primary btn-sm",children:"Download ZIP"}):null,c.jsx("button",{className:"btn btn-secondary btn-sm",onClick:S,children:s?"✓ Copied!":"Copy URL"}),c.jsx("a",{href:y(r.token),target:"_blank",rel:"noopener noreferrer",className:"btn btn-secondary btn-sm",children:"Open ↗"})]})]}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"thin-pack-status missing",children:c.jsx("span",{children:"No link created yet"})}),c.jsxs("div",{className:"thin-pack-name-input",children:[c.jsx("label",{htmlFor:`name-${n}-${e}`,children:"Link Name"}),c.jsx("input",{id:`name-${n}-${e}`,type:"text",placeholder:`${t} - ${x?"LMS Thin Pack":"Shared Link"}`,value:h,onChange:P=>w(P.target.value),className:"input-sm"}),c.jsxs("span",{className:"token-preview",children:["Token: ",_]})]}),c.jsx("div",{className:"thin-pack-actions",children:c.jsx("button",{className:"btn btn-primary btn-sm",onClick:z,disabled:a,children:a?"Creating...":x?"Create Thin Pack":"Create Link"})})]})]})]})}function ah({document:e,bravaisBaseUrl:t,onClose:n}){var k,C;const[r,i]=g.useState([]),[l,a]=g.useState([]),[o,s]=g.useState(!0),[u,v]=g.useState(null);g.useEffect(()=>{async function d(){s(!0),v(null);try{const[p,f]=await Promise.all([ve.listSharedLinks(e.id),ve.getDocumentVersions(e.id)]);i(p),a(f)}catch(p){v(p instanceof Error?p.message:"Failed to load details")}finally{s(!1)}}d()},[e.id]);const m=r.find(d=>d.isForThinPackage&&d.enabled),h=r.find(d=>!d.isForThinPackage&&d.enabled);function w(d){i(p=>[...p,d])}function x(d){return d?new Date(d).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"—"}return o?c.jsx("div",{className:"course-detail-panel",children:c.jsxs("div",{className:"course-detail-loading",children:[c.jsx("div",{className:"spinner"}),c.jsx("span",{children:"Loading details..."})]})}):u?c.jsx("div",{className:"course-detail-panel",children:c.jsxs("div",{className:"course-detail-error",children:[c.jsxs("span",{children:["Error: ",u]}),c.jsx("button",{className:"btn btn-secondary btn-sm",onClick:n,children:"Close"})]})}):c.jsxs("div",{className:"course-detail-panel",children:[c.jsxs("div",{className:"course-detail-tile",children:[c.jsxs("div",{className:"tile-header",children:[c.jsx("h3",{children:"📋 Course Details"}),c.jsx("button",{className:"btn-close",onClick:n,title:"Close",children:"✕"})]}),c.jsxs("div",{className:"detail-grid",children:[c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Name"}),c.jsx("span",{className:"detail-value",children:e.name})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Format"}),c.jsx("span",{className:"detail-value",children:e.format||"—"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Type"}),c.jsx("span",{className:"detail-value",children:e.resourceType||"Document"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Author"}),c.jsx("span",{className:"detail-value",children:e.author||"—"})]}),c.jsxs("div",{className:"detail-item span-2",children:[c.jsx("span",{className:"detail-label",children:"Description"}),c.jsx("span",{className:"detail-value description",children:e.description||"—"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"GUID"}),c.jsx("span",{className:"detail-value mono",children:e.guid})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"External ID"}),c.jsx("span",{className:"detail-value",children:e.externalId||"—"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Created"}),c.jsx("span",{className:"detail-value",children:x(e.dateCreated)})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Updated"}),c.jsx("span",{className:"detail-value",children:x(e.dateUpdated)})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Activation"}),c.jsx("span",{className:"detail-value",children:e.activationDate?x(e.activationDate):"—"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Expires"}),c.jsx("span",{className:"detail-value",children:e.dateExpired?x(e.dateExpired):"Never"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Versions"}),c.jsx("span",{className:"detail-value",children:l.length})]}),l.length>0&&c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Latest Version"}),c.jsxs("span",{className:"detail-value",children:[(k=l[0])==null?void 0:k.name," (",x((C=l[0])==null?void 0:C.dateCreated),")"]})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Shared Links"}),c.jsx("span",{className:"detail-value",children:r.length})]})]})]}),c.jsxs("div",{className:"thin-pack-row",children:[c.jsx(Su,{documentId:e.id,documentName:e.name,type:"lms",existingLink:m||null,bravaisBaseUrl:t,onLinkCreated:w}),c.jsx(Su,{documentId:e.id,documentName:e.name,type:"shared",existingLink:h||null,bravaisBaseUrl:t,onLinkCreated:w})]})]})}function oh({folders:e,documents:t,loading:n,bravaisBaseUrl:r,onFolderClick:i,onDocumentLaunch:l,onCreateFolder:a,onDeleteFolder:o,onDeleteDocument:s,launchingId:u,initialExpandedDocId:v}){const[m,h]=g.useState("name"),[w,x]=g.useState("asc"),[k,C]=g.useState(v??null),d=[...e.map(S=>({type:"folder",data:S})),...t.map(S=>({type:"document",data:S}))],p=[...d].sort((S,E)=>{if(S.type!==E.type)return S.type==="folder"?-1:1;let _="",P="";return m==="name"?(_=S.data.name.toLowerCase(),P=E.data.name.toLowerCase()):m==="dateUpdated"&&S.type==="document"&&E.type==="document"?(_=new Date(S.data.dateUpdated).getTime(),P=new Date(E.data.dateUpdated).getTime()):m==="dateCreated"&&S.type==="document"&&E.type==="document"&&(_=new Date(S.data.dateCreated).getTime(),P=new Date(E.data.dateCreated).getTime()),_<P?w==="asc"?-1:1:_>P?w==="asc"?1:-1:0});function f(S){m===S?x(w==="asc"?"desc":"asc"):(h(S),x("asc"))}function y(S,E){E.stopPropagation(),C(k===S?null:S)}function N(S){return new Date(S).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}function z(S){return m!==S?"":w==="asc"?" ▲":" ▼"}return n?c.jsxs("div",{className:"data-grid-loading",children:[c.jsx("div",{className:"spinner"}),c.jsx("span",{children:"Loading..."})]}):d.length===0?c.jsxs("div",{className:"data-grid-empty",children:[c.jsx("div",{className:"empty-icon",children:"📁"}),c.jsx("h3",{children:"This folder is empty"}),c.jsx("p",{children:"Upload a course or create a subfolder to get started."}),a&&c.jsx("button",{className:"btn btn-primary",onClick:a,children:"Create Folder"})]}):c.jsxs("div",{className:"data-grid-container",children:[c.jsxs("table",{className:"data-grid",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{className:"col-checkbox",children:c.jsx("input",{type:"checkbox",disabled:!0})}),c.jsxs("th",{className:"col-name sortable",onClick:()=>f("name"),children:["Name",z("name")]}),c.jsx("th",{className:"col-format",children:"Format"}),c.jsx("th",{className:"col-type",children:"Type"}),c.jsxs("th",{className:"col-updated sortable",onClick:()=>f("dateUpdated"),children:["Updated",z("dateUpdated")]}),c.jsxs("th",{className:"col-created sortable",onClick:()=>f("dateCreated"),children:["Created",z("dateCreated")]}),c.jsx("th",{className:"col-actions",children:"Actions"})]})}),c.jsx("tbody",{children:p.map(S=>{if(S.type==="folder"){const E=S.data;return c.jsxs("tr",{className:"grid-row folder-row",onClick:()=>i(E),children:[c.jsx("td",{className:"col-checkbox",onClick:_=>_.stopPropagation(),children:c.jsx("input",{type:"checkbox"})}),c.jsxs("td",{className:"col-name",children:[c.jsx("span",{className:"item-icon",children:"📁"}),c.jsx("span",{className:"item-name",children:E.name}),(E.numberOfSubfolders??0)>0&&c.jsxs("span",{className:"subfolder-count",children:["(",E.numberOfSubfolders," folders)"]})]}),c.jsx("td",{className:"col-format",children:"—"}),c.jsx("td",{className:"col-type",children:"Folder"}),c.jsx("td",{className:"col-updated",children:"—"}),c.jsx("td",{className:"col-created",children:"—"}),c.jsx("td",{className:"col-actions",onClick:_=>_.stopPropagation(),children:o&&c.jsx("button",{className:"btn-icon btn-delete",onClick:()=>{confirm("Delete this folder?")&&o(E.id)},title:"Delete folder",children:"🗑️"})})]},`folder-${E.id}`)}else{const E=S.data,_=u===E.id,P=k===E.id;return c.jsxs(g.Fragment,{children:[c.jsxs("tr",{className:`grid-row document-row ${P?"expanded":""}`,onClick:R=>y(E.id,R),children:[c.jsx("td",{className:"col-checkbox",onClick:R=>R.stopPropagation(),children:c.jsx("input",{type:"checkbox"})}),c.jsxs("td",{className:"col-name",children:[c.jsx("span",{className:"expand-icon",children:P?"▼":"▶"}),c.jsx("span",{className:"item-icon",children:"📄"}),c.jsx("span",{className:"item-name",children:E.name})]}),c.jsx("td",{className:"col-format",children:E.format||"—"}),c.jsx("td",{className:"col-type",children:E.resourceType||"Document"}),c.jsx("td",{className:"col-updated",children:N(E.dateUpdated)}),c.jsx("td",{className:"col-created",children:N(E.dateCreated)}),c.jsxs("td",{className:"col-actions",onClick:R=>R.stopPropagation(),children:[c.jsx("button",{className:"btn-icon btn-launch",onClick:()=>l(E.id),disabled:_,title:"Launch",children:_?"...":"▶️"}),s&&c.jsx("button",{className:"btn-icon btn-delete",onClick:()=>{confirm("Delete this document?")&&s(E.id)},title:"Delete",children:"🗑️"})]})]}),P&&c.jsx("tr",{className:"expanded-row",children:c.jsx("td",{colSpan:7,children:c.jsx(ah,{document:E,bravaisBaseUrl:r,onClose:()=>C(null)})})})]},`doc-${E.id}`)}})})]}),c.jsx("div",{className:"data-grid-footer",children:c.jsxs("span",{children:[e.length," folder(s), ",t.length," document(s)"]})})]})}var id={exports:{}},sh="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",uh=sh,ch=uh;function ld(){}function ad(){}ad.resetWarningCache=ld;var ph=function(){function e(r,i,l,a,o,s){if(s!==ch){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:ad,resetWarningCache:ld};return n.PropTypes=n,n};id.exports=ph();var dh=id.exports;const H=Ou(dh);function cn(e,t,n,r){function i(l){return l instanceof n?l:new n(function(a){a(l)})}return new(n||(n=Promise))(function(l,a){function o(v){try{u(r.next(v))}catch(m){a(m)}}function s(v){try{u(r.throw(v))}catch(m){a(m)}}function u(v){v.done?l(v.value):i(v.value).then(o,s)}u((r=r.apply(e,t||[])).next())})}const fh=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function Bn(e,t,n){const r=mh(e),{webkitRelativePath:i}=e,l=typeof t=="string"?t:typeof i=="string"&&i.length>0?i:`./${e.name}`;return typeof r.path!="string"&&Eu(r,"path",l),Eu(r,"relativePath",l),r}function mh(e){const{name:t}=e;if(t&&t.lastIndexOf(".")!==-1&&!e.type){const r=t.split(".").pop().toLowerCase(),i=fh.get(r);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}function Eu(e,t,n){Object.defineProperty(e,t,{value:n,writable:!1,configurable:!1,enumerable:!0})}const vh=[".DS_Store","Thumbs.db"];function hh(e){return cn(this,void 0,void 0,function*(){return qi(e)&&gh(e.dataTransfer)?kh(e.dataTransfer,e.type):xh(e)?yh(e):Array.isArray(e)&&e.every(t=>"getFile"in t&&typeof t.getFile=="function")?wh(e):[]})}function gh(e){return qi(e)}function xh(e){return qi(e)&&qi(e.target)}function qi(e){return typeof e=="object"&&e!==null}function yh(e){return Za(e.target.files).map(t=>Bn(t))}function wh(e){return cn(this,void 0,void 0,function*(){return(yield Promise.all(e.map(n=>n.getFile()))).map(n=>Bn(n))})}function kh(e,t){return cn(this,void 0,void 0,function*(){if(e.items){const n=Za(e.items).filter(i=>i.kind==="file");if(t!=="drop")return n;const r=yield Promise.all(n.map(Sh));return ju(od(r))}return ju(Za(e.files).map(n=>Bn(n)))})}function ju(e){return e.filter(t=>vh.indexOf(t.name)===-1)}function Za(e){if(e===null)return[];const t=[];for(let n=0;n<e.length;n++){const r=e[n];t.push(r)}return t}function Sh(e){if(typeof e.webkitGetAsEntry!="function")return Cu(e);const t=e.webkitGetAsEntry();return t&&t.isDirectory?sd(t):Cu(e,t)}function od(e){return e.reduce((t,n)=>[...t,...Array.isArray(n)?od(n):[n]],[])}function Cu(e,t){return cn(this,void 0,void 0,function*(){var n;if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle=="function"){const l=yield e.getAsFileSystemHandle();if(l===null)throw new Error(`${e} is not a File`);if(l!==void 0){const a=yield l.getFile();return a.handle=l,Bn(a)}}const r=e.getAsFile();if(!r)throw new Error(`${e} is not a File`);return Bn(r,(n=t==null?void 0:t.fullPath)!==null&&n!==void 0?n:void 0)})}function Eh(e){return cn(this,void 0,void 0,function*(){return e.isDirectory?sd(e):jh(e)})}function sd(e){const t=e.createReader();return new Promise((n,r)=>{const i=[];function l(){t.readEntries(a=>cn(this,void 0,void 0,function*(){if(a.length){const o=Promise.all(a.map(Eh));i.push(o),l()}else try{const o=yield Promise.all(i);n(o)}catch(o){r(o)}}),a=>{r(a)})}l()})}function jh(e){return cn(this,void 0,void 0,function*(){return new Promise((t,n)=>{e.file(r=>{const i=Bn(r,e.fullPath);t(i)},r=>{n(r)})})})}var Xl=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(",");if(n.length===0)return!0;var r=e.name||"",i=(e.type||"").toLowerCase(),l=i.replace(/\/.*$/,"");return n.some(function(a){var o=a.trim().toLowerCase();return o.charAt(0)==="."?r.toLowerCase().endsWith(o):o.endsWith("/*")?l===o.replace(/\/.*$/,""):i===o})}return!0};function Nu(e){return Ph(e)||Nh(e)||cd(e)||Ch()}function Ch(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
68
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function
|
|
69
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cd(e,t){if(e){if(typeof e=="string")return Ja(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ja(e,t)}}function Ja(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function
|
|
70
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function
|
|
71
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vd(e,t){if(e){if(typeof e=="string")return eo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eo(e,t)}}function eo(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ng(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r=[],i=!0,l=!1,a,o;try{for(n=n.call(e);!(i=(a=n.next()).done)&&(r.push(a.value),!(t&&r.length===t));i=!0);}catch(s){l=!0,o=s}finally{try{!i&&n.return!=null&&n.return()}finally{if(l)throw o}}return r}}function rg(e){if(Array.isArray(e))return e}function Lu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Lu(Object(n),!0).forEach(function(r){to(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lu(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function to(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yi(e,t){if(e==null)return{};var n=ig(e,t),r,i;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i<l.length;i++)r=l[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ig(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,l;for(l=0;l<r.length;l++)i=r[l],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}var rs=g.forwardRef(function(e,t){var n=e.children,r=Yi(e,Kh),i=gd(r),l=i.open,a=Yi(i,qh);return g.useImperativeHandle(t,function(){return{open:l}},[l]),oo.createElement(g.Fragment,null,n(Z(Z({},a),{},{open:l})))});rs.displayName="Dropzone";var hd={disabled:!1,getFilesFromEvent:hh,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};rs.defaultProps=hd;rs.propTypes={children:H.func,accept:H.objectOf(H.arrayOf(H.string)),multiple:H.bool,preventDropOnDocument:H.bool,noClick:H.bool,noKeyboard:H.bool,noDrag:H.bool,noDragEventsBubbling:H.bool,minSize:H.number,maxSize:H.number,maxFiles:H.number,disabled:H.bool,getFilesFromEvent:H.func,onFileDialogCancel:H.func,onFileDialogOpen:H.func,useFsAccessApi:H.bool,autoFocus:H.bool,onDragEnter:H.func,onDragLeave:H.func,onDragOver:H.func,onDrop:H.func,onDropAccepted:H.func,onDropRejected:H.func,onError:H.func,validator:H.func};var no={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function gd(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Z(Z({},hd),e),n=t.accept,r=t.disabled,i=t.getFilesFromEvent,l=t.maxSize,a=t.minSize,o=t.multiple,s=t.maxFiles,u=t.onDragEnter,v=t.onDragLeave,m=t.onDragOver,h=t.onDrop,w=t.onDropAccepted,x=t.onDropRejected,k=t.onFileDialogCancel,C=t.onFileDialogOpen,d=t.useFsAccessApi,p=t.autoFocus,f=t.preventDropOnDocument,y=t.noClick,N=t.noKeyboard,z=t.noDrag,S=t.noDragEventsBubbling,E=t.onError,_=t.validator,P=g.useMemo(function(){return Vh(n)},[n]),R=g.useMemo(function(){return Wh(n)},[n]),U=g.useMemo(function(){return typeof C=="function"?C:Fu},[C]),V=g.useMemo(function(){return typeof k=="function"?k:Fu},[k]),B=g.useRef(null),ie=g.useRef(null),Qt=g.useReducer(lg,no),tt=Zl(Qt,2),T=tt[0],F=tt[1],I=T.isFocused,Q=T.isFileDialogActive,q=g.useRef(typeof window<"u"&&window.isSecureContext&&d&&Bh()),nt=function(){!q.current&&Q&&setTimeout(function(){if(ie.current){var O=ie.current.files;O.length||(F({type:"closeDialog"}),V())}},300)};g.useEffect(function(){return window.addEventListener("focus",nt,!1),function(){window.removeEventListener("focus",nt,!1)}},[ie,Q,V,q]);var xe=g.useRef([]),kt=function(O){B.current&&B.current.contains(O.target)||(O.preventDefault(),xe.current=[])};g.useEffect(function(){return f&&(document.addEventListener("dragover",Du,!1),document.addEventListener("drop",kt,!1)),function(){f&&(document.removeEventListener("dragover",Du),document.removeEventListener("drop",kt))}},[B,f]),g.useEffect(function(){return!r&&p&&B.current&&B.current.focus(),function(){}},[B,p,r]);var fe=g.useCallback(function(D){E?E(D):console.error(D)},[E]),be=g.useCallback(function(D){D.preventDefault(),D.persist(),Wr(D),xe.current=[].concat(Xh(xe.current),[D.target]),si(D)&&Promise.resolve(i(D)).then(function(O){if(!(Gi(D)&&!S)){var ae=O.length,ce=ae>0&&Ah({files:O,accept:P,minSize:a,maxSize:l,multiple:o,maxFiles:s,validator:_}),Oe=ae>0&&!ce;F({isDragAccept:ce,isDragReject:Oe,isDragActive:!0,type:"setDraggedFiles"}),u&&u(D)}}).catch(function(O){return fe(O)})},[i,u,fe,S,P,a,l,o,s,_]),qn=g.useCallback(function(D){D.preventDefault(),D.persist(),Wr(D);var O=si(D);if(O&&D.dataTransfer)try{D.dataTransfer.dropEffect="copy"}catch{}return O&&m&&m(D),!1},[m,S]),M=g.useCallback(function(D){D.preventDefault(),D.persist(),Wr(D);var O=xe.current.filter(function(ce){return B.current&&B.current.contains(ce)}),ae=O.indexOf(D.target);ae!==-1&&O.splice(ae,1),xe.current=O,!(O.length>0)&&(F({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),si(D)&&v&&v(D))},[B,v,S]),$=g.useCallback(function(D,O){var ae=[],ce=[];D.forEach(function(Oe){var Gn=pd(Oe,P),mn=Zl(Gn,2),gl=mn[0],xl=mn[1],yl=dd(Oe,a,l),Vr=Zl(yl,2),wl=Vr[0],kl=Vr[1],Sl=_?_(Oe):null;if(gl&&wl&&!Sl)ae.push(Oe);else{var El=[xl,kl];Sl&&(El=El.concat(Sl)),ce.push({file:Oe,errors:El.filter(function(kd){return kd})})}}),(!o&&ae.length>1||o&&s>=1&&ae.length>s)&&(ae.forEach(function(Oe){ce.push({file:Oe,errors:[Mh]})}),ae.splice(0)),F({acceptedFiles:ae,fileRejections:ce,isDragReject:ce.length>0,type:"setFiles"}),h&&h(ae,ce,O),ce.length>0&&x&&x(ce,O),ae.length>0&&w&&w(ae,O)},[F,o,P,a,l,s,h,w,x,_]),Fe=g.useCallback(function(D){D.preventDefault(),D.persist(),Wr(D),xe.current=[],si(D)&&Promise.resolve(i(D)).then(function(O){Gi(D)&&!S||$(O,D)}).catch(function(O){return fe(O)}),F({type:"reset"})},[i,$,fe,S]),ut=g.useCallback(function(){if(q.current){F({type:"openDialog"}),U();var D={multiple:o,types:R};window.showOpenFilePicker(D).then(function(O){return i(O)}).then(function(O){$(O,null),F({type:"closeDialog"})}).catch(function(O){Hh(O)?(V(O),F({type:"closeDialog"})):Qh(O)?(q.current=!1,ie.current?(ie.current.value=null,ie.current.click()):fe(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided."))):fe(O)});return}ie.current&&(F({type:"openDialog"}),U(),ie.current.value=null,ie.current.click())},[F,U,V,d,$,fe,R,o]),St=g.useCallback(function(D){!B.current||!B.current.isEqualNode(D.target)||(D.key===" "||D.key==="Enter"||D.keyCode===32||D.keyCode===13)&&(D.preventDefault(),ut())},[B,ut]),pn=g.useCallback(function(){F({type:"focus"})},[]),dn=g.useCallback(function(){F({type:"blur"})},[]),is=g.useCallback(function(){y||(bh()?setTimeout(ut,0):ut())},[y,ut]),fn=function(O){return r?null:O},hl=function(O){return N?null:fn(O)},Br=function(O){return z?null:fn(O)},Wr=function(O){S&&O.stopPropagation()},xd=g.useMemo(function(){return function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=D.refKey,ae=O===void 0?"ref":O,ce=D.role,Oe=D.onKeyDown,Gn=D.onFocus,mn=D.onBlur,gl=D.onClick,xl=D.onDragEnter,yl=D.onDragOver,Vr=D.onDragLeave,wl=D.onDrop,kl=Yi(D,Gh);return Z(Z(to({onKeyDown:hl(it(Oe,St)),onFocus:hl(it(Gn,pn)),onBlur:hl(it(mn,dn)),onClick:fn(it(gl,is)),onDragEnter:Br(it(xl,be)),onDragOver:Br(it(yl,qn)),onDragLeave:Br(it(Vr,M)),onDrop:Br(it(wl,Fe)),role:typeof ce=="string"&&ce!==""?ce:"presentation"},ae,B),!r&&!N?{tabIndex:0}:{}),kl)}},[B,St,pn,dn,is,be,qn,M,Fe,N,z,r]),yd=g.useCallback(function(D){D.stopPropagation()},[]),wd=g.useMemo(function(){return function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=D.refKey,ae=O===void 0?"ref":O,ce=D.onChange,Oe=D.onClick,Gn=Yi(D,Yh),mn=to({accept:P,multiple:o,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:fn(it(ce,Fe)),onClick:fn(it(Oe,yd)),tabIndex:-1},ae,ie);return Z(Z({},mn),Gn)}},[ie,n,o,Fe,r]);return Z(Z({},T),{},{isFocused:I&&!r,getRootProps:xd,getInputProps:wd,rootRef:B,inputRef:ie,open:fn(ut)})}function lg(e,t){switch(t.type){case"focus":return Z(Z({},e),{},{isFocused:!0});case"blur":return Z(Z({},e),{},{isFocused:!1});case"openDialog":return Z(Z({},no),{},{isFileDialogActive:!0});case"closeDialog":return Z(Z({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return Z(Z({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return Z(Z({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:t.isDragReject});case"reset":return Z({},no);default:return e}}function Fu(){}function ag({onFilesAccepted:e,disabled:t}){const n=g.useCallback(a=>{const o=a.filter(s=>s.type==="application/zip"||s.type==="application/x-zip-compressed"||s.name.endsWith(".zip"));o.length>0&&e(o)},[e]),{getRootProps:r,getInputProps:i,isDragActive:l}=gd({onDrop:n,accept:{"application/zip":[".zip"],"application/x-zip-compressed":[".zip"]},disabled:t,multiple:!0});return c.jsxs("div",{...r(),className:`dropzone ${l?"active":""} ${t?"disabled":""}`,children:[c.jsx("input",{...i()}),c.jsx("div",{style:{fontSize:"3rem"},children:"📦"}),l?c.jsx("p",{children:"Drop the course ZIP files here..."}):c.jsxs(c.Fragment,{children:[c.jsx("p",{children:"Drag & drop course ZIP files here"}),c.jsx("p",{children:"or click to select files"})]})]})}function og({folderId:e,folderName:t,onClose:n,onUploadComplete:r}){const[i,l]=g.useState([]),[a,o]=g.useState(!1),[s,u]=g.useState(!0),[v,m]=g.useState(""),[h,w]=g.useState(!1),[x,k]=g.useState("");function C(_){return _.trim().replace(/\s+/g,"_")}function d(_){const P=_.map(R=>({file:R,status:"pending"}));l(R=>[...R,...P])}function p(_){l(P=>P.filter((R,U)=>U!==_))}function f(_){return _<1024?`${_} B`:_<1024*1024?`${(_/1024).toFixed(1)} KB`:`${(_/(1024*1024)).toFixed(1)} MB`}async function y(){var P;if(i.filter(R=>R.status==="pending").length!==0){o(!0);for(let R=0;R<i.length;R++)if(i[R].status==="pending"){l(U=>U.map((V,B)=>B===R?{...V,status:"uploading"}:V));try{const U=await ve.uploadCourse(i[R].file,e);if(U.success&&U.documentId){if(s){const V=v.trim()||`${U.documentName} - LMS Thin Pack`;try{await ve.createSharedLink(U.documentId,{name:V,token:C(V),isPublic:!0,isForThinPackage:!0})}catch(B){console.error("Failed to create thin pack:",B)}}if(h){const V=x.trim()||`${U.documentName} - Private`;try{await ve.createSharedLink(U.documentId,{name:V,token:C(V),isPublic:!1,isForThinPackage:!1})}catch(B){console.error("Failed to create shared link:",B)}}l(V=>V.map((B,ie)=>ie===R?{...B,status:"success",documentId:U.documentId??void 0,documentName:U.documentName}:B)),r(U.documentId)}else throw new Error(((P=U.errors)==null?void 0:P.join(", "))||"Upload failed")}catch(U){l(V=>V.map((B,ie)=>ie===R?{...B,status:"error",error:U instanceof Error?U.message:"Upload failed"}:B))}}o(!1)}}const N=i.filter(_=>_.status==="pending").length,z=i.length>0,S=v.trim()?C(v):"(will use document name)",E=x.trim()?C(x):"(will use document name)";return c.jsx("div",{className:"modal-overlay",onClick:n,children:c.jsxs("div",{className:"modal upload-modal",onClick:_=>_.stopPropagation(),children:[c.jsxs("div",{className:"modal-header",children:[c.jsxs("h3",{className:"modal-title",children:["Upload to: ",t]}),c.jsx("button",{className:"modal-close",onClick:n,children:"x"})]}),c.jsxs("div",{className:"upload-modal-content",children:[c.jsx(ag,{onFilesAccepted:d,disabled:a}),z&&c.jsxs("div",{className:"upload-file-list",children:[c.jsxs("h4",{children:["Files (",i.length,")"]}),i.map((_,P)=>c.jsxs("div",{className:"upload-file-item",children:[c.jsxs("div",{className:"upload-file-info",children:[c.jsx("span",{className:"upload-file-name",children:_.file.name}),c.jsx("span",{className:"upload-file-size",children:f(_.file.size)})]}),c.jsxs("div",{className:"upload-file-status",children:[_.status==="pending"&&c.jsx("button",{className:"btn btn-sm btn-secondary",onClick:()=>p(P),children:"Remove"}),_.status==="uploading"&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"spinner"}),c.jsx("span",{className:"status-uploading",children:"Uploading..."})]}),_.status==="success"&&c.jsx("span",{className:"status-success",children:"Uploaded"}),_.status==="error"&&c.jsx("span",{className:"status-error",title:_.error,children:"Failed"})]})]},P))]}),c.jsxs("div",{className:"upload-link-options",children:[c.jsx("h4",{children:"After upload, create:"}),c.jsxs("div",{className:"upload-link-option",children:[c.jsxs("label",{className:"upload-link-toggle",children:[c.jsx("input",{type:"checkbox",checked:s,onChange:_=>u(_.target.checked),disabled:a}),c.jsx("span",{children:"LMS Thin Pack (public)"})]}),s&&c.jsxs("div",{className:"upload-link-name-input",children:[c.jsx("input",{type:"text",placeholder:"Link name (uses document name if empty)",value:v,onChange:_=>m(_.target.value),disabled:a}),c.jsxs("span",{className:"slug-preview",children:["Slug: ",S]})]})]}),c.jsxs("div",{className:"upload-link-option",children:[c.jsxs("label",{className:"upload-link-toggle",children:[c.jsx("input",{type:"checkbox",checked:h,onChange:_=>w(_.target.checked),disabled:a}),c.jsx("span",{children:"Shared Link (private/SSO)"})]}),h&&c.jsxs("div",{className:"upload-link-name-input",children:[c.jsx("input",{type:"text",placeholder:"Link name (uses document name if empty)",value:x,onChange:_=>k(_.target.value),disabled:a}),c.jsxs("span",{className:"slug-preview",children:["Slug: ",E]})]})]})]})]}),c.jsxs("div",{className:"modal-footer",children:[c.jsx("button",{className:"btn btn-secondary",onClick:n,disabled:a,children:"Cancel"}),c.jsx("button",{className:"btn btn-primary",onClick:y,disabled:a||N===0,children:a?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"spinner"}),"Uploading..."]}):`Upload ${N} file${N!==1?"s":""}`})]})]})})}const ui="package-uploader-pinned-folder";function sg(){var qn;const[e,t]=rh(),[n,r]=g.useState([]),[i,l]=g.useState([]),[a,o]=g.useState(null),[s,u]=g.useState([]),[v,m]=g.useState(""),[h,w]=g.useState(!0),[x,k]=g.useState(null),[C,d]=g.useState(!1),[p,f]=g.useState(""),[y,N]=g.useState(!1),[z,S]=g.useState(!1),[E,_]=g.useState(!1),[P,R]=g.useState(""),[U,V]=g.useState(null),[B,ie]=g.useState(null),[Qt,tt]=g.useState(!1),T=g.useRef(!1);g.useEffect(()=>{if(T.current)return;T.current=!0;async function M(){try{const $=await ve.getConfig();_($.canCreateFolders),R($.bravaisBaseUrl||"");const Fe=e.get("folder"),ut=e.get("doc"),St=localStorage.getItem(ui);St&&V(parseInt(St,10));const pn=Fe?parseInt(Fe,10):St?parseInt(St,10):$.defaultFolderId;if(ut&&(ie(parseInt(ut,10)),t({},{replace:!0})),pn)try{const dn=await ve.getFolder(pn);o(pn),u([dn])}catch{if(St&&(localStorage.removeItem(ui),V(null)),$.defaultFolderId){const dn=await ve.getFolder($.defaultFolderId);o($.defaultFolderId),u([dn])}}}catch($){console.error("Failed to load config:",$)}finally{S(!0)}}M()},[e,t]);const F=g.useCallback(async()=>{if(z)try{w(!0);let M;if(a?M=await ve.listSubfolders(a):M=await ve.listFolders(),l(M),a){const $={folderId:a};v&&($.filterText=v);const Fe=await ve.listDocuments($);r(Fe)}else if(v){const $=await ve.listDocuments({filterText:v});r($)}else r([])}catch(M){console.error("Failed to load content:",M)}finally{w(!1)}},[a,v,z]);g.useEffect(()=>{F()},[F]);async function I(M){o(M.id),u($=>[...$,M])}function Q(M){if(M===null)o(null),u([]);else{const $=s.findIndex(Fe=>Fe.id===M);$>=0&&(o(M),u(s.slice(0,$+1)))}}async function q(M){try{k(M);const{url:$}=await ve.getLaunchUrl(M);window.open($,"_blank")}catch{alert("Failed to get launch URL")}finally{k(null)}}async function nt(){if(!(!p.trim()||!a)){N(!0);try{const M=await ve.createFolder(a,p.trim());l($=>[...$,M]),d(!1),f("")}catch(M){alert("Failed to create folder: "+(M instanceof Error?M.message:"Unknown error"))}finally{N(!1)}}}async function xe(M){try{await ve.deleteFolder(M),l($=>$.filter(Fe=>Fe.id!==M))}catch($){alert("Failed to delete folder: "+($ instanceof Error?$.message:"Unknown error"))}}function kt(){a&&(localStorage.setItem(ui,String(a)),V(a))}function fe(){localStorage.removeItem(ui),V(null)}const be=a!==null&&a===U;return c.jsxs("div",{className:"browse-page",children:[c.jsxs("div",{className:"toolbar",children:[c.jsxs("div",{className:"toolbar-left",children:[c.jsx(lh,{path:s,onNavigate:Q}),a&&c.jsx("button",{className:`btn btn-icon ${be?"pinned":""}`,onClick:be?fe:kt,title:be?"Unpin home folder":"Pin as home folder",children:be?"📌":"📍"})]}),c.jsxs("div",{className:"toolbar-right",children:[c.jsx("input",{type:"text",className:"search-input",placeholder:"Search...",value:v,onChange:M=>m(M.target.value)}),a&&c.jsx("button",{className:"btn btn-primary",onClick:()=>tt(!0),children:"Upload"}),a&&E&&c.jsx("button",{className:"btn btn-secondary",onClick:()=>d(!0),children:"+ New Folder"}),c.jsx("button",{className:"btn btn-secondary",onClick:F,children:"Refresh"})]})]}),c.jsx("div",{className:"content-area",children:c.jsx(oh,{folders:i,documents:n,loading:h,bravaisBaseUrl:P,onFolderClick:I,onDocumentLaunch:q,onCreateFolder:a&&E?()=>d(!0):void 0,onDeleteFolder:xe,launchingId:x,initialExpandedDocId:B})}),C&&c.jsx("div",{className:"modal-overlay",onClick:()=>d(!1),children:c.jsxs("div",{className:"modal",onClick:M=>M.stopPropagation(),children:[c.jsxs("div",{className:"modal-header",children:[c.jsx("h3",{className:"modal-title",children:"Create New Folder"}),c.jsx("button",{className:"modal-close",onClick:()=>d(!1),children:"×"})]}),c.jsxs("div",{className:"form-group",children:[c.jsx("label",{className:"form-label",children:"Folder Name"}),c.jsx("input",{type:"text",className:"form-input",placeholder:"Enter folder name",value:p,onChange:M=>f(M.target.value),autoFocus:!0,onKeyDown:M=>{M.key==="Enter"&&nt(),M.key==="Escape"&&d(!1)}})]}),c.jsxs("div",{style:{display:"flex",gap:"0.5rem",justifyContent:"flex-end"},children:[c.jsx("button",{className:"btn btn-secondary",onClick:()=>d(!1),children:"Cancel"}),c.jsx("button",{className:"btn btn-primary",onClick:nt,disabled:y||!p.trim(),children:y?"Creating...":"Create"})]})]})}),Qt&&a&&c.jsx(og,{folderId:a,folderName:((qn=s[s.length-1])==null?void 0:qn.name)||"Current Folder",onClose:()=>tt(!1),onUploadComplete:M=>{F(),ie(M),tt(!1)}})]})}function ug({user:e,authEnabled:t}){return t?e?c.jsxs("div",{className:"user-menu",children:[c.jsxs("span",{className:"user-info",children:[c.jsx("span",{className:"user-avatar",children:e.name.charAt(0).toUpperCase()}),c.jsx("span",{className:"user-name",children:e.name})]}),c.jsx("a",{href:"/auth/logout",className:"btn btn-secondary btn-sm",children:"Sign Out"})]}):c.jsx("div",{className:"user-menu",children:c.jsx("a",{href:"/auth/login",className:"btn btn-primary btn-sm",children:"Sign In"})}):null}function cg(){const[e,t]=g.useState(null),[n,r]=g.useState(!1);return g.useEffect(()=>{ve.getConfig().then(i=>{r(i.authEnabled),t(i.user)}).catch(i=>{console.error("Failed to load config:",i)})},[]),c.jsxs("div",{className:"app",children:[c.jsxs("header",{className:"header",children:[c.jsx("h1",{children:"Package Uploader"}),c.jsx("nav",{className:"nav",children:c.jsx(eh,{to:"/",className:({isActive:i})=>i?"active":"",children:"Browse"})}),c.jsx(ug,{user:e,authEnabled:n})]}),c.jsx("main",{className:"main",children:c.jsxs(bv,{children:[c.jsx(qa,{path:"/",element:c.jsx(sg,{})}),c.jsx(qa,{path:"/browse",element:c.jsx(Uv,{to:"/",replace:!0})})]})})]})}Jl.createRoot(document.getElementById("root")).render(c.jsx(oo.StrictMode,{children:c.jsx(Yv,{children:c.jsx(cg,{})})}));
|
|
67
|
+
*/function Ki(){return Ki=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ki.apply(this,arguments)}function nd(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,l;for(l=0;l<r.length;l++)i=r[l],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function Bv(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Wv(e,t){return e.button===0&&(!t||t==="_self")&&!Bv(e)}function Ya(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(i=>[n,i]):[[n,r]])},[]))}function Vv(e,t){let n=Ya(e);return t&&t.forEach((r,i)=>{n.has(i)||t.getAll(i).forEach(l=>{n.append(i,l)})}),n}const Hv=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Qv=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],Kv="6";try{window.__reactRouterVersion=Kv}catch{}const qv=g.createContext({isTransitioning:!1}),Gv="startTransition",wu=Ad[Gv];function Yv(e){let{basename:t,children:n,future:r,window:i}=e,l=g.useRef();l.current==null&&(l.current=Xm({window:i,v5Compat:!0}));let a=l.current,[o,s]=g.useState({action:a.action,location:a.location}),{v7_startTransition:u}=r||{},v=g.useCallback(m=>{u&&wu?wu(()=>s(m)):s(m)},[s,u]);return g.useLayoutEffect(()=>a.listen(v),[a,v]),g.useEffect(()=>Av(r),[r]),g.createElement($v,{basename:t,children:n,location:o.location,navigationType:o.action,navigator:a,future:r})}const Xv=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Zv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Jv=g.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:l,replace:a,state:o,target:s,to:u,preventScrollReset:v,viewTransition:m}=t,h=nd(t,Hv),{basename:w}=g.useContext(wt),x,k=!1;if(typeof u=="string"&&Zv.test(u)&&(x=u,Xv))try{let f=new URL(window.location.href),y=u.startsWith("//")?new URL(f.protocol+u):new URL(u),N=bn(y.pathname,w);y.origin===f.origin&&N!=null?u=N+y.search+y.hash:k=!0}catch{}let C=Ev(u,{relative:i}),d=nh(u,{replace:a,state:o,target:s,preventScrollReset:v,relative:i,viewTransition:m});function p(f){r&&r(f),f.defaultPrevented||d(f)}return g.createElement("a",Ki({},h,{href:x||C,onClick:k||l?r:p,ref:n,target:s}))}),eh=g.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:i=!1,className:l="",end:a=!1,style:o,to:s,viewTransition:u,children:v}=t,m=nd(t,Qv),h=vl(s,{relative:m.relative}),w=un(),x=g.useContext(Yp),{navigator:k,basename:C}=g.useContext(wt),d=x!=null&&ih(h)&&u===!0,p=k.encodeLocation?k.encodeLocation(h).pathname:h.pathname,f=w.pathname,y=x&&x.navigation&&x.navigation.location?x.navigation.location.pathname:null;i||(f=f.toLowerCase(),y=y?y.toLowerCase():null,p=p.toLowerCase()),y&&C&&(y=bn(y,C)||y);const N=p!=="/"&&p.endsWith("/")?p.length-1:p.length;let z=f===p||!a&&f.startsWith(p)&&f.charAt(N)==="/",S=y!=null&&(y===p||!a&&y.startsWith(p)&&y.charAt(p.length)==="/"),E={isActive:z,isPending:S,isTransitioning:d},_=z?r:void 0,P;typeof l=="function"?P=l(E):P=[l,z?"active":null,S?"pending":null,d?"transitioning":null].filter(Boolean).join(" ");let R=typeof o=="function"?o(E):o;return g.createElement(Jv,Ki({},m,{"aria-current":_,className:P,ref:n,style:R,to:s,viewTransition:u}),typeof v=="function"?v(E):v)});var Xa;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Xa||(Xa={}));var ku;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(ku||(ku={}));function th(e){let t=g.useContext(fl);return t||te(!1),t}function nh(e,t){let{target:n,replace:r,state:i,preventScrollReset:l,relative:a,viewTransition:o}=t===void 0?{}:t,s=ns(),u=un(),v=vl(e,{relative:a});return g.useCallback(m=>{if(Wv(m,n)){m.preventDefault();let h=r!==void 0?r:Qi(u)===Qi(v);s(e,{replace:h,state:i,preventScrollReset:l,relative:a,viewTransition:o})}},[u,s,v,r,i,n,e,l,a,o])}function rh(e){let t=g.useRef(Ya(e)),n=g.useRef(!1),r=un(),i=g.useMemo(()=>Vv(r.search,n.current?null:t.current),[r.search]),l=ns(),a=g.useCallback((o,s)=>{const u=Ya(typeof o=="function"?o(i):o);n.current=!0,l("?"+u,s)},[l,i]);return[i,a]}function ih(e,t){t===void 0&&(t={});let n=g.useContext(qv);n==null&&te(!1);let{basename:r}=th(Xa.useViewTransitionState),i=vl(e,{relative:t.relative});if(!n.isTransitioning)return!1;let l=bn(n.currentLocation.pathname,r)||n.currentLocation.pathname,a=bn(n.nextLocation.pathname,r)||n.nextLocation.pathname;return Ka(i.pathname,a)!=null||Ka(i.pathname,l)!=null}function lh(){const e=document.querySelectorAll('script[src*="assets/index"]');if(e.length>0){const r=e[0].src,i=new URL(r),l=i.pathname.indexOf("/assets/");if(l>0)return i.pathname.substring(0,l)+"/api"}const t=window.location.pathname;if(t.endsWith("/"))return t.slice(0,-1)+"/api";const n=t.lastIndexOf("/");return(n>0?t.substring(0,n):"")+"/api"}const rd=lh();async function Pe(e,t,n){const r={};let i;n instanceof FormData?i=n:n&&(r["Content-Type"]="application/json",i=JSON.stringify(n));const l=await fetch(`${rd}${t}`,{method:e,headers:r,body:i,credentials:"include"});if(!l.ok){const a=await l.text();throw new Error(a||`Request failed: ${l.status}`)}return l.json()}const ve={getConfig:()=>Pe("GET","/config"),listFolders:()=>Pe("GET","/folders"),getFolder:e=>Pe("GET",`/folders/${e}`),listSubfolders:e=>Pe("GET",`/folders/${e}/subfolders`),createFolder:(e,t,n)=>Pe("POST","/folders",{parentId:e,name:t,description:n}),deleteFolder:e=>Pe("DELETE",`/folders/${e}`),listDocuments:e=>{const t=new URLSearchParams;e!=null&&e.folderId&&t.set("folderId",String(e.folderId)),e!=null&&e.filterText&&t.set("filterText",e.filterText);const n=t.toString();return Pe("GET",`/documents${n?`?${n}`:""}`)},getDocument:e=>Pe("GET",`/documents/${e}`),listSharedLinks:e=>Pe("GET",`/documents/${e}/shared-links`),createSharedLink:(e,t)=>Pe("POST",`/documents/${e}/shared-links`,t),getDocumentVersions:e=>Pe("GET",`/documents/${e}/versions`),uploadCourse:(e,t,n)=>{const r=new FormData;return r.append("file",e),r.append("folderId",String(t)),n!=null&&n.title&&r.append("title",n.title),Pe("POST","/upload",r)},uploadCourseWithProgress:(e,t,n,r)=>new Promise((i,l)=>{const a=new XMLHttpRequest,o=new FormData;o.append("file",e),o.append("folderId",String(t)),n!=null&&n.title&&o.append("title",n.title),a.upload.onprogress=s=>{if(s.lengthComputable){const u=Math.round(s.loaded/s.total*100);r(u)}},a.onload=()=>{if(a.status>=200&&a.status<300)try{i(JSON.parse(a.responseText))}catch{l(new Error("Invalid JSON response"))}else l(new Error(a.statusText||`Upload failed: ${a.status}`))},a.onerror=()=>l(new Error("Network error during upload")),a.onabort=()=>l(new Error("Upload aborted")),a.open("POST",`${rd}/upload`),a.withCredentials=!0,a.send(o)}),uploadVersion:(e,t,n)=>{const r=new FormData;return r.append("file",e),r.append("documentId",String(t)),n&&r.append("note",n),Pe("POST","/upload/version",r)},getLaunchUrl:e=>Pe("GET",`/documents/${e}/launch`)};function ah({path:e,onNavigate:t}){return c.jsxs("nav",{className:"breadcrumb",children:[c.jsx("button",{className:"breadcrumb-item",onClick:()=>t(null),children:"Home"}),e.map((n,r)=>c.jsxs("span",{className:"breadcrumb-segment",children:[c.jsx("span",{className:"breadcrumb-separator",children:"/"}),r===e.length-1?c.jsx("span",{className:"breadcrumb-item breadcrumb-current",children:n.name}):c.jsx("button",{className:"breadcrumb-item",onClick:()=>t(n.id),children:n.name})]},n.id))]})}function Su({documentId:e,documentName:t,type:n,existingLink:r,bravaisBaseUrl:i,onLinkCreated:l}){const[a,o]=g.useState(!1),[s,u]=g.useState(!1),[v,m]=g.useState(null),[h,w]=g.useState(""),x=n==="lms",k=x,C=x?"LMS Thin Pack":"Shared Link",d=x?"Download ZIP for LMS import":"Direct link to course",p=x?"📦":"🔗";function f(P){return P.trim().replace(/\s+/g,"_").replace(/[^a-zA-Z0-9_-]/g,"").substring(0,50)}function y(P){const R=P.replace("-","/");return`${i}/s/${R}`}function N(P){return`/api/shared-links/${P}/download`}async function z(){const P=h.trim()||`${t} - ${x?"LMS Thin Pack":"Shared Link"}`,R=f(P);if(!R){m("Please enter a valid name");return}o(!0),m(null);try{const U=await ve.createSharedLink(e,{name:P,isPublic:k,isForThinPackage:x,openInIframe:!0,token:R});l(U),w("")}catch(U){m(U instanceof Error?U.message:"Failed to create link")}finally{o(!1)}}async function S(){if(r)try{const P=y(r.token);await navigator.clipboard.writeText(P),u(!0),setTimeout(()=>u(!1),2e3)}catch{const P=y(r.token);prompt("Copy this URL:",P)}}function E(P){return new Date(P).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})}const _=h.trim()?f(h):f(`${t} - ${x?"LMS Thin Pack":"Shared Link"}`);return c.jsxs("div",{className:`thin-pack-tile ${n}`,children:[c.jsxs("div",{className:"thin-pack-header",children:[c.jsx("span",{className:"thin-pack-icon",children:p}),c.jsxs("div",{className:"thin-pack-titles",children:[c.jsx("h4",{className:"thin-pack-title",children:C}),c.jsx("p",{className:"thin-pack-subtitle",children:d})]})]}),c.jsxs("div",{className:"thin-pack-content",children:[v&&c.jsx("div",{className:"thin-pack-error",children:v}),r?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"thin-pack-status exists",children:[c.jsx("span",{className:"status-icon",children:"✓"}),c.jsxs("span",{children:["Link exists: ",r.name]})]}),c.jsxs("div",{className:"thin-pack-meta",children:[c.jsx("span",{children:r.isPublic?"🌐 Public":"🔒 Private"}),c.jsxs("span",{children:["Token: ",r.token]}),c.jsxs("span",{children:["Created: ",E(r.dateCreated)]}),c.jsxs("span",{children:["Views: ",r.accessCounter]})]}),c.jsxs("div",{className:"thin-pack-actions",children:[x?c.jsx("a",{href:N(r.token),download:!0,className:"btn btn-primary btn-sm",children:"Download ZIP"}):null,c.jsx("button",{className:"btn btn-secondary btn-sm",onClick:S,children:s?"✓ Copied!":"Copy URL"}),c.jsx("a",{href:y(r.token),target:"_blank",rel:"noopener noreferrer",className:"btn btn-secondary btn-sm",children:"Open ↗"})]})]}):c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"thin-pack-status missing",children:c.jsx("span",{children:"No link created yet"})}),c.jsxs("div",{className:"thin-pack-name-input",children:[c.jsx("label",{htmlFor:`name-${n}-${e}`,children:"Link Name"}),c.jsx("input",{id:`name-${n}-${e}`,type:"text",placeholder:`${t} - ${x?"LMS Thin Pack":"Shared Link"}`,value:h,onChange:P=>w(P.target.value),className:"input-sm"}),c.jsxs("span",{className:"token-preview",children:["Token: ",_]})]}),c.jsx("div",{className:"thin-pack-actions",children:c.jsx("button",{className:"btn btn-primary btn-sm",onClick:z,disabled:a,children:a?"Creating...":x?"Create Thin Pack":"Create Link"})})]})]})]})}function oh({document:e,bravaisBaseUrl:t,onClose:n}){var k,C;const[r,i]=g.useState([]),[l,a]=g.useState([]),[o,s]=g.useState(!0),[u,v]=g.useState(null);g.useEffect(()=>{async function d(){s(!0),v(null);try{const[p,f]=await Promise.all([ve.listSharedLinks(e.id),ve.getDocumentVersions(e.id)]);i(p),a(f)}catch(p){v(p instanceof Error?p.message:"Failed to load details")}finally{s(!1)}}d()},[e.id]);const m=r.find(d=>d.isForThinPackage&&d.enabled),h=r.find(d=>!d.isForThinPackage&&d.enabled);function w(d){i(p=>[...p,d])}function x(d){return d?new Date(d).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"—"}return o?c.jsx("div",{className:"course-detail-panel",children:c.jsxs("div",{className:"course-detail-loading",children:[c.jsx("div",{className:"spinner"}),c.jsx("span",{children:"Loading details..."})]})}):u?c.jsx("div",{className:"course-detail-panel",children:c.jsxs("div",{className:"course-detail-error",children:[c.jsxs("span",{children:["Error: ",u]}),c.jsx("button",{className:"btn btn-secondary btn-sm",onClick:n,children:"Close"})]})}):c.jsxs("div",{className:"course-detail-panel",children:[c.jsxs("div",{className:"course-detail-tile",children:[c.jsxs("div",{className:"tile-header",children:[c.jsx("h3",{children:"📋 Course Details"}),c.jsx("button",{className:"btn-close",onClick:n,title:"Close",children:"✕"})]}),c.jsxs("div",{className:"detail-grid",children:[c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Name"}),c.jsx("span",{className:"detail-value",children:e.name})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Format"}),c.jsx("span",{className:"detail-value",children:e.format||"—"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Type"}),c.jsx("span",{className:"detail-value",children:e.resourceType||"Document"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Author"}),c.jsx("span",{className:"detail-value",children:e.author||"—"})]}),c.jsxs("div",{className:"detail-item span-2",children:[c.jsx("span",{className:"detail-label",children:"Description"}),c.jsx("span",{className:"detail-value description",children:e.description||"—"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"GUID"}),c.jsx("span",{className:"detail-value mono",children:e.guid})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"External ID"}),c.jsx("span",{className:"detail-value",children:e.externalId||"—"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Created"}),c.jsx("span",{className:"detail-value",children:x(e.dateCreated)})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Updated"}),c.jsx("span",{className:"detail-value",children:x(e.dateUpdated)})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Activation"}),c.jsx("span",{className:"detail-value",children:e.activationDate?x(e.activationDate):"—"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Expires"}),c.jsx("span",{className:"detail-value",children:e.dateExpired?x(e.dateExpired):"Never"})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Versions"}),c.jsx("span",{className:"detail-value",children:l.length})]}),l.length>0&&c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Latest Version"}),c.jsxs("span",{className:"detail-value",children:[(k=l[0])==null?void 0:k.name," (",x((C=l[0])==null?void 0:C.dateCreated),")"]})]}),c.jsxs("div",{className:"detail-item",children:[c.jsx("span",{className:"detail-label",children:"Shared Links"}),c.jsx("span",{className:"detail-value",children:r.length})]})]})]}),c.jsxs("div",{className:"thin-pack-row",children:[c.jsx(Su,{documentId:e.id,documentName:e.name,type:"lms",existingLink:m||null,bravaisBaseUrl:t,onLinkCreated:w}),c.jsx(Su,{documentId:e.id,documentName:e.name,type:"shared",existingLink:h||null,bravaisBaseUrl:t,onLinkCreated:w})]})]})}function sh({folders:e,documents:t,loading:n,bravaisBaseUrl:r,onFolderClick:i,onDocumentLaunch:l,onCreateFolder:a,onDeleteFolder:o,onDeleteDocument:s,launchingId:u,initialExpandedDocId:v}){const[m,h]=g.useState("name"),[w,x]=g.useState("asc"),[k,C]=g.useState(v??null),d=[...e.map(S=>({type:"folder",data:S})),...t.map(S=>({type:"document",data:S}))],p=[...d].sort((S,E)=>{if(S.type!==E.type)return S.type==="folder"?-1:1;let _="",P="";return m==="name"?(_=S.data.name.toLowerCase(),P=E.data.name.toLowerCase()):m==="dateUpdated"&&S.type==="document"&&E.type==="document"?(_=new Date(S.data.dateUpdated).getTime(),P=new Date(E.data.dateUpdated).getTime()):m==="dateCreated"&&S.type==="document"&&E.type==="document"&&(_=new Date(S.data.dateCreated).getTime(),P=new Date(E.data.dateCreated).getTime()),_<P?w==="asc"?-1:1:_>P?w==="asc"?1:-1:0});function f(S){m===S?x(w==="asc"?"desc":"asc"):(h(S),x("asc"))}function y(S,E){E.stopPropagation(),C(k===S?null:S)}function N(S){return new Date(S).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}function z(S){return m!==S?"":w==="asc"?" ▲":" ▼"}return n?c.jsxs("div",{className:"data-grid-loading",children:[c.jsx("div",{className:"spinner"}),c.jsx("span",{children:"Loading..."})]}):d.length===0?c.jsxs("div",{className:"data-grid-empty",children:[c.jsx("div",{className:"empty-icon",children:"📁"}),c.jsx("h3",{children:"This folder is empty"}),c.jsx("p",{children:"Upload a course or create a subfolder to get started."}),a&&c.jsx("button",{className:"btn btn-primary",onClick:a,children:"Create Folder"})]}):c.jsxs("div",{className:"data-grid-container",children:[c.jsxs("table",{className:"data-grid",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{className:"col-checkbox",children:c.jsx("input",{type:"checkbox",disabled:!0})}),c.jsxs("th",{className:"col-name sortable",onClick:()=>f("name"),children:["Name",z("name")]}),c.jsx("th",{className:"col-format",children:"Format"}),c.jsx("th",{className:"col-type",children:"Type"}),c.jsxs("th",{className:"col-updated sortable",onClick:()=>f("dateUpdated"),children:["Updated",z("dateUpdated")]}),c.jsxs("th",{className:"col-created sortable",onClick:()=>f("dateCreated"),children:["Created",z("dateCreated")]}),c.jsx("th",{className:"col-actions",children:"Actions"})]})}),c.jsx("tbody",{children:p.map(S=>{if(S.type==="folder"){const E=S.data;return c.jsxs("tr",{className:"grid-row folder-row",onClick:()=>i(E),children:[c.jsx("td",{className:"col-checkbox",onClick:_=>_.stopPropagation(),children:c.jsx("input",{type:"checkbox"})}),c.jsxs("td",{className:"col-name",children:[c.jsx("span",{className:"item-icon",children:"📁"}),c.jsx("span",{className:"item-name",children:E.name}),(E.numberOfSubfolders??0)>0&&c.jsxs("span",{className:"subfolder-count",children:["(",E.numberOfSubfolders," folders)"]})]}),c.jsx("td",{className:"col-format",children:"—"}),c.jsx("td",{className:"col-type",children:"Folder"}),c.jsx("td",{className:"col-updated",children:"—"}),c.jsx("td",{className:"col-created",children:"—"}),c.jsx("td",{className:"col-actions",onClick:_=>_.stopPropagation(),children:o&&c.jsx("button",{className:"btn-icon btn-delete",onClick:()=>{confirm("Delete this folder?")&&o(E.id)},title:"Delete folder",children:"🗑️"})})]},`folder-${E.id}`)}else{const E=S.data,_=u===E.id,P=k===E.id;return c.jsxs(g.Fragment,{children:[c.jsxs("tr",{className:`grid-row document-row ${P?"expanded":""}`,onClick:R=>y(E.id,R),children:[c.jsx("td",{className:"col-checkbox",onClick:R=>R.stopPropagation(),children:c.jsx("input",{type:"checkbox"})}),c.jsxs("td",{className:"col-name",children:[c.jsx("span",{className:"expand-icon",children:P?"▼":"▶"}),c.jsx("span",{className:"item-icon",children:"📄"}),c.jsx("span",{className:"item-name",children:E.name})]}),c.jsx("td",{className:"col-format",children:E.format||"—"}),c.jsx("td",{className:"col-type",children:E.resourceType||"Document"}),c.jsx("td",{className:"col-updated",children:N(E.dateUpdated)}),c.jsx("td",{className:"col-created",children:N(E.dateCreated)}),c.jsxs("td",{className:"col-actions",onClick:R=>R.stopPropagation(),children:[c.jsx("button",{className:"btn-icon btn-launch",onClick:()=>l(E.id),disabled:_,title:"Launch",children:_?"...":"▶️"}),s&&c.jsx("button",{className:"btn-icon btn-delete",onClick:()=>{confirm("Delete this document?")&&s(E.id)},title:"Delete",children:"🗑️"})]})]}),P&&c.jsx("tr",{className:"expanded-row",children:c.jsx("td",{colSpan:7,children:c.jsx(oh,{document:E,bravaisBaseUrl:r,onClose:()=>C(null)})})})]},`doc-${E.id}`)}})})]}),c.jsx("div",{className:"data-grid-footer",children:c.jsxs("span",{children:[e.length," folder(s), ",t.length," document(s)"]})})]})}var id={exports:{}},uh="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",ch=uh,ph=ch;function ld(){}function ad(){}ad.resetWarningCache=ld;var dh=function(){function e(r,i,l,a,o,s){if(s!==ph){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:ad,resetWarningCache:ld};return n.PropTypes=n,n};id.exports=dh();var fh=id.exports;const H=Ou(fh);function cn(e,t,n,r){function i(l){return l instanceof n?l:new n(function(a){a(l)})}return new(n||(n=Promise))(function(l,a){function o(v){try{u(r.next(v))}catch(m){a(m)}}function s(v){try{u(r.throw(v))}catch(m){a(m)}}function u(v){v.done?l(v.value):i(v.value).then(o,s)}u((r=r.apply(e,t||[])).next())})}const mh=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function Bn(e,t,n){const r=vh(e),{webkitRelativePath:i}=e,l=typeof t=="string"?t:typeof i=="string"&&i.length>0?i:`./${e.name}`;return typeof r.path!="string"&&Eu(r,"path",l),Eu(r,"relativePath",l),r}function vh(e){const{name:t}=e;if(t&&t.lastIndexOf(".")!==-1&&!e.type){const r=t.split(".").pop().toLowerCase(),i=mh.get(r);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}function Eu(e,t,n){Object.defineProperty(e,t,{value:n,writable:!1,configurable:!1,enumerable:!0})}const hh=[".DS_Store","Thumbs.db"];function gh(e){return cn(this,void 0,void 0,function*(){return qi(e)&&xh(e.dataTransfer)?Sh(e.dataTransfer,e.type):yh(e)?wh(e):Array.isArray(e)&&e.every(t=>"getFile"in t&&typeof t.getFile=="function")?kh(e):[]})}function xh(e){return qi(e)}function yh(e){return qi(e)&&qi(e.target)}function qi(e){return typeof e=="object"&&e!==null}function wh(e){return Za(e.target.files).map(t=>Bn(t))}function kh(e){return cn(this,void 0,void 0,function*(){return(yield Promise.all(e.map(n=>n.getFile()))).map(n=>Bn(n))})}function Sh(e,t){return cn(this,void 0,void 0,function*(){if(e.items){const n=Za(e.items).filter(i=>i.kind==="file");if(t!=="drop")return n;const r=yield Promise.all(n.map(Eh));return ju(od(r))}return ju(Za(e.files).map(n=>Bn(n)))})}function ju(e){return e.filter(t=>hh.indexOf(t.name)===-1)}function Za(e){if(e===null)return[];const t=[];for(let n=0;n<e.length;n++){const r=e[n];t.push(r)}return t}function Eh(e){if(typeof e.webkitGetAsEntry!="function")return Cu(e);const t=e.webkitGetAsEntry();return t&&t.isDirectory?sd(t):Cu(e,t)}function od(e){return e.reduce((t,n)=>[...t,...Array.isArray(n)?od(n):[n]],[])}function Cu(e,t){return cn(this,void 0,void 0,function*(){var n;if(globalThis.isSecureContext&&typeof e.getAsFileSystemHandle=="function"){const l=yield e.getAsFileSystemHandle();if(l===null)throw new Error(`${e} is not a File`);if(l!==void 0){const a=yield l.getFile();return a.handle=l,Bn(a)}}const r=e.getAsFile();if(!r)throw new Error(`${e} is not a File`);return Bn(r,(n=t==null?void 0:t.fullPath)!==null&&n!==void 0?n:void 0)})}function jh(e){return cn(this,void 0,void 0,function*(){return e.isDirectory?sd(e):Ch(e)})}function sd(e){const t=e.createReader();return new Promise((n,r)=>{const i=[];function l(){t.readEntries(a=>cn(this,void 0,void 0,function*(){if(a.length){const o=Promise.all(a.map(jh));i.push(o),l()}else try{const o=yield Promise.all(i);n(o)}catch(o){r(o)}}),a=>{r(a)})}l()})}function Ch(e){return cn(this,void 0,void 0,function*(){return new Promise((t,n)=>{e.file(r=>{const i=Bn(r,e.fullPath);t(i)},r=>{n(r)})})})}var Xl=function(e,t){if(e&&t){var n=Array.isArray(t)?t:t.split(",");if(n.length===0)return!0;var r=e.name||"",i=(e.type||"").toLowerCase(),l=i.replace(/\/.*$/,"");return n.some(function(a){var o=a.trim().toLowerCase();return o.charAt(0)==="."?r.toLowerCase().endsWith(o):o.endsWith("/*")?l===o.replace(/\/.*$/,""):i===o})}return!0};function Nu(e){return _h(e)||Ph(e)||cd(e)||Nh()}function Nh(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
68
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ph(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function _h(e){if(Array.isArray(e))return Ja(e)}function Pu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function _u(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Pu(Object(n),!0).forEach(function(r){ud(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pu(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function ud(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ir(e,t){return Dh(e)||Th(e,t)||cd(e,t)||zh()}function zh(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
69
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cd(e,t){if(e){if(typeof e=="string")return Ja(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ja(e,t)}}function Ja(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Th(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r=[],i=!0,l=!1,a,o;try{for(n=n.call(e);!(i=(a=n.next()).done)&&(r.push(a.value),!(t&&r.length===t));i=!0);}catch(s){l=!0,o=s}finally{try{!i&&n.return!=null&&n.return()}finally{if(l)throw o}}return r}}function Dh(e){if(Array.isArray(e))return e}var Lh=typeof Xl=="function"?Xl:Xl.default,Fh="file-invalid-type",Oh="file-too-large",Rh="file-too-small",Ih="too-many-files",Mh=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",n=t.split(","),r=n.length>1?"one of ".concat(n.join(", ")):n[0];return{code:Fh,message:"File type must be ".concat(r)}},zu=function(t){return{code:Oh,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},Tu=function(t){return{code:Rh,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},Ah={code:Ih,message:"Too many files"};function pd(e,t){var n=e.type==="application/x-moz-file"||Lh(e,t);return[n,n?null:Mh(t)]}function dd(e,t,n){if(Gt(e.size))if(Gt(t)&&Gt(n)){if(e.size>n)return[!1,zu(n)];if(e.size<t)return[!1,Tu(t)]}else{if(Gt(t)&&e.size<t)return[!1,Tu(t)];if(Gt(n)&&e.size>n)return[!1,zu(n)]}return[!0,null]}function Gt(e){return e!=null}function Uh(e){var t=e.files,n=e.accept,r=e.minSize,i=e.maxSize,l=e.multiple,a=e.maxFiles,o=e.validator;return!l&&t.length>1||l&&a>=1&&t.length>a?!1:t.every(function(s){var u=pd(s,n),v=Ir(u,1),m=v[0],h=dd(s,r,i),w=Ir(h,1),x=w[0],k=o?o(s):null;return m&&x&&!k})}function Gi(e){return typeof e.isPropagationStopped=="function"?e.isPropagationStopped():typeof e.cancelBubble<"u"?e.cancelBubble:!1}function si(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!e.target&&!!e.target.files}function Du(e){e.preventDefault()}function $h(e){return e.indexOf("MSIE")!==-1||e.indexOf("Trident/")!==-1}function bh(e){return e.indexOf("Edge/")!==-1}function Bh(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return $h(e)||bh(e)}function it(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){for(var i=arguments.length,l=new Array(i>1?i-1:0),a=1;a<i;a++)l[a-1]=arguments[a];return t.some(function(o){return!Gi(r)&&o&&o.apply(void 0,[r].concat(l)),Gi(r)})}}function Wh(){return"showOpenFilePicker"in window}function Vh(e){if(Gt(e)){var t=Object.entries(e).filter(function(n){var r=Ir(n,2),i=r[0],l=r[1],a=!0;return fd(i)||(console.warn('Skipped "'.concat(i,'" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.')),a=!1),(!Array.isArray(l)||!l.every(md))&&(console.warn('Skipped "'.concat(i,'" because an invalid file extension was provided.')),a=!1),a}).reduce(function(n,r){var i=Ir(r,2),l=i[0],a=i[1];return _u(_u({},n),{},ud({},l,a))},{});return[{description:"Files",accept:t}]}return e}function Hh(e){if(Gt(e))return Object.entries(e).reduce(function(t,n){var r=Ir(n,2),i=r[0],l=r[1];return[].concat(Nu(t),[i],Nu(l))},[]).filter(function(t){return fd(t)||md(t)}).join(",")}function Qh(e){return e instanceof DOMException&&(e.name==="AbortError"||e.code===e.ABORT_ERR)}function Kh(e){return e instanceof DOMException&&(e.name==="SecurityError"||e.code===e.SECURITY_ERR)}function fd(e){return e==="audio/*"||e==="video/*"||e==="image/*"||e==="text/*"||e==="application/*"||/\w+\/[-+.\w]+/g.test(e)}function md(e){return/^.*\.[\w]+$/.test(e)}var qh=["children"],Gh=["open"],Yh=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],Xh=["refKey","onChange","onClick"];function Zh(e){return tg(e)||eg(e)||vd(e)||Jh()}function Jh(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
70
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function eg(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function tg(e){if(Array.isArray(e))return eo(e)}function Zl(e,t){return ig(e)||rg(e,t)||vd(e,t)||ng()}function ng(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
71
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vd(e,t){if(e){if(typeof e=="string")return eo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eo(e,t)}}function eo(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function rg(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r=[],i=!0,l=!1,a,o;try{for(n=n.call(e);!(i=(a=n.next()).done)&&(r.push(a.value),!(t&&r.length===t));i=!0);}catch(s){l=!0,o=s}finally{try{!i&&n.return!=null&&n.return()}finally{if(l)throw o}}return r}}function ig(e){if(Array.isArray(e))return e}function Lu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function Z(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Lu(Object(n),!0).forEach(function(r){to(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lu(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function to(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yi(e,t){if(e==null)return{};var n=lg(e,t),r,i;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(i=0;i<l.length;i++)r=l[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function lg(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,l;for(l=0;l<r.length;l++)i=r[l],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}var rs=g.forwardRef(function(e,t){var n=e.children,r=Yi(e,qh),i=gd(r),l=i.open,a=Yi(i,Gh);return g.useImperativeHandle(t,function(){return{open:l}},[l]),oo.createElement(g.Fragment,null,n(Z(Z({},a),{},{open:l})))});rs.displayName="Dropzone";var hd={disabled:!1,getFilesFromEvent:gh,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};rs.defaultProps=hd;rs.propTypes={children:H.func,accept:H.objectOf(H.arrayOf(H.string)),multiple:H.bool,preventDropOnDocument:H.bool,noClick:H.bool,noKeyboard:H.bool,noDrag:H.bool,noDragEventsBubbling:H.bool,minSize:H.number,maxSize:H.number,maxFiles:H.number,disabled:H.bool,getFilesFromEvent:H.func,onFileDialogCancel:H.func,onFileDialogOpen:H.func,useFsAccessApi:H.bool,autoFocus:H.bool,onDragEnter:H.func,onDragLeave:H.func,onDragOver:H.func,onDrop:H.func,onDropAccepted:H.func,onDropRejected:H.func,onError:H.func,validator:H.func};var no={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function gd(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=Z(Z({},hd),e),n=t.accept,r=t.disabled,i=t.getFilesFromEvent,l=t.maxSize,a=t.minSize,o=t.multiple,s=t.maxFiles,u=t.onDragEnter,v=t.onDragLeave,m=t.onDragOver,h=t.onDrop,w=t.onDropAccepted,x=t.onDropRejected,k=t.onFileDialogCancel,C=t.onFileDialogOpen,d=t.useFsAccessApi,p=t.autoFocus,f=t.preventDropOnDocument,y=t.noClick,N=t.noKeyboard,z=t.noDrag,S=t.noDragEventsBubbling,E=t.onError,_=t.validator,P=g.useMemo(function(){return Hh(n)},[n]),R=g.useMemo(function(){return Vh(n)},[n]),U=g.useMemo(function(){return typeof C=="function"?C:Fu},[C]),V=g.useMemo(function(){return typeof k=="function"?k:Fu},[k]),B=g.useRef(null),ie=g.useRef(null),Qt=g.useReducer(ag,no),tt=Zl(Qt,2),T=tt[0],F=tt[1],I=T.isFocused,Q=T.isFileDialogActive,q=g.useRef(typeof window<"u"&&window.isSecureContext&&d&&Wh()),nt=function(){!q.current&&Q&&setTimeout(function(){if(ie.current){var O=ie.current.files;O.length||(F({type:"closeDialog"}),V())}},300)};g.useEffect(function(){return window.addEventListener("focus",nt,!1),function(){window.removeEventListener("focus",nt,!1)}},[ie,Q,V,q]);var xe=g.useRef([]),kt=function(O){B.current&&B.current.contains(O.target)||(O.preventDefault(),xe.current=[])};g.useEffect(function(){return f&&(document.addEventListener("dragover",Du,!1),document.addEventListener("drop",kt,!1)),function(){f&&(document.removeEventListener("dragover",Du),document.removeEventListener("drop",kt))}},[B,f]),g.useEffect(function(){return!r&&p&&B.current&&B.current.focus(),function(){}},[B,p,r]);var fe=g.useCallback(function(D){E?E(D):console.error(D)},[E]),be=g.useCallback(function(D){D.preventDefault(),D.persist(),Wr(D),xe.current=[].concat(Zh(xe.current),[D.target]),si(D)&&Promise.resolve(i(D)).then(function(O){if(!(Gi(D)&&!S)){var ae=O.length,ce=ae>0&&Uh({files:O,accept:P,minSize:a,maxSize:l,multiple:o,maxFiles:s,validator:_}),Oe=ae>0&&!ce;F({isDragAccept:ce,isDragReject:Oe,isDragActive:!0,type:"setDraggedFiles"}),u&&u(D)}}).catch(function(O){return fe(O)})},[i,u,fe,S,P,a,l,o,s,_]),qn=g.useCallback(function(D){D.preventDefault(),D.persist(),Wr(D);var O=si(D);if(O&&D.dataTransfer)try{D.dataTransfer.dropEffect="copy"}catch{}return O&&m&&m(D),!1},[m,S]),M=g.useCallback(function(D){D.preventDefault(),D.persist(),Wr(D);var O=xe.current.filter(function(ce){return B.current&&B.current.contains(ce)}),ae=O.indexOf(D.target);ae!==-1&&O.splice(ae,1),xe.current=O,!(O.length>0)&&(F({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),si(D)&&v&&v(D))},[B,v,S]),$=g.useCallback(function(D,O){var ae=[],ce=[];D.forEach(function(Oe){var Gn=pd(Oe,P),mn=Zl(Gn,2),gl=mn[0],xl=mn[1],yl=dd(Oe,a,l),Vr=Zl(yl,2),wl=Vr[0],kl=Vr[1],Sl=_?_(Oe):null;if(gl&&wl&&!Sl)ae.push(Oe);else{var El=[xl,kl];Sl&&(El=El.concat(Sl)),ce.push({file:Oe,errors:El.filter(function(kd){return kd})})}}),(!o&&ae.length>1||o&&s>=1&&ae.length>s)&&(ae.forEach(function(Oe){ce.push({file:Oe,errors:[Ah]})}),ae.splice(0)),F({acceptedFiles:ae,fileRejections:ce,isDragReject:ce.length>0,type:"setFiles"}),h&&h(ae,ce,O),ce.length>0&&x&&x(ce,O),ae.length>0&&w&&w(ae,O)},[F,o,P,a,l,s,h,w,x,_]),Fe=g.useCallback(function(D){D.preventDefault(),D.persist(),Wr(D),xe.current=[],si(D)&&Promise.resolve(i(D)).then(function(O){Gi(D)&&!S||$(O,D)}).catch(function(O){return fe(O)}),F({type:"reset"})},[i,$,fe,S]),ut=g.useCallback(function(){if(q.current){F({type:"openDialog"}),U();var D={multiple:o,types:R};window.showOpenFilePicker(D).then(function(O){return i(O)}).then(function(O){$(O,null),F({type:"closeDialog"})}).catch(function(O){Qh(O)?(V(O),F({type:"closeDialog"})):Kh(O)?(q.current=!1,ie.current?(ie.current.value=null,ie.current.click()):fe(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided."))):fe(O)});return}ie.current&&(F({type:"openDialog"}),U(),ie.current.value=null,ie.current.click())},[F,U,V,d,$,fe,R,o]),St=g.useCallback(function(D){!B.current||!B.current.isEqualNode(D.target)||(D.key===" "||D.key==="Enter"||D.keyCode===32||D.keyCode===13)&&(D.preventDefault(),ut())},[B,ut]),pn=g.useCallback(function(){F({type:"focus"})},[]),dn=g.useCallback(function(){F({type:"blur"})},[]),is=g.useCallback(function(){y||(Bh()?setTimeout(ut,0):ut())},[y,ut]),fn=function(O){return r?null:O},hl=function(O){return N?null:fn(O)},Br=function(O){return z?null:fn(O)},Wr=function(O){S&&O.stopPropagation()},xd=g.useMemo(function(){return function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=D.refKey,ae=O===void 0?"ref":O,ce=D.role,Oe=D.onKeyDown,Gn=D.onFocus,mn=D.onBlur,gl=D.onClick,xl=D.onDragEnter,yl=D.onDragOver,Vr=D.onDragLeave,wl=D.onDrop,kl=Yi(D,Yh);return Z(Z(to({onKeyDown:hl(it(Oe,St)),onFocus:hl(it(Gn,pn)),onBlur:hl(it(mn,dn)),onClick:fn(it(gl,is)),onDragEnter:Br(it(xl,be)),onDragOver:Br(it(yl,qn)),onDragLeave:Br(it(Vr,M)),onDrop:Br(it(wl,Fe)),role:typeof ce=="string"&&ce!==""?ce:"presentation"},ae,B),!r&&!N?{tabIndex:0}:{}),kl)}},[B,St,pn,dn,is,be,qn,M,Fe,N,z,r]),yd=g.useCallback(function(D){D.stopPropagation()},[]),wd=g.useMemo(function(){return function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=D.refKey,ae=O===void 0?"ref":O,ce=D.onChange,Oe=D.onClick,Gn=Yi(D,Xh),mn=to({accept:P,multiple:o,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:fn(it(ce,Fe)),onClick:fn(it(Oe,yd)),tabIndex:-1},ae,ie);return Z(Z({},mn),Gn)}},[ie,n,o,Fe,r]);return Z(Z({},T),{},{isFocused:I&&!r,getRootProps:xd,getInputProps:wd,rootRef:B,inputRef:ie,open:fn(ut)})}function ag(e,t){switch(t.type){case"focus":return Z(Z({},e),{},{isFocused:!0});case"blur":return Z(Z({},e),{},{isFocused:!1});case"openDialog":return Z(Z({},no),{},{isFileDialogActive:!0});case"closeDialog":return Z(Z({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return Z(Z({},e),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return Z(Z({},e),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:t.isDragReject});case"reset":return Z({},no);default:return e}}function Fu(){}function og({onFilesAccepted:e,disabled:t}){const n=g.useCallback(a=>{const o=a.filter(s=>s.type==="application/zip"||s.type==="application/x-zip-compressed"||s.name.endsWith(".zip"));o.length>0&&e(o)},[e]),{getRootProps:r,getInputProps:i,isDragActive:l}=gd({onDrop:n,accept:{"application/zip":[".zip"],"application/x-zip-compressed":[".zip"]},disabled:t,multiple:!0});return c.jsxs("div",{...r(),className:`dropzone ${l?"active":""} ${t?"disabled":""}`,children:[c.jsx("input",{...i()}),c.jsx("div",{style:{fontSize:"3rem"},children:"📦"}),l?c.jsx("p",{children:"Drop the course ZIP files here..."}):c.jsxs(c.Fragment,{children:[c.jsx("p",{children:"Drag & drop course ZIP files here"}),c.jsx("p",{children:"or click to select files"})]})]})}function sg({folderId:e,folderName:t,onClose:n,onUploadComplete:r}){const[i,l]=g.useState([]),[a,o]=g.useState(!1),[s,u]=g.useState(!0),[v,m]=g.useState(""),[h,w]=g.useState(!1),[x,k]=g.useState("");function C(_){return _.trim().replace(/\s+/g,"_")}function d(_){const P=_.map(R=>({file:R,status:"pending"}));l(R=>[...R,...P])}function p(_){l(P=>P.filter((R,U)=>U!==_))}function f(_){return _<1024?`${_} B`:_<1024*1024?`${(_/1024).toFixed(1)} KB`:`${(_/(1024*1024)).toFixed(1)} MB`}async function y(){var P;if(i.filter(R=>R.status==="pending").length!==0){o(!0);for(let R=0;R<i.length;R++)if(i[R].status==="pending"){l(U=>U.map((V,B)=>B===R?{...V,status:"uploading"}:V));try{const U=await ve.uploadCourse(i[R].file,e);if(U.success&&U.documentId){if(s){const V=v.trim()||`${U.documentName} - LMS Thin Pack`;try{await ve.createSharedLink(U.documentId,{name:V,token:C(V),isPublic:!0,isForThinPackage:!0})}catch(B){console.error("Failed to create thin pack:",B)}}if(h){const V=x.trim()||`${U.documentName} - Private`;try{await ve.createSharedLink(U.documentId,{name:V,token:C(V),isPublic:!1,isForThinPackage:!1})}catch(B){console.error("Failed to create shared link:",B)}}l(V=>V.map((B,ie)=>ie===R?{...B,status:"success",documentId:U.documentId??void 0,documentName:U.documentName}:B)),r(U.documentId)}else throw new Error(((P=U.errors)==null?void 0:P.join(", "))||"Upload failed")}catch(U){l(V=>V.map((B,ie)=>ie===R?{...B,status:"error",error:U instanceof Error?U.message:"Upload failed"}:B))}}o(!1)}}const N=i.filter(_=>_.status==="pending").length,z=i.length>0,S=v.trim()?C(v):"(will use document name)",E=x.trim()?C(x):"(will use document name)";return c.jsx("div",{className:"modal-overlay",onClick:n,children:c.jsxs("div",{className:"modal upload-modal",onClick:_=>_.stopPropagation(),children:[c.jsxs("div",{className:"modal-header",children:[c.jsxs("h3",{className:"modal-title",children:["Upload to: ",t]}),c.jsx("button",{className:"modal-close",onClick:n,children:"x"})]}),c.jsxs("div",{className:"upload-modal-content",children:[c.jsx(og,{onFilesAccepted:d,disabled:a}),z&&c.jsxs("div",{className:"upload-file-list",children:[c.jsxs("h4",{children:["Files (",i.length,")"]}),i.map((_,P)=>c.jsxs("div",{className:"upload-file-item",children:[c.jsxs("div",{className:"upload-file-info",children:[c.jsx("span",{className:"upload-file-name",children:_.file.name}),c.jsx("span",{className:"upload-file-size",children:f(_.file.size)})]}),c.jsxs("div",{className:"upload-file-status",children:[_.status==="pending"&&c.jsx("button",{className:"btn btn-sm btn-secondary",onClick:()=>p(P),children:"Remove"}),_.status==="uploading"&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"spinner"}),c.jsx("span",{className:"status-uploading",children:"Uploading..."})]}),_.status==="success"&&c.jsx("span",{className:"status-success",children:"Uploaded"}),_.status==="error"&&c.jsx("span",{className:"status-error",title:_.error,children:"Failed"})]})]},P))]}),c.jsxs("div",{className:"upload-link-options",children:[c.jsx("h4",{children:"After upload, create:"}),c.jsxs("div",{className:"upload-link-option",children:[c.jsxs("label",{className:"upload-link-toggle",children:[c.jsx("input",{type:"checkbox",checked:s,onChange:_=>u(_.target.checked),disabled:a}),c.jsx("span",{children:"LMS Thin Pack (public)"})]}),s&&c.jsxs("div",{className:"upload-link-name-input",children:[c.jsx("input",{type:"text",placeholder:"Link name (uses document name if empty)",value:v,onChange:_=>m(_.target.value),disabled:a}),c.jsxs("span",{className:"slug-preview",children:["Slug: ",S]})]})]}),c.jsxs("div",{className:"upload-link-option",children:[c.jsxs("label",{className:"upload-link-toggle",children:[c.jsx("input",{type:"checkbox",checked:h,onChange:_=>w(_.target.checked),disabled:a}),c.jsx("span",{children:"Shared Link (private/SSO)"})]}),h&&c.jsxs("div",{className:"upload-link-name-input",children:[c.jsx("input",{type:"text",placeholder:"Link name (uses document name if empty)",value:x,onChange:_=>k(_.target.value),disabled:a}),c.jsxs("span",{className:"slug-preview",children:["Slug: ",E]})]})]})]})]}),c.jsxs("div",{className:"modal-footer",children:[c.jsx("button",{className:"btn btn-secondary",onClick:n,disabled:a,children:"Cancel"}),c.jsx("button",{className:"btn btn-primary",onClick:y,disabled:a||N===0,children:a?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"spinner"}),"Uploading..."]}):`Upload ${N} file${N!==1?"s":""}`})]})]})})}const ui="package-uploader-pinned-folder";function ug(){var qn;const[e,t]=rh(),[n,r]=g.useState([]),[i,l]=g.useState([]),[a,o]=g.useState(null),[s,u]=g.useState([]),[v,m]=g.useState(""),[h,w]=g.useState(!0),[x,k]=g.useState(null),[C,d]=g.useState(!1),[p,f]=g.useState(""),[y,N]=g.useState(!1),[z,S]=g.useState(!1),[E,_]=g.useState(!1),[P,R]=g.useState(""),[U,V]=g.useState(null),[B,ie]=g.useState(null),[Qt,tt]=g.useState(!1),T=g.useRef(!1);g.useEffect(()=>{if(T.current)return;T.current=!0;async function M(){try{const $=await ve.getConfig();_($.canCreateFolders),R($.bravaisBaseUrl||"");const Fe=e.get("folder"),ut=e.get("doc"),St=localStorage.getItem(ui);St&&V(parseInt(St,10));const pn=Fe?parseInt(Fe,10):St?parseInt(St,10):$.defaultFolderId;if(ut&&(ie(parseInt(ut,10)),t({},{replace:!0})),pn)try{const dn=await ve.getFolder(pn);o(pn),u([dn])}catch{if(St&&(localStorage.removeItem(ui),V(null)),$.defaultFolderId){const dn=await ve.getFolder($.defaultFolderId);o($.defaultFolderId),u([dn])}}}catch($){console.error("Failed to load config:",$)}finally{S(!0)}}M()},[e,t]);const F=g.useCallback(async()=>{if(z)try{w(!0);let M;if(a?M=await ve.listSubfolders(a):M=await ve.listFolders(),l(M),a){const $={folderId:a};v&&($.filterText=v);const Fe=await ve.listDocuments($);r(Fe)}else if(v){const $=await ve.listDocuments({filterText:v});r($)}else r([])}catch(M){console.error("Failed to load content:",M)}finally{w(!1)}},[a,v,z]);g.useEffect(()=>{F()},[F]);async function I(M){o(M.id),u($=>[...$,M])}function Q(M){if(M===null)o(null),u([]);else{const $=s.findIndex(Fe=>Fe.id===M);$>=0&&(o(M),u(s.slice(0,$+1)))}}async function q(M){try{k(M);const{url:$}=await ve.getLaunchUrl(M);window.open($,"_blank")}catch{alert("Failed to get launch URL")}finally{k(null)}}async function nt(){if(!(!p.trim()||!a)){N(!0);try{const M=await ve.createFolder(a,p.trim());l($=>[...$,M]),d(!1),f("")}catch(M){alert("Failed to create folder: "+(M instanceof Error?M.message:"Unknown error"))}finally{N(!1)}}}async function xe(M){try{await ve.deleteFolder(M),l($=>$.filter(Fe=>Fe.id!==M))}catch($){alert("Failed to delete folder: "+($ instanceof Error?$.message:"Unknown error"))}}function kt(){a&&(localStorage.setItem(ui,String(a)),V(a))}function fe(){localStorage.removeItem(ui),V(null)}const be=a!==null&&a===U;return c.jsxs("div",{className:"browse-page",children:[c.jsxs("div",{className:"toolbar",children:[c.jsxs("div",{className:"toolbar-left",children:[c.jsx(ah,{path:s,onNavigate:Q}),a&&c.jsx("button",{className:`btn btn-icon ${be?"pinned":""}`,onClick:be?fe:kt,title:be?"Unpin home folder":"Pin as home folder",children:be?"📌":"📍"})]}),c.jsxs("div",{className:"toolbar-right",children:[c.jsx("input",{type:"text",className:"search-input",placeholder:"Search...",value:v,onChange:M=>m(M.target.value)}),a&&c.jsx("button",{className:"btn btn-primary",onClick:()=>tt(!0),children:"Upload"}),a&&E&&c.jsx("button",{className:"btn btn-secondary",onClick:()=>d(!0),children:"+ New Folder"}),c.jsx("button",{className:"btn btn-secondary",onClick:F,children:"Refresh"})]})]}),c.jsx("div",{className:"content-area",children:c.jsx(sh,{folders:i,documents:n,loading:h,bravaisBaseUrl:P,onFolderClick:I,onDocumentLaunch:q,onCreateFolder:a&&E?()=>d(!0):void 0,onDeleteFolder:xe,launchingId:x,initialExpandedDocId:B})}),C&&c.jsx("div",{className:"modal-overlay",onClick:()=>d(!1),children:c.jsxs("div",{className:"modal",onClick:M=>M.stopPropagation(),children:[c.jsxs("div",{className:"modal-header",children:[c.jsx("h3",{className:"modal-title",children:"Create New Folder"}),c.jsx("button",{className:"modal-close",onClick:()=>d(!1),children:"×"})]}),c.jsxs("div",{className:"form-group",children:[c.jsx("label",{className:"form-label",children:"Folder Name"}),c.jsx("input",{type:"text",className:"form-input",placeholder:"Enter folder name",value:p,onChange:M=>f(M.target.value),autoFocus:!0,onKeyDown:M=>{M.key==="Enter"&&nt(),M.key==="Escape"&&d(!1)}})]}),c.jsxs("div",{style:{display:"flex",gap:"0.5rem",justifyContent:"flex-end"},children:[c.jsx("button",{className:"btn btn-secondary",onClick:()=>d(!1),children:"Cancel"}),c.jsx("button",{className:"btn btn-primary",onClick:nt,disabled:y||!p.trim(),children:y?"Creating...":"Create"})]})]})}),Qt&&a&&c.jsx(sg,{folderId:a,folderName:((qn=s[s.length-1])==null?void 0:qn.name)||"Current Folder",onClose:()=>tt(!1),onUploadComplete:M=>{F(),ie(M),tt(!1)}})]})}function cg({user:e,authEnabled:t}){return t?e?c.jsxs("div",{className:"user-menu",children:[c.jsxs("span",{className:"user-info",children:[c.jsx("span",{className:"user-avatar",children:e.name.charAt(0).toUpperCase()}),c.jsx("span",{className:"user-name",children:e.name})]}),c.jsx("a",{href:"/auth/logout",className:"btn btn-secondary btn-sm",children:"Sign Out"})]}):c.jsx("div",{className:"user-menu",children:c.jsx("a",{href:"/auth/login",className:"btn btn-primary btn-sm",children:"Sign In"})}):null}function pg(){const[e,t]=g.useState(null),[n,r]=g.useState(!1);return g.useEffect(()=>{ve.getConfig().then(i=>{r(i.authEnabled),t(i.user)}).catch(i=>{console.error("Failed to load config:",i)})},[]),c.jsxs("div",{className:"app",children:[c.jsxs("header",{className:"header",children:[c.jsx("h1",{children:"Package Uploader"}),c.jsx("nav",{className:"nav",children:c.jsx(eh,{to:"/",className:({isActive:i})=>i?"active":"",children:"Browse"})}),c.jsx(cg,{user:e,authEnabled:n})]}),c.jsx("main",{className:"main",children:c.jsxs(bv,{children:[c.jsx(qa,{path:"/",element:c.jsx(ug,{})}),c.jsx(qa,{path:"/browse",element:c.jsx(Uv,{to:"/",replace:!0})})]})})]})}function dg(){const e=document.querySelectorAll('script[src*="assets/index"]');if(e.length>0){const r=e[0].src,i=new URL(r),l=i.pathname.indexOf("/assets/");if(l>0)return i.pathname.substring(0,l)}const t=window.location.pathname;if(t.endsWith("/"))return t.slice(0,-1)||"/";const n=t.lastIndexOf("/");return n>0?t.substring(0,n):"/"}const fg=dg();Jl.createRoot(document.getElementById("root")).render(c.jsx(oo.StrictMode,{children:c.jsx(Yv,{basename:fg,children:c.jsx(pg,{})})}));
|
package/public/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Package Uploader</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-j-ftObgP.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-Bj9KDW-y.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|