1/*! For license information please see 20706.91973412.chunk.js.LICENSE.txt */ 2"use strict";(self.webpackChunkpxp_reactjs_admin=self.webpackChunkpxp_reactjs_admin||[]).push([[20706],{20706:(e,t,a)=>{a.r(t),a.d(t,{default:()=>ot});var n=a(489379),r=a(409950),o=a(705154),i=a(473878),s=a(516673),l=a(429190);const c=["soldPrice","soldPriceAfterCredit","totalSalePrice","gstAmount","soldPricePerSqFt","listPricePerSqFt","benchmarkPricePerSqFt"];var d=a(778582),u=a(871562),m=a(242989),p=a(671742),f=a(244414);const h=e=>{let{isSaving:t,onSaveDraft:a,onSave:n,currentTransactionId:r,isAllowedToSaveDraft:o}=e;return(0,f.jsx)("div",{className:"sticky bottom-0 left-0 right-0 p-4 bg-white dark:bg-zinc-900 border-t border-zinc-200 dark:border-zinc-700 shadow-top-md z-10 flex justify-between items-center",children:(0,f.jsxs)("div",{className:"flex gap-2",children:[o&&(0,f.jsx)(u.$,{onClick:a,className:"flex items-center gap-2",variant:"outline",disabled:t,children:"Save Draft"}),(0,f.jsxs)(u.$,{onClick:n,className:"btn-primary flex items-center gap-2 bg-green-600 hover:bg-green-700",disabled:t,children:[t?(0,f.jsx)(m.A,{className:"h-4 w-4 animate-spin"}):(0,f.jsx)(p.A,{className:"h-4 w-4"}),r?t?"Updating...":"Update":t?"Creating...":"Create"]})]})})};function v(e){let{title:t,subtitle:a}=e;return(0,f.jsx)("div",{className:"flex flex-col h-full",children:(0,f.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,f.jsxs)("div",{className:"flex flex-col items-center space-y-4",children:[(0,f.jsx)("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary"}),(0,f.jsxs)("div",{className:"text-center",children:[(0,f.jsx)("p",{className:"text-lg font-medium text-zinc-800 dark:text-zinc-200 mb-1",children:t}),(0,f.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:a})]})]})})})}function y(e){let{onViewAll:t}=e;return(0,f.jsx)("div",{className:"flex-1 flex items-center justify-center p-6",children:(0,f.jsxs)("div",{className:"max-w-md w-full text-center",children:[(0,f.jsx)("div",{className:"mx-auto w-16 h-16 mb-6 rounded-full bg-blue-100 dark:bg-blue-900/30 flex items-center justify-center",children:(0,f.jsx)("svg",{className:"w-8 h-8 text-blue-600 dark:text-blue-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})}),(0,f.jsx)("h3",{className:"text-xl font-semibold text-zinc-800 dark:text-zinc-200 mb-2",children:"Form Template Not Configured"}),(0,f.jsx)("p",{className:"text-zinc-600 dark:text-zinc-400 mb-6",children:"This form template doesn't have any sections configured yet. Please configure the form template in the Wizard Builder before creating a transaction."}),(0,f.jsxs)(u.$,{onClick:t,className:"inline-flex items-center",children:[(0,f.jsx)("svg",{className:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,f.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 19l-7-7m0 0l7-7m-7 7h18"})}),"Back to Transactions"]})]})})}function g(e){let{isInUpdateMode:t}=e;return(0,f.jsx)(v,{title:t?"Loading Transaction Data...":"Loading Form...",subtitle:t?"Please wait while we fetch your transaction details.":"Please wait while we prepare the form."})}function b(e){let{isInUpdateMode:t}=e;return(0,f.jsx)(v,{title:t?"Loading Transaction Data...":"Loading Section...",subtitle:t?"Please wait while we fetch your transaction details.":"Please wait while we load the section."})}var x=a(37880),j=a(42790),k=a(307638),N=a(784814),S=a(255948);const I=e=>(0,S.uL)(e).then(e=>{if(Array.isArray(e))return e;const t=null===e||void 0===e?void 0:e.data;return Array.isArray(t)?t:[]});const A=function(e){let{projectId:t,value:a,onChange:o,fetchTemplates:i=I}=e;const[s,l]=(0,r.useState)(""),[c,d]=(0,r.useState)(""),[m,p]=(0,r.useState)(""),[h,v]=(0,r.useState)([]),[y,g]=(0,r.useState)(!1),b=(0,r.useCallback)(()=>{t?(g(!0),i(t).then(e=>{const t=e.filter(e=>(null===e||void 0===e?void 0:e.external_id)&&(!Array.isArray(e.external_id)||e.external_id.length>0));v(t.map(e=>({_id:e._id,name:e.name||"Unnamed template"})))}).catch(()=>v([])).finally(()=>g(!1))):v([])},[t,i]);(0,r.useEffect)(()=>{t&&b()},[t,b]);const S=h.map(e=>({value:e._id,label:e.name||e._id})),A=Object.fromEntries(h.map(e=>[e._id,e.name||e._id])),w=(0,r.useCallback)(()=>
2{if(null===s||void 0===s||!s.trim())return;const e=(0,n.A)((0,n.A)({templateId:s.trim()},c.trim()?{label:c.trim()}:{}),m.trim()?{documentTag:m.trim()}:{});o([...a,e]),l(""),d(""),p("")},[s,c,m,a,o]),P=(0,r.useCallback)(e=>{o(a.filter((t,a)=>a!==e))},[a,o]);return(0,f.jsxs)("div",{className:"rounded-md border border-gray-200 dark:border-gray-700 p-4 space-y-4",children:[(0,f.jsx)("h3",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:"Add addenda (optional)"}),(0,f.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Add one or more addendum templates to be created with this transaction."}),a.length>0&&(0,f.jsx)("ul",{className:"space-y-2",children:a.map((e,t)=>{var a;return(0,f.jsxs)("li",{className:"flex items-center justify-between gap-2 py-2 px-3 bg-gray-50 dark:bg-gray-800 rounded text-sm",children:[(0,f.jsxs)("span",{className:"truncate",children:[null!==(a=A[e.templateId])&&void 0!==a?a:e.templateId,e.label?" \u2013 ".concat(e.label):""]}),(0,f.jsx)(u.$,{type:"button",variant:"ghost",size:"sm",className:"shrink-0",onClick:()=>P(t),"aria-label":"Remove addendum",children:(0,f.jsx)(N.A,{className:"size-4"})})]},"".concat(e.templateId,"-").concat(t))})}),(0,f.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-12 sm:items-end",children:[(0,f.jsxs)("div",{className:"sm:col-span-4 space-y-1",children:[(0,f.jsx)(j.J,{htmlFor:"addenda-template",children:"Template"}),(0,f.jsx)(k.l6,{id:"addenda-template",options:S,value:s,onValueChange:e=>l(null!==e&&void 0!==e?e:""),placeholder:y?"Loading...":"Select template",disabled:y})]}),(0,f.jsxs)("div",{className:"sm:col-span-3 space-y-1",children:[(0,f.jsx)(j.J,{htmlFor:"addenda-label",children:"Label (optional)"}),(0,f.jsx)(x.p,{id:"addenda-label",value:c,onChange:e=>d(e.target.value),placeholder:"Display name"})]}),(0,f.jsxs)("div",{className:"sm:col-span-3 space-y-1",children:[(0,f.jsx)(j.J,{htmlFor:"addenda-tag",children:"Tag (optional)"}),(0,f.jsx)(x.p,{id:"addenda-tag",value:m,onChange:e=>p(e.target.value),placeholder:"Tag"})]}),(0,f.jsx)("div",{className:"sm:col-span-2",children:(0,f.jsx)(u.$,{type:"button",variant:"outline",onClick:w,disabled:!(null!==s&&void 0!==s&&s.trim())||y,children:"Add"})})]})]})};var w=a(896479),P=a(275551),F=a(79992),C=a(19121),D=(a(272360),a(392759)),T=a(995996),L=a(707865),E=a(877834),z=a(252828);const U=e=>{let{fieldId:t,fieldName:a,fieldValue:n,onInputChange:o,required:i=!1,disabled:s=!1,readOnly:l=!1,accept:c=".pdf,.doc,.docx,.jpg,.jpeg,.png",maxSize:d=10485760,transactionId:m=null,className:p=""}=e;const[h,v]=(0,r.useState)(!1),[y,g]=(0,r.useState)(0),[b,x]=(0,r.useState)(!1),j=T.Ay.get(T.jF.REACT_APP_BE_URL),k=(0,r.useCallback)(async e=>{if(!l&&!s)try{v(!0),g(0),(e=>{if(e.size>d)throw new Error("File size exceeds ".concat((d/1024/1024).toFixed(1),"MB limit"));const t=c.split(",").map(e=>e.trim()),a="."+e.name.split(".").pop().toLowerCase(),n=e.type,r=t.some(e=>e===a||e.startsWith(".")&&a===e),o=t.some(e=>!!e.startsWith(".")||n.startsWith(e.replace("*","")));if(!r&&!o)throw new Error("File type not allowed. Accepted types: ".concat(c))})(e);const t=await(async e=>{const t=localStorage.getItem("pxp.accounts.accessToken"),n=new FormData;return n.append("file",e),n.append("documentName","".concat(a," - ").concat(e.name)),m&&n.append("transaction_id",m),new Promise((e,a)=>{const r=new XMLHttpRequest;r.upload.addEventListener("progress",e=>{if(e.lengthComputable){const t=Math.round(e.loaded/e.total*100);g(t)}}),r.addEventListener("load",()=>{if(r.status>=200&&r.status<300)try{const t=JSON.parse(r.responseText);e(t)}catch(o){a(new Error("Invalid response format"))}else try{var t,n;const e=JSON.parse(r.responseText);a(new Error((null===(t=e.errors)||void 0===t||null===(n=t[0])||void 0===n?void 0:n.msg)||e.error||"Upload failed with status ".concat(r.status)))}catch(o){a(new Error("Upload failed with status ".concat(r.status)))}}),r.addEventListener("error",()=>{a(new Error("Upload failed"))}),r.open("POST","".concat(j,"/privatedocuments/upload")),r.setRequestHeader("Authorization","Bearer ".concat(t)),r.send(n)})})(e),n={documentId:t._id,fileName:t.fileName,originalName:e.name,size:e.size,type:e.type,uploadedAt:(new Date).toISOString(),documentName:t.documentName};o(a,n),D.Ay.success("File uploaded successfully")}catch(t){console.error("File upload error:",t),D.Ay.error(t.message||"Failed to upload file")}finally{v(!1),g(0)}},[a,o,l,s,d,c,j,m]),N=e=>{var t;const a=null===(t=e.target.files)||void 0===t?void 0:t[0];a&&k(a),e.target.value=""},S=e=>{e.preventDefault(),l||s||x(!0)},I=e=>{e.preventDefault(),x(!1)},A=e=>{var t;if(e.preventDefault(),x(!1),l||s)return;const a=null===(t=e.dataTransfer.files)||void 0===t?void 0:t[0];a&&k(a)},P=(0,r.useCallback)(async()=>
2{if(!l&&!s)try{if(null!==n&&void 0!==n&&n.documentId){const e=localStorage.getItem("pxp.accounts.accessToken");await fetch("".concat(j,"/privatedocuments/").concat(n.documentId),{method:"DELETE",headers:{Authorization:"Bearer ".concat(e)}})}o(a,null),D.Ay.success("File removed successfully")}catch(e){console.error("File removal error:",e),D.Ay.error("Failed to remove file")}},[n,a,o,l,s,j]);return(0,f.jsxs)("div",{className:"space-y-2",children:[n&&"object"===typeof n?(()=>{if(!n||"object"!==typeof n)return null;const{originalName:e,size:t,type:a,fileName:r,documentName:o}=n,i=e||o||r||"Uploaded File",c=t?"".concat((t/1024).toFixed(1)," KB"):"",d=(null===a||void 0===a?void 0:a.includes("pdf"))||(null===i||void 0===i?void 0:i.toLowerCase().endsWith(".pdf"));return(0,f.jsxs)("div",{className:"flex items-center justify-between p-3 bg-zinc-50 dark:bg-zinc-800 rounded-lg border",children:[(0,f.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,f.jsx)("div",{className:"flex-shrink-0",children:d?(0,f.jsx)(L.A,{className:"h-8 w-8 text-red-500"}):(0,f.jsx)(L.A,{className:"h-8 w-8 text-blue-500"})}),(0,f.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,f.jsx)("p",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100 truncate",children:i}),c&&(0,f.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400",children:c})]})]}),(0,f.jsxs)("div",{className:"flex items-center space-x-2",children:[n.documentId&&(0,f.jsx)(u.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>{const e=localStorage.getItem("pxp.accounts.accessToken");window.open("".concat(j,"/privatedocuments/").concat(n.documentId,"?token=").concat(e),"_blank")},className:"text-blue-600 hover:text-blue-800",children:"View"}),!l&&!s&&(0,f.jsx)(u.$,{type:"button",variant:"ghost",size:"sm",onClick:P,className:"text-red-600 hover:text-red-800",children:(0,f.jsx)(w.A,{className:"h-4 w-4"})})]})]})})():(0,f.jsxs)("div",{className:"\n relative border-2 border-dashed rounded-lg p-6 text-center\n ".concat(b?"border-blue-400 bg-blue-50 dark:bg-blue-900/20":"border-zinc-300 dark:border-zinc-600","\n ").concat(l||s?"bg-zinc-100 dark:bg-zinc-800 cursor-not-allowed":"hover:border-zinc-400 dark:hover:border-zinc-500 cursor-pointer","\n ").concat(p,"\n "),onDragOver:S,onDragLeave:I,onDrop:A,onClick:()=>{var e;return!l&&!s&&(null===(e=document.getElementById(t))||void 0===e?void 0:e.click())},children:[(0,f.jsx)("input",{id:t,type:"file",accept:c,onChange:N,disabled:l||s||h,className:"hidden",required:i&&!n}),h?(0,f.jsxs)("div",{className:"space-y-3",children:[(0,f.jsx)("div",{className:"flex justify-center",children:(0,f.jsx)(E.A,{className:"h-8 w-8 text-blue-500 animate-pulse"})}),(0,f.jsxs)("div",{children:[(0,f.jsxs)("p",{className:"text-sm text-zinc-600 dark:text-zinc-400 mb-2",children:["Uploading... ",y,"%"]}),(0,f.jsx)("div",{className:"w-full bg-gray-200 rounded-full h-2",children:(0,f.jsx)("div",{className:"bg-blue-600 h-2 rounded-full transition-all duration-300",style:{width:"".concat(y,"%")}})})]})]}):(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)("div",{className:"flex justify-center",children:(0,f.jsx)(E.A,{className:"h-8 w-8 ".concat(l||s?"text-zinc-400":"text-zinc-500")})}),(0,f.jsxs)("div",{children:[(0,f.jsx)("p",{className:"text-sm ".concat(l||s?"text-zinc-400":"text-zinc-600 dark:text-zinc-400"),children:l?"No file uploaded":"Click to upload or drag and drop"}),!l&&!s&&(0,f.jsxs)("p",{className:"text-xs text-zinc-500 dark:text-zinc-500",children:[c," \u2022 Max ",(d/1024/1024).toFixed(1),"MB"]})]})]})]}),i&&!n&&(0,f.jsxs)("p",{className:"text-xs text-red-500 flex items-center",children:[(0,f.jsx)(z.A,{className:"h-3 w-3 mr-1"}),"This field is required"]})]})},O=r.memo(function(e){let{field:t,sectionId:a,fieldValue:r,arrayItem:o,onInputChange:i,linkedEntityOptions:s,userSelectOptions:l,userSearchQueries:c,userSearchResults:d,activeUserSearchField:u,onEntitySelection:m,onUserSearchChange:p,userSearchRefs:h,projectBuyers:v,loadingProjectBuyers:y,formData:g,setActiveUserSearchField:b,setUserSearchResults:j,setUserSearchQueries:N,customOptions:S,isInventoryLoading:I,inventoryLoadingFields:A,isLoadingDepositOptions:w}=e;const D=t.id||"".concat(a,"-").concat(t.name),T=t.readOnly?"bg-zinc-100 dark:bg-zinc-800 text-zinc-600 dark:text-zinc-400 cursor-not-allowed":"",L="".concat("flex !h-11 w-full rounded-md border border-zinc-200 bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-zinc-500 focus-visible:!outline-none focus-visible:ring-1 focus-visible:ring-primary/50 focus:border-primary dark:border-zinc-700 dark:placeholder:text-zinc-400 dark:focus-visible:ring-primary/50 dark:bg-zinc-800/50 !mb-0"," ").concat(T);if("User"===t.optionsSource){const e=t.uniqueFieldKey||t.name,a=c[e]||"",s=d[e]||[],g=s.length>0?s:u===e&&l&&l.length>0?l:[];let k=null;if(r){if(Array.isArray(v)&&(k=v.find(e=>e._id===r)),!k&&g.length>0){const e=g.find(e=>e.value===r);e&&e.fullItem&&(k=e.fullItem)}!k&&o&&o.userLookup===r&&(k={_id:o.userLookup,firstName:o.firstName,lastName:o.lastName,fullName:o.firstName&&o.lastName?"".concat(o.firstName," ").concat(o.lastName):o.firstName||o.lastName,userType:o.userType,email:o.email1})}const S=u===e?a:k?"".concat(k.fullName||k.firstName+" "+k.lastName,"
2(").concat(k.userType,")"):r&&g.length>0?(()=>{const e=g.find(e=>e.value===r);return e?e.label:a||""})():a||"";return(0,f.jsxs)("div",{className:"relative",ref:t=>{h&&"object"===typeof h.current&&(h.current[e]=t)},children:[(0,f.jsx)(x.p,{id:D,name:"user-search-".concat(e),type:"text",placeholder:"Search ".concat(t.label,"..."),value:S,autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false","data-form-type":"other",onChange:a=>{const n=a.target.value;if(k&&!u){if(n==="".concat(k.fullName||k.firstName+" "+k.lastName," (").concat(k.userType,")")||n===S)return i(t.name,""),p(e,"",t.targetUserTypes||[]),void b(e)}r&&u!==e&&n.length>0&&i(t.name,""),p(e,n,t.targetUserTypes||[])},onFocus:()=>{!r&&b&&b(e);const a=c[e]&&c[e].trim().length>0;r&&u!==e&&a&&i(t.name,""),a&&p(e,c[e],t.targetUserTypes||[])},className:L,disabled:y||t.readOnly,readOnly:t.readOnly}),!t.readOnly&&u===e&&g.length>0&&(0,f.jsx)("ul",{className:"absolute z-[100] mt-1 w-full bg-white dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-700 rounded-md shadow-lg max-h-60 overflow-auto",children:g.map(a=>(0,f.jsx)("li",{className:"px-3 py-2 hover:bg-zinc-100 dark:hover:bg-zinc-800 cursor-pointer text-sm",onClick:async r=>{r.preventDefault(),r.stopPropagation();const o={label:a.label,value:a.value,fullItem:a.fullItem};j&&j(t=>(0,n.A)((0,n.A)({},t),{},{[e]:[o]})),m?await m(t.name,a.value,"User"):i(t.name,a.value),N&&N(t=>(0,n.A)((0,n.A)({},t),{},{[e]:""})),b&&b(null)},children:a.label},a.value))}),!t.readOnly&&u===e&&c[e]&&0===g.length&&!y&&(0,f.jsxs)("div",{className:"absolute z-[100] mt-1 w-full bg-white dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-700 rounded-md shadow-lg p-3 text-sm text-zinc-500",children:['No users found matching "',c[e],'" of type(s): ',(t.targetUserTypes||[]).join(", ")||"Any","."]})]})}switch(t.type){case"text":{const e="Inventory"===t.linkedModel&&A&&A.has("inventoryLookup");return(0,f.jsxs)("div",{className:"relative",children:[(0,f.jsx)(x.p,{id:D,name:t.name,value:r||"",onChange:e=>i(t.name,e.target.value),placeholder:e?"Loading...":t.placeholder||t.label,required:t.required,className:"".concat(L," ").concat(e?"pr-8":""),disabled:t.readOnly||e,readOnly:t.readOnly}),e&&(0,f.jsx)("div",{className:"absolute right-2 top-1/2 transform -translate-y-1/2",children:(0,f.jsx)("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-primary"})})]})}case"number":return(0,f.jsx)(x.p,{id:D,name:t.name,type:"number",step:"any",value:r||"",onChange:e=>i(t.name,e.target.value),required:t.required,className:L,disabled:t.readOnly,readOnly:t.readOnly});case"textarea":return(0,f.jsx)(F.T,{id:D,name:t.name,value:r||"",onChange:e=>i(t.name,e.target.value),required:t.required,className:"flex min-h-[80px] w-full rounded-md border border-zinc-200 bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-zinc-500 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-primary/50 focus:border-primary dark:border-zinc-700 dark:placeholder:text-zinc-400 dark:focus-visible:ring-primary/50 dark:bg-zinc-800/50 ".concat(T),disabled:t.readOnly,readOnly:t.readOnly});case"select":{let e=t.options||[];if(S?e=S:"User"===t.optionsSource&&l&&l.length>0?e=l:t.optionsSource&&s&&s[t.optionsSource]?e=s[t.optionsSource]:t.optionsSource,e.length>0&&"string"===typeof e[0]){const t=e=>{var t;return(null===e||void 0===e||null===(t=e.charAt(0))||void 0===t?void 0:t.toUpperCase())+(null===e||void 0===e?void 0:e.slice(1))};e=e.map(e=>({label:t(e),value:e}))}else e.length>0&&"object"===typeof e[0]&&null!==e[0]&&(!("label"in e[0])||e[0]);const a="Inventory"===t.optionsSource&&I||"DepositOption"===t.optionsSource&&w,n=A&&A.has(t.name);return(0,f.jsxs)("div",{className:"w-full relative overflow-hidden",children:[(0,f.jsx)(k.l6,{value:r||"",onChange:e=>i(t.name,e),options:e,placeholder:a?"DepositOption"===t.optionsSource?"Loading deposit options...":"Loading inventory data...":t.placeholder||"".concat(t.label,"..."),required:t.required,disabled:t.readOnly||a,loading:a||void 0}),n&&(0,f.jsx)("div",{className:"absolute right-2 top-1/2 transform -translate-y-1/2",children:(0,f.jsx)("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-primary"})})]})}case"date":return(0,f.jsx)("div",{className:"".concat(L," [&>div]:!w-full"),children:(0,f.jsx)(C.Ay,{selected:r?new Date(r):null,onChange:e=>i(t.name,e),dateFormat:"PPP",className:"flex w-full bg-transparent text-sm transition-colors placeholder:text-zinc-500 !mb-0 !border-none focus-visible:ring-0 focus-visible:outline-none",placeholderText:"Select a date",showPopperArrow:!1,disabled:t.readOnly,readOnly:t.readOnly})});case"checkbox":return(0,f.jsx)("div",{className:"flex items-center space-x-2 pt-1",children:(0,f.jsx)(P.S,{id:D,checked:r||!1,onCheckedChange:e=>i(t.name,e),className:"focus-visible:ring-1 focus-visible:ring-primary/50 dark:border-zinc-600 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",disabled:t.readOnly})});case"file":return(0,f.jsx)(U,{fieldId:D,fieldName:t.name,fieldValue:r,onInputChange:i,required:t.required,disabled:t.disabled,readOnly:t.readOnly,accept:t.accept||".pdf,.doc,.docx,.jpg,.jpeg,.png",maxSize:t.maxSize,transactionId:null===g||void 0===g?void 0:g.transactionId,className:t.readOnly?"opacity-50":""});case"currency":{const e="Inventory"===t.linkedModel&&A&&A.has("inventoryLookup");return(0,f.jsxs)("div",{className:"relative",children:[(0,f.jsx)("div",{className:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none",children:(0,f.jsx)("span",{className:"text-zinc-500 dark:text-zinc-400",children:"$"})}),(0,f.jsx)(x.p,{id:D,name:t.name,type:"text",className:"".concat(L," pl-7 ").concat(e?"pr-8":""),value:r||"",onChange:e=>{const a=e.target.value.replace(/[^0-9.]/g,"");i(t.name,a)},placeholder:e?"Loading...":t.placeholder,required:t.required,disabled:t.readOnly||e,readOnly:t.readOnly}),e&&(0,f.jsx)("div",{className:"absolute right-2 top-1/2 transform -translate-y-1/2",children:(0,f.jsx)("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-primary"})})]})}case"array-text":return(0,f.jsx)(x.p,{id:D,name:t.name,value:Array.isArray(r)?r.join(", "):r||"",onChange:e=>i(t.name,e.target.value.split(",").map(e=>e.trim())),required:t.required,placeholder:"Enter items separated by commas",className:L,disabled:t.readOnly,readOnly:t.readOnly});default:return(0,f.jsx)(x.p,{id:D,name:t.name,value:r||"",onChange:e=>
2i(t.name,e.target.value),required:t.required,className:L,disabled:t.readOnly,readOnly:t.readOnly})}}),R=(0,r.memo)(function(e){let{section:t,sectionIndex:a,formData:r,handleInputChange:o,addItemToArraySection:i,removeItemFromArraySection:s,linkedEntityOptions:l,userSearchQueries:c,userSearchResults:d,activeUserSearchField:m,handleEntitySelection:p,handleUserSearchChange:h,userSearchRefs:v,setActiveUserSearchField:y,setUserSearchResults:g,setUserSearchQueries:b,projectBuyers:x,projectBrokers:k,projectSalesReps:N,allUsers:S,inventoryStatusSettings:I,floorplans:A,isLoadingInventorySettings:P,dynamicInventoryFields:F,isInventoryLoading:C=!1,inventoryLoadingFields:D=new Set,isLoadingDepositOptions:T=!1}=e;return t?(0,f.jsxs)("div",{className:"w-full space-y-6",children:[("listing-information"===t.originId||"listing-information"===t.id)&&P&&(0,f.jsxs)("div",{className:"mt-2 text-sm text-blue-600 dark:text-blue-400 flex items-center gap-2",children:[(0,f.jsx)("div",{className:"animate-spin h-4 w-4 border-2 border-blue-600 border-t-transparent rounded-full"}),"Loading inventory settings..."]}),("listing-information"===t.originId||"listing-information"===t.id)&&(null===F||void 0===F?void 0:F.length)>0&&(0,f.jsxs)("div",{className:"mt-2 text-sm text-green-600 dark:text-green-400",children:["\u2713 ",F.length," dynamic inventory fields loaded from project settings"]}),t.arrayField?(0,f.jsxs)(f.Fragment,{children:[(()=>{const e=r[t.arrayField]||[{}];return"depositSchedule"===t.arrayField&&(console.log("[SECTION_RENDERER] Deposit schedule data:",e),console.log("[SECTION_RENDERER] Form data keys:",Object.keys(r))),e})().map((e,i)=>{var P;let F=[];return(0,f.jsxs)("div",{className:"p-4 border border-zinc-300 dark:border-zinc-600 rounded-lg mb-4 bg-zinc-50 dark:bg-zinc-800/30 relative",children:[(null===(P=r[t.arrayField])||void 0===P?void 0:P.length)>1&&(0,f.jsx)(u.$,{variant:"ghost",size:"icon",onClick:()=>s(t.arrayField,e._id),className:"absolute top-2 right-2 text-red-500 hover:text-red-700 dark:hover:text-red-400 h-7 w-7",title:"Remove Item",children:(0,f.jsx)(w.A,{className:"h-4 w-4"})}),(0,f.jsx)("h4",{className:"text-md font-semibold text-zinc-700 dark:text-zinc-300 mb-3",children:"".concat(t.title," Item #").concat(i+1)}),(0,f.jsx)("div",{className:"w-full grid grid-cols-12 gap-5",children:(t.fields||[]).filter(e=>!e.hidden).map(s=>{var u;"User"===s.optionsSource&&"select"===s.type&&s.targetUserTypes&&(s.targetUserTypes.some(e=>["Buyer","CorporateBuyer"].includes(e))&&(F=F.concat((x||[]).map(e=>({label:"".concat(e.fullName||e.firstName+" "+e.lastName," (").concat(e.userType||"N/A"," - ").concat(e.email||"No email",")"),value:e._id,fullItem:e})))),s.targetUserTypes.some(e=>["CoopBroker","LeadBroker","ReferralAgent","ManagingBroker"].includes(e))&&(F=F.concat((k||[]).map(e=>({label:"".concat(e.fullName||e.firstName+" "+e.lastName," (").concat(e.userType||"N/A"," - ").concat(e.email||"No email",")"),value:e._id,fullItem:e})))),s.targetUserTypes.includes("SalesRep")&&(F=F.concat((N||[]).map(e=>({label:"".concat(e.fullName||e.firstName+" "+e.lastName," (").concat(e.userType||"N/A"," - ").concat(e.email||"No email",")"),value:e._id,fullItem:e})))),F=Array.from(new Map(F.map(e=>[e.value,e])).values()));const w="".concat(s.name,"-").concat(e._id);return(0,f.jsxs)("div",{className:"grid gap-2 mb-4 ".concat(s.isDynamic?"bg-blue-50 dark:bg-blue-900/10 p-3 rounded-lg border border-blue-200 dark:border-blue-800":""),style:{gridColumn:"span ".concat((null===s||void 0===s?void 0:s.colSpan)||12)},children:[(0,f.jsxs)(j.J,{htmlFor:"".concat(s.id||s.name,"-").concat(e._id||i),className:"font-medium text-zinc-800 dark:text-zinc-200 text-base",children:[s.label,s.isDynamic&&(0,f.jsx)("span",{className:"ml-2 text-xs bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 px-2 py-1 rounded",children:"Dynamic"}),s.required&&(0,f.jsx)("span",{className:"text-red-500 ml-1",children:"*"})]}),(0,f.jsx)(O,{field:(0,n.A)((0,n.A)({},s),{},{uniqueFieldKey:w}),sectionId:t.id||"section-".concat(a),fieldValue:e[s.name],arrayItem:e,onInputChange:(a,n)=>o(a,n,{arrayFieldName:t.arrayField,itemId:e._id,itemIndex:i}),linkedEntityOptions:l,userSelectOptions:F,userSearchQueries:c,userSearchResults:d,activeUserSearchField:m,onEntitySelection:p,onUserSearchChange:h,userSearchRefs:v,formData:r,setActiveUserSearchField:y,setUserSearchResults:g,setUserSearchQueries:b,projectBuyers:null!==(u=s.targetUserTypes)&&void 0!==u&&u.some(e=>["Buyer","CorporateBuyer"].includes(e))?x:S,isInventoryLoading:C,inventoryLoadingFields:D,isLoadingDepositOptions:T,customOptions:"status"===s.modelPath&&I.length>0?I.map(e=>({label:e.name,value:e.name})):"floorPlan"===s.modelPath&&A.length>0?A.map(e=>({label:e.name,value:e.name})):void 0},"".concat(s.id||"field","-").concat(s.name||"unnamed","-").concat(e._id||i))]},s.id||s.name)})})]},e._id||i)}),(0,f.jsxs)(u.$,{onClick:()=>i(t.arrayField),variant:"outline",className:"w-full mt-2",children:["Add ",t.title," Item"]})]}):(0,f.jsx)("div",{className:"w-full grid grid-cols-12 gap-5",children:(t.fields||[]).filter(e=>!e.hidden).map(e=>{var i;let s=(0,n.A)({},e);"projectLookup"!==s.name||"Project"!==s.linkedModel||s.optionsSource||(s.optionsSource="Project");let u=[];return"User"===s.optionsSource&&"select"===s.type&&s.targetUserTypes&&(s.targetUserTypes.some(e=>["Buyer","CorporateBuyer"].includes(e))&&(u=u.concat((x||[]).map(e=>
2({label:"".concat(e.fullName||e.firstName+" "+e.lastName," (").concat(e.userType||"N/A"," - ").concat(e.email||"No email",")"),value:e._id,fullItem:e})))),s.targetUserTypes.some(e=>["CoopBroker","LeadBroker","ReferralAgent","ManagingBroker"].includes(e))&&(u=u.concat((k||[]).map(e=>({label:"".concat(e.fullName||e.firstName+" "+e.lastName," (").concat(e.userType||"N/A"," - ").concat(e.email||"No email",")"),value:e._id,fullItem:e})))),s.targetUserTypes.includes("SalesRep")&&(u=u.concat((N||[]).map(e=>({label:"".concat(e.fullName||e.firstName+" "+e.lastName," (").concat(e.userType||"N/A"," - ").concat(e.email||"No email",")"),value:e._id,fullItem:e})))),u=Array.from(new Map(u.map(e=>[e.value,e])).values())),(0,f.jsxs)("div",{className:"grid gap-2 ".concat(e.isDynamic?"bg-blue-50 dark:bg-blue-900/10 p-3 rounded-lg border border-blue-200 dark:border-blue-800":""),style:{gridColumn:"span ".concat((null===e||void 0===e?void 0:e.colSpan)||12)},children:[(0,f.jsxs)(j.J,{htmlFor:e.id||"".concat(t.id,"-").concat(e.name),className:"font-medium text-zinc-800 dark:text-zinc-200 text-base",children:[e.label,e.isDynamic&&(0,f.jsx)("span",{className:"ml-2 text-xs bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 px-2 py-1 rounded",children:"Dynamic"}),e.required&&(0,f.jsx)("span",{className:"text-red-500 ml-1",children:"*"})]}),(0,f.jsx)(O,{field:s,sectionId:t.id||"section-".concat(a),fieldValue:r[e.name],onInputChange:o,linkedEntityOptions:l,userSelectOptions:u,userSearchQueries:c,userSearchResults:d,activeUserSearchField:m,onEntitySelection:p,onUserSearchChange:h,userSearchRefs:v,formData:r,setActiveUserSearchField:y,projectBuyers:null!==(i=s.targetUserTypes)&&void 0!==i&&i.some(e=>["Buyer","CorporateBuyer"].includes(e))?x:S,isInventoryLoading:C,inventoryLoadingFields:D,isLoadingDepositOptions:T,customOptions:"status"===e.modelPath&&I.length>0?I.map(e=>({label:e.name,value:e.name})):"floorPlan"===e.modelPath&&A.length>0?A.map(e=>({label:e.name,value:e.name})):void 0},"".concat(e.id||"field","-").concat(e.name||"unnamed"))]},e.id||e.name)})}),(t.subsections||[]).map((e,t)=>(0,f.jsxs)("div",{className:"ml-0 md:ml-4 mt-6 pt-6 border-t border-zinc-200 dark:border-zinc-700",children:[(0,f.jsx)("div",{className:"pb-3 mb-4 border-b border-zinc-200 dark:border-zinc-600",children:(0,f.jsx)("h3",{className:"text-xl font-semibold text-zinc-800 dark:text-zinc-200 mb-1",children:e.title})}),(0,f.jsx)("div",{className:"space-y-6",children:(e.fields||[]).filter(e=>!e.hidden).map(i=>{var s;let u=(0,n.A)({},i);"projectLookup"!==u.name||"Project"!==u.linkedModel||u.optionsSource||(u.optionsSource="Project");let g=[];return"User"===u.optionsSource&&"select"===u.type&&u.targetUserTypes&&(u.targetUserTypes.some(e=>["Buyer","CorporateBuyer"].includes(e))&&(g=g.concat((x||[]).map(e=>({label:"".concat(e.fullName||e.firstName+" "+e.lastName," (").concat(e.userType||"N/A"," - ").concat(e.email||"No email",")"),value:e._id,fullItem:e})))),u.targetUserTypes.some(e=>["CoopBroker","LeadBroker","ReferralAgent","ManagingBroker"].includes(e))&&(g=g.concat((k||[]).map(e=>({label:"".concat(e.fullName||e.firstName+" "+e.lastName," (").concat(e.userType||"N/A"," - ").concat(e.email||"No email",")"),value:e._id,fullItem:e})))),u.targetUserTypes.includes("SalesRep")&&(g=g.concat((N||[]).map(e=>({label:"".concat(e.fullName||e.firstName+" "+e.lastName," (").concat(e.userType||"N/A"," - ").concat(e.email||"No email",")"),value:e._id,fullItem:e})))),g=Array.from(new Map(g.map(e=>[e.value,e])).values())),(0,f.jsxs)("div",{className:"grid gap-2 ".concat(i.isDynamic?"bg-blue-50 dark:bg-blue-900/10 p-3 rounded-lg border border-blue-200 dark:border-blue-800":""),children:[(0,f.jsxs)(j.J,{htmlFor:i.id||"".concat(e.id,"-").concat(i.name),className:"font-medium text-zinc-700 dark:text-zinc-300",children:[i.label,i.isDynamic&&(0,f.jsx)("span",{className:"ml-2 text-xs bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 px-2 py-1 rounded",children:"Dynamic"}),i.required&&(0,f.jsx)("span",{className:"text-red-500 ml-1",children:"*"})]}),(0,f.jsx)(O,{field:u,sectionId:e.id||"sub-".concat(a,"-").concat(t),fieldValue:r[i.name],onInputChange:o,linkedEntityOptions:l,userSelectOptions:g,userSearchQueries:c,userSearchResults:d,activeUserSearchField:m,onEntitySelection:p,onUserSearchChange:h,userSearchRefs:v,formData:r,setActiveUserSearchField:y,projectBuyers:null!==(s=u.targetUserTypes)&&void 0!==s&&s.some(e=>["Buyer","CorporateBuyer"].includes(e))?x:S,isInventoryLoading:C,inventoryLoadingFields:D,isLoadingDepositOptions:T,customOptions:"status"===i.modelPath&&I.length>0?I.map(e=>({label:e.name,value:e.name})):"floorPlan"===i.modelPath&&A.length>0?A.map(e=>({label:e.name,value:e.name})):void 0},"".concat(i.id||"subfield","-").concat(i.name||"unnamed"))]},i.id||i.name)})})]},e.id||"sub-".concat(a,"-").concat(t)))]}):null});function B(e){let{sections:t,navigation:a,formData:n,input:r,search:i,entityPopulation:s,linkedEntityOptions:l,projectBuyers:c,projectBrokers:d,projectSalesReps:u,allUsers:m,isInventoryLoading:p,inventoryLoadingFields:h,deposits:v,inventory:y,responseIdFromRoute:g,formProjectIdProp:b,selectedProjectId:x,addendumTemplatesProp:j,onAddendumTemplatesChangeProp:k}=e;return(0,f.jsx)(f.Fragment,{children:(t||[]).map((e,t)=>{var N;const S=e.id||e.originId||String(t),I=null===(N=a.openSections)||void 0===N?void 0:N.includes(S);return(0,f.jsxs)(o.As,{value:S,className:"rounded-xl border border-zinc-200 dark:border-zinc-700 bg-white dark:bg-zinc-800/50 shadow-sm",children:[(0,f.jsx)("div",{className:"px-4 md:px-6",children:(0,f.jsx)(o.$m,{className:"text-left",children:(0,f.jsxs)("div",{className:"flex flex-col w-full",children:[(0,f.jsx)("div",{className:"flex items-center justify-between",children:(0,f.jsx)("h2",{className:"text-lg md:text-xl font-semibold text-zinc-800 dark:text-zinc-200",children:e.title})}),e.description&&(0,f.jsx)("p",{className:"text-zinc-600 dark:text-zinc-400 text-sm mt-1",children:e.description})]})})}),I&&(0,f.jsxs)(o.ub,{className:"px-4 md:px-6",children:[("deposit-adjustments"===e.id||"deposit-adjustments"===e.originId)&&!g&&k&&(0,f.jsx)("div",{className:"mb-6",children:(0,f.jsx)(A,{projectId:b||x||null,value:j,onChange:k})}),(0,f.jsx)(R,{section:e,sectionIndex:t,formData:n,handleInputChange:r.handleInputChange,addItemToArraySection:a.addItemToArraySection,removeItemFromArraySection:a.removeItemFromArraySection,linkedEntityOptions:l,userSearchQueries:i.userSearchQueries,userSearchResults:i.userSearchResults,activeUserSearchField:i.activeUserSearchField,handleEntitySelection:s.handleEntitySelection,handleUserSearchChange:i.handleUserSearchChange,userSearchRefs:i.userSearchRefs,setActiveUserSearchField:i.setActiveUserSearchField,setUserSearchResults:i.setUserSearchResults,setUserSearchQueries:i.setUserSearchQueries,projectBuyers:c,projectBrokers:d,projectSalesReps:u,allUsers:m,isInventoryLoading:p,inventoryLoadingFields:h,isLoadingDepositOptions:v.isLoadingDepositOptions,inventoryStatusSettings:y.inventoryStatusSettings,floorplans:y.floorplans,isLoadingInventorySettings:y.isLoadingInventorySettings,dynamicInventoryFields:y.dynamicInventoryFields})]})]},e.id||e.originId||t)})})}var _=a(445462);const q=e=>{let{title:t="Create New Transaction",onViewAll:a}=e;return(0,f.jsxs)("header",{className:"flex items-center justify-between",children:[(0,f.jsx)("h1",{className:"text-2xl font-bold text-zinc-900 mb-0",children:t}),(0,f.jsxs)(u.$,{variant:"outline",className:"flex items-center gap-2",onClick:a,children:[(0,f.jsx)(_.A,{className:"h-4 w-4"}),"View All Transactions"]})]})};var M=a(517811),V=a(52765),K=a(458451),$=a(886311),W=a(63602);const Q=e=>{let{method:t,selected:a,onSelect:n}=e;return(0,f.jsxs)("div",{className:"relative rounded-lg border-2 p-4 cursor-pointer transition-all ".concat(a?"border-zinc-900 bg-zinc-50":"border-zinc-200 hover:border-zinc-300"),onClick:()=>n(t),children:[a&&(0,f.jsx)("div",{className:"absolute top-2 right-2",children:(0,f.jsx)($.A,{className:"w-5 h-5 text-zinc-900"})}),(0,f.jsx)(M.Ay,{value:t,className:"hidden"}),(0,f.jsxs)("div",{children:[(0,f.jsx)("div",{className:"text-base font-medium text-zinc-800 dark:text-zinc-200",children:W.mf[t].LABEL}),(0,f.jsx)("div",{className:"text-sm text-zinc-600 dark:text-zinc-400 mt-1",children:W.mf[t].DESCRIPTION})]})]})},G=e=>{let{option:t,checked:a,onChange:n}=e;return(0,f.jsx)(V.A,{checked:a,onChange:e=>n(t,e.target.checked),className:"[&_.ant-checkbox-checked_.ant-checkbox-inner]:!bg-zinc-900 [&_.ant-checkbox-checked_.ant-checkbox-inner]:!border-zinc-900 [&_.ant-checkbox:hover_.ant-checkbox-inner]:!border-zinc-900",children:(0,f.jsxs)("div",{className:"ml-2",children:[(0,f.jsx)("div",{className:"text-base font-medium text-zinc-800 dark:text-zinc-200",children:W.RU[t].LABEL}),(0,f.jsx)("div",{className:"text-sm text-zinc-600 dark:text-zinc-400",children:W.RU[t].DESCRIPTION})]})})},J=e=>{let{isVisible:t,onClose:a=()=>{},onConfirm:o}=e;const[i,s]=(0,r.useState)(null),[l,c]=(0,r.useState)({buyerPortalLink:!1,publicPageLink:!1}),[d,u]=(0,r.useState)(!1),m=e=>{s(e),e!==W.zz.E_SIGN&&c({buyerPortalLink:!1,publicPageLink:!1})},p=(e,t)=>{c(a=>(0,n.A)((0,n.A)({},a),{},{["BUYER_PORTAL_LINK"===e?"buyerPortalLink":"publicPageLink"]:t}))},h=()=>!!i&&!(i===W.zz.E_SIGN&&!l.buyerPortalLink&&!l.publicPageLink),v=()=>{s(null),c({buyerPortalLink:!1,publicPageLink:!1}),a()};return(0,f.jsx)(K.A,{title:null,open:t,onCancel:v,footer:null,width:600,className:"rounded-lg overflow-hidden",children:(0,f.jsxs)("div",{className:"space-y-6",children:[(0,f.jsxs)("div",{className:"space-y-4",children:[(0,f.jsxs)("div",{children:[(0,f.jsx)("h2",{className:"text-xl font-semibold text-zinc-900 dark:text-zinc-100",children:W.AI.TITLE}),(0,f.jsx)("h3",{className:"text-base text-zinc-600 dark:text-zinc-400 mt-1",children:W.AI.MAIN_HEADING})]}),(0,f.jsx)(M.Ay.Group,{value:i,onChange:e=>m(e.target.value),className:"w-full",children:(0,f.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,f.jsx)(Q,{method:W.zz.E_SIGN,selected:i===W.zz.E_SIGN,onSelect:m}),(0,f.jsx)(Q,{method:W.zz.MANUAL,selected:i===W.zz.MANUAL,onSelect:m})]})})]}),i===W.zz.E_SIGN&&(0,f.jsxs)("div",{className:"border-t border-zinc-200 dark:border-zinc-700 pt-4",children:[(0,f.jsx)("h4",{className:"text-md font-medium text-zinc-800 dark:text-zinc-200 mb-3",children:W.RU.SECTION_TIT
2LE}),(0,f.jsx)("p",{className:"text-sm text-zinc-600 dark:text-zinc-400 mb-3",children:W.RU.SECTION_DESCRIPTION}),(0,f.jsxs)("div",{className:"space-y-3",children:[(0,f.jsx)(G,{option:"BUYER_PORTAL_LINK",checked:l.buyerPortalLink,onChange:p}),(0,f.jsx)(G,{option:"PUBLIC_PAGE_LINK",checked:l.publicPageLink,onChange:p})]})]}),(0,f.jsxs)("div",{className:"flex justify-end space-x-3 border-t border-zinc-200 dark:border-zinc-700 pt-4 mt-6",children:[(0,f.jsx)("button",{onClick:v,className:"px-4 py-2 text-sm font-medium text-zinc-700 hover:text-zinc-900 bg-white border border-zinc-300 rounded-lg hover:bg-zinc-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-zinc-500",children:W.AI.CANCEL_BUTTON}),(0,f.jsx)("button",{onClick:async()=>{if(h())try{u(!0),await o((0,n.A)({signMethod:i},i===W.zz.E_SIGN?{buyerEmailMethods:l}:{})),v()}catch(e){console.error("Error in sign method selection:",e)}finally{u(!1)}},disabled:d||!h(),className:"px-4 py-2 text-sm font-medium text-white bg-zinc-900 rounded-lg hover:bg-zinc-800 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-zinc-500 disabled:opacity-50 disabled:cursor-not-allowed",children:d?"Processing...":W.AI.CONTINUE_BUTTON})]})]})})};var H=a(817684),Y=a(727453);const X=()=>(0,f.jsx)("div",{className:"h-px bg-zinc-200 my-3"}),Z=e=>{let{label:t,value:a}=e;return(0,f.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,f.jsx)("span",{className:"text-zinc-600",children:t}),(0,f.jsx)("span",{className:"text-zinc-900",children:null!==a&&void 0!==a?a:"-"})]})},ee=e=>{let{title:t,children:a,defaultExpanded:n=!0}=e;const[o,i]=(0,r.useState)(n);return(0,f.jsxs)("div",{className:"rounded-xl border border-zinc-200 bg-white overflow-hidden",children:[(0,f.jsxs)("button",{className:"w-full flex items-center justify-between p-4 text-left hover:bg-zinc-50 transition-colors",onClick:()=>i(!o),children:[(0,f.jsx)("div",{className:"font-semibold text-zinc-900",children:t}),o?(0,f.jsx)(H.A,{className:"h-4 w-4 text-zinc-500"}):(0,f.jsx)(Y.A,{className:"h-4 w-4 text-zinc-500"})]}),o&&(0,f.jsx)("div",{className:"px-4 pb-4 border-t border-zinc-100",children:(0,f.jsx)("div",{className:"pt-2",children:a})})]})},te=e=>{if(!e)return"-";try{const t=new Date(e);return isNaN(t.getTime())?"-":t.toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch(t){return"-"}},ae=e=>{var t;let{formData:a,formatCurrency:n,linkedEntityOptions:r={}}=e;const o=(null===a||void 0===a?void 0:a.projectName)||(null===a||void 0===a?void 0:a.projectLookup),i=null===(t=r.Project)||void 0===t?void 0:t.find(e=>e.value===o),s=i?i.label:o||"-";console.log("[SummarySidebar] Property details from formData:",{unitNumber:null===a||void 0===a?void 0:a.unitNumber,unit:null===a||void 0===a?void 0:a.unit,"inventory.number":null===a||void 0===a?void 0:a["inventory.number"],areaSqFt:null===a||void 0===a?void 0:a.areaSqFt,size:null===a||void 0===a?void 0:a.size,"inventory.areaSqFt":null===a||void 0===a?void 0:a["inventory.areaSqFt"],"inventory.size":null===a||void 0===a?void 0:a["inventory.size"],inventoryStatus:null===a||void 0===a?void 0:a.inventoryStatus,"inventory.status":null===a||void 0===a?void 0:a["inventory.status"]});const l=(null===a||void 0===a?void 0:a.unitNumber)||(null===a||void 0===a?void 0:a.unit)||(null===a||void 0===a?void 0:a["inventory.number"])||(null===a||void 0===a?void 0:a.inventoryNumber)||"-",c=(null===a||void 0===a?void 0:a.areaSqFt)||(null===a||void 0===a?void 0:a.size)||(null===a||void 0===a?void 0:a["inventory.areaSqFt"])||(null===a||void 0===a?void 0:a["inventory.size"])||"-",u=(null===a||void 0===a?void 0:a.inventoryStatus)||(null===a||void 0===a?void 0:a["inventory.status"])||"-",m=(0,d.l)(null===a||void 0===a?void 0:a.listPrice),p=(0,d.l)(null===a||void 0===a?void 0:a.soldPrice),h=m>0?"$".concat(n(m)):"$0.00",v=p>0?"$".concat(n(p)):"$0.00",y=(null===a||void 0===a?void 0:a.discountPercentage)||0,g=null!==a&&void 0!==a&&a.purchasers&&a.purchasers.length>0&&"".concat(a.purchasers[0].firstName||""," ").concat(a.purchasers[0].lastName||"").trim()||"-",b=(null===a||void 0===a?void 0:a.realtorName)||"-",x=(null===a||void 0===a?void 0:a.salesRepName)||"-",j=te(null===a||void 0===a?void 0:a.offerDate),k=te(null===a||void 0===a?void 0:a.acceptedDate),N=te(null===a||void 0===a?void 0:a.firmDate),S=(()=>{const e=parsePrice(null===a||void 0===a?void 0:a.commission1),t=parsePrice(null===a||void 0===a?void 0:a.commission2),r=parsePrice(null===a||void 0===a?void 0:a.realtorBonus),o=parsePrice(null===a||void 0===a?void 0:a.totalRealtorCommission)||e+t+r;
2return{rate1:parsePrice(null===a||void 0===a?void 0:a.realtorCommissionRate1),rate2:parsePrice(null===a||void 0===a?void 0:a.realtorCommissionRate2),commission1:"$".concat(n(e)),commission2:"$".concat(n(t)),bonus:r>0?"$".concat(n(r)):null,total:"$".concat(n(o)),hasCommission:o>0}})();return(0,f.jsxs)("aside",{className:"space-y-4 pb-4",children:[(0,f.jsx)("div",{className:"text-xl font-semibold text-zinc-900 mb-2",children:"Transaction Summary"}),(0,f.jsxs)(ee,{title:"Property Details",defaultExpanded:!0,children:[(0,f.jsx)(Z,{label:"Project:",value:s}),(0,f.jsx)(Z,{label:"Unit:",value:l}),(0,f.jsx)(Z,{label:"Size:",value:c}),(0,f.jsx)(Z,{label:"Status:",value:u})]}),(0,f.jsxs)(ee,{title:"Parties",defaultExpanded:!0,children:[(0,f.jsx)(Z,{label:"Purchaser:",value:g}),(0,f.jsx)(Z,{label:"Realtor:",value:b}),(0,f.jsx)(Z,{label:"Sales Rep:",value:x})]}),(0,f.jsxs)(ee,{title:"Key Dates",defaultExpanded:!0,children:[(0,f.jsx)(Z,{label:"Offer Date:",value:j}),(0,f.jsx)(Z,{label:"Accepted Date:",value:k}),(0,f.jsx)(Z,{label:"Firm Date:",value:N})]}),(0,f.jsxs)(ee,{title:"Pricing Summary",defaultExpanded:!0,children:[(0,f.jsx)(Z,{label:"List Price:",value:h}),y>0&&(0,f.jsx)(Z,{label:"Discount Percentage:",value:"".concat(y,"%")}),(0,f.jsx)(Z,{label:"Sold Price:",value:v})]}),S.hasCommission&&(0,f.jsx)(ee,{title:"Realtor Commission",defaultExpanded:!0,children:(0,f.jsxs)("div",{className:"space-y-2",children:[(0,f.jsx)(Z,{label:"Rate 1".concat(S.rate1?" (".concat(S.rate1,"%)"):"",":"),value:S.commission1}),(0,f.jsx)(Z,{label:"Rate 2".concat(S.rate2?" (".concat(S.rate2,"%)"):"",":"),value:S.commission2}),S.bonus&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(X,{}),(0,f.jsx)(Z,{label:"Bonus:",value:S.bonus})]}),(0,f.jsx)(X,{}),(0,f.jsxs)("div",{className:"flex items-center justify-between text-sm font-semibold",children:[(0,f.jsx)("span",{className:"text-zinc-900",children:"Total Commission:"}),(0,f.jsx)("span",{className:"text-zinc-900",children:S.total})]})]})})]})};var ne=a(107901),re=a(945530),oe=a(846969),ie=a(485571);function se(e){const t=e%10,a=e%100;return 1===t&&11!==a?"st":2===t&&12!==a?"nd":3===t&&13!==a?"rd":"th"}const le=e=>{var t,a,n;if(!e)return"Unknown";const r=e.unitNumber||e.unit||(null===(t=e.condoData)||void 0===t?void 0:t.number)||(null===(a=e.townhomeData)||void 0===a?void 0:a.number)||(null===(n=e.lotData)||void 0===n?void 0:n.number)||e.number;return r?String(r):"Inventory ".concat(e._id.slice(-8))},ce=e=>{if(!e)return[];const t=e.data||e;return t&&Array.isArray(t.inventory)?t.inventory.map(e=>({value:e._id,label:le(e),fullItem:e})):Array.isArray(t)?t.map(e=>({value:e._id,label:le(e),fullItem:e})):t&&Array.isArray(t.units)?t.units.map(e=>({value:e._id,label:le(e),fullItem:e})):[]};function de(e,t){if(e&&t)return t.split(".").reduce((e,t)=>e&&"object"===typeof e&&void 0!==e[t]?e[t]:void 0,e)}function ue(e,t,a){if(!e)return{};const n={};return a.filter(e=>"User"===e.linkedModel&&e.name&&e.name.startsWith(t)&&e.modelPath).forEach(t=>{let a=de(e,t.modelPath);if(void 0===a&&e.userType){const n=e.userType,r=t.modelPath,o=[];if("phoneNumber"===r&&(n.includes("Broker")||n.includes("Agent"))&&o.push("leadBrokerData.phoneNumber","coopBrokerData.phoneNumber","brokerData.phoneNumber"),r.startsWith("brokerData.")){const e=r.replace("brokerData.","");o.push("leadBrokerData.".concat(e),"coopBrokerData.".concat(e),"referralAgentData.".concat(e),"managingBrokerData.".concat(e))}for(const t of o)if(a=de(e,t),void 0!==a)break}if(void 0!==a){var r;let e=a;"boolean"===typeof a&&(e=a?"Yes":"No"),n[t.name]=null!==(r=e)&&void 0!==r?r:""}}),n}function me(e){return e.fullName||"".concat(e.firstName||""," ").concat(e.lastName||"").trim()}async function pe(e,t,a,r,o,i){return"User"!==e||r?"DepositOption"===e?{}:i(t,e,a,r):async function(e,t,a,r){var o;if("userLookup"===t&&"purchasers"===a){const t=e.buyerData||{};return{firstName:e.firstName||"",lastName:e.lastName||"",email1:e.email||"",phone1:e.phoneNumber||t.phoneNumber||"",phone2:t.secondaryPhoneNumber||"",address:t.address||"",city:t.city||"",postalCode:t.postalCode||"",residency:t.residencyStatus||"",province:t.province||"",countryOfResidence:t.countryOfResidence||"",idType:t.idType||"",idNumber:t.idNumber||"",occupation:t.occupation||""}}if("primaryPurchaserLookup"===t||"secondaryPurchaserLookup"===t)return{__tempUserEntity:e};
2const i={salesRepUserLookup:"salesRep",managingBrokerUserLookup:"managingBroker",realtorUserLookup:"realtor",assigneeUserLookup:"assignee"}[t]||(null!==(o=["salesRep","managingBroker","realtor","assignee"].find(e=>t.startsWith(e)))&&void 0!==o?o:"");if(!i)return{};const s=await r(e,i),l=(0,n.A)({},s),c={salesRep:"salesRepName",realtor:"realtorName",managingBroker:"managingBrokerName"}[i];return c&&(l[c]=me(e)),l}(t,a,r,o)}function fe(e){let{formData:t,setFormData:a,allFormFields:o,allUsers:i,sectionsToUse:s,linkedEntityOptions:l,setLinkedEntityOptions:c,handleDepositOptionSelection:d,handleTransactionSummarySyncSimple:u}=e;const m=(0,r.useCallback)(async(e,t)=>ue(e,t,o),[o]),p=(0,r.useCallback)(async function(e,t,a){return function(e,t,a,n,r,o){if(!e)return{};if("User"===t)return o(e,a.replace(/Lookup$|UserLookup$/,""),r);const i={},s=r.filter(e=>e.linkedModel===t&&e.modelPath&&e.name!==a);for(const l of s){const t=de(e,l.modelPath);void 0!==t&&(i[l.name]=t)}return i}(e,t,a,0,o,(e,t)=>ue(e,t,o))},[o]),f=(0,r.useCallback)(async(e,r,o,f)=>{const{arrayFieldName:h}=f||{};if(r)try{const v=await async function(e,t,a,n,r){if("User"===t){var o;const t=n.find(e=>e._id===a);if(t)return t;const r=await e.get("users/".concat(a));return r.ok?(null===(o=r.data)||void 0===o?void 0:o.data)||r.data:null}if("Inventory"===t){try{var i;const t=await e.get("inventory/".concat(a));if(t.ok)return(null===(i=t.data)||void 0===i?void 0:i.data)||t.data}catch(c){ie.A.error("[FormPreview] Error fetching inventory:",c)}return null}if("DepositOption"===t){var s,l;const t=null===(s=r.DepositOption)||void 0===s?void 0:s.find(e=>e.value===a);if(null!==t&&void 0!==t&&t.fullItem)return t.fullItem;const n=await e.get("depositoption/".concat(a));return n.ok?(null===(l=n.data)||void 0===l?void 0:l.data)||n.data:null}return null}(re.api,o,r,i,l);if(!v)return void oe.E.error("Could not find ".concat(o," data. Please check if the item exists."));"Inventory"===o&&function(e,t){e(e=>{const a=e.Inventory||[],r={value:t._id,label:le(t),fullItem:t},o=a.findIndex(e=>e.value===t._id);if(o>=0){const t=[...a];return t[o]=r,(0,n.A)((0,n.A)({},e),{},{Inventory:t})}return(0,n.A)((0,n.A)({},e),{},{Inventory:[...a,r]})})}(c,v);const y=await pe(o,v,e,null!==h&&void 0!==h?h:null,m,p),g="User"===o&&"secondaryPurchaserLookup"!==e?await async function(e,t,a,n){const r=e.userType,o=e.buyerData,i=null===o||void 0===o?void 0:o.assignments;if(null===r||void 0===r||!r.includes("Buyer")||null===i||void 0===i||!i.length)return{};const s=t.projectLookup,l=i.find(e=>{var t;return e.project&&(e.project===s||(null===(t=e.project)||void 0===t?void 0:t._id)===s)})||i[0];if(!l)return{};const c={};if(l.salesRep){const e=l.salesRep,t="object"===typeof e?e._id:e;c.salesRepUserLookup=t;const r=a.find(e=>e._id===t);if(r){const e=await n(r,"salesRep");Object.assign(c,e),c.salesRepName=me(r)}}if(l.leadBroker){const e=l.leadBroker,t="object"===typeof e?e._id:e;c.managingBrokerUserLookup=t,c.realtorUserLookup=t;const r="object"===typeof e&&e._id?e:a.find(e=>e._id===t);if(r){const e=await n(r,"managingBroker");Object.assign(c,e);const t=await n(r,"realtor");Object.assign(c,t);const a=me(r);c.managingBrokerName=a,c.realtorName=a}}return c}(v,t,i,m):{};"DepositOption"===o?await async function(e,t,a,r,o,i,s){let l=null;if(i(e=>{const i=(0,n.A)((0,n.A)((0,n.A)({},e),{},{[t]:a},r),o);return l=i,i}),l)try{const t=await s(e,l);i(e=>(0,n.A)((0,n.A)({},e),t))}catch(c){oe.E.error("Error calculating deposit schedule: ".concat(c.message))}}(v,e,r,y,g,a,d):a(t=>{const a=function(e){const{prevFormData:t,updates:a,additionalUpdates:r,fieldName:o,entityId:i,modelName:s,context:l,sectionsToUse:c,handleTransactionSummarySyncSimple:d}=e,u=(0,n.A)({},t),m=l.arrayFieldName,p=l.itemId;if(m&&p){const e=[...u[m]||[]];let t=e.findIndex(e=>e._id===p);-1===t&&void 0!==l.itemIndex&&(t=l.itemIndex,(t<0||t>=e.length)&&(t=-1)),t>-1&&(e[t]=(0,n.A)((0,n.A)({},e[t]),{},{[o]:i},a),"User"!==s&&"Inventory"!==s||(e[t][o]=i),u[m]=e)}else Object.assign(u,a);if(Object.assign(u,r),"User"===s){const e=d(o,i,u,l);Object.assign(u,e)}return"User"!==s&&"Inventory"!==s||(u[o]=i),delete u.__tempUserEntity,u}({prevFormData:t,updates:y,additionalUpdates:g,fieldName:e,entityId:r,modelName:o,context:f||{},sectionsToUse:s,handleTransactionSummarySyncSimple:u});if("primaryPurchaserLookup"===e||"secondaryPurchaserLookup"===e){const t=u(e,r,a,{});Object.assign(a,t)}return a})}catch(v){ie.A.error("error: ",v),oe.E.error("Could not load details for the selected ".concat(o,". Check console for details."))}},[i,p,m,l,t,s,u,d,a,c]);return{populateSpecificUserFields:m,populateFieldsFromEntity:p,handleEntitySelection:f}}var he=a(617525),ve=a(60478),ye=a(803473);const ge=e=>ye.A.isApiError(e)?e.getUserMessage("Failed to save transaction"):"string"===typeof(null===e||void 0===e?void 0:e.message)&&e.message.trim().length>0?e.message:"Failed to save transaction";function be(e){if(null==e||""===e)return"";if("number"===typeof e&&0===e)return"";const t="string"===typeof e?e.trim():"";
2if(""!==t&&!/[0-9]/.test(t.replace(/,/g,"")))return"";return(0,d.l)(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}function xe(e){return be(e.reduce((e,t)=>e+((0,d.l)(t.depositAmount)||0),0))}function je(e){return be(e.reduce((e,t)=>e+((0,d.l)(t.customRequestPrice)||0),0))}const ke=["colorSchemePrice","parkingRequestIncludedContractPrice","parkingRequestNotIncludedContractPrice","storageRequestIncludedContractPrice","storageRequestNotIncludedContractPrice","bicycleLockerIncludedContractPrice","bicycleLockerNotIncludedContractPrice"];function Ne(e){let{sectionsToUse:t,setFormData:a,setSelectedProjectId:o,setSelectedBuildingId:i,setLinkedEntityOptions:s,handleEntitySelection:l,handleTransactionSummarySyncSimple:c}=e;const u=(0,r.useCallback)(function(e,r){var u;let m=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const p=m.arrayFieldName,f=m.itemId;let h=null;for(const a of t)if(h=(a.fields||[]).find(t=>t.name===e)||(a.subsections||[]).flatMap(e=>e.fields||[]).find(t=>t.name===e)||null,h)break;if(null!==(u=h)&&void 0!==u&&u.optionsSource){if(["User","Inventory","DepositOption"].includes(h.optionsSource))return p&&f&&a(t=>{const a=(0,n.A)({},t),o=[...a[p]||[]];let i=o.findIndex(e=>e._id===f);return-1===i&&void 0!==m.itemIndex&&(i=m.itemIndex,(i<0||i>=o.length)&&(i=-1)),i>-1&&(o[i]=(0,n.A)((0,n.A)({},o[i]),{},{[e]:r}),a[p]=o),a}),void l(e,r,h.optionsSource,m);if("Project"===h.optionsSource&&e===W.aY)return o(r),i(null),s(e=>(0,n.A)((0,n.A)({},e),{},{Building:[],Inventory:[]})),void a(t=>(0,n.A)((0,n.A)({},t),{},{[W.pV]:"",[W.t2]:"",[e]:r}));if("Building"===h.optionsSource&&e===W.pV)return i(r),void a(t=>(0,n.A)((0,n.A)((0,n.A)({},t),r?{}:{[W.t2]:""}),{},{[e]:r}))}a(t=>{const a=(0,n.A)({},t);if(p&&f){const t=[...a[p]||[]],n=t.findIndex(e=>e._id===f);n>-1&&(t[n]||(t[n]={_id:f}),t[n][e]=r,a[p]=t)}else a[e]=r;const o=c(e,r,a,m);Object.assign(a,o);const i=function(e,t,a){const n={};if("parkingAdditionalCost"===e&&t){const e=(0,d.l)(a.storageAdditionalCost)||0,r=(0,d.l)(a.bicycleLockerAdditionalCost)||0,o=(0,d.l)(t)||0;n.parkingAndLockerCost=be(o+e+r)}if("storageAdditionalCost"===e&&t){const e=(0,d.l)(a.parkingAdditionalCost)||0,r=(0,d.l)(a.bicycleLockerAdditionalCost)||0,o=(0,d.l)(t)||0;n.parkingAndLockerCost=be(e+o+r)}if("bicycleLockerAdditionalCost"===e&&t){const e=(0,d.l)(a.parkingAdditionalCost)||0,r=(0,d.l)(a.storageAdditionalCost)||0,o=(0,d.l)(t)||0;n.parkingAndLockerCost=be(e+r+o)}if(ke.includes(e)){const r=(0,d.l)(a.colorSchemePrice)||0,o=(0,d.l)(a.parkingRequestIncludedContractPrice)||0,i=(0,d.l)(a.parkingRequestNotIncludedContractPrice)||0,s=(0,d.l)(a.storageRequestIncludedContractPrice)||0,l=(0,d.l)(a.storageRequestNotIncludedContractPrice)||0,c=(0,d.l)(a.bicycleLockerIncludedContractPrice)||0,u=(0,d.l)(a.bicycleLockerNotIncludedContractPrice)||0,m=(0,d.l)(t)||0;let p=r+o+i+s+l+c+u;p=p-((0,d.l)(a[e])||0)+m,n.upgradeCost=be(p)}return"customRequestPrice"===e&&a.customRequests&&Array.isArray(a.customRequests)&&(n.otherAdditionalCost=je(a.customRequests)),"depositAmount"===e&&a.depositSchedule&&Array.isArray(a.depositSchedule)&&(n.totalDepositAmount=xe(a.depositSchedule)),n}(e,r,a);return Object.assign(a,i),a})},[t,l,c,a,o,i,s]);return{handleInputChange:u}}function Se(e){const t=e.data;if(Array.isArray(t))return t;if(t&&"object"===typeof t&&"data"in t){const e=t.data;return Array.isArray(e)?e:[]}return[]}function Ie(e){let{selectedProjectId:t,currentProjectId:a}=e;const n=t||a,{data:o,isLoading:i}=(0,ne.I)({queryKey:["inventorySettings",n],queryFn:async()=>{const e=await re.api.get("inventory-settings/inventory/".concat(n));return e.ok?e.data:null},enabled:!!n}),{data:s=[],isLoading:l}=(0,ne.I)({queryKey:["floorplans",n],queryFn:async()=>{let e=await re.api.get("floorplans",{project:n}),t=e.ok?Se(e):[];return e.ok&&t.length?t:(e=await re.api.get("floorplans"),e.ok?(t=Se(e),t.filter(e=>e.project===n)):[])},enabled:!!n}),{data:c=[],isLoading:d}=(0,ne.I)({queryKey:["inventoryStatusSettings",n],queryFn:async()=>{const e=await re.api.get("inventory-status-settings/project/".concat(n));return e.ok&&e.data||[]},enabled:!!n});return{dynamicInventoryFields:(0,r.useMemo)(()=>
2{if(!o)return[];return function(e){if(!e||0===e.length)return[];const t=[],a=e[0];return["lotData","condoData","townhomeData"].forEach(e=>{const n=a[e];n&&(Object.keys(n).forEach(a=>{if("additionalFields"===a)return;const r=n[a];if(r&&r.enabled){const n="inventory.".concat(a);t.find(e=>e.name===n)||t.push({id:"dynamic-inventory-".concat(a),name:n,label:a.charAt(0).toUpperCase()+a.slice(1),type:"dropdown"===r.type?"select":"text",required:!1,linkedModel:"Inventory",modelPath:a,typeSpecificPaths:{lot:"lotData.".concat(a),condo:"condoData.".concat(a),townhome:"townhomeData.".concat(a)},isDynamic:!0,inventoryType:e,hidden:!1})}}),n.additionalFields&&Array.isArray(n.additionalFields)&&n.additionalFields.forEach(a=>{if(a.enabled){const n="inventory.additionalField_".concat(a.id);t.find(e=>e.name===n)||t.push({id:"dynamic-inventory-additional-".concat(a.id),name:n,label:a.name,type:"dropdown"===a.type?"select":"text",required:!1,linkedModel:"Inventory",modelPath:"".concat(e,".additionalFields.").concat(a.id),typeSpecificPaths:{lot:"lotData.additionalFields.".concat(a.id),condo:"condoData.additionalFields.".concat(a.id),townhome:"townhomeData.additionalFields.".concat(a.id)},isDynamic:!0,isAdditionalField:!0,additionalFieldId:a.id,inventoryType:e,hidden:!1})}}))}),t}(Array.isArray(o)?o:[o])},[o]),inventoryStatusSettings:c,floorplans:s,isLoadingInventorySettings:!!n&&(i||l||d)}}const Ae=["projectLookup","projectName"];function we(e){let{sectionsToUse:t,setLinkedEntityOptions:a,hasLoadedProjectsRef:o}=e;const i=t.length>0&&!o.current&&function(e){for(const t of e){const e=[...t.fields||[],...(t.subsections||[]).flatMap(e=>e.fields||[])];for(const t of e){if(t&&Ae.includes(t.name))return!0;if("select"===(null===t||void 0===t?void 0:t.type)&&"Project"===t.optionsSource)return!0}}return!1}(t),{data:s,isError:l,error:c}=(0,ne.I)({queryKey:["linkableProjects"],queryFn:async()=>{const e=await re.api.get("projects");if(!e.ok)throw new Error("Failed to fetch Projects");const t=e.data,a=(null===t||void 0===t?void 0:t.data)||t;return Array.isArray(a)?a:[]},enabled:i});(0,r.useEffect)(()=>{if(!s)return;const e=s.map(e=>({value:e._id,label:e.projectName||"Unnamed Project (".concat(e._id,")")}));a(t=>(0,n.A)((0,n.A)({},t),{},{Project:e})),o.current=!0},[s,a,o]),(0,r.useEffect)(()=>{l&&(ie.A.error("[FormPreview] Error loading projects:",c),oe.E.error("Could not load Project list: ".concat(c.message)),a(e=>(0,n.A)((0,n.A)({},e),{},{Project:[]})))},[l,c,a])}var Pe=a(871664),Fe=a(109257);const Ce=300;var De=a(520456);const Te="projectLookup";function Le(e){let{formProjectIdProp:t,currentProjectId:a,setFormData:o,setLinkedEntityOptions:i}=e;const[s,l]=(0,r.useState)(()=>a||t||null),[c,d]=(0,r.useState)(null),u=(0,r.useRef)(!1),{data:m=[]}=(0,ne.I)({queryKey:["projects"],queryFn:async()=>function(e){var t;if(!e.ok||!e.data)return[];const a=e.data,n=Array.isArray(a)?a:null!==(t=a.data)&&void 0!==t?t:a;return Array.isArray(n)?n:[]}(await re.api.get("projects")),staleTime:3e5}),p=(0,r.useMemo)(()=>m.map(e=>({value:e._id,label:e.projectName||"Unnamed Project (".concat(e._id,")")})),[m]);(0,r.useEffect)(()=>{if(0===p.length)return;u.current=!0,i(e=>(0,n.A)((0,n.A)({},e),{},{Project:p}));const e=a||t;if(e){p.some(t=>t.value===e)&&(l(t=>t===e?t:e),o(t=>(0,n.A)((0,n.A)({},t),{},{[Te]:e,projectName:e})))}},[p,a,t,i,o]);const{data:f=[]}=(0,ne.I)({queryKey:["buildings",s],queryFn:async()=>function(e){if(!e.ok||!e.data)return[];const t=e.data;return(Array.isArray(t)?t:[]).map(e=>({value:e._id,label:e.name||"Unnamed Building (".concat(e._id,")")}))}(await re.api.get("buildings/project/".concat(s))),enabled:!!s,staleTime:3e5}),{data:h=[]}=(0,ne.I)({queryKey:["inventory",s],queryFn:async()=>{try{const e=await re.api.get("inventory/project-wise/".concat(s));return e.ok?ce(e.data):[]}catch(e){return ie.A.error("[FormPreview] Error loading inventory:",e),[]}},enabled:!!s,staleTime:3e5});(0,r.useEffect)(()=>{i(e=>(0,n.A)((0,n.A)({},e),{},{Building:f,Inventory:h})),s||d(null)},[f,h,s,i]);const v=(0,De.jE)(),y=(0,r.useCallback)(async e=>{if(!e)return null;try{return await v.fetchQuery({queryKey:["project",e],queryFn:async()=>{const t=await re.api.get("projects/".concat(e));if(t.ok){var a;const e=t.data;return null!==(a=null===e||void 0===e?void 0:e.data)&&void 0!==a?a:e}throw new Error("Failed to fetch project data")}})}catch(t){return ie.A.error("Failed to fetch project data:",t),null}},[v]);return{selectedProjectId:s,setSelectedProjectId:l,selectedBuildingId:c,setSelectedBuildingId:d,projectOptions:p,hasLoadedProjectsRef:u,fetchProjectDataCached:y}}var Ee=a(894825);const ze={listPrice:"price",benchmarkPrice:"benchmarkPrice",listPricePerSqFt:"pricePerSqFt",benchmarkPricePerSqFt:"benchmarkPricePerSqFt",unitNumber:"number",unit:"number",areaSqFt:"size",size:"size",inventoryStatus:"status"},Ue={firstName:"firstName",lastName:"lastName",email1:"email",email2:"buyerData.secondaryEmail",phone1:"buyerData.phoneNumber",phone2:"buyerData.secondaryPhoneNumber",address:"buyerData.address",city:"buyerData.city",province:"buyerData.province",postalCode:"buyerData.postalCode",residency:"buyerData.resident",countryOfResidence:"buyerData.country",idType:"buyerData.idType",idNumber:"buyerData.idNumber",occupation:"buyerData.occupation",rating:"buyerData.rating",leadStatus:"buyerData.leadStatus",realtorFirstName:"firstName",realtorLastName:"lastName",realtorEmail:"email",realtorEmail1:"email",realtorEmail2:"leadBrokerData.secondaryEmail",realtorPhone:"phoneNumber",realtorPhone1:"leadBrokerData.phoneNumber",realtorPhone2:"leadBrokerData.secondaryPhoneNumber",realtorBrokeragePhone:"brokerData.phoneNumber",realtorAddress:"leadBrokerData.address",realtorCity:"leadBrokerData.city",realtorProvince:"leadBrokerData.province",realtorPostalCode:"leadBrokerData.postalCode",realtorBrokerageName:"brokerData.brokerage",realtorBrokerageAddress:"brokerData.brokerageAddress",realtorLicenseNumber:"brokerData.licenseNumber",realtorBrokerage:"brokerData.brokerage",realtorName:"fullName",salesRepFirstName:"firstName",salesRepLastName:"lastName",salesRepEmail:"email",salesRepEmail1:"email",salesRepPhone:"phoneNumber",salesRepPhone1:"phoneNumber",salesRepName:"fullName",managingBrokerFirstName:"firstName",managingBrokerLastName:"lastName",managingBrokerEmail:"email",managingBrokerPhone:"leadBrokerData.phoneNumber",managingBrokerName:"fullName"},Oe=e=>{if(!e)return e;const t=(0,n.A)({},e);let a=!1;const r=(e=>{if(!e||"select"!==e.type||e.optionsSource)return(null===e||void 0===e?void 0:e.optionsSource)||null;const t=e.name||"";if("projectName"===t||"projectLookup"===t)return"Project";if("buildingLookup"===t)return"Building";if("inventoryLookup"===t)return"Inventory";const a=t.toLowerCase();return"userlookup"===a||a.includes("userlookup")||a.includes("purchaserlookup")||a.includes("realtorlookup")||a.includes("salesreplookup")||a.includes("assigneelookup")||a.includes("managingbrokerlookup")?"User":"depositOptionLookup"===t?"DepositOption":null})(e);if(r&&e.optionsSource!==r&&(t.optionsSource=r,a=!0,"User"===r&&!e.linkedModel&&(t.linkedModel="User",!e.targetUserTypes||0===e.targetUserTypes.length))){const a=(e.name||"").toLowerCase();"userlookup"===a||a.includes("purchaser")?t.targetUserTypes=["Buyer","CorporateBuyer"]:a.includes("realtor")||a.includes("broker")?t.targetUserTypes=["CoopBroker","LeadBroker","ReferralAgent","ManagingBroker"]:a.includes("salesrep")?t.targetUserTypes=["SalesRep"]:t.targetUserTypes=["Buyer","CorporateBuyer"]}if(e.name&&Ue[e.name]){const n=Ue[e.name];e.linkedModel||(t.linkedModel="User",a=!0),e.modelPath||(t.modelPath=n,a=!0)}if(e.name&&ze[e.name]){const n=ze[e.name];e.linkedModel||(t.linkedModel="Inventory",a=!0),e.modelPath||(t.modelPath=n,a=!0),"listPrice"!==e.name&&"price"!==n||e.typeSpecificPaths?"benchmarkPrice"!==e.name&&"benchmarkPrice"!==n||e.typeSpecificPaths?"unitNumber"!==e.name&&"unit"!==e.name&&"number"!==n||e.typeSpecificPaths?"areaSqFt"!==e.name&&"size"!==e.name&&"size"!==n||e.typeSpecificPaths?"inventoryStatus"!==e.name&&("status"!==e.name||"status"!==n)||e.typeSpecificPaths||(t.typeSpecificPaths={lot:"lotData.status",condo:"condoData.status",townhome:"townhomeData.status"},a=!0):(t.typeSpecificPaths={lot:"lotData.size",condo:"condoData.size",townhome:"townhomeData.size"},a=!0):(t.typeSpecificPaths={lot:"lotData.number",condo:"condoData.number",townhome:"townhomeData.number"},a=!0):(t.typeSpecificPaths={lot:"lotData.benchmarkPrice",condo:"condoData.benchmarkPrice",townhome:"townhomeData.benchmarkPrice"},a=!0):(t.typeSpecificPaths={lot:"lotData.price",condo:"condoData.price",townhome:"townhomeData.price"},a=!0)}return"inventory.status"!==e.name&&"inventoryStatus"!==e.name&&("status"!==e.name||"Inventory"!==e.linkedModel)||e.typeSpecificPaths||(e.linkedModel||(t.linkedModel="Inventory",a=!0),e.modelPath||(t.modelPath="status",a=!0),t.typeSpecificPaths={lot:"lotData.status",condo:"condoData.status",townhome:"townhomeData.status"},a=!0),a?t:e},Re=e=>{if(!e)return e;return(0,n.A)((0,n.A)({},e),{},{fields:(e.fields||[]).map(Oe),subsections:(e.subsections||[]).map(e=>(0,n.A)((0,n.A)({},e),{},{fields:(e.fields||[]).map(Oe)}))})},Be=e=>Array.isArray(e)?e.map(Re):[];const _e={isValid:!0,missingFields:[]};var qe=a(677626);
2function Me(e,t,a){e.forEach(e=>{const n=t.find(t=>t.fieldName===e.name||t.fieldId===e.id);var r;n&&(a[e.name]=(r=n.value,Array.isArray(r)?0===r.length?null:(r.length,r[0]):r&&"object"===typeof r&&null!==r&&Object.prototype.hasOwnProperty.call(r,"submittedValue")?r.submittedValue:r))})}function Ve(e,t,a){e.forEach(e=>{const n=t.find(t=>t.subsectionInstanceId===e.id||t.subsectionOriginId===e.originId);n&&Me(e.fields||[],n.fields||[],a)})}const Ke=["projectLookup","projectName"],$e="projectLookup";function We(e,t,a){const r=null!=e.formData&&"object"===typeof e.formData?(0,n.A)({},e.formData):function(e,t){const a={};return e&&t?(t.forEach(t=>{const n=e.find(e=>e.sectionInstanceId===t.id||e.sectionOriginId===t.originId);n&&(t.arrayField&&n.items&&n.items.length>0?a[t.arrayField]=n.items.map(e=>{const a={};return Me(t.fields||[],e.fields,a),Ve(t.subsections||[],e.subsections||[],a),a._id=e._id||(0,Ee.Ij)(),a}):(Me(t.fields||[],n.fields,a),Ve(t.subsections||[],n.subsections||[],a)))}),a):a}(e.responses,t);if(a&&!r.projectLookup&&!r.projectName){t.some(e=>(e.fields||[]).some(e=>e.name&&Ke.includes(e.name)||"Project"===e.optionsSource))&&(r[$e]=a,r.projectName=a)}return r}function Qe(e){let{responseIdFromRoute:t,formVersionIdFromRoute:a,sectionsProp:n,formTemplateVersionIdProp:o,formProjectIdProp:i,currentProjectId:s,selectedProjectId:l,setFormData:c,setSelectedProjectId:d,setSelectedBuildingId:u,initializeFormDataFromSections:m,history:p}=e;const[f,h]=(0,r.useState)(null),[v,y]=(0,r.useState)(null),[g,b]=(0,r.useState)(null),[x,j]=(0,r.useState)(null),[k,N]=(0,r.useState)(null),[S,I]=(0,r.useState)(!0),A=(0,r.useRef)(!1),w=(0,r.useRef)(!1),P=(0,r.useRef)(!1),F=(0,r.useRef)(!1),{data:C,isLoading:D,isError:T,error:L}=(0,ne.I)({queryKey:["transaction",t],queryFn:async()=>function(e){if(!e.ok)throw new Error(e.problem||"Failed to fetch transaction");return e.data}(await re.api.get("sales-transaction/".concat(t))),enabled:!!t&&t!==x,staleTime:3e5});(0,r.useEffect)(()=>{if(C&&!A.current)if(A.current=!0,C.audit.isApproved&&C.isContractGenerated)p.push("/admin/sales-transaction/details/".concat(C._id));else{if(C.isContractGenerated&&I(!1),h(C._id),C.formTemplateVersionId&&C.formTemplateVersionId.sections){const e=(0,Ee.PE)(C.formTemplateVersionId.sections);b(C.formTemplateVersionId._id),y(e);const t=We(C,e,i||s);c(t),(t.projectLookup||t.projectName)&&d(t.projectLookup||t.projectName),t.buildingLookup&&u(t.buildingLookup)}else ie.A.error("Form version data or sections missing in loaded transaction."),y([]),c({});j(t)}},[C,t,i,s,c,d,u,p]),(0,r.useEffect)(()=>{T&&!P.current&&(P.current=!0,ie.A.error("Error loading transaction for editing:",L),oe.E.error("Error loading transaction data: ".concat(L.message)),y([]),c({}))},[T,L,c]);const{data:E,isLoading:z,isError:U,error:O}=(0,ne.I)({queryKey:["formVersion",a],queryFn:()=>(0,qe.hj)(a),enabled:!!a&&!t&&a!==k,staleTime:3e5});(0,r.useEffect)(()=>{if(E&&!w.current){if(w.current=!0,E.sections){const e=(0,Ee.PE)(E.sections);y(e),b(E._id),m(e)}else oe.E.error("Form version loaded, but it contains no sections."),y([]),c({});N(a)}},[E,a,m,c]),(0,r.useEffect)(()=>{U&&!F.current&&(F.current=!0,ie.A.error("Error loading form version:",O),oe.E.error("Error loading form version: ".concat(O.message)),y([]),c({}))},[U,O,c]),(0,r.useEffect)(()=>{if(!t&&!a&&n&&n.length>0){if(k!==(o||"prop-based-init")){b(o||null);const e=(0,Ee.PE)(n);y(e),m(e),N(o||"prop-based-init")}}},[n,o,t,a,m,k]);const R=!!t&&!x&&(D||!A.current),B=!!a&&!t&&!k&&(z||!w.current),_=!t&&!a&&n.length>0&&null===v;return{currentTransactionId:f,setCurrentTransactionId:h,loadedSections:v,setLoadedSections:y,effectiveFormTemplateVersionId:g,setEffectiveFormTemplateVersionId:b,isLoading:R||B||_,loadedForResponseId:x,loadedForFormVersionId:k,isAllowedToSaveDraft:S,setIsAllowedToSaveDraft:I}}var Ge=a(238530);function Je(e){return Array.isArray(e)?e:[]}function He(e){var t,a;return{label:"".concat(e.fullName||(null!==(t=e.firstName)&&void 0!==t?t:"")+" "+(null!==(a=e.lastName)&&void 0!==a?a:"")," (").concat(e.userType||"N/A"," - ").concat(e.email||"No email",")"),value:e._id,fullItem:e}}function Ye(e){var t,a,o;let{selectedProjectId:i,allUsers:s,projectBuyers:l,projectBrokers:c,projectSalesReps:d}=e;const[u,m]=(0,r.useState)({}),[p,f]=(0,r.useState)({}),[h,v]=(0,r.useState)(null),y=(0,r.useRef)({}),[g,b]=(0,r.useState)(null),x=(0,Fe.o)(null!==(t=null===g||void 0===g?void 0:g.query)&&void 0!==t?t:"",300),j=(0,Fe.o)(null!==(a=null===g||void 0===g?void 0:g.fieldKey)&&void 0!==a?a:"",300),k=(0,Fe.o)(null!==(o=null===g||void 0===g?void 0:g.targetUserTypes)&&void 0!==o?o:[],300),{data:N}=(0,ne.I)({queryKey:["userSearch",j,x,i,k],queryFn:async()=>{try{const e=k.length>0?k.map(e=>"userType=".concat(e)).join("&"):"",t=i?"?".concat(e,"&project=").concat(i):"?".concat(e),a=await(0,Ge.getUsers)("filtered",t,x,50);return a&&Array.isArray(a)?a.map(He):[]}catch(e){return ie.A.error("[FormPreview] API search failed, falling back to client-side:",e),function(e,t,a,n,r,o){const i=e.toLowerCase();let s=[];return 0===t.length?s=a:(t.some(e=>["Buyer","CorporateBuyer"].includes(e))&&s.push(...n),t.some(e=>["CoopBroker","LeadBroker","ReferralAgent","ManagingBroker"].includes(e))&&s.push(...r),t.includes("SalesRep")&&s.push(...o)),Array.from(new Map(s.map(e=>[e._id,e])).values()).filter(e=>{var a,n,r,o;return!(0!==t.length&&!t.includes(e.userType||""))&&((null===(a=e.fullName)||void 0===a?void 0:a.toLowerCase().includes(i))||(null===(n=e.email)||void 0===n?void 0:n.toLowerCase().includes(i))||(null===(r=e.firstName)||void 0===r?void 0:r.toLowerCase().includes(i))||(null===(o=e.lastName)||void 0===o?void 0:o.toLowerCase().includes(i)))}).map(He)}(x,k,s,l,c,d)}},enabled:x.length>=2&&j.length>0,staleTime:3e4,cacheTime:3e5}),S=(0,r.useMemo)(()=>N&&j?(0,n.A)((0,n.A)({},p),{},{[j]:N}):p,[N,j,p]);(0,r.useEffect)(()=>{j&&v(j)},[j]);const I=(0,r.useCallback)(function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(m(a=>(0,n.A)((0,n.A)({},a),{},{[e]:t})),!t||0===t.length)return f(t=>(0,n.A)((0,n.A)({},t),{},{[e]:[]})),h===e&&v(null),void b(null);b({fieldKey:e,query:t,targetUserTypes:a})},[h]);return(0,r.useEffect)(()=>{const e=e=>{var t;!h||!y.current[h]||null!==(t=y.current[h])&&void 0!==t&&t.contains(e.target)||v(null)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[h]),{userSearchQueries:u,userSearchResults:S,activeUserSearchField:h,userSearchRefs:y,handleUserSearchChange:I,setActiveUserSearchField:v,setUserSearchResults:f,setUserSearchQueries:m}}const Xe=["projectLookup","projectName"],Ze="projectName",et=()=>"new-".concat(Date.now(),"-").concat(Math.random().toString(36).substr(2,9)),tt=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!e||!Array.isArray(e)||0===e.length)return{};const n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!e||!Array.isArray(e)||0===e.length)return{};const a={};
2e.forEach(e=>{e.arrayField?a[e.arrayField]=[{_id:et()}]:((e.fields||[]).forEach(e=>{e.name&&(e.isDynamic?a[e.name]="":a[e.name]=void 0!==e.defaultValue?e.defaultValue:"")}),(e.subsections||[]).forEach(t=>{if(t.arrayField){const n="".concat(e.originId||e.id,".").concat(t.arrayField);a[n]=[{_id:et()}]}else(t.fields||[]).forEach(n=>{if(n.name){const r="".concat(e.originId||e.id,".").concat(t.originId||t.id,".").concat(n.name);a[r]=void 0!==n.defaultValue?n.defaultValue:""}})}))}),t&&e.some(e=>(e.fields||[]).some(e=>Xe.includes(e.name)||"Project"===e.optionsSource||"projectName"===e.name||"projectLookup"===e.name))&&(a[Ze]=t,a.projectName=t,a.projectLookup=t);return a}(e,t);if(t&&(n[Ze]=t,n.projectName=t,n.projectLookup=t),e.forEach(e=>{(e.fields||[]).forEach(e=>{e.name&&e.isDynamic&&void 0===n[e.name]&&(n[e.name]="")}),(e.subsections||[]).forEach(t=>{(t.fields||[]).forEach(a=>{if(a.name&&a.isDynamic){const r="".concat(e.originId||e.id,".").concat(t.originId||t.id,".").concat(a.name);void 0===n[r]&&(n[r]="")}})})}),a){const t=a(n,e);Object.assign(n,t)}return n};function at(e,t){if(null===e||void 0===e)return e;if("object"!==typeof e||e instanceof Date)return e;if("inventory.status"===t&&"object"===typeof e){const t=e,a=t.condoData,n=t.lotData,r=t.townhomeData;return t.status||(null===a||void 0===a?void 0:a.status)||(null===n||void 0===n?void 0:n.status)||(null===r||void 0===r?void 0:r.status)||e}if("object"===typeof e&&t.startsWith("inventory.")){const a=e,n=t.split(".")[1];return(n?a[n]:void 0)||e}return e}function nt(e,t){const a=t.buyerData||{};return(0,n.A)((0,n.A)({},e),{},{firstName:t.firstName||"",lastName:t.lastName||"",email1:t.email||"",userType:t.userType||"",phone1:t.phoneNumber||a.phoneNumber||"",phone2:a.secondaryPhoneNumber||"",secondaryPhoneNumber:a.secondaryPhoneNumber||"",secondaryEmail:a.secondaryEmail||"",email2:a.secondaryEmail||"",legalName:a.legalName||"",birthday:a.birthday||"",resident:a.resident,address:a.address||"",city:a.city||"",postalCode:a.postalCode||"",residency:a.residencyStatus||"",province:a.province||"",country:a.country||"",countryOfResidence:a.countryOfResidence||"",idType:a.idType||"",idNumber:a.idNumber||"",occupation:a.occupation||""})}const rt=new Set;function ot(e){var t;let{sections:a=[],formTemplateVersionId:u,responseId:m,formProjectId:p,addendumTemplates:v=[],onAddendumTemplatesChange:x}=e;const j=(0,s.useHistory)(),{formVersionId:k,responseId:N}=(0,s.useParams)(),S=(0,r.useMemo)(()=>N||m,[N,m]),I=(0,i.d4)(e=>e.appReducer.appProject),[A,w]=(0,r.useState)({}),[P,F]=(0,r.useState)(()=>({})),C=(0,r.useRef)(null),D=Le({formProjectIdProp:p,currentProjectId:I,setFormData:w,setLinkedEntityOptions:F}),T=Ie({selectedProjectId:D.selectedProjectId,currentProjectId:I}),L=function(e){let{selectedProjectId:t,currentProjectId:a,setLinkedEntityOptions:o,formData:i}=e;const s=t||a,{data:l=[],isFetching:c}=(0,ne.I)({queryKey:["depositOptions",s],queryFn:async()=>{try{const e=await re.api.get("depositoption/project/".concat(s));if(!e.ok)throw(0,re.ApiErrors)(e),new Error("Failed to fetch deposit options");return(e.data||[]).filter(e=>!1!==e.isActivated)}catch(e){throw ie.A.error("[FORM_PREVIEW] Error fetching deposit options:",e),e}},enabled:!!s});(0,r.useEffect)(()=>{if(l&&l.length>0){const e=l.map(e=>{var t;return{value:e._id,label:e.depositOptionName||"Option ".concat((null===(t=e.optionPercentages)||void 0===t?void 0:t.join("%-"))||"N/A","%"),fullItem:e}});o(t=>(0,n.A)((0,n.A)({},t),{},{DepositOption:e}))}else o(e=>(0,n.A)((0,n.A)({},e),{},{DepositOption:[]}))},[l,o]);const u=(0,r.useCallback)(async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!e||!e.optionPercentages)return oe.E.warning("Selected deposit option does not contain valid percentage data."),{};const a=(null===e||void 0===e?void 0:e.discountPercentage)||0,n={},r=t||i,o=(0,d.l)(r.soldPrice)||(0,d.l)(r.listPrice)||0;if(0===o)return oe.E.error("Please set a List Price or Sold Price first to calculate deposit amounts automatically."),{};const s=a?o-o*(a/100):o;let l=[];try{const t=await re.api.post("/v2/sales-transactions/deposit-preview",{templateId:e._id||"",totalPrice:s});var c;if(t.ok)l=((null===(c=t.data)||void 0===c?void 0:c.installments)||[]).map(e=>({percent:Number(e.percentage)||0,depositAmount:Number(e.amount)||0}))}catch(m){ie.A.error("[FORM_PREVIEW] deposit-preview failed:",m)}0===l.length&&(l=e.optionPercentages.map(e=>({percent:e,depositAmount:0})));const u=l.map((t,a)=>{const n=a+1;return{_id:"deposit-".concat(Date.now(),"-").concat(a),depositDescription:"".concat(n).concat(se(n)," Deposit (").concat(t.percent,"%)"),depositAmount:t.depositAmount>0?t.depositAmount.toFixed(2):"0.00",depositDueDate:"",depositReceived:!1,depositItemNotes:"Auto-generated from ".concat(e.depositOptionName||"deposit option")}});return a&&a>0&&(n.discountPercentage=e.discountPercentage),n.depositSchedule=u,oe.E.success("Deposit schedule populated with ".concat(e.depositOptionName||"selected option"," (").concat(u.length," items)")),n},[i.soldPrice,i.listPrice]);return{depositOptions:l,isLoadingDepositOptions:c,handleDepositOptionSelection:u}}({selectedProjectId:D.selectedProjectId,currentProjectId:I,setLinkedEntityOptions:F,formData:A}),E=(0,r.useCallback)(e=>{const t=D.selectedProjectId||p||I,a=tt(e,t);w(a)},[I,p,D.selectedProjectId]),z=Qe({responseIdFromRoute:null!==S&&void 0!==S?S:null,formVersionIdFromRoute:null!==k&&void 0!==k?k:null,sectionsProp:a,formTemplateVersionIdProp:u,formProjectIdProp:p,currentProjectId:I,selectedProjectId:D.selectedProjectId,setFormData:w,setSelectedProjectId:D.setSelectedProjectId,setSelectedBuildingId:D.setSelectedBuildingId,initializeFormDataFromSections:E,history:j}),{sectionsToUse:U,allFormFields:O}=function(e){let{loadedSections:t,sectionsProp:a,dynamicInventoryFields:o}=e;const i=(0,r.useMemo)(()=>{const e=Be(t||a||[]);return 0===o.length?e:e.map(e=>{if("listing-information"===e.originId||"listing-information"===e.id){const t=e.fields||[];return t.some(e=>{var t;return null===(t=e.name)||void 0===t?void 0:t.startsWith("inventory.")})?e:(0,n.A)((0,n.A)({},e),{},{fields:[...t,...o]})}return e})},[t,a,o]),s=(0,r.useMemo)(()=>{const e=(i||[]).flatMap(e=>[...e.fields||[],...(e.subsections||[]).flatMap(e=>e.fields||[])]);return 0===o.length?e:e.map(e=>{const t=o.find(t=>{var a;return t.name===e.name&&(null===t||void 0===t?void 0:t.isAdditionalField)&&(null===t||void 0===t||null===(a=t.additionalFieldId)||void 0===a?void 0:a.length)>0});return t?(0,n.A)((0,n.A)({},e),{},{isAdditionalField:t.isAdditionalField,additionalFieldId:t.additionalFieldId}):e})},[i,o]);return{sectionsToUse:i,allFormFields:s}}({loadedSections:z.loadedSections,sectionsProp:a,dynamicInventoryFields:T.dynamicInventoryFields}),{projectBuyers:R,projectBrokers:_,projectSalesReps:M,allUsers:V}=function(e){let{selectedProjectId:t}=e;const a=t?"?userType=Buyer&project=".concat(t):"?userType=Buyer",n=t?"?userType=CorporateBuyer&project=".concat(t):"?userType=CorporateBuyer",{data:o}=(0,ne.I)({queryKey:["usersByType","Buyer",t],queryFn:()=>(0,Ge.getUsers)("filtered",a),enabled:!0}),{data:i}=(0,ne.I)({queryKey:["usersByType","CorporateBuyer",t],queryFn:()=>(0,Ge.getUsers)("filtered",n),enabled:!0}),s=(0,r.useMemo)(()=>{const e=[...Je(o),...Je(i)];return Array.from(new Map(e.map(e=>[e._id,e])).values())},[o,i]),l=t?"&project=".concat(t):"",{data:c}=(0,ne.I)({queryKey:["usersByType","LeadBroker",t],queryFn:()=>(0,Ge.getUsers)("filtered","?userType=LeadBroker".concat(l)),enabled:!0}),{data:d}=(0,ne.I)({queryKey:["usersByType","CoopBroker",t],queryFn:()=>(0,Ge.getUsers)("filtered","?userType=CoopBroker".concat(l)),enabled:!0}),{data:u}=(0,ne.I)({queryKey:["usersByType","ReferralAgent",t],queryFn:()=>(0,Ge.getUsers)("filtered","?userType=ReferralAgent".concat(l)),enabled:!0}),{data:m}=(0,ne.I)({queryKey:["usersByType","ManagingBroker",t],queryFn:()=>(0,Ge.getUsers)("filtered","?userType=ManagingBroker".concat(l)),enabled:!0}),p=(0,r.useMemo)(()=>{const e=[...Je(c),...Je(d),...Je(u),...Je(m)];return Array.from(new Map(e.map(e=>[e._id,e])).values())},[c,d,u,m]),f=t?"?userType=SalesRep&project=".concat(t):"?userType=SalesRep",{data:h}=(0,ne.I)({queryKey:["usersByType","SalesRep",t],queryFn:()=>(0,Ge.getUsers)("filtered",f),enabled:!0}),v=(0,r.useMemo)(()=>Je(h),[h]),y=(0,r.useMemo)(()=>{const e=[...s,...p,...v];return Array.from(new Map(e.map(e=>[e._id,e])).values())},[s,p,v]);return{projectBuyers:s,projectBrokers:p,projectSalesReps:v,allUsers:y}}({selectedProjectId:D.selectedProjectId}),K=(0,r.useCallback)(function(e,t,a){return function(e,t,a,r,o){const i={},{arrayFieldName:s,itemId:l}=r;if(!s)switch(e){case"primaryPurchaserLookup":if(t){const e=[...a.purchasers||[]];0===e.length?e.push({_id:"purchaser-1-".concat(Date.now()),userLookup:t}):e[0]=(0,n.A)((0,n.A)({},e[0]),{},{_id:e[0]._id||"purchaser-1-".concat(Date.now()),userLookup:t}),i.purchasers=e;let r=a.__tempUserEntity;r||(r=o.find(e=>e._id===t)),r&&e[0]&&(e[0]=nt(e[0],r),i.purchasers=e)}break;case"secondaryPurchaserLookup":if(t){const e=[...a.purchasers||[]];0===e.length&&e.push({_id:"purchaser-1-".concat(Date.now()),userLookup:""}),1===e.length?e.push({_id:"purchaser-2-".concat(Date.now()),userLookup:t}):e[1]=(0,n.A)((0,n.A)({},e[1]),{},{_id:e[1]._id||"purchaser-2-".concat(Date.now()),userLookup:t});let r=a.__tempUserEntity;r||(r=o.find(e=>e._id===t)),r&&e[1]&&(e[1]=nt(e[1],r)),i.purchasers=e}else{const e=[...a.purchasers||[]];e.length>1&&(e.splice(1,1),i.purchasers=e)}break;case"projectName":case"buildingLookup":case"inventoryLookup":case"offerDate":case"inventory.status":i[e]=at(t,e)}if("purchasers"===s&&"userLookup"===e){const n=(a.purchasers||[]).findIndex(e=>e._id===l);0===n?i.primaryPurchaserLookup=at(t,e):1===n&&(i.secondaryPurchaserLookup=at(t,e))}if(!s){const a={projectName:"projectName",buildingLookup:"buildingLookup",inventoryLookup:"inventoryLookup",offerDate:"offerDate","inventory.status":"inventory.status"};a[e]&&e!==a[e]&&(i[a[e]]=at(t,e))}return i}(e,t,a,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},V)},[V]),$=fe({formData:A,setFormData:w,allFormFields:O,allUsers:V,sectionsToUse:U,linkedEntityOptions:P,setLinkedEntityOptions:F,handleDepositOptionSelection:L.handleDepositOptionSelection,handleTransactionSummarySyncSimple:K}),Q=Ye({selectedProjectId:D.selectedProjectId,allUsers:V,projectBuyers:R,projectBrokers:_,projectSalesReps:M}),G=Ne({sectionsToUse:U,setFormData:w,setSelectedProjectId:D.setSelectedProjectId,setSelectedBuildingId:D.setSelectedBuildingId,setLinkedEntityOptions:F,handleEntitySelection:$.handleEntitySelection,handleTransactionSummarySyncSimple:K}),{validate:H}=function(){var e;const t=(0,he.n)({mutationFn:async e=>{var t;const a=await re.api.post("v2/sales-transactions/validate-section",{formTemplateVersionId:e.formTemplateVersionId,sectionId:e.sectionId,formData:e.formData});if(!a.ok)return _e;const n=a.data;return null!==(t=null===n||void 0===n?void 0:n.data)&&void 0!==t?t:_e}});return{validate:(0,r.useCallback)(async e=>{try{return await t.mutateAsync(e)}catch(a){return _e}},[t]),isValidating:t.isLoading,validationResult:null!==(e=t.data)&&void 0!==e?e:null}}(),Y=function(e){let{formData:t,setFormData:a,sectionsToUse:o,formTemplateVersionId:i,validate:s}=e;const[l,c]=(0,r.useState)(0),[d,u]=(0,r.useState)([]),[m,p]=(0,r.useState)([]),[f,h]=(0,r.useState)(!1);(0,r.useEffect)(()=>{o&&0!==o.length&&u(e=>{const t=o[0].id||o[0].originId||String(0);if(!e||0===e.length)return[t];const a=e.filter(e=>o.some((t,a)=>(t.id||t.originId||String(a))===e));return a.length>0?a:[t]})}
2,[o]);const v=(0,r.useCallback)(async()=>{const e=o[l];if(!e||!s||!i)return p([]),void c(e=>Math.min(e+1,o.length-1));h(!0);try{const a=e.id||e.originId||"",n=await s({formTemplateVersionId:i,sectionId:a,formData:t});if(n.isValid)p([]),c(e=>Math.min(e+1,o.length-1));else{const e=n.missingFields.map(e=>e.context?"".concat(e.label," (").concat(e.context,")"):e.label);p(e),window.scrollTo({top:0,behavior:"smooth"})}}catch(a){p([]),c(e=>Math.min(e+1,o.length-1))}finally{h(!1)}},[o,l,t,s,i]),y=(0,r.useCallback)(()=>{p([]),c(e=>Math.max(e-1,0))},[]);(0,r.useEffect)(()=>{p([])},[l]);const g=(0,r.useCallback)(e=>{const t={_id:(0,Ee.Ij)()};a(a=>(0,n.A)((0,n.A)({},a),{},{[e]:[...a[e]||[],t]}))},[o,a]),b=(0,r.useCallback)((e,t)=>{a(a=>{const r=(a[e]||[]).filter(e=>e._id!==t),o=(0,n.A)((0,n.A)({},a),{},{[e]:r});return"customRequests"===e&&(o.otherAdditionalCost=je(r)),"depositSchedule"===e&&(o.totalDepositAmount=xe(r)),o})},[o,a]),x=o[l];return{currentPageIndex:l,setCurrentPageIndex:c,openSections:d,setOpenSections:u,validationErrors:m,setValidationErrors:p,isValidating:f,goToNextPage:()=>c(e=>Math.min(e+1,o.length-1)),goToPreviousPage:()=>c(e=>Math.max(e-1,0)),goToNextPageWithValidation:v,goToPreviousPageWithClear:y,addItemToArraySection:g,removeItemFromArraySection:b,visibleSection:x}}({formData:A,setFormData:w,sectionsToUse:U,formTemplateVersionId:null!==(t=z.effectiveFormTemplateVersionId)&&void 0!==t?t:void 0,validate:H}),{computed:X}=function(e,t){const a=(0,r.useMemo)(()=>(0,Pe.zw)(e),[e]),n=(0,Fe.o)(a,Ce),o=(0,Pe.yW)(n),{data:i,isFetching:s}=(0,ne.I)({queryKey:["pricingPreview",n,t],queryFn:async()=>{var e,a;const r=await re.api.post("v2/pricing/calculate",{inputs:n,projectId:null!==t&&void 0!==t?t:void 0});var o;if(!r.ok)throw new Error(null!==(o=r.problem)&&void 0!==o?o:"Pricing preview failed");const i=r.data;return null!==(e=null===i||void 0===i||null===(a=i.data)||void 0===a?void 0:a.computed)&&void 0!==e?e:null},enabled:o,keepPreviousData:!0,staleTime:5e3});return{computed:null!==i&&void 0!==i?i:null,isCalculating:s}}(A,D.selectedProjectId||p||I),Z=(0,r.useMemo)(()=>X?(0,n.A)((0,n.A)({},A),X):A,[A,X]),ee=function(e){let{formData:t,effectiveFormTemplateVersionId:a,currentTransactionId:o,setCurrentTransactionId:i,addendumTemplates:s,sectionsToUse:l,history:c}=e;const[d,u]=(0,r.useState)(!0),[m,p]=(0,r.useState)(!1),f=(0,he.n)({mutationFn:async e=>{var t;let{formData:r,selectedOptions:l={},isDraft:d=!1}=e;const u=!o,m=(0,n.A)((0,n.A)({formData:r},a&&{formTemplateVersionId:a}),{},{isSaveDraft:d,status:r.status||"draft"},!d&&null!==l&&void 0!==l&&l.signMethod?(0,n.A)({signMethod:l.signMethod},null!==l&&void 0!==l&&l.buyerEmailMethods?{buyerEmailMethods:l.buyerEmailMethods}:{}):{});if(u){const e=(0,n.A)((0,n.A)({},m),{},{addendumTemplates:Array.isArray(s)?s:[]}),t=await(0,ve.aK)(e),a=t._id;return oe.E.success("Sales transaction data submitted successfully!"),i(a),d||c.push("/admin/sales-transaction/approval/".concat(a)),t}const p=await re.api.put("sales-transaction/".concat(o),m);if(!p.ok){const e=p.data,t=null===e||void 0===e?void 0:e.message;throw new Error("string"===typeof t&&t||p.problem||"Failed to save transaction")}const f=p.data,h=null===f||void 0===f?void 0:f.data,v=null!==(t=null===h||void 0===h?void 0:h._id)&&void 0!==t?t:null===f||void 0===f?void 0:f._id;return oe.E.success("Sales transaction data ".concat(o?"updated":"submitted"," successfully!")),o||i(v),d||c.push("/admin/sales-transaction/approval/".concat(v)),f},onError:e=>{const t=ge(e);oe.E.error("Error saving transaction: ".concat(t))}}),h=(0,r.useCallback)(()=>{a||o?p(!0):oe.E.error("Form Template Version ID is missing. Cannot save transaction.")},[a,o]),v=(0,r.useCallback)(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return f.mutateAsync({formData:t,selectedOptions:e,isDraft:a})},[f,t]),y=(0,r.useCallback)(async e=>{p(!1),await v(e,!1)},[v]),g=(0,r.useCallback)(async()=>{a||o?await v({},!0):oe.E.error("Form Template Version ID is missing. Cannot save transaction.")},[v,a,o]),b=(0,r.useCallback)(()=>{p(!1)},[]);return{isSaving:f.isLoading,isAllowedToSaveDraft:d,setIsAllowedToSaveDraft:u,isSignMethodModalVisible:m,handleSavePreviewData:h,performSave:v,handleSignMethodConfirm:y,handleSignMethodCancel:b,handleSaveDraft:g}}({formData:(0,r.useMemo)(()=>function(e,t){if(!t)return e;const a={};for(const n of c){const e=t[n];"number"===typeof e&&Number.isFinite(e)&&(a[n]=e)}return 0===Object.keys(a).length?e:(0,n.A)((0,n.A)({},e),a)}(A,X),[A,X]),effectiveFormTemplateVersionId:z.effectiveFormTemplateVersionId,currentTransactionId:z.currentTransactionId,setCurrentTransactionId:z.setCurrentTransactionId,addendumTemplates:v,sectionsToUse:U,history:j});we({sectionsToUse:U,setLinkedEntityOptions:F,hasLoadedProjectsRef:D.hasLoadedProjectsRef}),(0,r.useEffect)(()=>{C.current=A[W.t2]||A.inventoryLookup},[A[W.t2],A.inventoryLookup]);const te=!!S,le=te&&z.isLoading&&!z.loadedForResponseId,ce=!S&&!k&&(a&&a.length>0&&!z.loadedForFormVersionId||u&&!z.loadedForFormVersionId),de=z.isLoading||le||ce,ue=()=>j.push(l.cNV);return U&&0!==U.length?Y.visibleSection?de?(0,f.jsx)(g,{isInUpdateMode:te}):(0,f.jsxs)("div",{className:"flex flex-col h-full",children:[(0,f.jsx)("div",{className:"px-3 md:px-6 py-4",children:(0,f.jsx)(q,{onViewAll:ue,title:"".concat(z.currentTransactionId?"Edit":"Create New"," Transaction")})}),(0,f.jsx)("div",{className:"flex-1 px-3 md:px-6 pb-24",children:(0,f.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[(0,f.jsx)("div",{className:"lg:col-span-2 relative",children:(0,f.jsx)(o.nD,{type:"multiple",value:Y.openSections,onValueChange:Y.setOpenSections,className:"space-y-3",children:(0,f.jsx)(B,{sections:U,navigation:Y,formData:A,input:G,search:Q,entityPopulation:$,linkedEntityOptions:P,projectBuyers:R,projectBrokers:_,projectSalesReps:M,allUsers:V,isInventoryLoading:!1,inventoryLoadingFields:rt,deposits:L,inventory:T,responseIdFromRoute:S,formProjectIdProp:p,selectedProjectId:D.selectedProjectId,addendumTemplatesProp:v,onAddendumTemplatesChangeProp:x})})}),(0,f.jsx)("div",{className:"lg:col-span-1",children:(0,f.jsx)("div",{className:"sticky top-4 max-h-[calc(100dvh-220px)] overflow-y-auto",children:(0,f.jsx)(ae,{formData:Z,linkedEntityOptions:P,formatCurrency:e=>
2(0,d.l)(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})})})})]})}),(0,f.jsx)(h,{isSaving:ee.isSaving,onSaveDraft:ee.handleSaveDraft,onSave:ee.handleSavePreviewData,currentTransactionId:z.currentTransactionId,isAllowedToSaveDraft:ee.isAllowedToSaveDraft}),(0,f.jsx)(J,{isVisible:ee.isSignMethodModalVisible,onConfirm:ee.handleSignMethodConfirm,onClose:ee.handleSignMethodCancel})]}):de?(0,f.jsx)(b,{isInUpdateMode:te}):(0,f.jsxs)("div",{className:"flex flex-col h-full",children:[(0,f.jsx)("div",{className:"px-3 md:px-6 py-4",children:(0,f.jsx)(q,{onViewAll:ue,title:"".concat(z.currentTransactionId?"Edit":"Create New"," Transaction")})}),(0,f.jsx)("div",{className:"text-center py-12 text-zinc-500 dark:text-zinc-400",children:"Current section not available."})]}):de?(0,f.jsx)(g,{isInUpdateMode:te}):(0,f.jsxs)("div",{className:"flex flex-col h-full",children:[(0,f.jsx)("div",{className:"px-3 md:px-6 py-4",children:(0,f.jsx)(q,{onViewAll:ue,title:"Create New Transaction"})}),(0,f.jsx)(y,{onViewAll:ue})]})}},60478:(e,t,a)=>{a.d(t,{P8:()=>s,aK:()=>c,km:()=>u,vd:()=>m,sR:()=>l});var n=a(500495);const r="/v2/sales-transactions";function o(){const{api:e}=a(945530);return e}function i(e){const t=e.data;return null===t||void 0===t?void 0:t.data}async function s(e,t,a){const s=null!==a&&void 0!==a?a:o(),l="".concat(r,"/").concat(e,"/documents"),c=await s.post(l,t);if(!c.ok)throw new n.h("Failed to append document by template",c);const d=i(c);if(!d||"object"!==typeof d||!d._id)throw new n.h("Invalid append document response",c);return d}async function l(e,t,a){const i=null!==a&&void 0!==a?a:o(),s="".concat(r,"/").concat(e,"/documents/").concat(t),l=await i.delete(s);if(!l.ok)throw new n.h("Failed to remove document",l)}async function c(e,t){const a=null!==t&&void 0!==t?t:o(),s=await a.post(r,e);if(!s.ok)throw new n.h("Failed to create transaction with addenda",s);const l=i(s);if(!l||"object"!==typeof l||!l._id)throw new n.h("Invalid create transaction response",s);return l}function d(e){if(!e)return null;const t=Object.keys(e).find(e=>"content-disposition"===e.toLowerCase()),a=t?e[t]:void 0;if("string"!==typeof a)return null;const n=a.match(/filename\*=utf-8''([^;]+)/i);if(n)try{return decodeURIComponent(n[1])}catch(o){}const r=a.match(/filename="?([^";]+)"?/i);return r?r[1]:null}async function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;const i=null!==a&&void 0!==a?a:o(),s=new URLSearchParams;"pdf"===(null===t||void 0===t?void 0:t.format)&&(s.set("format","pdf"),null!==t&&void 0!==t&&t.auditLogs&&s.set("auditLogs","1"));const l=s.toString(),c="".concat(r,"/").concat(e,"/documents/executed/download").concat(l?"?".concat(l):""),u=await i.get(c,{},{responseType:"blob"});if(!u.ok)throw new n.h("Failed to download executed documents",u);const m=u.data;if(!(m instanceof Blob))throw new n.h("Invalid executed documents download response",u);const p="pdf"===(null===t||void 0===t?void 0:t.format)?"application/pdf":"application/zip";if(m.type&&!m.type.toLowerCase().startsWith(p))throw new n.h('The download returned "'.concat(m.type,'" instead of a ').concat("pdf"===(null===t||void 0===t?void 0:t.format)?"PDF":"zip"," \u2014 the server may not support this download yet."),{ok:!1,status:502});return{blob:m,filename:d(u.headers)}}async function m(e,t,a,s){const l=null!==s&&void 0!==s?s:o(),c="".concat(r,"/").concat(e,"/documents/").concat(t),d=await l.patch(c,a);if(!d.ok)throw new n.h("Failed to edit document metadata",d);const u=i(d);if(!u||"object"!==typeof u||!u._id)throw new n.h("Invalid edit metadata response",d);return u}},109257:(e,t,a)=>{a.d(t,{o:()=>r});var n=a(409950);function r(e,t){const[a,r]=(0,n.useState)(e);return(0,n.useEffect)(()=>{const a=setTimeout(()=>r(e),t);return()=>clearTimeout(a)},[e,t]),a}},445462:(e,t,a)=>{a.d(t,{A:()=>n});const n=(0,a(342830).A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},677626:(e,t,a)=>{a.d(t,{Ch:()=>l,Cv:()=>u,EJ:()=>m,QE:()=>p,hj:()=>c,nb:()=>d});var n=a(500495);const r="v2/sales-transaction-form-versions",o="v2/sales-transaction-forms";function i(){const{api:e}=a(945530);return e}function s(e){const t=e.data;return null===t||void 0===t?void 0:t.data}async function l(e,t,a,s){const l=null!==s&&void 0!==s?s:i(),c=new URLSearchParams;null!=t&&c.set("page",String(t)),null!=a&&c.set("limit",String(a));const d=c.toString();let u;u=e?"".concat(o,"/").concat(e,"/form-versions").concat(d?"?".concat(d):""):"".concat(r).concat(d?"?".concat(d):"");const m=await l.get(u);if(!m.ok)throw new n.h("Failed to list form versions",m);return function(e){var t,a,n,r,o;const i=e.data;return{data:null!==(t=null===i||void 0===i?void 0:i.data)&&void 0!==t?t:[],page:null!==(a=null===i||void 0===i?void 0:i.page)&&void 0!==a?a:1,limit:null!==(n=null===i||void 0===i?void 0:i.limit)&&void 0!==n?n:50,total:null!==(r=null===i||void 0===i?void 0:i.total)&&void 0!==r?r:0,totalPages:null!==(o=null===i||void 0===i?void 0:i.totalPages)&&void 0!==o?o:0}}(m)}async function c(e,t){const a=null!==t&&void 0!==t?t:i(),o=await a.get("".concat(r,"/").concat(e));if(!o.ok)throw new n.h("Failed to get form version",o);return s(o)}async function d(e,t){const a=null!==t&&void 0!==t?t:i(),o=await a.post(r,e);if(!o.ok)throw new n.h("Failed to create form version",o);return s(o)}async function u(e,t,a){const o=null!==a&&void 0!==a?a:i(),l=await o.patch("".concat(r,"/").concat(e),t);if(!l.ok)throw new n.h("Failed to update form version",l);return s(l)}async function m(e,t){const a=null!==t&&void 0!==t?t:i(),o=await a.delete("".concat(r,"/").concat(e));if(!o.ok)throw new n.h("Failed to delete form version",o)}async function p(e,t,a){const o=null!==a&&void 0!==a?a:i(),l=await o.put("".concat(r,"/").concat(e,"/upgrades-curation"),{upgradesCuration:t});if(!l.ok)throw new n.h("Failed to update upgrades curation",l);return s(l)}},707865:(e,t,a)=>{a.d(t,{A:()=>n});const n=(0,a(342830).A)("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]])},778582:(e,t,a)=>{function n(e){if(null==e||""===e)return 0;if("number"===typeof e)return Number.isFinite(e)?e:0;
2const t=String(e).trim().replace(/,/g,"").replace(/[^0-9.-]/g,"");if(""===t||"-"===t)return 0;const a=parseFloat(t);return Number.isFinite(a)?a:0}a.d(t,{l:()=>n})},846969:(e,t,a)=>{a.d(t,{E:()=>r});var n=a(392759);const r={success:e=>n.Ay.success(e),error:e=>n.Ay.error(e),warning:e=>n.Ay.warning(e),info:e=>n.Ay.info(e)}},871664:(e,t,a)=>{a.d(t,{oi:()=>o,yW:()=>s,zw:()=>i});var n=a(778582);function r(e){return(0,n.l)(e)}function o(e,t){var a;const n=e.basePrice||0,o=r(t.proformaPrice)||n,i=r(t.discount),s=r(t.discountPercent),l=e.categorizedUpgrades||[],c=null!=e.areaSqFt&&e.areaSqFt>0?e.areaSqFt:void 0,d=r(null!==(a=t.bonus)&&void 0!==a?a:t.realtorBonus),u=d>0?d:void 0,m=t.deposits||[],p={basePrice:n,proformaPrice:o,upgrades:l,discountCredit:i>0?-i:0,areaSqFt:c,bonusOverride:u,depositSchedule:m.length>0?m.map(e=>({depositAmount:r(e.amount)})):void 0,realtorAssigned:e.realtorAssigned};s>0&&(p.discountPercent=s);const f=r(t.depositPercentOverride);f>0&&(p.depositPercentOverride=f>1?f/100:f);const h=r(t.gstRateOverride);return h>0&&(p.gstRateOverride=h>1?h/100:h),"boolean"===typeof t.gstEnabledOverride&&(p.gstEnabledOverride=t.gstEnabledOverride),t.taxOverrides&&"object"===typeof t.taxOverrides&&(p.taxOverrides=t.taxOverrides),p}function i(e){const t=r(e.listPrice),a=r(e.benchmarkPrice),n=r(e.creditAmount),o=n>0?-n:n,i=e["inventory.areaSqFt"]||e.areaSqFt,s=i?r(i):void 0,l=[],c=r(e.upgradeCost);c>0&&l.push({name:"catalogUpgrades",specValue:c,charged:c,category:"catalogUpgrades"});const d=r(e.parkingAndLockerCost);d>0&&l.push({name:"parking",specValue:d,charged:d,category:"parking"});const u=r(e.otherAdditionalCost);u>0&&l.push({name:"customRequests",specValue:u,charged:u,category:"customRequests"});const m={basePrice:t,proformaPrice:a,upgrades:l,discountCredit:o};void 0!==s&&(m.areaSqFt=s);const p=r(e.realtorBonus);return p>0&&(m.bonusOverride=p),Array.isArray(e.depositSchedule)&&(m.depositSchedule=e.depositSchedule.map(e=>({depositAmount:r(e.depositAmount)}))),m}function s(e){return e.basePrice>0||e.proformaPrice>0}},894825:(e,t,a)=>{a.d(t,{Ij:()=>r,PE:()=>i});var n=a(489379);function r(){return"new-".concat(Date.now(),"-").concat(Math.random().toString(36).substr(2,9))}function o(e,t,a,r){if(e&&"object"===typeof e&&!e.id){const o="".concat(t,"-").concat(r,"-").concat(a,"-").concat(Math.random().toString(36).substr(2,9));return(0,n.A)((0,n.A)({},e),{},{id:o})}return e}function i(e){return Array.isArray(e)?e.map((e,t)=>{let a=e.id||e._id;return a||(a="generated-section-".concat(t,"-").concat(Math.random().toString(36).substr(2,9))),(0,n.A)((0,n.A)({},e),{},{id:a,fields:(e.fields||[]).map((e,t)=>o(e,"field",t,a)),subsections:(e.subsections||[]).map((e,t)=>{const r=o(e,"sub",t,a),i=r.id||"generated-subsection-".concat(a,"-").concat(t,"-").concat(Math.random().toString(36).substr(2,9));return(0,n.A)((0,n.A)({},r),{},{id:i,fields:(r.fields||[]).map((e,t)=>o(e,"subfield",t,i))})})})}):[]}}}]);
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.