PageSourceSearch

https://ommo.ai/assets/asset-detail-c813bd88.js

js ommo.ai collected 2026-10-05 13:34:49 UTC 23,740 bytes, 1 lines download raw bytes

1import{r as e,d as t,e as a,a as n}from"./react-vendor-690ef4bc.js";import{A as l,c}from"./index-d3072779.js";import{g as r,a as s,n as i,A as m,f as o,V as d,b as p,U as u,P as v,c as E,F as _,T as N,d as y,e as g,i as h,h as f}from"./asset-detail.constants-3546edc8.js";import"./utils-b81ec68d.js";import"./mui-core-0fc19580.js";function w(e){return e&&"object"==typeof e?e:null}function x(e,t){if(Array.isArray(e))return e;const a=w(e);if(!a)return[];if(Array.isArray(a.data))return a.data;const n=w(a.data);if(n)for(const l of t)if(Array.isArray(n[l]))return n[l];for(const l of t)if(Array.isArray(a[l]))return a[l];return[]}function b(){const e=sessionStorage.getItem("authToken");if(!e)throw new Error("Authentication token not found. Please log in again.");return{accept:"*/*",Authorization:`Bearer ${e}`}}async function S(e,t){try{const a=await e.json();return a.errorMessage??a.message??a.title??t}catch{return t}}function T(e){if(!e)return null;const t=e.includes("?")?"&":"?";return`${e}${t}t=${Date.now()}`}function k(e){const t=String(e??"active").toLowerCase().replace(/[\s-]+/g,"_");return"inactive"===t?"inactive":"in_maintenance"===t||"maintenance"===t?"in_maintenance":"reserved"===t?"reserved":"active"}function q(e){return String(e??"").trim().toLowerCase().replace(/[\s-]+/g,"_")}function I(e){return"driving"===String(e??"idle").toLowerCase()?"driving":"idle"}
1function A(e){const t=String(e??"diesel").toLowerCase();return"gasoline"===t||"gas"===t?"gasoline":"electric"===t?"electric":"hybrid"===t?"hybrid":"cng"===t?"cng":"diesel"}function C(e){const t=String(e??"").trim().toLowerCase().replace(/[\s_-]+/g," ");return"van"===t||"dry van"===t?"van":"reefer"===t?"reefer":"flatbed"===t?"flatbed":"step deck"===t||"stepdeck"===t?"step deck":"tanker"===t?"tanker":"lowboy"===t?"lowboy":""}function F(e){return!0===e||1===e||"true"===String(e).toLowerCase()||"yes"===String(e).toLowerCase()}function L(e){return e.toLowerCase().replace(/[\s_\-&]+/g,"")}function U(e){const t=w(e);if(!t)return null;const a=Number(t.docTypeId??t.docType??t.documentTypeId),n=String(t.docTypeName??t.docName??t.name??t.documentName??"").trim(),c=t.path??t.url??t.filePath??t.documentUrl??t.fileUrl??t.documentPath,r=c?function(e){const t=e.trim();if(!t)return t;if(/^https?:\/\//i.test(t))return t;const a=l.BASE_URL.replace(/\/api\/?$/,"");return t.startsWith("/")?`${a}${t}`:`${a}/${t}`}(String(c)):null,s=t.state??t.docState??t.documentState,i=s?String(s).toLowerCase():null;return n||Number.isFinite(a)||r?{docTypeId:Number.isFinite(a)&&a>0?a:void 0,docTypeName:n,path:r,state:i}:null}function M(e){const t=new Set;return m.map(a=>{const n=e.findIndex((e,n)=>!t.has(n)&&function(e,t){const a=new Set([L(e.name)]),n=t.find(e=>!!e.docTypeName&&a.has(L(e.docTypeName)));return n||t.find(t=>t.docTypeId===e.id)}(a,[e])),l=n>=0?e[n]:void 0;return l?(t.add(n),{docTypeId:a.id,docTypeName:a.name,path:T(l.path),state:l.state,replacedFile:null,isEmpty:!l.path,isModified:!1}):{docTypeId:a.id,docTypeName:a.name,path:null,state:null,replacedFile:null,isEmpty:!0,isModified:!1}})}function $(e,t){const a=function(e,t){const a=w(e);if(!a)return{vehicleId:t};const n=w(a.data)??a,l=x(n,["attributes"]),c=l.map(w).find(e=>e&&Number(e.vehicleId??e.id)===t)??w(l[0])??{},r=w(n.truck)??{},s=w(n.trailer)??{},i=Object.keys(r).length>0,m=Object.keys(s).length>0||null!=n.trailerType;return{...n,...c,...i?r:{},...m?s:{},vehicleId:Number(c.vehicleId??n.vehicleId??n.id??t),trailerType:n.trailerType??s.trailerType??c.trailerType,vehicleType:c.vehicleType??n.vehicleType??(i?"truck":m?"trailer":n.type)}}(e,t),n=Number(a.vehicleId??t);if(!n)return null;const l=Number(a.rating??0),c=Number(a.year??a.vehicleYear??0),r=Number(a.weight??0),s=Number(a.axleSpacing??a.axleSpacingIn??0),i=Number(a.numOfAxles??a.numberOfAxles??0),m=(o=a.vehicleType??a.type,"trailer"===String(o??"truck").toLowerCase()?"trailer":"truck");var o;return{vehicleId:n,plateNumber:String(a.plateNumber??a.plate??"").trim(),plateState:q(a.plateState),vinNumber:String(a.vinNumber??a.vin??"").trim(),vehicleType:m,rating:Number.isFinite(l)?Math.min(5,Math.max(0,Math.round(l))):0,isAssigned:F(a.isAssigned??a.assigned),year:Number.isFinite(c)?c:0,status:k(a.vehicleStatus??a.status),brand:String(a.brand??"").trim(),model:String(a.model??"").trim(),color:String(a.color??"").trim(),fuelType:A(a.fuelType),truckStatus:I(a.truckStatus),trailerType:"trailer"===m?C(a.trailerType):"",isHeadrake:F(a.isHeadrake??a.hasHeadrake),haveFlatbed:F(a.haveFlatbed??a.hasFlatbed),haveLoadbar:F(a.haveLoadbar??a.hasLoadbar),haveVanStraps:F(a.haveVanStraps??a.hasVanStraps),weight:Number.isFinite(r)?r:0,axleSpacing:Number.isFinite(s)?s:0,numOfAxles:Number.isFinite(i)?i:0,updatedAt:String(a.updatedAt??a.modifiedAt??a.lastUpdated??(new Date).toISOString())}}async function B(e){const t=new URLSearchParams({vehicleId:String(e)}),a=await fetch(`${l.BASE_URL}/asset/get-asset-details?${t}`,{method:"GET",headers:b()});if(401===a.status)throw sessionStorage.removeItem("authToken"),sessionStorage.removeItem("refreshToken"),new Error("Session expired. Please log in again.");if(!a.ok)throw new Error(await S(a,"Unable to fetch asset detail"));const n=await a.json(),c=$(n,e);if(!c?.vehicleId)throw new Error("Invalid asset detail response");const r=function(e){const t=w(e),a=w(t?.data)??t;return a&&Array.isArray(a.documents)?a.documents:x(e,["documents","vehicleDocuments","assetDocuments","files","items"])}(n).map(U).filter(e=>null!==e);return{form:c,documents:M(r)}}function H(e,t,a,n){a!==n&&("boolean"!=typeof a?e.append(t,String(a??"")):e.append(t,a?"true":"false"))}const j="_page_wxcpq_1",P="_breadcrumb_wxcpq_37",R="_bcLink_wxcpq_57",V="_bcSep_wxcpq_85",O="_bcCurrent_wxcpq_95",D="_orderHbar_wxcpq_107",z="_orderIcon_wxc
1pq_129",G="_orderIconTruck_wxcpq_163",W="_orderIconTrailer_wxcpq_179",Y="_orderId_wxcpq_195",J="_typePill_wxcpq_209",K="_typePillTruck_wxcpq_225",Q="_typePillTrailer_wxcpq_235",X="_statusPill_wxcpq_245",Z="_statusActive_wxcpq_271",ee="_statusInactive_wxcpq_281",te="_statusInMaintenance_wxcpq_291",ae="_statusReserved_wxcpq_301",ne="_assignedToggle_wxcpq_311",le="_bodySplit_wxcpq_339",ce="_leftSide_wxcpq_353",re="_leftScroll_wxcpq_373",se="_rightSide_wxcpq_383",ie="_section_wxcpq_401",me="_sectionHead_wxcpq_409",oe="_sectionTitle_wxcpq_423",de="_sectionNote_wxcpq_457",pe="_fieldsGrid_wxcpq_467",ue="_fc_wxcpq_477",ve="_fk_wxcpq_495",Ee="_lockedTag_wxcpq_519",_e="_ei_wxcpq_541",Ne="_es_wxcpq_543",ye="_starsEdit_wxcpq_603",ge="_starFilled_wxcpq_625",he="_starEmpty_wxcpq_635",fe="_featureGrid_wxcpq_647",we="_featureItem_wxcpq_661",xe="_featureLabel_wxcpq_681",be="_switch_wxcpq_693",Se="_switchTrack_wxcpq_719",Te="_updateBar_wxcpq_779",ke="_lastSaved_wxcpq_803",qe="_updateBtns_wxcpq_835",Ie="_btnCancel_wxcpq_845",Ae="_btnUpdate_wxcpq_877",Ce="_docList_wxcpq_941",Fe="_docItem_wxcpq_955",Le="_docItemReplaced_wxcpq_969",Ue="_docItemTop_wxcpq_979",Me="_docIcon_wxcpq_991",$e="_docIconEmpty_wxcpq_1029",Be="_docInfo_wxcpq_1045",He="_docName_wxcpq_1055",je="_docMeta_wxcpq_1067",Pe="_docMetaEmpty_wxcpq_1085",Re="_docBtns_wxcpq_1095",Ve="_docBtn_wxcpq_1095",Oe="_hiddenFileInput_wxcpq_1173",De="_docItemBottom_wxcpq_1181",ze="_docStateField_wxcpq_1199",Ge="_docEmpty_wxcpq_1215",We="_docModalOverlay_wxcpq_1229",Ye="_docModal_wxcpq_1229",Je="_docModalHead_wxcpq_1275",Ke="_docModalIcon_wxcpq_1293",Qe="_docModalTitle_wxcpq_1329",Xe="_docModalSub_wxcpq_1341",Ze="_docModalClose_wxcpq_1351",et="_docModalBody_wxcpq_1403",tt="_loadingState_wxcpq_1433",at="_emptyState_wxcpq_1435",nt="_errorState_wxcpq_1437",lt="_btnRetry_wxcpq_1477";const ct=({rating:e,onChange:t})=>n.createElement("div",{className:ye},Array.from({length:5},(a,l)=>{const c=l+1,r=c<=e;return n.createElement("svg",{key:c,className:r?ge:he,viewBox:"0 0 24 24",onClick:()=>t(c),role:"button","aria-label":`Set rating to ${c}`},n.createElement("polygon",{points:"12,2 15,9 22,9.5 17,14.5 18.5,22 12,18 5.5,22 7,14.5 2,9.5 9,9"}))})),rt=()=>n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("rect",{x:"1",y:"3",width:"15",height:"13",rx:"1"}),n.createElement("path",{d:"M16 8h4l3 3v5h-7V8z"}),n.createElement("circle",{cx:"5.5",cy:"18.5",r:"2.5"}),n.createElement("circle",{cx:"18.5",cy:"18.5",r:"2.5"})),st=()=>n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("rect",{x:"2",y:"7",width:"20",height:"14",rx:"2"}),n.createElement("path",{d:"M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2"})),it=()=>n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),n.createElement("polyline",{points:"14,2 14,8 20,8"})),mt=[{key:"isHeadrake",label:"Has Headrake"},{key:"haveFlatbed",label:"Has Flatbed"},{key:"haveLoadbar",label:"Has Load Bar"},{key:"haveVanStraps",label:"Has Van Straps"}],ot=()=>{const m=t(),{vehicleId:w}=a(),x=Number(w),{detail:b,documents:T,isLoading:k,error:q,setDocuments:I,refetch:A}=function(t){const[a,n]=e.useState(null),[l,c]=e.useState([]),[r,s]=e.useState(!0),[i,m]=e.useState(null),o=e.useCallback(async e=>{if(!t)return n(null),c([]),m(null),void s(!1);e?.silent||s(!0),m(null);try{const e=await B(t);n(e.form),c(e.documents)}catch(a){const e=a instanceof Error?a.message:"Unable to fetch asset detail. Please try again.";n(null),c([]),m(e)}finally{e?.silent||s(!1)}},[t]);return e.useEffect(()=>{o()},[o]),{detail:a,documents:l,isLoading:r,error:i,setDocuments:c,refetch:o}}(x),C=e.useRef(null),[F,L]=e.useState(null),[U,M]=e.useState("All changes saved"),[$,ye]=e.useState(!1),[ge,he]=e.useState(null),[ot,dt]=e.useState(null);e.useEffect(()=>{b&&(L({...b}),M(`Last updated: ${o(b.updatedAt)}`),C.current={form:{...b},documents:T.map(e=>({...e,replacedFile:null,isModified:!1}))})},[b?.vehicleId,b?.updatedAt]);const pt=e.useCallback(()=>{ot?.startsWith("blob:")&&URL.revokeObjectURL(ot),he(null),dt(null)},[ot]);e.useEffect(()=>{const e=e=>{"Escape"===e.key&&pt()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[pt]);const ut=(e,t)=>{L(a=>a?{...a,[e]:t}:a),M("Unsaved changes")}
1,vt=(e,t)=>{t&&F&&(I(a=>{const n=a.findIndex(t=>t.docTypeId===e);if(n<0)return a;const l=[...a],c=l[n];return l[n]={...c,replacedFile:t,state:i(c.state,F.plateState),isModified:!0},l}),M("Unsaved changes"))},Et=async()=>{const e=C.current;if(F&&x&&e)if(f(F)){ye(!0);try{await async function(e,t,a,n,c){const m=new FormData;m.append("vehicleId",String(e)),H(m,"plateNumber",t.plateNumber,a.plateNumber),H(m,"plateState",t.plateState,a.plateState),H(m,"rating",t.rating,a.rating),H(m,"isAssigned",t.isAssigned,a.isAssigned),H(m,"year",t.year,a.year),H(m,"vehicleStatus",t.status,a.status),H(m,"isHeadrake",t.isHeadrake,a.isHeadrake),H(m,"haveFlatbed",t.haveFlatbed,a.haveFlatbed),H(m,"haveLoadbar",t.haveLoadbar,a.haveLoadbar),H(m,"haveVanStraps",t.haveVanStraps,a.haveVanStraps),H(m,"weight",t.weight,a.weight),H(m,"axleSpacing",t.axleSpacing,a.axleSpacing),H(m,"numOfAxles",t.numOfAxles,a.numOfAxles),"truck"===t.vehicleType?(H(m,"brand",t.brand,a.brand),H(m,"model",t.model,a.model),H(m,"fuelType",t.fuelType,a.fuelType),H(m,"color",t.color,a.color),H(m,"truckStatus",t.truckStatus,a.truckStatus)):H(m,"trailerType",t.trailerType,a.trailerType);const o=new URLSearchParams;n.forEach(e=>{const a=c.find(t=>t.docTypeId===e.docTypeId),n=!!e.replacedFile,l=!!a&&e.state!==a.state;if(!n&&!l)return;const d=r(e.docTypeId),p=s(e.docTypeId),u=i(e.state,t.plateState);if(n&&d)return m.append(d,e.replacedFile),void(p&&o.append(p,u));l&&p&&o.append(p,u)});const d=sessionStorage.getItem("authToken");if(!d)throw new Error("Authentication token not found");const p=o.toString(),u=await fetch(`${l.BASE_URL}/asset/update-asset${p?`?${p}`:""}`,{method:"PUT",headers:{Authorization:`Bearer ${d}`},body:m});if(401===u.status)throw sessionStorage.removeItem("authToken"),sessionStorage.removeItem("refreshToken"),new Error("Session expired. Please log in again.");if(!u.ok)throw new Error(await S(u,"Unable to update asset"))}(x,F,e.form,T,e.documents),pt(),M("Last saved: just now"),c.success("Asset updated successfully!"),await A({silent:!0})}catch(t){const e=t instanceof Error?t.message:"Unable to update asset. Please try again.";c.error(e)}finally{ye(!1)}}else c.error("Numerical fields cannot be less than 0.")};if(!x||Number.isNaN(x))return n.createElement("div",{className:j},n.createElement("div",{className:at},"Invalid asset ID"));if(k)return n.createElement("div",{className:j},n.createElement("div",{className:tt},"Loading asset detail..."));if(q||!F)return n.createElement("div",{className:j},n.createElement("div",{className:P},n.createElement("button",{type:"button",className:R,onClick:()=>m("/asset/asset")},"Assets"),n.createElement("span",{className:V},"/"),n.createElement("span",{className:O},"Asset Detail")),n.createElement("div",{className:nt},n.createElement("p",null,q??"Asset detail not available"),n.createElement("button",{type:"button",className:lt,onClick:()=>{A()}},"Retry")));const _t="truck"===F.vehicleType,Nt=null!=ge?T[ge]:null;return n.createElement("div",{className:j},n.createElement("div",{className:P},n.createElement("button",{type:"button",className:R,onClick:()=>m("/asset/asset")},"Assets"),n.createElement("span",{className:V},"/"),n.createElement("span",{className:O},"Asset #",x)),n.createElement("div",{className:D},n.createElement("div",{className:`${z} ${_t?G:W}`},_t?n.createElement(rt,null):n.createElement(st,null)),n.createElement("div",{className:Y},"#",x),n.createElement("div",{className:`${J} ${_t?K:Q}`},F.vehicleType),n.createElement("select",{className:`${X} ${yt=F.status,"inactive"===yt?ee:"in_maintenance"===yt?te:"reserved"===yt?ae:Z}`,value:F.status,onChange:e=>ut("status",e.target.value)},d.map(e=>n.createElement("option",{key:e,value:e},p(e)))),n.createElement("label",{className:ne},"Assigned",n.createElement("span",{className:be},n.createElement("input",{type:"checkbox",checked:F.isAssigned,onChange:e=>ut("isAssigned",e.target.checked)}),n.createElement("span",{className:Se})))),n.createElement("div",{className:le},n.createElement("div",{className:ce},n.createElement("div",{className:re},n.createElement("div",{className:ie},n.createElement("div",{className:me},n.createElement("div",{className:oe},n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.createElement("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),n.createElement("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})),"Overview")),n.createElement("div",{className:pe},n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Plate Number"),n.createElement("input",{className:_e,value:F.plateNumber,onChange:e=>ut("plateNumber",e.target.value)})),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Plate State"),n.createElement("select",{className:Ne,value:F.plateState,onChange:e=>ut("plateState",e.target.value)},u.map((e,t)=>n.createElement("option",{key:e,value:v[t]},e)))),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"VIN Number ",n.createElement("span",{className:Ee},"locked")),n.createElement("input",{className:_e,value:F.vinNumber,disabled:!0})),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Year"),n.createElement("input",{className:_e,type:"number",min:0,value:F.year,onChange:e=>ut("year",E(Number(e.target.value)))})),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Rating"),n.createElement(ct,{rating:F.rating,onChange:e=>ut("rating",e)})),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Vehicle Type ",n.createElement("span",{className:Ee},"locked")),n.createElement("input",{className:_e,value:F.vehicleType,disabled:!0})))),n.createElement("div",{className:ie},n.createElement("div",{className:me},n.createElement("div",{className:oe},_t?n.createElement(rt,null):n.createElement(st,null),_t?"Truck Info":"Trailer Info")),n.createElement("div",{className:pe},_t?n.createElement(n.Fragment,null,n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Brand"),n.createElement("input",{className:_e,value:F.brand,onChange:e=>ut("brand",e.target.value)})),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Model"),n.createElement("input",{className:_e,value:F.model,onChange:e=>ut("model",e.target.value)})),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Color"),n.createElement("input",{className:_e,value:F.color,onChange:e=>ut("color",e.target.value)})),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Fuel Type"),n.createElement("select",{className:Ne,value:F.fuelType,onCh
1ange:e=>ut("fuelType",e.target.value)},_.map(e=>n.createElement("option",{key:e,value:e},e.charAt(0).toUpperCase()+e.slice(1))))),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Truck Status"),n.createElement("select",{className:Ne,value:F.truckStatus,onChange:e=>ut("truckStatus",e.target.value)},N.map(e=>n.createElement("option",{key:e,value:e},e.charAt(0).toUpperCase()+e.slice(1)))))):n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Trailer Type"),n.createElement("select",{className:Ne,value:F.trailerType,onChange:e=>ut("trailerType",e.target.value)},y.map(e=>n.createElement("option",{key:e,value:e},e.charAt(0).toUpperCase()+e.slice(1))))))),n.createElement("div",{className:ie},n.createElement("div",{className:me},n.createElement("div",{className:oe},n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"})),"Specifications")),n.createElement("div",{className:pe},n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Weight (lbs)"),n.createElement("input",{className:_e,type:"number",min:0,value:F.weight,onChange:e=>ut("weight",E(Number(e.target.value)))})),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Axle Spacing (in)"),n.createElement("input",{className:_e,type:"number",min:0,value:F.axleSpacing,onChange:e=>ut("axleSpacing",E(Number(e.target.value)))})),n.createElement("div",{className:ue},n.createElement("div",{className:ve},"Number of Axles"),n.createElement("input",{className:_e,type:"number",min:0,value:F.numOfAxles,onChange:e=>ut("numOfAxles",E(Number(e.target.value)))})))),n.createElement("div",{className:ie},n.createElement("div",{className:me},n.createElement("div",{className:oe},n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("polyline",{points:"20,6 9,17 4,12"})),"Features")),n.createElement("div",{className:fe},mt.map(({key:e,label:t})=>n.createElement("div",{key:e,className:we},n.createElement("span",{className:xe},t),n.createElement("label",{className:be},n.createElement("input",{type:"checkbox",checked:F[e],onChange:t=>ut(e,t.target.checked)}),n.createElement("span",{className:Se}))))))),n.createElement("div",{className:Te},n.createElement("div",{className:ke},n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("circle",{cx:"12",cy:"12",r:"10"}),n.createElement("polyline",{points:"12,6 12,12 16,14"})),n.createElement("span",null,U)),n.createElement("div",{className:qe},n.createElement("button",{type:"button",className:Ie,onClick:()=>{(async()=>{await A(),M("All changes saved"),pt()})()}},"Cancel"),n.createElement("button",{type:"button",className:Ae,disabled:$,onClick:()=>{Et()}},n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("polyline",{points:"20,6 9,17 4,12"})),$?"Saving...":"Update")))),n.createElement("div",{className:se},n.createElement("div",{className:ie},n.createElement("div",{className:me},n.createElement("div",{className:oe},n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),n.createElement("polyline",{points:"14,2 14,8 20,8"})),"Documents"),n.createElement("div",{className:de},T.length," file",1!==T.length?"s":"")),n.createElement("div",{className:Ce},0===T.length?n.createElement("div",{className:Ge},"No documents uploaded for this asset"):T.map((e,t)=>{const a=e.isEmpty&&!e.replacedFile,l=e.replacedFile?e.replacedFile.name:e.path?.split("/").pop()??"",c=e.isEmpty&&!!e.replacedFile;return a?n.createElement("div",{key:e.docTypeId,className:Fe},n.createElement("div",{className:Ue},n.createElement("div",{className:`${Me} ${$e}`},n.createElement(it,null)),n.createElement("div",{className:Be},n.createElement("div",{className:He},e.docTypeName),n.createElement("div",{className:`${je} ${Pe}`},"No file uploaded")),n.createElement("div",{className:Re},n.createElement("label",{className:Ve},n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),n.createElement("polyline",{points:"17,8 12,3 7,8"}),n.createElement("line",{x1:"12",y1:"3",x2:"12",y2:"15"})),"Upload",n.createElement("input",{type:"file",className:Oe,accept:".pdf,.jpg,.jpeg,.png",onCh
1ange:t=>vt(e.docTypeId,t.target.files?.[0])}))))):n.createElement("div",{key:e.docTypeId,className:`${Fe} ${e.replacedFile?Le:""}`},n.createElement("div",{className:Ue},n.createElement("div",{className:Me},n.createElement(it,null)),n.createElement("div",{className:Be},n.createElement("div",{className:He},e.docTypeName),n.createElement("div",{className:je},l,c?" · New upload":"")),n.createElement("div",{className:Re},n.createElement("button",{type:"button",className:Ve,onClick:()=>(e=>{const t=T.findIndex(t=>t.docTypeId===e);if(t<0)return;const a=T[t];a.isEmpty&&!a.replacedFile||(a.replacedFile?dt(URL.createObjectURL(a.replacedFile)):a.path&&dt(a.path),he(t))})(e.docTypeId)},n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("path",{d:"M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z"}),n.createElement("circle",{cx:"12",cy:"12",r:"3"})),"View"),n.createElement("label",{className:Ve},n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),n.createElement("polyline",{points:"17,8 12,3 7,8"}),n.createElement("line",{x1:"12",y1:"3",x2:"12",y2:"15"})),"Replace",n.createElement("input",{type:"file",className:Oe,accept:".pdf,.jpg,.jpeg,.png",onChange:t=>vt(e.docTypeId,t.target.files?.[0])})))),n.createElement("div",{className:De},n.createElement("div",{className:ze},n.createElement("div",{className:ve},"State"),n.createElement("select",{className:Ne,value:e.state??"",onChange:t=>{return a=e.docTypeId,n=t.target.value,I(e=>{const t=e.findIndex(e=>e.docTypeId===a);if(t<0)return e;const l=[...e];return l[t]={...l[t],state:i(n,F?.plateState??""),isModified:!0},l}),void M("Unsaved changes");var a,n}},g.map(e=>n.createElement("option",{key:e,value:e},e.toUpperCase()))))))}))))),Nt&&ot&&n.createElement("div",{className:We,onClick:e=>{e.target===e.currentTarget&&pt()},role:"presentation"},n.createElement("div",{className:Ye},n.createElement("div",{className:Je},n.createElement("div",{className:Ke},n.createElement(it,null)),n.createElement("div",null,n.createElement("div",{className:Qe},Nt.docTypeName),n.createElement("div",{className:Xe},"State: ",(Nt.state??"—").toUpperCase(),Nt.replacedFile?" · Unsaved replacement selected":"")),n.createElement("button",{type:"button",className:Ze,onClick:pt,"aria-label":"Close"},n.createElement("svg",{viewBox:"0 0 24 24"},n.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),n.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})))),n.createElement("div",{className:et},h(Nt.replacedFile?.name??ot)?n.createElement("img",{src:ot,alt:Nt.docTypeName}):n.createElement("iframe",{src:ot,title:Nt.docTypeName})))));var yt};export{ot as default};

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.