1import{R as Q,j as e,c as M,r as y,C as k,S as E,h as V,k as A,d as _}from"./tes-ui-DDGs9VdS.js";import{t as Y,T as $,C as q,a as ee}from"./index-BHclw2ZL.js";import{b as te}from"./url-DPwNa719.js";import{i as le}from"./guid-CV1k58cn.js";import{Q as ae}from"./react-query-client-provider-CnYhUTtQ.js";const se=(t,l,a)=>{const n=new Map;n.set("filled","text-white"),n.set("outlined","bg-white border");const i=new Map;i.set("filled-primary","bg-azure-600"),i.set("filled-danger","bg-danger"),i.set("outlined-primary","text-azure-600 border-azure-600"),i.set("outlined-danger","text-danger border-danger"),i.set("link-primary","text-azure-600"),i.set("link-danger","text-danger");const o=new Map;o.set("filled-primary","hover:bg-azure-300"),o.set("filled-danger","hover:danger"),o.set("outlined-primary","hover:bg-bg-azure-300"),o.set("outlined-danger","hover:bg-danger hover:text-white"),i.set("link-primary","text-azure-300"),i.set("link-danger","text-danger");const s=new Map;s.set("filled-primary","active:bg-azure-700"),s.set("filled-danger","active:danger"),s.set("outlined-primary","active:bg-azure-700"),s.set("outlined-danger","active:bg-danger");const u=`${t}-${l}`;return a?[n.get(t),i.get(u)].join(" ")+" opacity-50 cursor-not-allowed":[n.get(t),i.get(u),o.get(u),s.get(u)].join(" ")},ie=(t,l,a,n,i,o,s)=>M("relative text-sm py-3 text-button font-bold duration-200 ease-in-out overflow-hidden rounded-xl mx-4",se(t,l,i),{"px-0 w-10 flex items-center justify-center":a,"px-6":!a,"z-50":n,"cursor-not-allowed":i,"w-full justify-center":o},"transition-all duration-300",s),I=Q.forwardRef(({theme:t="filled",colorTheme:l="primary",iconButton:a=!1,onClick:n,children:i,isHigherOrder:o=!1,isFullWidth:s=!1,testId:u="button-component",classes:r="",isLoading:m=!1,...d},b)=>{const c=h=>{n&&n(h)};return e.jsx("button",{ref:b,onClick:c,className:ie(t,l,a,o,!!d.disabled||m,s,r),"data-testid":u,...d,children:e.jsx("span",{children:i})})});I.displayName="Button";function ne(t){return t==null?void 0:t.items.flatMap(a=>a.errors.map(n=>({index:a.index,rowNumber:a.rowNumber,valid:a.valid,error:n.message,errorCode:n.code})))}const de=({item:t,validationResult:l,onUploadClickEvent:a,openOnLoad:n})=>{const[i,o]=y.useState(n),s=async()=>{const m=t.templateLocation,d=document.createElement("a");d.href=m,d.download="",d.click()},u=()=>{a()},r=ne(l);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{id:t.id,"data-testid":`${t.id}-upload-data`,onClick:()=>o(!i),className:"file-section mt-2 top-0 left-0 z-50 w-full bg-greyscale-100 flex items-center justify-between flex-wrap border-greyscale-500 border-b py-4 px-4",children:[e.jsxs("div",{className:"file-section_info flex items-center",children:[e.jsx("div",{className:"file-section__header font-bold overflow-hidden text-inkwell-600 flex items-center",children:t.title}),l&&e.jsxs("div",{className:`file-section__dateUploaded text-sm px-4 ${l.valid?"":"text-danger"}`,children:["-",!l.valid&&e.jsxs(e.Fragment,{children:[" Upload Failed, We found ",r==null?void 0:r.length," issues in your file, please correct them in the ",e.jsx("span",{className:"font-bold",children:".xlsx"})," file and upload it again to continue"]})," "]})]}),e.jsx("div",{className:"transition duration-300"+(i?"transform rotate-180":""),children:e.jsx(k,{})})]}),i&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"file-section__buttonholder flex items-center justify-end flex-wrap right my-4",children:[e.jsx("div",{className:"file-section__button",children:e.jsxs(I,{onClick:s,"data-testid":`download-${t.id}-template`,theme:"filled",colorTheme:"primary",children:["Download ",t.buttonText," template"]})}),e.jsx("div",{className:"file-section__button",children:e.jsxs(I,{theme:"outlined",onClick:u,"data-testid":`upload-${t.id}-template`,colorTheme:"primary",children:["Upload ",t.buttonText," data"]})})]}),!(l!=null&&l.valid)&&(r==null?void 0:r.length)<=10&&e.jsx("div",{className:"w-full text-sm","data-testid":`validation-${t.id}`,children:r==null?void 0:r.map((m,d)=>e.jsx("div",{className:`w-full p-4 border-greyscale-500 border-b text-danger ${d%2==0&&"bg-greyscale-200"}`,children:`Row ${m.rowNumber??m.index+2} - ${m.error.replace("_"," ")}`},`${m.index}:${m.errorCode}`))})]})]})},ce=({onUploadClick:t,onCloseClick:l,uploadingItem:a,onFileSelected:n})=>{var d;const i=y.useRef(null);function o(b){var h;const c=((h=b.target.files)==null?void 0:h[0])||null;c===null||c.type!=="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"?Y.error("Only .xlsx files are allowed",{className:"!border-l-danger"}):r(c)}const s=b=>{b.preventDefault()};function u(b){b.preventDefault();const c=m(b)[0]||null;r(c)}function r(b){i.current=b,n==null||n(b)}const m=b=>{const c=b.dataTransfer;if(c.files.length>1)return console.warn("Only one file allowed to be uploaded."),[];if(c.files[0]===null||c.files[0].type!=="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")return Y.error("Only .xlsx files are allowed",{className:"!border-l-danger"}),[];if(c.items&&c.items.length){const h=Array.from(c.items).filter(Z=>Z.kind==="file").map(Z=>
1Z.getAsFile()).filter(Boolean);if(h.length)return h}return c.files&&c.files.length?Array.from([c.files[0]]):[]};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"px-6",children:a==null?void 0:a.modalDescription}),e.jsx("div",{className:"px-6 py-4",children:e.jsxs("div",{className:"cursor-pointer border-dashed border border-grey-200 border-2 center items-center justify-center flex flex-col bg-gray-100 py-4 rounded-xl",onDrop:u,onClick:b=>{const h=b.currentTarget.querySelector('input[type="file"]');h==null||h.click()},onDragOver:s,children:[!i.current&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:["Drag your ",e.jsx("span",{className:"font-semibold",children:".xlsx"})," file here"]}),e.jsx("p",{children:"or"}),e.jsx("p",{className:"underline cursor-pointer",children:"Click here"})]}),i&&e.jsx("p",{children:(d=i.current)==null?void 0:d.name}),e.jsx("input",{id:"file",style:{display:"none"},type:"file",accept:".xlsx",onChange:o})]})}),e.jsxs("div",{className:"flex justify-end px-6 py-4 pt-2",children:[e.jsx(I,{theme:"outlined",colorTheme:"primary",onClick:l,testId:`${a==null?void 0:a.id}-cancel-upload`,children:"Cancel"}),e.jsx(I,{theme:"filled",colorTheme:"primary",onClick:t,testId:`${a==null?void 0:a.id}-perform-upload`,children:"Upload"})]})]})},oe=({statusText:t})=>{const a="8s";return e.jsxs(e.Fragment,{children:[e.jsx("style",{children:` 2 @keyframes lineA { 3 0% { opacity: 1; visibility: visible; } 4 40% { opacity: 1; visibility: visible; } 5 50% { opacity: 0; visibility: hidden; } 6 100% { opacity: 0; visibility: hidden; } 7 } 8 9 @keyframes lineB { 10 0% { opacity: 0; visibility: hidden; } 11 40% { opacity: 0; visibility: hidden; } 12 50% { opacity: 1; visibility: visible; } 13 100% { opacity: 1; visibility: visible; } 14 } 15 16 @media (prefers-reduced-motion: reduce) { 17 .rm-safe { animation: none !important; opacity: 1 !important; visibility: visible !important; } 18 } 19 `}),e.jsxs("div",{className:"center items-center justify-center flex flex-col py-4",children:[e.jsx("div",{className:"py-4 text-accent",children:e.jsx(E,{title:"Uploading",titleId:"loading-spinner",className:"mr-2",width:80,height:80})}),e.jsxs("div",{className:"py-4 inline-flex justify-center align-baseline relative leading-none h-[1em]",children:[e.jsx("span",{className:"absolute whitespace-nowrap",style:{animation:`lineA ${a} ease-in-out infinite`,animationFillMode:"both",willChange:"opacity"},children:"In progress"}),e.jsx("span",{className:"absolute whitespace-nowrap",style:{opacity:0,visibility:"hidden",animation:`lineB ${a} ease-in-out infinite`,animationDelay:"0s",animationFillMode:"both",willChange:"opacity"},children:"Please stay on this page until completed"})]}),e.jsx("div",{className:"py-4 ",children:t})]})]})},re=({uploadingItem:t,isUploading:l,statusText:a,onCloseEvent:n,handleFilesUploadEvent:i})=>{const[o,s]=y.useState(null),u=()=>{n()},r=async()=>{o&&await m([o])};async function m(d){d.length===1&&await i(d),s(null)}return e.jsx("div",{children:e.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 bg-gray-500/75",children:e.jsxs("div",{className:"shadow-xl w-full max-w-lg rounded-lg bg-white ring-1 ring-black/5 outline-none opacity-100 scale-100 transition duration-200 ease-out",children:[e.jsxs("div",{className:"flex items-start justify-between px-6 pt-4",children:[e.jsx("h2",{id:"reactModalTitle",className:"font-semibold left pb-2",children:t==null?void 0:t.modalTitle}),!l&&e.jsx("button",{onClick:u,className:"ml-3 inline-flex h-8 w-8 items-center justify-center rounded-md text-neutral-500 hover:bg-neutral-100 hover:text-neutral-700 focus:outline-none focus:ring-2 focus:ring-indigo-500","aria-label":"Close modal",children:"X"})]}),!l&&e.jsx(ce,{onUploadClick:r,onCloseClick:u,uploadingItem:t,onFileSelected:d=>s(d)}),l&&e.jsx(oe,{statusText:a})]})})})},be=[{id:"studentUploader",title:"Students",buttonText:"students",modalTitle:"Upload your students data",modalDescription:"Please check this is students data",templateLocation:`${V}templates/student_data.xlsx`,endpoint:"/integrator/api/v1/integration-service/organisations/:organisationId/students/bulk",endpointRootName:"students",endpointMappings:[{source:"Source_ID",destination:"sourceId",metaData:!1},{source:"First_name",destination:"forename",metaData:!1},{source:"Last_name",destination:"surname",metaData:!1},{source:"Email",destination:"emailAddress",metaData:!1},{source:"Date_of_Birth",destination:"dateOfBirth",metaData:!1},{source:"Gender",destination:"gender",metaData:!1},{source:"Year_Group",destination:"yearGroup",metaData:!1},{source:"Registration_Group",destination:"registrationGroup",metaData:!1},{sourcePattern:"^Group\\d+Code$",destination:"customGroups",metaData:!1},{defaultValue:!0,destination:"active",metaData:!1},{defaultValue:"MANUAL UPLOAD",destination:"sourceType",metaData:!0},{defaultValue:"MANUAL UPLOAD",destination:"misId",metaData:!1}],sheetName:"Student_Data"},{id:"employeesUploader",title:"Employees",buttonText:"employees",modalTitle:"Upload your employees data",modalDescription:"Please check this is employees data",templateLocation:`${V}templates/staff_data.xlsx`,endpoint:"/integrator/api/v1/integration-service/organisations/:organisationId/employees/bulk",endpointRootName:"storeEmployeeRequests",endpointMappings:[{source:"Source_ID",destination:"sourceId",metaData:!1},{source:"First_name",destination:"forename",metaData:!1},{source:"Last_name",destination:"surname",metaData:!1},{source:"Email",destination:"email",metaData:!1},{sourcePattern:"^Subject\\d+$",destination:"subjects",parent:"serviceAgreement",metaData:!1},{defaultValue:"default",destination:"locationType",metaData:!1},{defaultValue:"MANUAL UPLOAD",destination:"sourceType",metaData:!1},{defaultValue:"MANUAL UPLOAD",destination:"misId",metaData:!1}],sheetName:"Staff_Data"},{id:"roomUploader",title:"Rooms",buttonText:"rooms",modalTitle:"Upload your rooms data",modalDescription:"Please check this is rooms data",templateLocation:`${V}templates/room_data.xlsx`,endpoint:"/integrator/api/v1/integration-service/organisations/:organisationId/locations/bulk",endpointRootName:"locations",endpointMappings:[{source:"Source_ID",destination:"sourceId",metaData:!1},{source:"Room_code",destination:"code",metaData:!1},{source:"Room_name",destination:"name",metaData:!1},{defaultValue:0,destination:"capacity",metaData:!1},{defaultValue:"default",destination:"locationType",metaData:!1},{defaultValue:!0,destination:"active",metaData:!1},{defaultValue:"MANUAL UPLOAD",destination:"sourceType",metaData:!0},{defaultValue:"MANUAL UPLOAD",destination:"misId",metaData:!0}],sheetName:"Room_Data"},{id:"subjectsUploader",title:"Subjects",buttonText:"subjects",modalTitle:"Upload your subjects data",modalDescription:"Please check this is subjects data",templateLocation:`${V}templates/subject_data.xlsx`,endpoint:"/integrator/api/v1/integration-service/organisations/:organisationId/topics/bulk",endpointRootName:"topics",endpointMappings:[{source:"Source_ID",destination:"sourceId",metaData:!1},{source:"Subject_code",destination:"code",metaData:!1},{source:"Subject_name",destination:"name",metaData:!1},{defaultValue:[],destination:"roomType",metaData:!1},{defaultValue:!0,destination:"active",metaData:!1},{defaultValue:!1,destination:"deleted",metaData:!1},{defaultValue:"MANUAL UPLOAD",destination:"sourceType",metaData:!0},{defaultValue:"0",destination:"misId",metaData:!0}],sheetName:"Subject_Data"}],me=(t,l)=>{const a=new Set(l);return t.filter(n=>a.has(n.id))},ue={"tes.timetable":me(be,["employeesUploader","studentUploader","roomUploader","subjectsUploader"])},L="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGooZSl7cmV0dXJue2hlYWRlcnM6T2JqZWN0LmZyb21FbnRyaWVzKGUuaGVhZGVycy5lbnRyaWVzKCkpfX1mdW5jdGlvbiBFKGUpe2NvbnN0IHQ9InRlc2Nsb3VkLmNvbSI7aWYoZS5wcm90b2NvbCE9PSJodHRwczoifHwhZS5ob3N0bmFtZXx8ZS5ob3N0bmFtZSE9PXQmJiFlLmhvc3RuYW1lLmVuZHNXaXRoKGAuJHt0fWApKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBiYXNlIFVSTCBwcm92aWRlZCIpfWNvbnN0IHE9YXN5bmMoZSx0LHMsbik9PntFKGUpO2NvbnN0IG89YXdhaXQgZmV0Y2goZSx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsLi4ubn0sYm9keTpKU09OLnN0cmluZ2lmeSh7W3RdOnN9KX0pO2lmKCFvLm9rKXRocm93IG5ldyBFcnJvcigiRGF0YSB1cGxvYWQgZmFpbGVkIik7cmV0dXJuIG99LHc9e1N0dWRlbnQ6e1NvdXJjZV9JRDoidW5pcXVlU3RyaW5nIixGaXJzdF9uYW1lOiJzdHJpbmciLExhc3RfbmFtZToic3RyaW5nIixEYXRlX29mX0JpcnRoOiJkYXRlIixFbWFpbDoiZW1haWwiLEdlbmRlcjoic3RyaW5nIixZZWFyX0dyb3VwOiJzdHJpbmciLFJlZ2lzdHJhdGlvbl9Hcm91cDoib3B0aW9uYWxTdHJpbmcifSxSb29tOntTb3VyY2VfSUQ6InVuaXF1ZVN0cmluZyIsUm9vbV9jb2RlOiJ1bmlxdWVTdHJpbmciLFJvb21fbmFtZToic3RyaW5nIn0sU3RhZmY6e1NvdXJjZV9JRDoidW5pcXVlU3RyaW5nIixGaXJzdF9uYW1lOiJzdHJpbmciLExhc3RfbmFtZToic3RyaW5nIixFbWFpbDoiZW1haWwiLFN1YmplY3QxOiJvcHRpb25hbFN0cmluZyIsU3ViamVjdDI6Im9wdGlvbmFsU3RyaW5nIixTdWJqZWN0Mzoib3B0aW9uYWxTdHJpbmciLFN1YmplY3Q0OiJvcHRpb25hbFN0cmluZyIsU3ViamVjdDU6Im9wdGlvbmFsU3RyaW5nIn0sU3ViamVjdDp7U291cmNlX0lEOiJ1bmlxdWVTdHJpbmciLFN1YmplY3RfY29kZToidW5
19pcXVlU3RyaW5nIixTdWJqZWN0X25hbWU6InN0cmluZyJ9fTtmdW5jdGlvbiBBKGUpe3JldHVybi9eW15cc0BdK0BbXlxzQF0rXC5bXlxzQF0rJC8udGVzdChlKX1mdW5jdGlvbiBEKGUsdCxzLG4pe3R5cGVvZiB0IT0ic3RyaW5nIj9lLnB1c2goe3BhdGg6bixjb2RlOiJzdHJpbmcudHlwZSIsbWVzc2FnZTpgIiR7c30iIG11c3QgYmUgYSBzdHJpbmcuYH0pOnQubGVuZ3RoPD0wJiZlLnB1c2goe3BhdGg6bixjb2RlOiJzdHJpbmcubWluX2xlbmd0aCIsbWVzc2FnZTpgIiR7c30iIG11c3QgYmUgbG9uZ2VyIHRoYW4gMCBjaGFyYWN0ZXJzLmB9KX1mdW5jdGlvbiBWKGUsdCxzLG4pe3R5cGVvZiB0IT0ic3RyaW5nIiYmdCE9PW51bGwmJnQhPT12b2lkIDAmJmUucHVzaCh7cGF0aDpuLGNvZGU6InN0cmluZy50eXBlIixtZXNzYWdlOmAiJHtzfSIgbXVzdCBiZSBhIHN0cmluZy5gfSl9ZnVuY3Rpb24gayhlLHQscyxuKXt0eXBlb2YgdCE9InN0cmluZyI/ZS5wdXNoKHtwYXRoOm4sY29kZToiZW1haWwudHlwZSIsbWVzc2FnZTpgIiR7c30iIG11c3QgYmUgYSBzdHJpbmcuYH0pOnQubGVuZ3RoPD0wP2UucHVzaCh7cGF0aDpuLGNvZGU6ImVtYWlsLm1pbl9sZW5ndGgiLG1lc3NhZ2U6YCIke3N9IiBtdXN0IGJlIGxvbmdlciB0aGFuIDAgY2hhcmFjdGVycy5gfSk6QSh0KXx8ZS5wdXNoKHtwYXRoOm4sY29kZToiZW1haWwudmFsaWQiLG1lc3NhZ2U6YCIke3N9IiBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzLmB9KX1mdW5jdGlvbiBGKGUsdCxzLG4pe3R5cGVvZiB0IT0ibnVtYmVyInx8IU51bWJlci5pc0Zpbml0ZSh0KT9lLnB1c2goe3BhdGg6bixjb2RlOiJudW1iZXIudHlwZSIsbWVzc2FnZTpgIiR7c30iIG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyLmB9KTp0PD0wJiZlLnB1c2goe3BhdGg6bixjb2RlOiJudW1iZXIucG9zaXRpdmUiLG1lc3NhZ2U6YCIke3N9IiBtdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyLmB9KX1mdW5jdGlvbiBTKGUsdCxzLG4sbyl7aWYodHlwZW9mIHQhPSJzdHJpbmciP2UucHVzaCh7cGF0aDpuLGNvZGU6InN0cmluZy50eXBlIixtZXNzYWdlOmAiJHtzfSIgbXVzdCBiZSBhIHN0cmluZy5gfSk6dC5sZW5ndGg8PTAmJmUucHVzaCh7cGF0aDpuLGNvZGU6InN0cmluZy5taW5fbGVuZ3RoIixtZXNzYWdlOmAiJHtzfSIgbXVzdCBiZSBsb25nZXIgdGhhbiAwIGNoYXJhY3RlcnMuYH0pLHR5cGVvZiB0PT0ic3RyaW5nIil7Y29uc3Qgcj1vW3NdOygocj09bnVsbD92b2lkIDA6ci5nZXQodCkpPz8wKT4xJiZlLnB1c2goe3BhdGg6bixjb2RlOiJ1bmlxdWVTdHJpbmcubm90VW5pcXVlIixtZXNzYWdlOmAiJHtzfSIgbXVzdCBjb250YWluIHVuaXF1ZSB2YWx1ZXMuYH0pfX1mdW5jdGlvbiBNKGUsdCxzLG4pe2lmKHQ9PT1udWxsfHx0eXBlb2YgdD09Im9iamVjdCIpZS5wdXNoKHtwYXRoOm4sY29kZToiZGF0ZS5oYXNWYWx1ZSIsbWVzc2FnZTpgIiR7c30iIG11c3QgYmUgcG9wdWxhdGVkLmB9KTtlbHNlIGlmKE51bWJlci5pc05hTihEYXRlLnBhcnNlKHQpKSllLnB1c2goe3BhdGg6bixjb2RlOiJkYXRlLnR5cGUiLG1lc3NhZ2U6YCIke3N9IiBtdXN0IGJlIGEgdmFsaWQgZGF0ZS5gfSk7ZWxzZXtjb25zdCBvPW5ldyBEYXRlKERhdGUucGFyc2UodCkpLHI9bmV3IERhdGU7ci5zZXRIb3VycygwLDAsMCwwKSxvPj1yJiZlLnB1c2goe3BhdGg6bixjb2RlOiJkYXRlLmJlZm9yZV90b2RheSIsbWVzc2FnZTpgIiR7c30iIG11c3QgYmUgYSBkYXRlIGJlZm9yZSB0b2RheS5gfSl9fWZ1bmN0aW9uIE8oZSx0KXtjb25zdCBzPVtdO2Zvcihjb25zdFtuLG9db2YgT2JqZWN0LmVud
19HJpZXMoZSkpe2NvbnN0IHI9dFtuLnJlcGxhY2UoIl9EYXRhIiwiIildO2lmKCFyKWNvbnRpbnVlO2lmKCFBcnJheS5pc0FycmF5KG8pKXtzLnB1c2goe2luZGV4Oi0xLHZhbGlkOiExLGVycm9yczpbe3BhdGg6IiIsY29kZToiY29sbGVjdGlvbi5hcnJheV9yZXF1aXJlZCIsbWVzc2FnZToiQ29sbGVjdGlvbiBtdXN0IGJlIGFuIGFycmF5LiJ9XX0pO2NvbnRpbnVlfWNvbnN0IG09T2JqZWN0LmVudHJpZXMocikuZmlsdGVyKChbLGldKT0+aT09PSJ1bmlxdWVTdHJpbmciKS5tYXAoKFtpXSk9PmkpLHU9e307Zm9yKGNvbnN0IGkgb2YgbSl1W2ldPW5ldyBNYXA7aWYobS5sZW5ndGg+MCl7bGV0IGk7Zm9yKGkgb2Ygbyl7aWYoaT09PW51bGx8fHR5cGVvZiBpIT0ib2JqZWN0Inx8QXJyYXkuaXNBcnJheShpKSljb250aW51ZTtjb25zdCBwPWk7Zm9yKGNvbnN0IGEgb2YgbSl7Y29uc3QgZj1wW2FdLGc9XyhmKTtpZihnIT09bnVsbCl7Y29uc3QgaD11W2FdO2guc2V0KGcsKGguZ2V0KGcpPz8wKSsxKX19fX1vLmZvckVhY2goKGkscCk9Pntjb25zdCBhPVtdO2lmKGk9PT1udWxsfHx0eXBlb2YgaSE9Im9iamVjdCJ8fEFycmF5LmlzQXJyYXkoaSkpe2EucHVzaCh7cGF0aDpgWyR7cH1dYCxjb2RlOiJpdGVtLm9iamVjdF9yZXF1aXJlZCIsbWVzc2FnZTpgSXRlbSBhdCBpbmRleCAke3B9IG11c3QgYmUgYW4gb2JqZWN0LmB9KSxzLnB1c2goe2luZGV4OnAsdmFsaWQ6ITEsZXJyb3JzOmF9KTtyZXR1cm59Y29uc3QgZj1pLGc9dHlwZW9mIGYuX19yb3dOdW1iZXI9PSJudW1iZXIiP2YuX19yb3dOdW1iZXI6cCsyO2lmKCFPYmplY3Qua2V5cyhyKS5ldmVyeShjPT5mW2NdPT09bnVsbHx8ZltjXT09PSIiKSl7Zm9yKGNvbnN0W2MsYl1vZiBPYmplY3QuZW50cmllcyhyKSl7Y29uc3QgbD1mW2NdLGQ9YFske3B9XS4ke2N9YDtpZihiIT09Im9wdGlvbmFsU3RyaW5nIiYmKGw9PW51bGx8fHR5cGVvZiBsPT0ic3RyaW5nIiYmbC50cmltKCk9PT0iIikpe2EucHVzaCh7cGF0aDpkLGNvZGU6ImZpZWxkLnJlcXVpcmVkIixtZXNzYWdlOmAiJHtjfSIgaXMgcmVxdWlyZWQuYH0pO2NvbnRpbnVlfXN3aXRjaChiKXtjYXNlInN0cmluZyI6e0QoYSwkKGwpLGMsZCk7YnJlYWt9Y2FzZSJvcHRpb25hbFN0cmluZyI6VihhLCQobCksYyxkKTticmVhaztjYXNlImVtYWlsIjprKGEsbCxjLGQpO2JyZWFrO2Nhc2UibnVtYmVyIjpGKGEsbCxjLGQpO2JyZWFrO2Nhc2UidW5pcXVlU3RyaW5nIjp7Y29uc3QgeT1fKGwpO3k9PT1udWxsP1MoYSwiIixjLGQsdSk6UyhhLHksYyxkLHUpO2JyZWFrfWNhc2UiZGF0ZSI6TShhLGwsYyxkKTticmVhaztkZWZhdWx0OmEucHVzaCh7cGF0aDpkLGNvZGU6InJ1bGUudW5zdXBwb3J0ZWQiLG1lc3NhZ2U6YFVuc3VwcG9ydGVkIHJ1bGUgIiR7U3RyaW5nKGIpfSIgZm9yICIke2N9Ii5gfSl9fXMucHVzaCh7aW5kZXg6cCxyb3dOdW1iZXI6Zyx2YWxpZDphLmxlbmd0aD09PTAsZXJyb3JzOmF9KX19KX1yZXR1cm57dmFsaWQ6cy5ldmVyeShuPT5uLnZhbGlkKSxpdGVtczpzfX1mdW5jdGlvbiBfKGUpe2lmKGU9PW51bGwpcmV0dXJuIG51bGw7bGV0IHQ9U3RyaW5nKGUpO3JldHVybiB0PXQucmVwbGFjZSgvXltcc1x1MDBBMF0rfFtcc1x1MDBBMF0rJC9nLCIiKSx0PXQudG9Mb3dlckNhc2UoKSx0PT09IiI/bnVsbDp0fWZ1bmN0aW9uICQoZSl7cmV0dXJuIHR5cGVvZiBlPT0ibnVtYmVyIiYmTnVtYmVyLmlzRmluaXRlKGUpP1N0cmluZyhlKTplfXNlbGYub25tZXNzYWdlPWFzeW5jIGU9Pntjb25zdHtpZDp0LHdvcmtib29rOnMsZW5kcG9pbnRSb290TmFtZTpuLGVuZFBvaW50TWFwcGluZ3M6byxmZXRjaFVybDpyLGF1dGhIZWFkZXJzOm19PWUuZGF0YXx8e307aWYocz09bnVsbHx8cj09PXZvaWQgMCl7Y29uc3QgdT17c3RhdHVzOiJFcnJvciIsY29tcGxldGU6ITAsc3VjY2VzczohMSxlcnJvcjoiQmFkIG1lc3NhZ2UgcmVjZWl2ZWQifTtzZWxmLnBvc3RNZXNzYWdlKHUpO3JldHVybn10cnl7Y29uc3QgdT17c3RhdHVzOiJWYWxpZGF0aW5nIixjb21wbGV0ZTohMSxzdWNjZXNzOiExfTtzZWxmLnBvc3RNZXNzYWdlKHUpO2NvbnN0IGk9TyhzLHcpO2lmKCFpLnZhbGlkKXtjb25zdCBiPXtzdGF0dXM6IlZhbGlkYXRpb24gRmFpbGVkIixzdWNjZXNzOiExLGNvbXBsZXRlOiEwLHZhbGlkYXRpb25SZXN1bHQ6aX07c2VsZi5wb3N0TWVzc2FnZShiKTtyZXR1cm59Y29uc3QgcD17c3RhdHVzOiJWYWxpZGF0aW9uIENvbXBsZXRlLCBQZXJmb3JtaW5nIEltcG9ydCIsY29tcGxldGU6ITEsc3VjY2VzczohMX07c2VsZi5wb3N0TWVzc2FnZShwKTtjb25zdCBhPTEwMCxmPXNbYCR7dH1gXS5sZW5ndGgsZz1VKHNbYCR7dH1gXSxhKSxoPW5ldyBVUkwocik7Zm9yKGNvbnN0IGIgb2YgZyl7Y29uc3QgbD0oZy5pbmRleE9mKGIpKzEpKmEsZD1sPmY/ZjpsLHk9SShiLG8pLE49e3N0YXR1czpgJHtkfS8ke2Z9IHJlY29yZHMgdXBsb2FkZWRgLGNvbXBsZXRlOiExLHN1Y2Nlc3M6ITEsZmluYWxpemVGZXRjaFJlc3BvbnNlOmF3YWl0IEwoaCxuLHksbSl9O3NlbGYucG9zdE1lc3NhZ2UoTil9Y29uc3QgYz17c3RhdHVzOiJVcGxvYWQgQ29tcGxldGUiLGNvbXBsZXRlOiEwLHN1Y2Nlc3M6ITB9O3NlbGYucG9zdE1lc3NhZ2UoYyl9Y2F0Y2godSl7Y29uc3QgaT17c3RhdHVzOiJFcnJvciIsY29tcGxldGU6ITAsZXJyb3I6dSBpbnN0YW5jZW9mIEVycm9yP3UubWVzc2FnZTpTdHJpbmcodSl9O3NlbGYucG9zdE1lc3NhZ2UoaSl9fTtmdW5jdGlvbiBVKGUsdCl7Y29uc3Qgcz1bXTtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rPXQpcy5wdXNoKGUuc2xpY2UobixuK3QpKTtyZXR1cm4gc31mdW5jdGlvbiBDKGUsdCl7Y29uc3Qgcz1uZXcgUmVnRXhwKHQpLG49W107Zm9yKGNvbnN0IG8gb2YgT2JqZWN0LmtleXMoZSkpcy50ZXN0KG8pJiZlW29dIT1udWxsJiZlW29dIT09IiImJm4ucHVzaChlW29dKTtyZXR1cm4gbn1mdW5jdGlvbiBSKGUsdCl7cmV0dXJuIGVbdF18fChlW3RdPXt9KSxlW3RdfWZ1bmN0aW9uIHYoZSx0LHMpe3QubWV0YURhdGE/UihlLCJtZXRhZGF0YSIpW3QuZGVzdGluYXRpb25dPXM6dC5wYXJlbnQ/UihlLHQucGFyZW50KVt0LmRlc3RpbmF0aW9uXT1zOmVbdC5kZXN0aW5
19hdGlvbl09c31mdW5jdGlvbiBJKGUsdCl7cmV0dXJuIGUubWFwKG49Pntjb25zdCBvPXt9O2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKGNvbnN0IHIgb2YgdCl7aWYoci5zb3VyY2VQYXR0ZXJuKXtjb25zdCB1PUMobixyLnNvdXJjZVBhdHRlcm4pO3UubGVuZ3RoPjAmJnYobyxyLHUpO2NvbnRpbnVlfWNvbnN0IG09ci5kZWZhdWx0VmFsdWUhPT12b2lkIDA/ci5kZWZhdWx0VmFsdWU6bltyLnNvdXJjZV07dihvLHIsbSl9cmV0dXJuIG8ubWV0YWRhdGE9PT12b2lkIDAmJihvLm1ldGFkYXRhPXttaXNJZDoiMCIsc291cmNlVHlwZToiTUFOVUFMIFVQTE9BRCJ9KSxvfSl9YXN5bmMgZnVuY3Rpb24gTChlLHQscyxuKXtpZighQXJyYXkuaXNBcnJheShzKXx8cy5sZW5ndGg9PT0wKXJldHVybjtjb25zdCBvPWF3YWl0IHEoZSx0LHMsbik7cmV0dXJuIGoobyl9fSkoKTsK",pe=t=>Uint8Array.from(atob(t),l=>l.charCodeAt(0)),z=typeof self<"u"&&self.Blob&&new Blob([pe(L)],{type:"text/javascript;charset=utf-8"});function he(t){let l;try{if(l=z&&(self.URL||self.webkitURL).createObjectURL(z),!l)throw"";const a=new Worker(l,{name:t==null?void 0:t.name});return a.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(l)}),a}catch{return new Worker("data:text/javascript;base64,"+L,{name:t==null?void 0:t.name})}finally{l&&(self.URL||self.webkitURL).revokeObjectURL(l)}}const J="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHcodCl7Y29uc3Qgcz17fSxuPVs4MCw3NSwzLDRdO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGgtNDtlKyspaWYobi5ldmVyeSgobyxyKT0+dFtlK3JdPT09bykpe2NvbnN0IG89dFtlKzI2XSsodFtlKzI3XTw8OCkscj10W2UrMjhdKyh0W2UrMjldPDw4KSxjPXRbZSsxOF0rKHRbZSsxOV08PDgpKyh0W2UrMjBdPDwxNikrKHRbZSsyMV08PDI0KSxsPWUrMzAsaT10LnNsaWNlKGwsbCtvKSxhPW5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShpKSx1PWwrbytyLGc9dC5zbGljZSh1LHUrYyk7c1thXT1nfXJldHVybiBzfWFzeW5jIGZ1bmN0aW9uIGYodCl7YXN5bmMgZnVuY3Rpb24gcyhuKXtjb25zdCBlPW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKG4pLG89bmV3IEJsb2IoW3RdKS5zdHJlYW0oKS5waXBlVGhyb3VnaChlKTtyZXR1cm4gYXdhaXQgbmV3IFJlc3BvbnNlKG8pLnRleHQoKX10cnl7cmV0dXJuIGF3YWl0IHMoImRlZmxhdGUiKX1jYXRjaHtyZXR1cm4gYXdhaXQgcygiZGVmbGF0ZS1yYXciKX19ZnVuY3Rpb24gaCh0KXtyZXR1cm4gdD09bnVsbD90OnQucmVwbGFjZSgvJmFtcDthbXA7L2csIiZhbXA7IikucmVwbGFjZSgvJmFtcDtsdDsvZywiJmx0OyIpLnJlcGxhY2UoLyZhbXA7Z3Q7L2csIiZndDsiKS5yZXBsYWNlKC8mYW1wO3F1b3Q7L2csJyInKS5yZXBsYWNlKC8mYW1wO2Fwb3M7L2csIiciKX1hc3luYyBmdW5jdGlvbiB4KHQpe2NvbnN0IHM9InhsL3NoYXJlZFN0cmluZ3MueG1sIjtpZighdFtzXSlyZXR1cm5bXTtjb25zdCBlPVsuLi4oYXdhaXQgZih0W3NdKSkubWF0Y2hBbGwoLzxzaT4oW1xzXFNdKj8pPFwvc2k+L2cpXSxvPVtdO2Zvcihjb25zdCByIG9mIGUpe2NvbnN0IGk9Wy4uLnJbMV0ubWF0Y2hBbGwoLzx0W14+XSo+KFtcc1xTXSo/KTxcL3Q+L2cpXS5tYXAoYT0+aChhWzFdKT8/IiIpLmpvaW4oIiIpO28ucHVzaChpKX1yZXR1cm4gb31hc3luYyBmdW5jdGlvbiBTKHQpe2NvbnN0IHM9InhsL3dvcmtib29rLnhtbCIsbj0ieGwvX3JlbHMvd29ya2Jvb2sueG1sLnJlbHMiO2lmKCEodFtzXSYmdFtuXSkpcmV0dXJue307Y29uc3QgZT1hd2FpdCBmKHRbc10pLG89YXdhaXQgZih0W25dKSxyPXt9O2Zvcihjb25zdCBsIG9mIG8ubWF0Y2hBbGwoLzxSZWxhdGlvbnNoaXBbXj5dKklkPSIoLio/KSJbXj5dKlRhcmdldD0iKC4qPykiL2cpKXJbbFsxXV09bFsyXTtjb25zdCBjPXt9O2Zvcihjb25zdCBsIG9mIGUubWF0Y2hBbGwoLzxzaGVldFtePl0qbmFtZT0iKC4qPykiW14+XSpyOmlkPSIoLio/KSIvZykpe2NvbnN0IGk9aChsWzFdKT8/IiIsYT1sWzJdLHU9clthXTt1JiYoY1tpXT1geGwvJHt1fWApfXJldHVybiBjfWFzeW5jIGZ1bmN0aW9uIGsodCl7Y29uc3Qgcz0ieGwvc3R5bGVzLnhtbCI7aWYoIXRbc10pcmV0dXJue3hmVG9GbXQ6W10sY3VzdG9tRm10czp7fX07Y29uc3Qgbj1hd2FpdCBmKHRbc10pLGU9e307Zm9yKGNvbnN0IGMgb2Ygbi5tYXRjaEFsbCgvPG51bUZtdFtePl0qbnVtRm10SWQ9IihcZCspIltePl0qZm9ybWF0Q29kZT0iKFteIl0qKSIvZykpZVtwYXJzZUludChjWzFdLDEwKV09Y1syXTtjb25zdCBvPVtdLHI9bi5tYXRjaCgvPGNlbGxYZnNbXj5dKj4oW1xzXFNdKj8pPFwvY2VsbFhmcz4vKTtpZihyKXtjb25zdCBjPXJbMV07Zm9yKGNvbnN0IGwgb2YgYy5tYXRjaEFsbCgvPHhmW14+XSpudW1GbXRJZD0iKFxkKykiL2cpKW8ucHVzaChwYXJzZUludChsWzFdLDEwKSl9cmV0dXJue3hmVG9GbXQ6byxjdXN0b21GbXRzOmV9fWZ1bmN0aW9uIHkodCxzKXtpZihuZXcgU2V0KFsxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMl0pLmhhcyh0KSlyZXR1cm4hMDtjb25zdCBlPXNbdF07cmV0dXJuIGU/L1t5bWRoc10vaS50ZXN0KGUucmVwbGFjZSgvXFsuKj9dL2csIiIpKTohMX1mdW5jdGlvbiBGKHQpe2NvbnN0IHM9bmV3IERhdGUoRGF0ZS5VVEMoMTg5OSwxMSwzMCkpLG49TWF0aC5yb3VuZCh0Kjg2NGU1KSxlPW5ldyBEYXRlKHMuZ2V0VGltZSgpK24pO3JldHVybmAke2UuZ2V0RnVsbFllYXIoKX0tJHtTdHJpbmcoZS5nZXRNb250aCgpKzEpLnBhZFN0YXJ0KDIsIjAiKX0tJHtTdHJpbmcoZS5nZXREYXRlKCkpLnBhZFN0YXJ0KDIsIjAiKX1gfWZ1bmN0aW9uIGQodCl7bGV0IHM9MDtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKylzPXMqMjYrKHQuY2hhckNvZGVBdChuKS02NCk7cmV0dXJuIHN9ZnVuY3Rpb24gTSh0LHMsbil7Y29uc3QgZT10Lm1hdGNoKC8gdD0iKFx3KykiLyksbz10Lm1hdGNoKC8gcz0iKFxkKykiLykscj1lP2VbMV06bnVsbCxjPW8/cGFyc2VJbnQob1sxXSwxMCk6bnVsbDtpZihyPT09ImlubGluZVN0ciIpe2NvbnN0IGE9dC5tYXRjaCgvPGlzPltcc1xTXSo/PHRbXj5dKj4oW1xzXFNdKj8pPFwvdD5bXHNcU10qPzxcL2lzPi8pO3JldHVybiBhP2goYVsxXSk6bnVsbH1jb25zdCBsPXQubWF0Y2goLzx2PihbXHNcU10qPyk8XC92Pi8pO2lmKCFsKXJldHVybi
19BudWxsO2NvbnN0IGk9bFsxXTtzd2l0Y2gocil7Y2FzZSJzIjpyZXR1cm4gc1twYXJzZUludChpLDEwKV0/P251bGw7Y2FzZSJzdHIiOnJldHVybiBoKGkpO2Nhc2UiYiI6cmV0dXJuIGk9PT0iMSI7Y2FzZSJlIjpyZXR1cm4gaTtjYXNlIm4iOmNhc2UgbnVsbDpkZWZhdWx0Ontjb25zdCBhPXBhcnNlRmxvYXQoaSk7aWYoTnVtYmVyLmlzRmluaXRlKGEpJiZjIT1udWxsKXtjb25zdCB1PW4ueGZUb0ZtdFtjXTtpZih5KHUsbi5jdXN0b21GbXRzKSlyZXR1cm4gRihhKX1yZXR1cm4gTnVtYmVyLmlzRmluaXRlKGEpP2E6aX19fWZ1bmN0aW9uIEEodCxzLG4pe2NvbnN0IGU9W10sbz0vPHJvd1tePl0qPihbXHNcU10qPyk8XC9yb3c+L2cscj0vPGNbXj5dKnI9IihbQS1aXSspKFxkKykiW14+XSpcLz58PGNbXj5dKnI9IihbQS1aXSspKFxkKykiW14+XSo+KFtcc1xTXSo/KTxcL2M+L2c7bGV0IGM9by5leGVjKHQpO2Zvcig7YyE9PW51bGw7KXtjb25zdCBsPWNbMV0saT1bXTtsZXQgYT1yLmV4ZWMobCk7Zm9yKDthIT09bnVsbDspe2NvbnN0IG09YVsxXXx8YVszXSxOPWFbMF07bGV0IHA9TShOLHMsbik7cD10eXBlb2YgcD09InN0cmluZyI/cC50cmltKCk6cCxpLnB1c2goe2NvbDptLHZhbHVlOnB9KSxhPXIuZXhlYyhsKX1jb25zdCB1PU1hdGgubWF4KDAsLi4uaS5tYXAobT0+ZChtLmNvbCkpKSxnPW5ldyBBcnJheSh1KS5maWxsKG51bGwpO2Zvcihjb25zdCBtIG9mIGkpZ1tkKG0uY29sKS0xXT1tLnZhbHVlO2UucHVzaChnKSxjPW8uZXhlYyh0KX1yZXR1cm4gZX1mdW5jdGlvbiBJKHQpe3JldHVybiB0LnRyaW0oKS5yZXBsYWNlKC9ccysvZywiXyIpfWNvbnN0IEQ9dD0+dD09bnVsbHx8dHlwZW9mIHQ9PSJzdHJpbmciJiZ0LnRyaW0oKT09PSIiLFQ9dD0+T2JqZWN0LmVud
19HJpZXModCkuZmlsdGVyKChbc10pPT4hcy5zdGFydHNXaXRoKCJfXyIpKS5ldmVyeSgoWyxzXSk9PkQocykpO2Z1bmN0aW9uIGIodCl7aWYoIXQubGVuZ3RoKXJldHVybltdO2NvbnN0IHM9dFswXS5tYXAobj0+bj09bnVsbD8iIjpJKFN0cmluZyhuKS50cmltKCkpKTtyZXR1cm4gdC5zbGljZSgxKS5tYXAoKG4sZSk9Pntjb25zdCBvPXtfX3Jvd051bWJlcjplKzJ9O3JldHVybiBzLmZvckVhY2goKHIsYyk9PntyJiYob1tyXT1uW2NdPz9udWxsKX0pLG99KS5maWx0ZXIobj0+IVQobikpfWFzeW5jIGZ1bmN0aW9uIEIodCl7Y29uc3Qgcz1uZXcgVWludDhBcnJheSh0KSxuPXcocyksZT1hd2FpdCB4KG4pLG89YXdhaXQgayhuKSxyPWF3YWl0IFMobiksYz17fTtmb3IoY29uc3RbbCxpXW9mIE9iamVjdC5lbnRyaWVzKHIpKXtjb25zdCBhPWF3YWl0IGYobltpXSksdT1BKGEsZSxvKTtjW2xdPWIodSl9cmV0dXJuIGN9c2VsZi5vbm1lc3NhZ2U9YXN5bmMgdD0+e2NvbnN0e3R5cGU6cyxidWZmZXI6bn09dC5kYXRhfHx7fTtpZihzIT09InBhcnNlWExTWCJ8fCFuKXtjb25zdCBlPXtvazohMSxlcnJvcjonQmFkIG1lc3NhZ2U6IGV4cGVjdGVkIHsgdHlwZTogInBhcnNlWExTWCIsIGJ1ZmZlciB9J307c2VsZi5wb3N0TWVzc2FnZShlKTtyZXR1cm59dHJ5e2NvbnN0IG89e29rOiEwLHdvcmtib29rOmF3YWl0IEIobil9O3NlbGYucG9zdE1lc3NhZ2Uobyl9Y2F0Y2goZSl7Y29uc3Qgbz17b2s6ITEsZXJyb3I6ZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZTpTdHJpbmcoZSl9O3NlbGYucG9zdE1lc3NhZ2Uobyl9fX0pKCk7Cg==",Ze=t=>Uint8Array.from(atob(t),l=>l.charCodeAt(0)),C=typeof self<"u"&&self.Blob&&new Blob([Ze(J)],{type:"text/javascript;charset=utf-8"});function ye(t){let l;try{if(l=C&&(self.URL||self.webkitURL).createObjectURL(C),!l)throw"";const a=new Worker(l,{name:t==null?void 0:t.name});return a.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(l)}),a}catch{return new Worker("data:text/javascript;base64,"+J,{name:t==null?void 0:t.name})}finally{l&&(self.URL||self.webkitURL).revokeObjectURL(l)}}const Xe=({apiBaseUrl:t,tokenStrategy:l,productCode:a,organisationId:n})=>{var S;const[i,o]=y.useState(!1),[s,u]=y.useState(null),[r,m]=y.useState(!1),d=y.useRef(null),[b,c]=y.useState({}),[h,Z]=y.useState(!1),[U,T]=y.useState(""),w=()=>{m(!1)},B=p=>{u(p),m(!0)};function H(p){Y.success(p,{className:"!border-l-success"})}function W(p){Y.error(p,{className:"!border-l-danger"})}async function P(p){const G=new he;if(G.onmessage=async j=>{const{status:g,complete:x,success:K,validationResult:f,error:v,finalizeFetchResponse:F}=j.data,R=structuredClone(b);g==="Error"&&(console.error("Error uploading file",v),W(e.jsx(e.Fragment,{children:"The file upload failed. Please try again, or contact support if the issue continues"}))),x?(Z(!1),m(!1),K&&H(e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"font-semibold",children:e.jsx("strong",{children:"Success!"})})," ","We have uploaded your ",s==null?void 0:s.buttonText," file successfully!"]}))):T(g),s&&(R[s==null?void 0:s.sheetName]=f,c(R),f&&!f.valid&&W(e.jsx(e.Fragment,{children:"Uploaded file failed validation"}))),F&&await l.finaliseFetchResponse(F)},Z(!0),s===null)return;if(!le(n))throw new Error("Invalid organisation ID provided");const X=new URL(t),N=te(s.endpoint,new Map([["organisationId",n]]));X.pathname=X.pathname.replace(/\/$/,"")+N,A(X),G.postMessage({id:s.sheetName,workbook:p,endpointRootName:s.endpointRootName,endPointMappings:s.endpointMappings,fetchUrl:X.toString(),authHeaders:await l.generateFetchAuthHeaders(X,"POST")})}function D(){if(d.current||(d.current=new ye),!d.current)throw new Error("Worker is not initialized");return d.current}const O=async p=>{const G=D(),X=p[0];if(X||console.warn("No file is provided"),s==null){console.warn("No Selected Upload Item");return}if(G.onmessage=j=>{const{ok:g,workbook:x,error:K}=j.data;if(!g){console.error("Worker error",K),W(e.jsx(e.Fragment,{children:"An error has occurred processing the uploaded file"})),Z(!1);return}x==null?(console.error("Workbook is undefined"),W(e.jsx(e.Fragment,{children:"An error has occurred reading the uploaded file"})),Z(!1)):s.sheetName in x?x[s.sheetName].every(f=>Object.values(f).every(v=>v==null))?(W(e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"font-bold",children:"Oops!"})," that file looks like it doesn't have any data to import"]})),Z(!1)):P(x):(console.error(`${s.sheetName} sheet not found`),W(e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"font-bold",children:"Oops!"})," that looks like it's not the correct file, please upload an"," ",e.jsx("span",{className:"font-bold",children:".xlsx"}),' file with a "',s.sheetName,'" sheet']})),Z(!1))},!(X&&G))return;const N=await X.arrayBuffer();Z(!0),G.postMessage({type:"parseXLSX",buffer:N},[N])};return e.jsxs(e.Fragment,{children:[e.jsx($,{toastOptions:{className:"!border-l !border-l-8"},position:"top-right",icons:{success:e.jsx(ee,{className:"text-success pr-2"}),error:e.jsx(q,{className:"text-danger pr-2"})}}),e.jsxs("div",{children:[e.jsxs("p",{className:"py-4",children:["Download your chosen ",e.jsx("span",{className:"font-semibold",children:".xlsx"})," ","template, fill it out, and upload the completed file. The template includes instructions and sample data to help. Uploading your data will update it across all connected Tes applications."]}),(S=ue[a])==null?void 0:S.map((p,G)=>e.jsx(de,{onUploadClickEvent:()=>{B(p)},item:p,openOnLoad:G===0,validationResult:b[`${p.sheetName}`]},p.id))]}),e.jsxs("div",{className:"bottom-0 sticky bg-white my-4 px-2",children:[e.jsx("div",{onClick:()=>o(!i),"data-testid":"info-upload-expandbar",children:e.jsxs("div",{className:"inline-flex font-semibold",children:[e.jsx("span",{className:"text-accent",children:"How do I upload my data?"}),e.jsx("div",{className:`text-inkwell transition duration-300${i?"transform rotate-180":""}`,children:e.jsx(k,{})})]})}),i&&e.jsxs("div",{className:"w-full bg-white","data-testid":"info-upload-content",children:[e.jsx("p",{className:"font-semibold py-4",children:"Uploading your data"}),e.jsxs("p",{children:["Download the relevant"," ",e.jsx("span",{className:"font-semibold",children:".xlsx template."})]}
19),e.jsx("p",{children:"Fill in the data as instructed in the template."}),e.jsxs("p",{children:["Save the updated template and select"," ",e.jsx("span",{className:"font-semibold",children:"'Upload data'."})]}),e.jsx("p",{children:"Please do not change the file type."})]})]}),r&&e.jsx(re,{uploadingItem:s,onCloseEvent:w,handleFilesUploadEvent:O,isUploading:h,statusText:U})]})},Ne=({apiBaseUrl:t,tokenStrategy:l,productCode:a,organisationId:n})=>_(()=>e.jsx(ae,{children:e.jsx(Xe,{apiBaseUrl:t,tokenStrategy:l,productCode:a,organisationId:n})}),[],void 0,{mode:"open"});export{Xe as DataUploader,Ne as DataUploaderWebComponentElement};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.